2016-10-21 16 views
0


私はGradleで全く新しいです。初めは、Javaプラグインを使用せずに単純なコンソールJavaアプリケーション用のビルドスクリプトを作成しようとしています。 mavenリポジトリからのコードには2つの依存関係しかありません。 私のビルドには、classpath、destination、ectなどのJavaCompileを拡張するタスクが1つ含まれています。
私のプロジェクトは、したがって、私はこのように、私自身のことで、依存関係の設定を作成する必要があり、Javaプラグインを適用しません:
タスクを使用したGradleバインディング依存構成

configurations { 
     myCompile { 
     desciprtion = 'my own compile dependency configuration' 
     transitive = true 
     } 
} 

それから私は、この設定に依存関係をバインドすることができます。

dependencies { 
myCompile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.7' 
myCompile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.7' 
} 

私が理解する限り、その後、私はそれらの構成を私のコンパイルアクションとバインドする必要がありますが、私はどのように理解できません。誰かが私にこれを指摘できますか? ヘルプは本当に感謝されます)

P.S.私はこれをIn Gradle, associating task with a dependency configurationと読んでいます。だから、私はソースセットのmyThingを作成することができ、設定を含むタスクは私のために作成されますか?これはjavaプラグインなしで動作しますか?

P.P.S.私は、Gradleを学ぶ目的のためだけにプラグインなしでこの単純なタスクを達成したいと思います。

答えて

0

は最終的に、私は、Javaプラグインなしでプロジェクトをコンパイルするには、このコードを使用していました。
これは誰かを助けることを願っています。

0

最初にexecタスクタイプを使用してコンパイルタスクを作成します。DSL refreence for Execを参照してください。あなたのコンパイルタスクを作成するときに、あなたがgetAsPathを(使用して、コンフィギュレーションへの参照を取得することができます

)、API doc for FileCollection

configurations.myCompile.getAsPath() 

を参照してくださいしかし、真剣に、私はあなたがこのためにJavaプラグインを適用することををお勧めします

初心者コースが必要な場合は、this videoをお試しください。

task resolveCompileDependency(type: Copy) { 
    //download libraries specified in dependency configuration 
    def lib_files = configurations.myCompile.resolve() 
    //print names of downloaded files and copy to build directory (optional) 
    lib_files.each {File file -> 
     println file.name 
    } 
    from lib_files 
    into 'build/classes' 
    outputs.files(lib_files) 
} 

、タスクがresolveCompileDependencyに依存普通JavaCompileタスク、あるコンパイル:

+0

リンクありがとう!JavaCompileではなく、コンパイルにExecタイプを使う理由は何ですか? – Worm359

+0

タスクのドキュメント(https://docs.gradle.org/current/dsl/org.gradle.api.Task.html)には、依存関係として使用できるオブジェクトがリストされていますが、依存関係のみに関連しているようです(タスクの依存関係とタスクの順序付けの段落) – Worm359

+0

コンパイル全体を自分で書きたい場合はexecを使うことができますが、本当に必要なことはありません。 –

関連する問題