我正在尝试为我的项目FlexFX创建一些archetypes
,我想与主项目本身一样构建和发布它们。我面临的问题是如何正确构建POM,以便生成的原型被签名和发布,而不是创建它们的'模板项目'。
这是我作为顶级Maven项目添加的新archetypes
模块的模块结构:
archetypes (POM.xml)
|
+ multi-module (POM.xml)
|
+ parent
|
+ integration-test
|
+ target
|
+ generated-sources
|
+ archetype (POM)
|
+ target
|
+ multi-module-archetype-1.1.0-SNAPSHOT.jar
模块multi-module
是我想要创建原型的模板,所以如果我要执行:
mvn archetype:create-from-project
我最终会在上面描述的目录结构下找到multi-module-archetype-1.1.0-SNAPSHOT.jar
。但是,maven-gpg-plugin
模块仅签署multi-module
POM.xml并向下导航到archetype
文件夹并签署该原型JAR。
这是<build>
POM的multi-module
部分:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>${maven.archetype.plugin.version}</version>
<executions>
<execution>
<id>archetype-generation</id>
<phase>compile</phase>
<goals>
<goal>create-from-project</goal>
</goals>
</execution>
</executions>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<configuration>
<skip>false</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
</plugin>
</plugins>
</build>
我还假设如果我尝试发布生成的原型,即发布到Maven Central,虽然我还没有证实这一点,但它不会发生。我认为它需要签名?
总结我要解决的问题: