gpt4 book ai didi

gradle - 在gradle中动态设置存储库和版本/修订版

转载 作者:行者123 更新时间:2023-12-03 05:15:02 27 4
gpt4 key购买 nike

我有一个gradle buildscript。在此脚本中,我设置了一些出版物。

在脚本的后面,我有一个任务,该任务从文件读取Buildnumber并增加它。比项目的版本将被更改。

现在我的问题是:可以在初始化“发布” -PlugIn之后更改修订/版本吗?如果未设置新版本,则“发布” -PlugIn将引发n错误。插件说,如果我通过编辑描述符来更改版本,则不允许直接编辑描述符。

我还想根据内部版本号更改资源库URL。

有人知道修复程序或有相同的问题吗?

publishing {
publications {
ivy(IvyPublication) {
organisation project.group
module project.name
revision project.version
descriptor.status = 'milestone'

from components.java

artifact(sourceJar) {
type "source"
conf "runtime"
}
}
maven(MavenPublication) {
groupId project.group
artifactId project.name
version project.version

from components.java
}
}
repositories {
ivy {
// change to point to your repo, e.g. http://my.org/repo
url "P:/Java/Repo/ivy"
}
maven {
// change to point to your repo, e.g. http://my.org/repo
url "P:/Java/Repo/maven"
}
}
}

这是我用于增加内部版本号的脚本
def incVersion(project) {

project.versionInced = true

def versionPropsFile = file("${project.rootDir}/version.properties")

if (!versionPropsFile.canRead()) {
versionPropsFile.createNewFile();
}

def Properties versionProps = new Properties()

versionProps.load(new FileInputStream(versionPropsFile))

if(versionProps['build_version'] == null)
{
versionProps['build_version'] = 0;
}

def code = versionProps['build_version'].toInteger()+1;

versionProps['build_version']=code.toString()
versionProps.store(versionPropsFile.newWriter(), null)

project.projectInfos.version = project.version + "." + code.toString()
project.version = project.projectInfos.version

println "Version: "+project.version

return project.version
}

最佳答案

如果我了解得很好,可以动态地完成。您可以通过project属性(-P)或系统属性(-D)在运行gradle时传递版本。

这将是:

gradle <some_task> -PsomeVersion=<version>

您需要更改gradle脚本以读取属性,因此:
publishing {
publications {
ivy(IvyPublication) {
revision project.hasProperty('someVersion') ? project.someVersion : '<HERE YOU NEED TO PUT DEFAULT VERSION OR MAYBE THROW EXCEPTION IF EMPTY>'
//...
}
}
}

如果您不检查项目是否具有属性(在项目实例上使用 hasProperty方法),则会抛出 MissingPropertyException

关于gradle - 在gradle中动态设置存储库和版本/修订版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33654131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com