2012-11-23 46 views
1

我需要从蚂蚁运行此命令:如何运行pylint的从蚂蚁

pylint -f parseable src/apps/api | tee pylint.out 

它输出pylint.out文件。

我尝试这样做:

<target name="pylint" description="Pylint"> 
    <exec executable="pylint"> 
     <arg line="-f parseable src/apps/api | tee ${basedir}/pylint.out"/> 
    </exec> 
</target> 

但是,这并不产生pylint.out文件。有任何想法吗?

+1

你需要输出文件和标准输出? –

回答

2

看来蚂蚁会把你的管道(|)当作一个参数而不是shell的命令。

一个解决办法是,提取你的命令的脚本:

pylint.sh:

#!/bin/bash 
pylint -f parseable src/apps/api | tee $1/pylint.out 

,然后运行从<exec>任务脚本:

构建。 xml:

<target name="pylint" description="Pylint"> 
    <exec executable="pylint.sh"> 
     <arg line="${basedir}"/> 
    </exec> 
</target> 

这显然不是跨平台的,可能有更好的方法,我没有想到,但你可以有一个等效的.bat文件和做OS-detection in ANT,使其在Windows上工作,如果需要的话。