2016-06-20 8 views
1

GMaven pluginの従来のMavenビルドをGMavenPlusに移行し、Groovyスクリプト内のローカルソースフォルダから外部Groovyクラスを呼び出す方法がわからないという問題が発生しています。 。ここでGMavenをGMavenPlusに移行するときのscriptPathの代わり

は、私の以前の設定です:<scripts><script><source>を変更

<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>ブロックは、ローカルのGroovyコードやスクリプトへのファイルパスを含むことができ、いずれも上記の使用パターンを実装するのに役立ちません。

誰でも洞察力を提供できますか?

+0

お手伝いをするために、私はあなたのユースケースを理解する必要があります。 scriptPath要素には何が必要ですか?プロジェクトクラスはすでにクラスパス上にあります。 – Keegan

+0

@Keeganそれはまさに私が望まないものです。私は瓶の一部にすることなく、ビルドプロセスでのみクラスを使用したい –

+0

"classpath"で私はそれがGMavenPlusのclasspathにあることを意味します。 Groovyスクリプトがプロジェクトクラスにアクセスできるようにするには、すぐに使えるはずです。scriptPathは必要ありません。 – Keegan

答えて

1

GMavenPlusのクラスパスに追加のGroovyソースを追加したいのは、GMavenPlusが呼び出されるライフサイクルのポイントでアクセスクラスがMavenプロジェクトの一部ではないからです(例えば、アクセスする必要のある統合テストクラスの生成テストソースフェーズ)。

あなたは正しいですが、これを実現するメカニズムはありません(このシナリオを単純に考慮していないためです)。しかし、私はそれを追加してうれしいです。私は#66を開いてこの機能を追加しました。

関連する問題