我可以通过maven依赖在我的项目中使用Frege吗?

时间:2013-09-10 20:01:51

标签: frege

如果弗雷格有一个POM并被上传到maven central或bintray,我可以很容易地将它用作maven,gradle,buildr和via grape中的maven依赖。 但是我找不到它。有这样的事吗? 我不需要一个完整的maven插件。

1 个答案:

答案 0 :(得分: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编译)由顺序确定模块已建成。