• maven中进行go的编译


    maven提供的插件maven-antrun-plugin真是个好东东,使得maven可以利用ant的很多功能。

    最近需要实现在maven中实现对go代码的编译,添加如下代码在pom文件中即可。

    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.8</version>
    <executions>
    <execution>
    <id>go-build</id>
    <phase>compile</phase>
    <goals>
    <goal>run</goal>
    </goals>
    <configuration>
    <exportAntProperties>true</exportAntProperties>
    <target name="build hermes">
    <exec executable="go" dir="${basedir}/src/go/hermes">
    <arg value="build"/>
    </exec>
    <echo message="go build hermes successfully!" level="info"/>
    </target>
    </configuration>
    </execution>
    <execution>
    <phase>package</phase>
    <goals>
    <goal>run</goal>
    </goals>
    <configuration>
    <tasks>
    <copy file="/${basedir}/src/go/hermes/hermes"
    tofile="../bin/hermes" overwrite="true"/>
    <echo message="copy hermes successfully!" level="info"/>
    </tasks>
    </configuration>
    </execution>
    </executions>
    </plugin>

    failonerror:表示当出现错误时自动停止

    arg例子 
    <arg value="-l -a"/> 
    是一个含有空格的单个的命令行变量。 
    <arg line="-l -a"/> 
    是两个空格分隔的命令行变量。 
    <arg path="/dir;/dir2:dir3"/> 
    是一个命令行变量,其值在DOS系统上为dir;dir2;dir3;在Unix系统上为/dir:/dir2:/dir3 。



    上面包括两部分,第一步是go代码的编译,第二部是将起copy到别的地方,都利用这个插件完成,虽然不是最优美的方式,但的确完成了任务。

    应该说,ant中可以做的事情,都可以通过这种方式来进行。

    参见:https://maven.apache.org/plugins/maven-antrun-plugin/usage.html
  • 相关阅读:
    利用html2canvas将html页面截图 js
    微信网页分享功能 js
    json数组排序 js
    数字千位符 js
    调用百度Api读取图片文字 C#
    判断手机移动端js
    网页添加水印js
    css 文字隐藏,鼠标移动显示
    删除某个数据库下所有表
    linux错误记录
  • 原文地址:https://www.cnblogs.com/029zz010buct/p/9235419.html
Copyright © 2020-2023  润新知