Gradle:如何从自定义插件中设置版本

时间:2016-01-26 19:22:55

标签: gradle gradle-plugin

我已经编写了一个自定义插件(我的第一个)来管理一个"内部版本号"我想包含在build.gradle"版本"如此:

allprojects {
version = "1.2.3.${buildNumber}"
}

不幸的是我的插件永远不会运行,因此返回的buildNumber是" null"。

下面是我的build.gradle。

如果我跑步" gradle showbuild"我看到了正确的buildNumber。

如果我跑步" gradle showInfo"报告的内部版本号为" null"。

不知何故,我需要通过gradle来调用我的插件任务' buildInfoLoad'在"版本之前#34;值在所有项目中设置。因为我知道要磨练,所以我正在努力解决这个问题。

任何指针都会非常感激!

buildscript {
    repositories {
        maven {
            // Access to MangoGrove
            url uri('../repo')
        }
        maven { // aka "jcenter()"
            url "https://jcenter.bintray.com"
        }
    }

    dependencies {
        // Provide the "provided" and "optional" methods for dependencies
        classpath 'com.netflix.nebula:gradle-extra-configurations-plugin:3.0.3'

        classpath group: 'org.mangogrove.gradle',
                  name: 'MangoGrove',
                  version: '1.0.0-SNAPSHOT'
    }
}

apply plugin: 'org.mangogrove.gradle'

task showbuild(dependsOn: 'buildInfoLoad') << {
    println("BI build number: $buildinfo.buildNumber")
    println("BI build time: $buildinfo.buildTime")
}

task createbuild(dependsOn: 'buildInfoCreate') << {
    println("BI build number: $buildinfo.buildNumber")
    println("BI build time: $buildinfo.buildTime")
}

allprojects {
    ext {
        buildNumber = "$buildinfo.buildNumber"
    }
    version = "1.0.0.${buildNumber}-alpha2"
    //version = "1.0.0.${buildinfo.buildNumber}-alpha2"

    apply plugin: 'eclipse'

    eclipse {
        classpath {
            downloadSources=true
            //downloadJavadoc=true
        }
    }

}

task showInfo << {
    println("Product Version is $version")  
    println("Product BuildNumber is $buildNumber")
}

0 个答案:

没有答案
相关问题