如何解决Gradle从.tmpl文件生成Java源代码
使用select t.*
from t
where column_1 like '%Label1' and column2 like '%lbll1%'
,我们生成了一些Java代码,其中大部分包含一些运行时生成的信息。
对于Ant
,我们使用下面的ant task
文件,它会生成
VersionConstants.tmpl
以此生成public class VersionConstants {
/**
* This class does not need to be instantiated.
*/
private VersionConstants() { }
public static final String VERSION = "@VERSION@";
public static final String PATCH_LEVEL = "@PATCH_LEVEL@";
public static final String REVISION = "@REVISION@";
public static final String BUILDTIME = "@BUILDTIME@";
public static final String BUILDHOST = "@BUILDHOST@";
}
文件。我看到了这个问题Generate a Java class using Gradle for Java plugin,但是VersionConstants.java
是否对此提供任何本地支持?
解决方法
据我了解,您正在寻找一种用某些值替换Java源文件中的令牌的方法;有很多gradle插件可以做到这一点,这是示例之一: https://github.com/HexoMod-tools/gradle.replace.token.preprocessor.plugin;,您可以尝试直接在gradle插件注册表中进行搜索,例如https://plugins.gradle.org/search?term=replace
,我什至避免了第三方插件,并实现了以下目标
task generateSources(type: Copy) {
from 'src/replaceme/VersionConstants.java'
into "$buildDir/generated-src"
filter(org.apache.tools.ant.filters.ReplaceTokens,tokens: [
"VERSION" : '1.0.0',"PATCH_LEVEL" : '0.5',...
])
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。