Skip to content

Commit 9268380

Browse files
authored
Merge pull request #168 from sabomichal/comprehensive_tests
feat: Comprehensive test suite
2 parents 06b2c2c + f89a953 commit 9268380

23 files changed

+1579
-2042
lines changed

.github/workflows/maven.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ jobs:
1616

1717
steps:
1818
- uses: actions/checkout@v2
19-
- name: Set up JDK 11
19+
- name: Set up JDK 17
2020
uses: actions/setup-java@v1
2121
with:
22-
java-version: 11
22+
java-version: 17
2323
- name: Build with Maven
2424
run: mvn -B package
2525

@@ -29,9 +29,9 @@ jobs:
2929

3030
steps:
3131
- uses: actions/checkout@v2
32-
- name: Set up JDK 11
32+
- name: Set up JDK 17
3333
uses: actions/setup-java@v1
3434
with:
35-
java-version: 11
35+
java-version: 17
3636
- name: Build with Maven
3737
run: mvn -B package -P selftest

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Note: Derived classes can be further made serializable using these xjc [customiz
1717
Current plugin version is JAXB 4.0 compatible. For JAXB 2.x please use previous major version of the plugin (1.7.x).
1818

1919
### Java version
20-
Current target Java versions is Java 11
20+
Current target Java versions is Java 17
2121

2222
### XJC options provided by the plugin
2323
The plugin provides an '-Ximm' option which is enabled by adding its jar file to the XJC classpath. When enabled, additional options can be used to control the behavior of the plugin. See the examples for further information.

pom.xml

Lines changed: 60 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<properties>
1010
<jaxb.version>4.0.5</jaxb.version>
11-
<java.version>11</java.version>
11+
<java.version>17</java.version>
1212

1313
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1414
<maven.compiler.release>${java.version}</maven.compiler.release>
@@ -253,14 +253,17 @@
253253
</dependencies>
254254
<executions>
255255
<execution>
256-
<id>test-model-basic</id>
256+
<id>test-basic</id>
257257
<phase>generate-test-sources</phase>
258258
<goals>
259259
<goal>generate</goal>
260260
</goals>
261261
<configuration>
262262
<specVersion>4.0.2</specVersion>
263263
<schemaDirectory>src/test/xsd</schemaDirectory>
264+
<schemaIncludes>
265+
<include>unified.xsd</include>
266+
</schemaIncludes>
264267
<generatePackage>${project.groupId}.immutablexjc.test.basic</generatePackage>
265268
<generateDirectory>target/generated-test-sources/xjc</generateDirectory>
266269
<addTestCompileSourceRoot>true</addTestCompileSourceRoot>
@@ -271,112 +274,145 @@
271274
</configuration>
272275
</execution>
273276
<execution>
274-
<id>test-model-noinherit</id>
277+
<id>test-builder</id>
275278
<phase>generate-test-sources</phase>
276279
<goals>
277280
<goal>generate</goal>
278281
</goals>
279282
<configuration>
280283
<specVersion>4.0.2</specVersion>
281284
<schemaDirectory>src/test/xsd</schemaDirectory>
282-
<generatePackage>${project.groupId}.immutablexjc.test.noinheritbuilder</generatePackage>
285+
<schemaIncludes>
286+
<include>unified.xsd</include>
287+
</schemaIncludes>
288+
<generatePackage>${project.groupId}.immutablexjc.test.builder</generatePackage>
283289
<generateDirectory>target/generated-test-sources/xjc</generateDirectory>
284290
<addTestCompileSourceRoot>true</addTestCompileSourceRoot>
285-
<forceRegenerate>true</forceRegenerate>
291+
<forceRegenerate>true</forceRegenerate>
286292
<args>
287293
<arg>-Ximm</arg>
288294
<arg>-Ximm-builder</arg>
295+
<arg>-Ximm-pubconstructormaxargs=2</arg>
289296
</args>
290297
</configuration>
291298
</execution>
292299
<execution>
293-
<id>test-model-nofinalclasses</id>
300+
<id>test-inheritbuilder</id>
294301
<phase>generate-test-sources</phase>
295302
<goals>
296303
<goal>generate</goal>
297304
</goals>
298305
<configuration>
299306
<specVersion>4.0.2</specVersion>
300307
<schemaDirectory>src/test/xsd</schemaDirectory>
301-
<generatePackage>${project.groupId}.immutablexjc.test.nofinalclasses</generatePackage>
308+
<schemaIncludes>
309+
<include>unified.xsd</include>
310+
</schemaIncludes>
311+
<generatePackage>${project.groupId}.immutablexjc.test.inheritbuilder</generatePackage>
302312
<generateDirectory>target/generated-test-sources/xjc</generateDirectory>
303313
<addTestCompileSourceRoot>true</addTestCompileSourceRoot>
304314
<forceRegenerate>true</forceRegenerate>
305315
<args>
306316
<arg>-Ximm</arg>
307-
<arg>-Ximm-nofinalclasses</arg>
317+
<arg>-Ximm-inheritbuilder</arg>
318+
<arg>-Ximm-cc</arg>
319+
<arg>-Ximm-simplebuildername</arg>
308320
</args>
309321
</configuration>
310322
</execution>
311323
<execution>
312-
<id>test-model-inherit</id>
324+
<id>test-nofinal</id>
313325
<phase>generate-test-sources</phase>
314326
<goals>
315327
<goal>generate</goal>
316328
</goals>
317329
<configuration>
318330
<specVersion>4.0.2</specVersion>
319331
<schemaDirectory>src/test/xsd</schemaDirectory>
320-
<generatePackage>${project.groupId}.immutablexjc.test.inheritbuilder</generatePackage>
332+
<schemaIncludes>
333+
<include>unified.xsd</include>
334+
</schemaIncludes>
335+
<generatePackage>${project.groupId}.immutablexjc.test.nofinal</generatePackage>
321336
<generateDirectory>target/generated-test-sources/xjc</generateDirectory>
322337
<addTestCompileSourceRoot>true</addTestCompileSourceRoot>
323338
<forceRegenerate>true</forceRegenerate>
324339
<args>
325340
<arg>-Ximm</arg>
326-
<arg>-Ximm-inheritbuilder</arg>
327-
<arg>-Ximm-cc</arg>
328-
<arg>-Ximm-simplebuildername</arg>
341+
<arg>-Ximm-nofinalclasses</arg>
329342
</args>
330343
</configuration>
331344
</execution>
332345
<execution>
333-
<id>test-model-misc</id>
346+
<id>test-optional</id>
334347
<phase>generate-test-sources</phase>
335348
<goals>
336349
<goal>generate</goal>
337350
</goals>
338351
<configuration>
339352
<specVersion>4.0.2</specVersion>
340353
<schemaDirectory>src/test/xsd</schemaDirectory>
341-
<generatePackage>${project.groupId}.immutablexjc.test.misc</generatePackage>
354+
<schemaIncludes>
355+
<include>unified.xsd</include>
356+
</schemaIncludes>
357+
<generatePackage>${project.groupId}.immutablexjc.test.optional</generatePackage>
342358
<generateDirectory>target/generated-test-sources/xjc</generateDirectory>
343359
<addTestCompileSourceRoot>true</addTestCompileSourceRoot>
344360
<forceRegenerate>true</forceRegenerate>
345361
<args>
346362
<arg>-Ximm</arg>
347363
<arg>-Ximm-builder</arg>
348364
<arg>-Ximm-cc</arg>
349-
<arg>-Ximm-ifnotnull</arg>
350-
<arg>-Ximm-nopubconstructor</arg>
351-
<arg>-Ximm-pubconstructormaxargs=2</arg>
352-
<arg>-Ximm-skipcollections</arg>
353-
<arg>-Ximm-constructordefaults</arg>
365+
<arg>-Ximm-optionalgetter</arg>
354366
</args>
355367
</configuration>
356368
</execution>
357369
<execution>
358-
<id>test-model-optionalgetter</id>
370+
<id>test-allflags</id>
359371
<phase>generate-test-sources</phase>
360372
<goals>
361373
<goal>generate</goal>
362374
</goals>
363375
<configuration>
364376
<specVersion>4.0.2</specVersion>
365377
<schemaDirectory>src/test/xsd</schemaDirectory>
366-
<generatePackage>${project.groupId}.immutablexjc.test.optionalgetter</generatePackage>
378+
<schemaIncludes>
379+
<include>unified.xsd</include>
380+
</schemaIncludes>
381+
<generatePackage>${project.groupId}.immutablexjc.test.allflags</generatePackage>
367382
<generateDirectory>target/generated-test-sources/xjc</generateDirectory>
368383
<addTestCompileSourceRoot>true</addTestCompileSourceRoot>
369384
<forceRegenerate>true</forceRegenerate>
370385
<args>
371386
<arg>-Ximm</arg>
372387
<arg>-Ximm-builder</arg>
373388
<arg>-Ximm-cc</arg>
374-
<arg>-Ximm-optionalgetter</arg>
389+
<arg>-Ximm-ifnotnull</arg>
390+
<arg>-Ximm-nopubconstructor</arg>
391+
<arg>-Ximm-skipcollections</arg>
392+
<arg>-Ximm-constructordefaults</arg>
375393
</args>
376394
</configuration>
377395
</execution>
378396
</executions>
379397
</plugin>
398+
<plugin>
399+
<groupId>org.codehaus.mojo</groupId>
400+
<artifactId>build-helper-maven-plugin</artifactId>
401+
<executions>
402+
<execution>
403+
<id>add-wsdl-test-sources</id>
404+
<phase>generate-test-sources</phase>
405+
<goals>
406+
<goal>add-test-source</goal>
407+
</goals>
408+
<configuration>
409+
<sources>
410+
<source>${project.build.directory}/generated-test-sources/wsdl</source>
411+
</sources>
412+
</configuration>
413+
</execution>
414+
</executions>
415+
</plugin>
380416
<plugin>
381417
<groupId>org.apache.cxf</groupId>
382418
<artifactId>cxf-codegen-plugin</artifactId>
@@ -399,15 +435,7 @@
399435
<sourceRoot>${project.build.directory}/generated-test-sources/wsdl</sourceRoot>
400436
<wsdlOptions>
401437
<wsdlOption>
402-
<wsdl>${basedir}/src/test/wsdl/basic.wsdl</wsdl>
403-
<extraargs>
404-
<extraarg>-xjc-Ximm</extraarg>
405-
<extraarg>-xjc-Ximm-builder</extraarg>
406-
<extraarg>-xjc-Ximm-cc</extraarg>
407-
</extraargs>
408-
</wsdlOption>
409-
<wsdlOption>
410-
<wsdl>${basedir}/src/test/wsdl/complex.wsdl</wsdl>
438+
<wsdl>${basedir}/src/test/wsdl/service.wsdl</wsdl>
411439
<extraargs>
412440
<extraarg>-xjc-Ximm</extraarg>
413441
<extraarg>-xjc-Ximm-builder</extraarg>

0 commit comments

Comments
 (0)