2016-06-20 8 views
1

GMaven plugin을 사용하여 기존 Maven 빌드를 마이그레이션하고 GMavenPlus으로 마이그레이션하고 내 Groovy 스크립트 내 로컬 소스 폴더에서 외부 Groovy 클래스를 호출하는 방법을 모르겠다는 문제가 발생합니다 . ,GMaven을 GMavenPlus로 마이그레이션 할 때 scriptPath로 대체

<execution> 
    <id>process-static-content</id> 
    <goals> 
     <goal>execute</goal> 
    </goals> 
    <phase>process-resources</phase> 
    <configuration> 

     <scriptpath> 
      <element>${pom.basedir}/src/main/some-local-path</element> 
     </scriptpath> 
     <source> 
      // call class from scriptpath that needs access 
      // to Maven internals 
      new SomeClassFromTheAboveFolder(project, log).run(); 
     </source> 
    </configuration> 
</execution> 

하지만, 지금까지 내가 말할 수있는 같은 <script> 블록은 하나가 스크립트에 지역 그루비 코드 나 파일 경로를 명확 포함 할 수있는 <source><scripts><script>에 변경 :

여기 내 이전 설치의 하지만 둘 다 위의 사용 패턴을 구현하는 데 도움이되지 않습니다.

누구나 통찰력을 제공 할 수 있습니까?

+0

도움을 받으려면 사용 사례를 이해해야합니다. scriptPath 요소는 무엇이 필요합니까? 프로젝트 클래스는 이미 클래스 경로에 있습니다. – Keegan

+0

@Keegan 정확히 내가 원하지 않는 것입니다. 나는 빌드 과정에서 클래스들을 단지의 일부로 만들지 않고 사용하고 싶습니다. –

+0

"classpath에서"이것은 GMavenPlus의 classpath에 있음을 의미합니다. Groovy 스크립트가 프로젝트 클래스에 액세스 할 수 있도록하려면 스크립트 경로가 필요하지 않고 즉시 사용할 수 있어야합니다. – Keegan

답변

1

GMavenPlus의 클래스 패스에 추가 Groovy 소스를 추가하고 싶습니다. 액세스 클래스는 GMavenPlus가 호출되는 라이프 사이클 시점에서 Maven 프로젝트의 일부가 아니기 때문에 (예 : 액세스해야하는 통합 테스트 클래스 생성 테스트 소스 단계 중).

맞습니다. 현재이 시나리오를 고려하지 않았기 때문에 현재이 작업을 수행 할 수있는 메커니즘이 없습니다. 그러나 나는 그것을 추가하게 행복하다. 이 기능을 추가하려면 #66을 열었습니다.