build.gant
가 기본 Gant 스크립트-p
: 타겟 목록 보기-T
: 타겟 목록 보기-D <name>=<value>
: Ant 프라퍼티 생성GANT_HOME
환경변수 설정.GROOVY_HOME
환경변수 확인JAVA_HOME
환경변수 확인$GANT_HOME/stargGroovy.bat
파일을 열어서 다음과 같은 줄을 찾아서 groovy-all-x.y.z.jar
의 버전을 자신의 $GROOVY_HOME
에 있는 버전으로 정확히 맞춰준다.set STARTER_CLASSPATH=%GROOVY_HOME%\embeddable\groovy-all-2.0.0.jar;%STARTER_CLASSPATH%
chmod -R og+r *
” 해야할 필요가 있을 수도 있다.ANT_HOME
을 설정해 둔다.Groovy는 기본적으로 Ant와 JUnit을 내장하고 있다. 따라서 Gant는 어떠한 추가 없이 Ant와 JUnit 태스크를 실행할 수 있다. 기타 직접 태스크 라이브러리를 추가하고자 할 때는 다음과 같이 클래스패스를 지정한다.
–classpath <path>
혹은 -P <path>
로 다른 Ant 태스크 jar 클래스패스 추가${user.home}/.ant/lib
에 있는 jar 자동 추가$ANT_HOME/lib
에 있는 jar 자동 추가$GANT_HOME/conf/gant-start.conf
에 따르면 다음 디렉토리들도 자동 클래스패스 추가 대상인듯${user.home}/.gant/lib
${user.home}/.ant/lib
${user.home}/.groovy/lib
${gant.home}/lib
gant -D name=value
로 Ant 프라퍼티를 지정하면 자동으로 ant.property
영역으로 들어가게 된다.${프라퍼티명}
이 있으면 자동으로 Ant 프라퍼티에서 값을 찾아서 치환한다. 이때, Groovy의 GString이 작동하지 않도록 홑따옴표를 사용해야 한다.// 프라퍼티 파일에서 읽어오기 ant.property(file: 'common-versions.properties') // 값넣기 ant.property(name: 'ivy.local.repository.dir', value: ivyLocalRepoDir) // 값 읽기 logkitVersion = ant.project.properties.'logkit.version' // ant task에 프라퍼티 전달 ant.echo(message: '${ivy.local.repository.dir})
환경 변수를 읽어오고 그것을, Ant 태스크에 넘길 때는 GString을 사용하지 말 것.
// 환경 변수의 값들을 'env' 프라퍼티로 읽어 올 수 있도록 지정한다. ant.property(environment:'env') ... ant.echo("${env.CATALINA_HOME}") // 에러 발생 -> ant.echo('${env.CATALINA_HOME}') // ant.echo 스스로가 ''${}''를 해석한다.
Classpath 등을 지정해서 레퍼런스를 넘기는 방법
ant.path(id : 'libClasspath') { // id가 'libClasspath'인 path 레퍼런스 생성 fileset(dir : libDir, includes : '*.jar') } // 어느 타겟에선가... ant.javac(srcdir : 'src', destdir : 'build', classpathref : 'libClasspath') // libClasspath 참조