特定项目的Gradle初始化脚本

时间:2014-10-04 06:25:08

标签: gradle

我需要使用gradle为某些项目指定本地发布,但不是全部。

与init.gradle中的allprojects类似,类似于

allprojects {
    apply plugin: 'maven-publish'

    publishing {
        repositories {
            maven {
                url 'http://nexus.myintranet.local/content/repositories/snapshots'
                credentials {
                    username 'myusername'
                    password 'mypassword'
                }
            }
        }
    }
}

假设我有/home/ed/xthirdparty/home/ed/ythirdparty。如何将此配置仅应用于这两个项目而不编辑其build.gradle文件?我唯一可以使用-I--init-script吗?或者我可以使用像allprojects这样的方法来区分项目的路径或其他属性吗?

1 个答案:

答案 0 :(得分:1)

根据Peter Niederwieser的上述评论,我能够根据他们在机器上的位置为某些项目指定替代发布:

allprojects {
    def thirdparty = [ '/home/ed/xthirdparty', '/home/ed/ythirdparty' ]
    if (rootDir.path in thirdparty) {
        apply plugin: 'maven-publish'
        publishing {
            repositories {
                maven {
                    url 'http://nexus.myintranet.local/content/repositories/snapshots'
                    credentials {
                        username 'myusername'
                        password 'mypassword'
                    }
                }
            }
        }
    }
}