如果 Frege 有一个 POM 并上传到 maven central 或 bintray,我可以轻松地将它用作 maven、gradle、buildr 和 via grapes 中的 maven 依赖项。不过我没找到。有没有这样的事情?我不需要完整的 Maven 插件。
问问题
277 次
1 回答
3
这里有一个 Frege 的 Maven 插件:https ://github.com/talios/frege-maven-plugin但我不确定它与当前的 Frege 版本有多少是最新的。
据我所知,Frege jar 仍然不在任何中央存储库中,因此您需要将它放在某个本地存储库中才能使用该插件。例如,https://github.com/talios/frege-testing/blob/master/pom.xml
您还可以通过 Maven 中的 Ant 调用 Frege 编译器(不是最好的方法,但仍然是一种选择):
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>compile</phase>
<configuration>
<target>
<property name="compile_classpath" refid="maven.compile.classpath" />
<property name="outputDir"
value="${project.build.outputDirectory}" />
<property name="sourceDir" value="src/main/frege" />
<property name="fregec" value="${frege:frege:jar}" />
<exec executable="java" failonerror="true">
<arg value="-Xss1m" />
<arg value="-Dfrege.javac=javac" />
<arg value="-classpath" />
<arg value="${compile_classpath}" />
<arg value="frege.compiler.Main" />
<arg value="-d" />
<arg path="${outputDir}" />
<arg value="${sourceDir}/helloworld/Foo.fr" />
<arg value="${sourceDir}/helloworld/bar.fr" />
</exec>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
这里也frege:frege:jar
指本地仓库中的 Frege jar。如果您的 Frege 代码或其他方式有任何 Java 依赖项,最好将它们作为单独的模块(Java 模块和 Frege 模块),以便编译顺序(Java 和 Frege 编译)由顺序确定构建模块。
于 2013-09-11T00:10:27.240 回答