Skip to content

Commit 00503d9

Browse files
committed
added flags to addToSourceFolders and addToTestSourceFolders
1 parent cb3f17d commit 00503d9

File tree

3 files changed

+56
-10
lines changed

3 files changed

+56
-10
lines changed

jbbp-plugins/jbbp-maven/jbbp-maven-plugin/src/main/java/com/igormaznitsa/jbbp/plugin/mvn/JBBPGenerateMojo.java

Lines changed: 51 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,38 @@ public class JBBPGenerateMojo extends AbstractJBBPMojo {
146146
@Parameter(alias = "doAbstract")
147147
private boolean doAbstract;
148148

149+
/**
150+
* Add generated output folder to list of source folders.
151+
*
152+
* @since 1.4.0
153+
*/
154+
@Parameter(alias = "addToSourceFolders")
155+
private boolean addToSourceFolders;
156+
157+
/**
158+
* Add generated output folder to list of test source folders.
159+
*
160+
* @since 1.4.0
161+
*/
162+
@Parameter(alias = "addToTestSourceFolders")
163+
private boolean addToTestSourceFolders;
164+
165+
public boolean isAddToSourceFolders() {
166+
return this.addToSourceFolders;
167+
}
168+
169+
public void setAddToSourceFolders(final boolean value) {
170+
this.addToSourceFolders = value;
171+
}
172+
173+
public boolean isAddToTestSourceFolders() {
174+
return this.addToTestSourceFolders;
175+
}
176+
177+
public void setAddToTestSourceFolders(final boolean value) {
178+
this.addToTestSourceFolders = value;
179+
}
180+
149181
@Nullable
150182
public String getSuperClass() {
151183
return this.superClass;
@@ -155,7 +187,7 @@ public void setDoAbstract(final boolean value) {
155187
this.doAbstract = value;
156188
}
157189

158-
public boolean getDoAbstract() {
190+
public boolean isDoAbstract() {
159191
return this.doAbstract;
160192
}
161193

@@ -338,14 +370,14 @@ public JBBPAbstractField readCustomFieldType(@Nonnull final JBBPBitInputStream i
338370
.setEncodingIn(inEncoding)
339371
.setEncodingOut(outEncoding)
340372
.setCustomFieldTypeProcessor(customFieldProcessor)
341-
.setSuperClass(this.superClass)
342-
.setClassImplements(this.interfaces)
343-
.setSubClassInterfaces(this.mapStructToInterfaces)
344-
.setDoInternalClassesNonStatic(this.doInnerClassesNonStatic)
345-
.setSubClassSuperclasses(this.mapStructToSuperclasses)
346-
.setAddGettersSetters(this.addGettersSetters)
347-
.setDoAbstract(this.doAbstract)
348-
.setDisableGenerateFields(this.disableGenerateFields);
373+
.setSuperClass(this.getSuperClass())
374+
.setClassImplements(this.getInterfaces())
375+
.setSubClassInterfaces(this.getMapStructToInterfaces())
376+
.setDoInternalClassesNonStatic(this.isDoInnerClassesNonStatic())
377+
.setSubClassSuperclasses(this.getMapStructToSuperclasses())
378+
.setAddGettersSetters(this.getAddGettersSetters())
379+
.setDoAbstract(this.isDoAbstract())
380+
.setDisableGenerateFields(this.isDisableGenerateFields());
349381

350382
for (final File aScript : foundJBBPScripts) {
351383
parameters.setScriptFile(aScript).assertAllOk();
@@ -360,6 +392,16 @@ public JBBPAbstractField readCustomFieldType(@Nonnull final JBBPBitInputStream i
360392
throw new MojoExecutionException("Error during JBBP script translation : " + aScript.getAbsolutePath(), ex);
361393
}
362394
}
395+
396+
if (this.isAddToSourceFolders()) {
397+
getLog().info("Add folder to compile source root: "+ this.getOutput().getAbsolutePath());
398+
this.project.addCompileSourceRoot(this.getOutput().getAbsolutePath());
399+
}
400+
401+
if (this.isAddToTestSourceFolders()) {
402+
getLog().info("Add folder to test compile source root: "+ this.getOutput().getAbsolutePath());
403+
this.project.addTestCompileSourceRoot(this.getOutput().getAbsolutePath());
404+
}
363405
}
364406

365407
registerSourceRoot(this.output);

jbbp-plugins/jbbp-maven/jbbp-maven-plugin/src/test/java/com/igormaznitsa/jbbp/plugin/mvn/JBBPGenerateMojoTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ public void testConfig() throws Exception {
8282
assertEquals("com.igormaznitsa.Super", mojo.getSuperClass());
8383
assertEquals("SOME_TARGET", mojo.getTarget());
8484
assertTrue(mojo.isDisableGenerateFields());
85-
assertTrue(mojo.getDoAbstract());
85+
assertTrue(mojo.isDoAbstract());
86+
assertTrue(mojo.isAddToSourceFolders());
87+
assertTrue(mojo.isAddToTestSourceFolders());
8688
assertTrue(mojo.getAddGettersSetters());
8789
assertArrayEquals(new String[] {"abc", "def"}, set2array(mojo.getCustomTypes()));
8890
assertArrayEquals(new String[] {"com.igormaznitsa.InterfaceA", "com.igormaznitsa.InterfaceB"}, set2array(mojo.getInterfaces()));

jbbp-plugins/jbbp-maven/jbbp-maven-plugin/src/test/resources/com/igormaznitsa/jbbp/plugin/mvn/mojoConfig.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
</mapStructToSuperclasses>
4747
<doInnerClassesNonStatic>true</doInnerClassesNonStatic>
4848
<disableGenerateFields>true</disableGenerateFields>
49+
<addToSourceFolders>true</addToSourceFolders>
50+
<addToTestSourceFolders>true</addToTestSourceFolders>
4951
<customTypes>
5052
<type>abc</type>
5153
<type>def</type>

0 commit comments

Comments
 (0)