【问题标题】:how to flip between local and remote repo in gradle with old maven plugin?如何使用旧的 maven 插件在 gradle 中的本地和远程 repo 之间切换?
【发布时间】:2016-07-13 22:38:23
【问题描述】:

我没有使用新的 maven-publish 插件,它看起来很棒并且非常适合这个用例,因为我一直在阅读没有人可以让 jar 的签名工作(尽管我愿意接受解释的答案以及我还没有找到一个博客说它现在可以工作)。

太好了,我想轻松地在本地发布和远程发布之间切换。我当前的 build.gradle 文件是

https://github.com/deanhiller/webpieces/blob/master/build.gradle

其中有一个已注释掉的本地存储库,我一直在打开和关闭评论,并希望避免这种情况。 IE。这些回购...

       //repository(url: "file://localhost/tmp/myRepo/")
        repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
          authentication(userName: sonatypeUsername, password: sonatypePassword)
        }

我在这里读到了一篇关于做某事的帖子,但由于神秘的关闭错误而失败了......

Configuring multiple upload repositories in Gradle build

我把它放在我的子项目部分,但这根本不起作用。理想情况下,使用图表 whenReady 听起来最好,因为如果我正在执行发布目标,那么仅使用远程 repo 会很酷。不过,我似乎无法让这些工作。

谢谢, 院长

【问题讨论】:

    标签: maven gradle


    【解决方案1】:

    编辑:我错了,当我 ./gradlew jar 时,下面的工作现在只有一半,然后我得到这个错误......(所以一些目标工作而其他目标不......哎哟)

    Cannot cast object 'task ':uploadArchives'' with class 'org.gradle.api.DefaultTask_Decorated' to class 'org.gradle.api.tasks.Upload'
    

    我确实想出了一个解决方法,虽然它看起来很奇怪,因为现在隐藏了正在运行的任务列表中的目标,这取决于是否设置了一个看起来有点奇怪的变量。我认为可能有更好的方法来做到这一点,所以仍然列出所有任务,但现在我的构建文件只需执行一个

    if(project.hasProperty('projVersion')) {
      //task I want to be able to run
    } else {
      //other task I want to run when no projVersion
    }
    

    所以它可以工作......这些任务现在只是不可见,直到我执行 ./gradlew -PprojVersion=X 来查看它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 2012-12-10
      • 2016-10-27
      • 2012-01-13
      相关资源
      最近更新 更多