我找到了这个关于如何使用 Groovy scriptlet 附加 Maven 端工件的示例。我已经看到MavenSession.lookup已被弃用,我应该使用依赖注入。让我们假设有以下 POM.xml 部分:
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>attach-config-artifacts</id>
<phase>package</phase>
<goals><goal>execute</goal></goals>
<configuration>
<source>
def helper = session.lookup("org.apache.maven.project.MavenProjectHelper")
new File('${basedir}').eachFileMatch( ~/.[^\.]*.cfg$/ ) { configFile ->
println configFile + " attached as artifact."
helper.attachArtifact( project, "cfg", configFile.name, configFile )
}
</source>
</configuration>
</execution>
</executions>
</plugin>
如何将 MavenProjetHelper 注入到我的 scriptlet 中?可能吗?我不想创建 Mojo 或 Groovy Mojo,我想让它内联在 POM 中。
更新: 如果不清楚:上面的示例完美运行,但使用了已弃用的 API (MavenSession.lookup)。问题仅在于是否可以将任何内容注入 gmaven scriptlet。