Skip to content

Commit ada128c

Browse files
authored
Merge pull request #412 from fugerit-org/411-chore-fj-doc-maven-plugin-verify-plugin-should-be-added-to-direct-plugin-template-path
[fj-doc-maven-plugin] verify plugin should be added for direct plugi…
2 parents 9638867 + 4a655b6 commit ada128c

File tree

4 files changed

+63
-13
lines changed

4 files changed

+63
-13
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Changed
11+
12+
- [fj-doc-maven-plugin] verify plugin should be for direct plugin template path <https://github.com/fugerit-org/fj-doc/pull/411>
13+
1014
## [8.13.6] - 2025-04-26
1115

1216
### Added

fj-doc-maven-plugin/src/main/java/org/fugerit/java/doc/project/facade/BasicVenusFacade.java

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ protected static void addExtensionList( File pomFile, VenusContext context ) thr
148148
addJunit5( model, context );
149149
// addLombok parameter
150150
addLombok( model, context );
151-
addDirectPlugin( context, model );
152151
addVerifyPlugin( context, model );
152+
addDirectPlugin( context, model );
153153
log.info( "end dependencies size : {}", model.getDependencies().size() );
154154
try (OutputStream pomStream = new FileOutputStream( pomFile ) ) {
155155
modelIO.writeModelToStream( model, pomStream );
@@ -228,14 +228,19 @@ private static void addDirectPlugin(VenusContext context, Model model ) throws I
228228
if (context.isDirectPluginNotAvailable()) {
229229
log.warn("addDirectPlugin skipped, version {} has been selected, minimum required version is : {}", context.getVersion(), VenusContext.VERSION_NA_DIRECT_PLUGIN);
230230
} else {
231+
if ( context.isAddVerifyPlugin() ) {
232+
addVerifyPluginExecution( model, "freemarker-verify-direct",
233+
"src/main/resources/"+context.getVenusDirectConfig()+"/template",
234+
"freemarker-syntax-verify-direct-report");
235+
}
231236
FeatureFacade.copyFeatureList( context.getProjectDir(), "direct" );
232237
log.info("addDirectPlugin true, version {} has been selected, minimum required version is : {}", context.getVersion(), VenusContext.VERSION_NA_DIRECT_PLUGIN);
233238
Plugin plugin = PluginUtils.findOrCreatePLugin( model );
234239
PluginExecution execution = PluginUtils.createPluginExecution(
235240
"venus-direct", LifecyclePhase.COMPILE.id(), PluginUtils.GOAL_DIRECT );
236241
plugin.getExecutions().add( execution );
237242
String xml = "<configuration>\n" +
238-
" <configPath>${project.basedir}/src/main/resources/venus-direct-config/venus-direct-config.yaml</configPath>\n" +
243+
" <configPath>${project.basedir}/src/main/resources/"+context.getVenusDirectConfig()+"/venus-direct-config.yaml</configPath>\n" +
239244
" <outputAll>true</outputAll>\n" +
240245
" <directEnv>\n" +
241246
" <projectBasedir>${project.basedir}</projectBasedir>\n" +
@@ -248,24 +253,31 @@ private static void addDirectPlugin(VenusContext context, Model model ) throws I
248253
}
249254
}
250255

