2017-03-15 76 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插件的安裝任務。

我試着幾條線象

install.dependsOn(publishing.publishSources) 

install.dependsOn(publishSources) 

但隨着各種錯誤而導致失敗。

+0

你嘗試'install.dependsOn(publishToMavenLocal)'?順便說一句,爲什麼你需要同時安裝和發佈任務? –

+0

我有2個項目,我想第二個看到庫和它的源代碼(在調試時跟蹤)。否則它會進行反編譯或者需要手動設置路徑來源始終。如果它在maven中看到它們,它就會使用它們。 – Dims

回答

0

您可以使用nebula.source-jar插件。或者您至少可以從自述文件中複製/粘貼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 
     } 
    } 
} 
相關問題