gpt4 book ai didi

gradle - 对gradle关闭的怀疑

转载 作者:行者123 更新时间:2023-12-03 05:13:18 24 4
gpt4 key购买 nike

我希望为我的项目创建版本和sha文件。我正在使用spring boot的repackage方法来构建我的jar。

subproject.tasks.create(name: 'writeVersion') {
new File("$rootDir/upload/").mkdirs()

def sha = calcSha1(new File("$rootDir/deploy/${jar.archiveName}"));
def gitId = grgit.head().abbreviatedId

def shaFile = new File("$rootDir/upload/$rootProject.serviceName-$gitId-$sha"+".sha256");
def versionFile = new File("$rootDir/upload/version.txt");

shaFile.text = $sha;
versionFile.text = "$rootProject.serviceName-$gitId-$sha"
}

感谢 dagezi

我有以下内容:
def calcSha1 = { file ->
MessageDigest md = MessageDigest.getInstance("SHA-1");
file.eachByte 4096, {bytes, size ->
md.update(bytes, 0, size);
}
return md.digest().collect {String.format "%02x", it}.join();
}

每次尝试运行任务时,都会收到一条错误消息,指出找不到该jar。我了解发生这种情况是因为它正在尝试在配置时生成SHA,但不确定如何解决此问题。

最佳答案

尝试这样的事情:

subprojects {
task writeVersion << {
new File("$rootDir/upload/").mkdirs()

def sha = calcSha1(new File("$rootDir/deploy/${jar.archiveName}"));
def gitId = grgit.head().abbreviatedId

def shaFile = new File("$rootDir/upload/$rootProject.serviceName-$gitId-$sha"+".sha256");
def versionFile = new File("$rootDir/upload/version.txt");

shaFile.text = $sha;
versionFile.text = "$rootProject.serviceName-$gitId-$sha"
}
}
<<(左移)运算符等效于将您的语句放入 doLast { }闭包内。这些块在执行阶段运行。

关于gradle - 对gradle关闭的怀疑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39424167/

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