| # 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/package_task' |
| |
| Gem::PackageTask.new(spec) do |pkg| |
| pkg.need_tar = true |
| pkg.need_zip = true |
| end |
| |
| desc 'Compile Java libraries used by Buildr' |
| task 'compile' do |
| puts 'Compiling Java libraries ...' |
| args = RbConfig::CONFIG['ruby_install_name'], File.expand_path(RUBY_PLATFORM[/java/] ? '_jbuildr' : '_buildr'), '--buildfile', 'buildr.buildfile', 'compile' |
| args << '--trace' if Rake.application.options.trace |
| sh *args |
| end |
| file Gem::PackageTask.new(spec).package_dir => 'compile' |
| file Gem::PackageTask.new(spec).package_dir_path => 'compile' |
| |
| # We also need the other packages (JRuby if building on Ruby, and vice versa) |
| # Must call new with block, even if block does nothing, otherwise bad things happen. |
| @specs.values.each do |s| |
| Gem::PackageTask.new(s) { |task| } |
| end |
| |
| desc 'Upload snapshot packages over to people.apache.org' |
| task 'snapshot' => %w(package) do |
| rm_rf '_snapshot' # Always start with empty directory |
| puts 'Copying existing gems from Apache' |
| sh 'rsync', '--progress', '--recursive', 'people.apache.org:public_html/buildr/snapshot/', '_snapshot/' |
| puts 'Copying new gems over' |
| cp FileList['pkg/{*.gem,*.tgz,*.zip}'], '_snapshot/gems' |
| puts 'Generating gem index ...' |
| sh 'gem', 'generate_index', '--directory', '_snapshot' |
| puts 'Copying gem and index back to Apache' |
| sh 'rsync', '--progress', '--recursive', '_snapshot/', 'people.apache.org:public_html/buildr/snapshot/' |
| end |
| task('clobber') { rm_rf 'target' } |
| task('clobber') { rm_rf '_snapshot' } |