| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| require 'rubygems' |
| require 'rake' |
| require 'spec/rake/spectask' |
| require 'fileutils' |
| |
| task :default => :spec |
| |
| desc "Run specs" |
| Spec::Rake::SpecTask.new('spec') do |t| |
| t.spec_opts = %w(-fs --color) |
| t.warning = true |
| t.spec_files = FileList['spec/**/*.rb'] |
| end |
| task :spec |
| |
| desc "Increment the version - generates a release and updates the edge documentation" |
| task :version, :nextVersion, :lang do |t, args| |
| # get current and next version |
| nextVersion = args[:nextVersion].strip |
| lang = args[:lang].strip |
| prevVersion = File.read('VERSION').sub(/rc\d+$/, '').strip # remove release candidate |
| |
| # generate a release |
| edge_dir = File.join('docs', lang, 'edge') |
| release_dir = File.join('docs', lang, nextVersion) |
| FileUtils.cp_r(edge_dir, release_dir) |
| |
| # update version number in new release directory |
| _nextVersion = nextVersion.sub(/rc\d+$/, '') # cordova file references do not include the RC |
| unless prevVersion == _nextVersion |
| files = Dir.glob(File.join('docs', lang, nextVersion, '**', '*')) |
| |
| files.sort.each do |file| |
| next if File.directory?(file) or file !~ /md|html/ |
| content = File.read(file) |
| content.gsub!('x.x.x', _nextVersion) |
| File.open(file, 'w') { |f| f.write(content) } |
| end |
| end |
| |
| # update VERSION file |
| File.open('VERSION', 'w') do |f| |
| f.write(nextVersion) |
| end |
| |
| # echo results |
| puts "Generated version #{nextVersion}" |
| puts "" |
| puts "Next steps:" |
| puts " 1. Review the update using `git status`" |
| puts " 2. Commit the changes as 'Version #{nextVersion}'" |
| puts " 3. Tag the commit as '#{nextVersion}'" |
| puts "" |
| end |