blob: 23c44d0501de9e4b769390e92c453cd4e27aece9 [file] [log] [blame]
# 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' }