gpt4 book ai didi

java - 在构建之前替换文件中的 token ,但将 token 保留在源中

转载 作者:IT老高 更新时间:2023-10-28 20:52:35 25 4
gpt4 key购买 nike

我想用构建之前的版本替换 java 源文件中的 @VERSION@ 标记(Gradle 是我选择的构建系统)。

在我当前的脚本中 ant.replace(file: 'src/main/java/randers/notenoughvocab/main/Reference.java', token: '@VERSION@', value: version)它替换了实际源文件中出现的 @VERSION@ ,因此在构建之后,所有出现的模式都被版本替换了,如果我将版本更改为 gradle 构建文件,它将不会不再在那里找到任何模式,版本将不会更新。

我也看过一个任务here ,但我不知道需要为我的特定项目应用什么值。

我的项目的项目布局,如果需要的话:
Screenshot of file layout taken from IntelliJ IDEA 14.1.2, Dark theme

最佳答案

在向公众发布您的软件之前,您只需替换 @VERSION@ token 。这里我定义了一个任务 compileForRelease 来完成它:

import org.apache.tools.ant.filters.ReplaceTokens

task sourcesForRelease(type: Copy) {
from 'src/main/java'
into 'build/adjustedSrc'
filter(ReplaceTokens, tokens: [VERSION: '2.3.1'])
}

task compileForRelease(type: JavaCompile, dependsOn: sourcesForRelease) {
source = sourcesForRelease.destinationDir
classpath = sourceSets.main.compileClasspath
destinationDir = file('build/adjustedClasses')
}

我不建议使用 Java 插件定义的标准任务,因为这会给每个构建增加不必要的开销。

关于java - 在构建之前替换文件中的 token ,但将 token 保留在源中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30038540/

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