scala プロジェクトを jar にパッケージ化し、Buildrs のpackage()メソッドを使用してプロパティをマニフェストに書き込もうとしています。
パッケージはマニフェストに影響を与えないようです。ビルドファイルは次のとおりです。
VERSION_NUMBER = "1.0.0"
GROUP = "Green"
COPYRIGHT = "Green CopyRight"
require 'buildr/scala'
Buildr::Scala::Scalac::REQUIRES.library = '2.8.0-SNAPSHOT'
Buildr::Scala::Scalac::REQUIRES.compiler = '2.8.0-SNAPSHOT'
Java.classpath.reject! { |c| c.to_s.index('scala') }
Java.classpath << Buildr::Scala::Scalac::REQUIRES
ENV['USE_FSC'] = 'yes'
repositories.remote << "http://www.ibiblio.org/maven2/"
desc "The Green project"
define "Green" do
project.version = VERSION_NUMBER
project.group = GROUP
package(:jar).with :manifest=>manifest.merge(
'Main-Class'=>'com.acme.Main',
'Implementation-Vendor'=>COPYRIGHT
)
end
結果のマニフェストは次のとおりです。
Build-By: brianheylin
Build-Jdk: 1.6.0_17
Implementation-Title: The Green project
Implementation-Version:
Implementation-Vendor:
Main-Class: green.GreenMain
Manifest-Version: 1.0
Created-By: Buildr
Implementation-VendorプロパティもMain-Classプロパティも上書きされていないことに注意してください。次のように Builder を実行します。
jruby -S buildr clean package
jRuby 1.4.0 と Buildr 1.3.5 (gem としてインストール) を使用しています。なぜこれが当てはまるのか、誰にでもアイデアはありますか?