2017-12-26 31 views
1

이것은 다음과 같이 pom.xml에서 실행되는 그루비 스크립트 파일 MavenInit.groovy입니다. var 'SCRIPTS_GROOVY'이 (가) 다른 pom.xml에 정의되어 있는데, 무엇이 나를 혼란스럽게합니까? 은 "DIR_TARGET"정의는, 어떻게 ant = new AntBuilder()그루비에서 개미를 사용하는 방법

SCRIPTS_GROOVY=project.properties['SCRIPTS_GROOVY'] 
ant.pathconvert(targetos:"unix", property:"DIR_TARGET") { 
    path(location:project.build.directory) 
} 
DIR_TARGET=ant.project.properties['DIR_TARGET'] 
project.properties.setProperty('DIR_TARGET', "${DIR_TARGET}") 
project.properties.setProperty('DIR_LOGS', "${DIR_TARGET}/logs") 
ant.mkdir(dir:"${DIR_TARGET}/logs") 

없이 직접 개미 사용할 수있는 pom.xml 파일은 내가 정의 된 'DIR_TARGET'초기 찾을 수있는 방법을

<plugin> 
    <groupId>org.codehaus.gmavenplus</groupId> 
    <artifactId>gmavenplus-plugin</artifactId> 
    <executions> 
     <execution> 
     <id>set-maven-property</id> 
     <phase>initialize</phase> 
     <goals> 
      <goal>execute</goal> 
     </goals> 
     <configuration> 
      <scripts> 
      <script>file:///${SCRIPTS_GROOVY}/MavenInit.groovy</script> 
      </scripts> 
     </configuration> 
     </execution> 
     <execution> 
     <id>Windows-package</id> 
     <phase>compile</phase> 
     <goals> 
      <goal>execute</goal> 
     </goals> 
     <configuration> 
      <scripts> 
      <script>file:///${SCRIPTS_GROOVY}/PackageWindows.groovy</script> 
      </scripts> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 

에 따라 같은 MavenInit.groovy을 excute에 값을 변경하십시오.

답변

0

GMavenplus는 스크립트에 플러그인 set an ant property

if (!properties.containsKey("ant")) { 
      try { 
       Object antBuilder = invokeConstructor(findConstructor(classWrangler.getClass("groovy.util.AntBuilder"))); 
       properties.put("ant", antBuilder); 
      } 

또한 다른 속성이있다 등


는 약 DIR_TARGET, I는 그 경로 분리 정규화를 함께 project.build.directory 값 생각 project, log처럼 유닉스처럼, path(location: project.build.directory)에서.

(내가 개미 전문가가 아니지만, 내 컴퓨터에서 테스트하고이 두 값이 동일한. 그냥 로그 라인을 추가하는 것은 내가 개미 문서를 검색

log.info(project.build.directory) 
DIR_TARGET = ant.project.properties['DIR_TARGET'] 
log.info(DIR_TARGET) 

보고 찾아 내 생각을 확인 https://ant.apache.org/manual/Tasks/pathconvert.html에서 예.

<pathconvert property="prop" dirsep="|"> 
     <map from="${basedir}/abc/" to=''/> 
     <path location="abc/def/ghi"/> 
    </pathconvert> 
+0

정말 고마워요, 당신은 $ {DIR_TARGET가}? 나는 지역 글로벌 검색을 사용하여 정의 결정된 초기 수있는 위치 생각하시기 바랍니다 수 있지만, N 수 ot는 $ {DIR_TARGET}이 (가) –

+0

@ TJSeason으로 정의 된 곳을 찾았습니다. 내 대답을 업데이트했습니다. – aristotll