ググっていてProfileで切り替えるのが一般的と言う事で、受け渡すOption部を可変に下記の様に組んでみたのです(ご覧の様にそれぞれでOptionの指定有無に差異がある)が、可能でしょうか?
コマンドは
mvn package -P build_doc(or build_war)
のイメージです。
<build>
<plugins>
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>6.2.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
←ここにProfilesの<configuration>をそれぞれ差し替えてBuildしたい
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>build_doc</id>
<configuration>
<inputSpec>${openapi.inputSpec}</inputSpec>
<generatorName>markdown</generatorName>
<output>target/html</output>
</configuration>
</profile>
<profile>
<id>build_war</id>
<configuration>
<inputSpec>${openapi.inputSpec}</inputSpec>
<generatorName>spring</generatorName>
<library>spring-cloud</library>
<generateApiTests>false</generateApiTests>
<generateModelTests>false</generateModelTests>
<generateApiTests>false</generateApiTests>
<configOptions>
<sourceFolder>src/gen/java/main</sourceFolder>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<invokerPackage>${project.groupId}.${project.artifactId}.${openapi.invokerPackage}</invokerPackage>
<apiPackage>${project.groupId}.${project.artifactId}.${openapi.apiPckage}</apiPackage>
<modelPackage>${project.groupId}.${project.artifactId}.${openapi.modelPackage}</modelPackage>
<dateLibrary>java8</dateLibrary>
<java8>true</java8>
<interfaceOnly>true</interfaceOnly>
<useSwaggerUI>false</useSwaggerUI>
<serializableModel>true</serializableModel>
<useBeanValidation>true</useBeanValidation>
<performBeanValidation>true</performBeanValidation>
</configOptions>
</configuration>
</profile>
<profiles>
前提
こんにちは。
初歩的な質問かもしれませんがMavenのカスタムコマンドを指定したいです。
あるライブラリを使い、両方ともgenerate(BuildOption,goal?)を使っている為、
別々のMavenコマンドで呼べるようにしたいです。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
- mvn archetype:generate-docのコマンド実行でDoc生成
- mvn archetype:generate-warのコマンド実行でWAR生成
発生している問題・エラーメッセージ
カスタムコマンド化の実装方式が不明
該当のソースコード
pom.xml
1<build> 2 <plugins> 3 <plugin> 4 <groupId>org.openapitools</groupId> 5 <artifactId>openapi-generator-maven-plugin</artifactId> 6 <version>6.2.0</version> 7 <executions> 8 <execution> 9 <id>generate-doc</id> 10 <phase>generate</phase> 11 <goals> 12 <goal>generate-doc</goal> 13 </goals> 14 ....options 15 </execution> 16 <execution> 17 <id>generate-war</id> 18 <phase>generate</phase> 19 <goals> 20 <goal>generate-war</goal> 21 </goals>
上記の様に実現させようと思っていますが、根本的に考えが間違っている等指摘頂ければ幸いです。
宜しくお願いします。
あなたの回答
tips
プレビュー