256+
private static void addVerifyPluginExecution( Model model, String id, String templateBaseDir, String reportOutputFolder ) throws IOException {
257+
log.info( "addVerifyPluginExecution id:{}, templateBaseDir:{}", id, templateBaseDir );
258+
Plugin plugin = PluginUtils.findOrCreatePLugin( model );
259+
PluginExecution execution = PluginUtils.createPluginExecution(
260+
id, LifecyclePhase.COMPILE.id(), LifecyclePhase.VERIFY.id() );
261+
plugin.getExecutions().add( execution );
262+
String xml = "<configuration>\n" +
263+
" <templateBasePath>${project.basedir}/"+templateBaseDir+"</templateBasePath>\n" +
264+
" <generateReport>true</generateReport>\n" +
265+
" <failOnErrors>true</failOnErrors>\n" +
266+
" <reportOutputFolder>${project.build.directory}/"+reportOutputFolder+"</reportOutputFolder>\n" +
267+
" </configuration>";
268+
execution.setConfiguration( PluginUtils.getPluginConfiguration( xml ) );
269+
}
270+
251271
private static void addVerifyPlugin(VenusContext context, Model model ) throws IOException {
252272
// addVerifyPlugin?
253273
if ( context.isAddVerifyPlugin() ) {
254274
if ( context.isVerifyPluginNotAvailable() ) {
255275
log.warn( "addVerifyPlugin skipped, version {} has been selected, minimum required version is : {}", context.getVersion(), VenusContext.VERSION_NA_VERIFY_PLUGIN );
256276
} else {
257277
log.info( "addVerifyPlugin true, version {} has been selected, minimum required version is : {}", context.getVersion(), VenusContext.VERSION_NA_VERIFY_PLUGIN );
258-
Plugin plugin = PluginUtils.findOrCreatePLugin( model );
259-
PluginExecution execution = PluginUtils.createPluginExecution(
260-
"freemarker-verify", LifecyclePhase.COMPILE.id(), LifecyclePhase.VERIFY.id() );
261-
plugin.getExecutions().add( execution );
262-
String xml = "<configuration>\n" +
263-
" <templateBasePath>${project.basedir}/src/main/resources/"+context.getArtificatIdForFolder()+"/template</templateBasePath>\n" +
264-
" <generateReport>true</generateReport>\n" +
265-
" <failOnErrors>true</failOnErrors>\n" +
266-
" <reportOutputFolder>${project.build.directory}/freemarker-syntax-verify-report</reportOutputFolder>\n" +
267-
" </configuration>";
268-
execution.setConfiguration( PluginUtils.getPluginConfiguration( xml ) );
278+
addVerifyPluginExecution( model, "freemarker-verify",
279+
"src/main/resources/"+context.getArtificatIdForFolder()+"/template",
280+
"freemarker-syntax-verify-report" );
269281
}
270282
} else {
271283
log.info( "addVerifyPlugin : false" );

fj-doc-maven-plugin/src/main/java/org/fugerit/java/doc/project/facade/VenusContext.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ public static String toResourcePathFmConfigXml( String artifactId ) {
4141

4242
public static final String VERSION_NA_FREEMARKER_NATIVE = "8.11.8";
4343

44+
private static final String VENUS_DIRECT_CONFIG_DEFAULT = "venus-direct-config";
45+
4446
@Getter
4547
private File projectDir;
4648

@@ -192,4 +194,8 @@ public File getTestResourcesFolder() {
192194
return this.getAndCreateFolder( new File( this.getProjectDir(), "src/test/resources" ) );
193195
}
194196

197+
public String getVenusDirectConfig() {
198+
return VENUS_DIRECT_CONFIG_DEFAULT;
199+
}
200+
195201
}

fj-doc-maven-plugin/src/test/java/test/org/fugerit/java/doc/project/facade/TestInit.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,34 @@ public void execute() throws MojoExecutionException, MojoFailureException {
6161
};
6262
}
6363

64+
@Test
65+
void createDirectInitNoVerify() throws MojoExecutionException, MojoFailureException {
66+
File projectDir = initConfigWorker( FlavourFacade.FLAVOUR_DIRECT+"-no-verify" );
67+
String currentFlavour = FlavourFacade.FLAVOUR_DIRECT;
68+
MojoInit mojoInit = new MojoInit() {
69+
@Override
70+
public void execute() throws MojoExecutionException, MojoFailureException {
71+
this.baseInitFolder = projectDir.getAbsolutePath();
72+
this.projectVersion = "1.0.0-SNAPSHOT";
73+
this.groupId = "org.fugerit.java.test.gradle";
74+
this.artifactId = "fugerit-test-"+currentFlavour+"-no-verify";
75+
this.javaRelease = "21";
76+
this.version = DIRECT_PLUGIN_AVAILABLE;
77+
this.extensions = "fj-doc-base,fj-doc-base-json,fj-doc-base-yaml,fj-doc-base-kotlin,fj-doc-freemarker,fj-doc-mod-fop,fj-doc-mod-poi,fj-doc-mod-opencsv";
78+
this.addDocFacade = true;
79+
this.force = true;
80+
this.excludeXmlApis = true;
81+
this.addVerifyPlugin = false;
82+
this.addJunit5 = true;
83+
this.addLombok = true;
84+
this.flavour = currentFlavour;
85+
super.execute();
86+
}
87+
};
88+
mojoInit.execute();
89+
Assertions.assertTrue( projectDir.exists() );
90+
}
91+
6492
@Test
6593
void testMojoQuarkus3GradleGroovyAndKts() throws MojoExecutionException, MojoFailureException {
6694
for ( String currentFlavour : Arrays.asList( FlavourFacade.FLAVOUR_QUARKUS_3_GRADLE, FlavourFacade.FLAVOUR_QUARKUS_3_GRADLE_KTS ) ) {

0 commit comments

Comments
 (0)