javascript - Gradle Maven 依赖项

标签 javascript maven continuous-integration gradle

我是 gradle/maven 新手,我想将其应用到我的 javascript 项目中。

我有 1 个主项目和 2 个子项目。每个子项目都会创建一个zip包并部署到nexus。 所以mainProject实际上只是发布所有子项目。

  MainProject/   
    SubProject1/   
    SubProject2/   
    build.gradle   
    gradle.properties   
    settings.gradle

事实上,当加载 subproject1 时,SubProject2 将依赖于 SubProject1。然而,它们在发布阶段是独立的。所以我不知道将依赖项放在哪里。发布时我应该将依赖项添加到pom文件中吗?像 pom.withXml 或在 gradle 中定义(但在发布时无关)?

subprojects {
    //to package the file
    task packageFile (type:Zip){
        from 'src'
    }

    publishing {
        publications {
            maven(MavenPublication) {
                groupId project.group
                artifact packageFile
            }
        }
    }
}

最佳答案

在 gradle 中,子项目称为模块。
您的项目是一个多模块项目。
在您的情况下,每个模块都是一个独立的 Artifact 。
每个模块都有自己的 build.gradle 文件,您可以在其中设置模块/Artifact 属性。
在项目级别的 build.gradle 中,您可以设置公共(public)属性(例如组 ID)。
由于模块之间存在依赖关系,并且每个模块都是 Artifact ,因此您需要将依赖关系定义为第 3 方依赖关系,而不是编译项目(:module1)。
由于您还需要在开发过程中保持紧密的依赖关系,因此您需要每个构建都将它们安装到本地存储库并设置 gradle 来连续刷新/检查这些依赖关系状态。

关于javascript - Gradle Maven 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19807439/

相关文章:

javascript - Google Map Bug,Dragend Event 也会触发 IE 中的 Click Event

github - 在 Travis CI 中设置上游项目

eclipse - 尝试了解如何使用 Maven 和 Eclipse

java - 回滚问题 - Liquibase

java - 无法使用 JitPack.io 进行构建

docker - 如何设置持续集成 - 部署 : bitbucket,drone.io、docker hub、swarm?

flash - 关于部署社交游戏的多个分支的想法

javascript - 未捕获( promise 中): TypeError: data. 数据不可迭代

javascript - 我如何在 moment.js 中执行每周警报/功能

javascript - 将数据转发到 Ractive.js 中的组件