2017-01-18 6 views
0

の内側から「ファイル・ワイド/グローバル」変数を参照してください。私の答えhereを参照)、これを別のディレクトリにコピーしてください(回答hereを参照)。しかし、プロジェクトのバージョン番号をjarファイルの名前に組み込み、既存のバージョンを上書きしないようにしたい。のGradle/Groovyの私は、次の行を持って私のビルドファイルでブロック

Shadow Plugin User Guideは、名前を設定する方法について説明します。

shadowJar { 
    baseName = 'shadow' 
    classifier = null 
    version = "7.7.7" 
} 

を...しかし、どのように私は、外(ファイル全体のグローバル/ ...)を使用するために、ここで変数versionを設定する可能性がある変数version

+1

version = project.version –

+0

Ha ...ありがとう。いくつかのポイントが必要な場合は、回答を追加してください。さらに明確にするために、誰かが興味を持っているならば、project.version変数を設定する行は、このタスクの中で***への参照の前に物理的に来なければなりません。どういうわけか、私自身のような新生児は、変数がすべて「最初のライフサイクル」に設定されることを前提としています... –

答えて

1

グラデーションスクリプトには、すべてが委任するスコープ内にProjectインスタンスがあります。あなたがversion = '1.1.2'を言うとき、実際にプロジェクトのバージョンを隠している範囲でのバージョンアップが高いがありますあなたのshadowJar閉鎖で

getProject().setVersion('1.1.2') 

を呼び出しています。そうすることができます

shadowJar { 
    version = project.version 
    ... 
} 
関連する問題