gpt4 book ai didi

gradle - 在gradle中使用fmpp生成java文件

转载 作者:行者123 更新时间:2023-12-03 03:10:22 26 4
gpt4 key购买 nike

我有一个现有的 Maven 项目,我正在尝试移植到 gradle。

一个子模块使用 fmpp/freemarker 生成大量的 java 文件,然后将这些文件反馈到构建中。

我是 gradle 新手,想知道是否有人知道这样做的简单方法。

任何帮助,将不胜感激。

我当前的 pom.xml 如下所示:

<build>
<plugins>
<!-- Freemarker maven plugin for code generation -->
<plugin>
<groupId>com.googlecode.fmpp-maven-plugin</groupId>
<artifactId>fmpp-maven-plugin</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>org.unix4j</groupId>
<artifactId>unix4j-tools</artifactId>
<version>0.1-SNAPSHOT</version>
<optional>true</optional>
</dependency>
</dependencies>
<configuration>
<cfgFile>src/main/resources/codegen/config.fmpp</cfgFile>
<outputDirectory>target/generated-sources/main/java</outputDirectory>
<templateDirectory>src/main/resources/codegen/templates</templateDirectory>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/generated</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

最佳答案

对不起,应该先花更多时间在谷歌上搜索。这是对我有用的解决方案:

project(':unix4j-core:unix4j-command') {
configurations {pmd}

dependencies {
compile project(':unix4j-core:unix4j-base')
compile project(':unix4j-tools')
pmd project(':unix4j-tools')
}

task generateFmppSources(dependsOn: ":unix4j-tools:compileJava") << {
println "Generating sources...."
ant.taskdef(name:'fmpp', classname:'fmpp.tools.AntTask', classpath:configurations.pmd.asPath);
ant.fmpp configuration:"src/main/resources/codegen/config.fmpp", sourceRoot:"src/main/resources/codegen/templates", outputRoot:"target/generated-sources/main/java";
}
compileJava.dependsOn generateFmppSources
sourceSets {
main {
java {
srcDir 'target/generated-sources/main/java'
}
}
}
}

关于gradle - 在gradle中使用fmpp生成java文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206979/

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