2017-03-15 25 views
0

は私was taughtソースをローカルMavenリポジトリにインストールする方法を教えてください。

は、プラグインを適用書くために、ローカルのMavenリポジトリにソースをインストールするには:必要に応じて

task sourceJar(type: Jar) { 
    from sourceSets.main.allJava 
} 

publishing { 
    publications { 
     mavenJava(MavenPublication) { 
      from components.java 

      artifact sourceJar { 
      classifier "sources" 
      } 
     } 
    } 
} 

し、それをコピーファイル "のmaven-パブリッシュ"。今、私はこの作業を自動的にmavenプラグインのインストールタスクと共に望みます。

私は

install.dependsOn(publishing.publishSources) 

または

install.dependsOn(publishSources) 

のようないくつかのラインを試みたが、様々なエラーで失敗しました。

+0

あなたが '' install.dependsOn(publishToMavenLocal)をしてみてくださいましたか?ところで、なぜあなたは 'install'と' publish ... 'というタスクを同時に必要としますか? –

+0

私は2つのプロジェクトを持っています、私は2番目のライブラリとソース(デバッグ中にトレースする)の両方を参照してください。さもなければ、それは逆コンパイルを行うか、または常にソースへのパスを手動で設定する必要があります。もしそれがmavenで見れば、それを使うだけです。 – Dims

答えて

0

nebula.source-jarプラグインを使用できます。あるいは、少なくともreadmeからbolierplateをコピー/ペーストすることができます。

例:Eliminates this boilerplate:

tasks.create('sourceJar', Jar) { 
    dependsOn tasks.classes 
    from sourceSets.main.allSource 
    classifier 'sources' 
    extension 'jar' 
    group 'build' 
} 
publishing { 
    publications { 
     nebula(MavenPublication) { // if maven-publish is applied 
      artifact tasks.sourceJar 
     } 
     nebulaIvy(IvyPublication) { // if ivy-publish is applied 
      artifact tasks.sourceJar 
     } 
    } 
} 
関連する問題