1

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

我有一个主要项目和两个子项目。每个子项目将创建一个 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
            }
        }
    }
}
4

1 回答 1

0

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

于 2016-02-17T08:40:19.933 回答