2014-05-05 64 views
0

我正在構建我的第一個Gradle自定義插件。這個插件做了很多事情,包括根據項目所具有的其他插件配置它應用到的項目。我希望這個插件做的事情之一是處理所有的Maven發佈工作,所以它不需要出現在每個build.gradle中。每個構建完全相同,它們只有源Jar和它們的基礎項目Jar,並且都已經(或將要)發佈到我們的工件存儲庫。通過自定義插件在gradle中創建默認項目Jar

這工作,我可以創建Jar文件。但是,Jar文件只包含META-INF文件夾和清單文件,並且沒有任何項目的類。有沒有人遇到過這個問題並知道原因?

// Configure Jar Manifest 
    jar { 
     manifest = project.manifest { 
      from sharedManifest 
     } 
    } 

    // Configure sources Jar manifest 
    (project.getTasks()).create("sourcesJar", Jar) { 
     classifier "sources" 
     from project.sourceSets.main.allSource 
     manifest = project.manifest { 
      from sharedManifest 
     } 
    } 

    artifacts { 
     archives project.tasks.sourcesJar 
    } 
    publishing { 
     publications { 
      mavenJava(MavenPublication) { 
       from project.components.java 
       artifact project.tasks.sourcesJar 
       pom.withXml { 
        def root = asNode() 
        root.appendNode("name", project.name) 
        root.appendNode("description", project.name + "component of company.") 
        root.appendNode("inceptionYear", "2010") 
       } 
      } 
     } 
     repositories { 
      maven { 
       //We only publish to the Releases repository if the project is given the property "release" 
       if(project.hasProperty("release")) { 
        url "http://clipped/" 
       } else { 
        url "http://clipped/" 
       } 

       credentials { 
        if(project.hasProperty("nexusUsername") && project.hasProperty("nexusPassword")) 
        { 
         username = nexusUsername 
         password = nexusPassword 
        } 
       } 
      } 
     } 
    } 
+0

該問題可能在上面顯示的代碼以外的地方。也許源代碼位於錯誤的目錄中,或者其他一些構建腳本存在問題。 –

回答

0

就是這樣,彼得,開發者已經感動了所有從調用的src/main/JAVA插件爲src/java的項目,以爲該文件夾結構是不必要的深。插件代碼沒有錯。

相關問題