0
私はgradleで管理されたマルチプロジェクト構造を持っています。すべてのJavaサブプロジェクトがこのjar
ブロックを持っている:マルチプロジェクトgradleビルドシステムで変数を使用する方法は?
def main_class = "foo.Main"
jar {
manifest {
attributes 'Main-Class': main_class
}
}
だから、私は、ルートプロジェクトにjarファイルのブロックを移動するつもりだと決めていないとサブプロジェクトでのみdef main_class
を持っていますが、どんなに私はmain_class
変数を定義しましたが、動作しませんでした。私はproject.ext
とproperties {}
も試しました。
私はproject.ext
で働いているdist
と呼ばれる、タスクを持っていた:
ルートプロジェクト:
subprojects {
task dist(dependsOn: jar) << {
copy {
from('build/libs') {
include (build_jar)
}
into('.')
rename(build_jar, app_jar)
}
}
}
サブプロジェクト:
project.ext {
build_jar = "..."
app_jar = "..."
}
はどのように動作し、変数を定義することができますjar
はdist
タスクのようですか?
残念ながら、 'main_class'の値はサブプロジェクト – Zsolt
に依存します。この値をroot build.gradleに保存することができれば、これはまだ実行可能です。 – Opal