2016-01-12 83 views
7

運行grails publish-plugin似乎沒有做任何事情,我能找到的唯一文件是關於發佈到bintray。如何發佈grails 3插件到我的本地nexus回購?

[編輯:]

我可以通過gradle publish發佈的插件,但想知道是否有一個Grails-Y辦法做到這一點,而且不知道什麼grails publish-plugin實際上做:/

回答

6

我在Ryan Vanderwerfhttp://rvanderwerf.blogspot.com/2015/07/how-to-publish-grails-3-plugin.html的幫助下計算出來,他寫道,有一堆沒有版本的spring-boot依賴項,導致gradle出現異常。要解決它,在沒有版本的POM去掉所有的依賴關係:

publishing { 
    publications { 
     mavenJar(MavenPublication) { 
      pom.withXml { 
       def pomNode = asNode() 
       pomNode.dependencyManagement.replaceNode {} 

       // simply remove dependencies without a version 
       // version-less dependencies are handled with dependencyManagement 
       // see https://github.com/spring-gradle-plugins/dependency-management-plugin/issues/8 for more complete solutions 
       pomNode.dependencies.dependency.findAll { 
        it.version.text().isEmpty() 
       }.each { 
        it.replaceNode {} 
       } 
      } 
      from components.java 
     } 
    } 
    repositories { 
     maven { 
      credentials { 
       username "username" 
       password "password" 
      } 
      url "http://localhost/repo" 
     } 
    } 
} 

那麼你可以使用grails publish-plugingradle publish發佈你的插件

相關的SO問題:Grails 3 - How to publish to Artifactory

+0

該解決方案適用於我。結果它顯示403錯誤。但是在artifactory中,所有文件都會顯示出來 – demon101

-2

在BuildConfig.groovy

grails.project.dependency.distribution = { 
    remoteRepository(id: '<repo name>', url: '<url to your nexus repo>') 
} 

然後:

Grails的清潔

Grails的編譯

的Grails Maven的部署--repository =回購名稱

+0

的Grails 3沒有BuildConfig.groovy –

0

在Grails的3.0.11,我用的是gradle這個目標publishToMavenLocal我的地方發展。還有另一個目標publishMavenPublicationToMavenRepository。這似乎來自gradle插件:

apply plugin: 'maven-publish' 

似乎是在標準插件build.gradle。

(編輯:使用本地maven添加註釋)。

重新閱讀您的問題和評論下面,我不認爲這就是你在找什麼。這聽起來像你想要正常發佈到系統中的存儲庫。 publishMavenPublicationToMavenRepository可能會處理該問題。我上面描述的是使用本地Maven緩存來保存一個插件的快照,您可以在應用程序中使用您的機器。

這適用於開發我的應用程序中使用的插件。

我沒有創建本地存儲庫。上面的gradle插件(maven-publish)有一個任務publishToMavenLocal,它將Grails插件發佈到本地Maven緩存以供本地開發。

它存儲了插件的.zip文件的.m2目錄緩存目錄:

C:\Users\xyz\.m2\repository\org\whatever\plugins\pluginName\0.3-SNAPSHOT 

然後,您可以使用該插件在你的機器上的Grails應用程序。