Gradle项目共享artifactory插件依赖项

时间:2017-01-28 17:43:29

标签: java gradle artifactory

我有三个gradle项目:' foo',' bar'和'核心'。 '富'和' bar'需要使用神器插件:' foo'发布' bar'所需的依赖关系。 artifactory插件依赖关系在' core'中定义。我需要项目&foo foo'和' bar'能够使用它。

在gradle 2.12中有明确的方法吗?项目'核心'需要存在,因为如果依赖的版本' foo'发布我想要更新的更改'核心'而不是' bar',因此避免重新部署' bar'

Project 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.

1 个答案:

答案 0 :(得分:0)

从Gradle 3.0开始,可以使用improved plugin 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"
}