[英]Gradle projects sharing artifactory plugin dependency
我有三个gradle项目:“ foo”,“ bar”和“ core”。 “ foo”和“ bar”需要使用人工插件:“ foo”发布“ bar”所需的依赖项。 人工插件依赖项在'core'中定义,我需要项目'foo'和'bar'才能使用它。
在gradle 2.12中是否有明确的方法来做到这一点? 项目“核心”必须存在,因为如果依赖项“ foo”的版本发布更改,我想更新“核心”而不是“ bar”,从而避免了“ bar”的重新部署
项目foo-build.gradle:
group 'foo'
version '1.0-SNAPSHOT'
apply from: "/path/to/core/artifactory-war.gradle"
apply plugin: 'com.jfrog.artifactory'
项目栏-build.gradle:
group 'foo'
version '1.0-SNAPSHOT'
apply from: "/path/to/core/artifactory.gradle"
apply plugin: 'com.jfrog.artifactory'
项目核心-artifactory-war.gradle:
apply from: "/path/to/core/artifactory.gradle"
apply plugin: 'com.jfrog.artifactory'
publishing {
//...
}
项目核心-artifactory.gradle:
group 'core'
version '1.0-SNAPSHOT'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.4.0"
}
}
apply plugin: org.jfrog.gradle.plugin.artifactory.ArtifactoryPlugin
artifactory {
// ...
}
到目前为止,我无法在项目“ foo”中使用人工插件:
Plugin with id 'com.jfrog.artifactory' not found.
从Gradle 3.0开始,可以使用改进的插件DSL来实现 。 文档中的示例如下所示:
plugins {
id 'my.special.plugin' version '1.0' apply false
}
subprojects {
if (someCondition) {
apply plugin 'my.special.plugin'
}
}
因此,您的情况应为:
核心
plugins {
id "com.jfrog.artifactory" version "4.4.0"
}
subprojects {
apply plugin "com.jfrog.artifactory"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.