Skip to content

Commit f06e733

Browse files
committed
Adapt changes for OpenAPI generator 7.4+
* Use XDEVs more advanced ``find-and-replace-maven-plugin`` * Remove Generated Annotation * OpenAPI generator 7.4+: Now includes the OpenAPI generator version which constantly changes and will cause git diffs which breaks the build (uncool) * Remove serialVersionUID * Java serialization is evil * If you use Java serialization for a REST API you should reconsider your life choices
1 parent d7f706b commit f06e733

File tree

1 file changed

+40
-6
lines changed
  • openapi-client-maven-template

1 file changed

+40
-6
lines changed

openapi-client-maven-template/pom.xml

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -395,25 +395,59 @@
395395
</executions>
396396
</plugin>
397397
<plugin>
398-
<groupId>io.github.floverfelt</groupId>
398+
<groupId>software.xdev</groupId>
399399
<artifactId>find-and-replace-maven-plugin</artifactId>
400-
<version>1.1.0</version>
400+
<version>1.0.0</version>
401401
<executions>
402402
<execution>
403+
<!-- Remove so that we don't need additional dependency -->
403404
<id>remove-unused-import-com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider</id>
404405
<phase>process-sources</phase>
405406
<goals>
406-
<goal>find-and-replace</goal>
407+
<goal>file-contents</goal>
407408
</goals>
408409
<configuration>
409410
<replacementType>file-contents</replacementType>
410411
<baseDir>${generatedDirRelative}/software/xdev/${componentName}/client/</baseDir>
411412
<fileMask>ApiClient.java</fileMask>
412413
<!-- @formatter:off DO NOT INTRODUCE LINE BREAK -->
413-
<findRegex>^(import com\.fasterxml\.jackson\.jaxrs\.json\.JacksonJsonProvider;)$</findRegex>
414-
<!-- Can't be removed as the plugin isn't supporting empty values -->
415-
<replaceValue>// $1</replaceValue>
414+
<findRegex>^import com\.fasterxml\.jackson\.jaxrs\.json\.JacksonJsonProvider;(\r?\n)</findRegex>
416415
<!-- @formatter:on -->
416+
<replaceLineBased>false</replaceLineBased>
417+
</configuration>
418+
</execution>
419+
<execution>
420+
<!-- Changes with each generator version -->
421+
<id>remove-generated-annotation</id>
422+
<phase>process-sources</phase>
423+
<goals>
424+
<goal>file-contents</goal>
425+
</goals>
426+
<configuration>
427+
<replacementType>file-contents</replacementType>
428+
<baseDir>${generatedDirRelative}/software/xdev/${componentName}/</baseDir>
429+
<recursive>true</recursive>
430+
<fileMask>.java</fileMask>
431+
<findRegex>^@jakarta\.annotation\.Generated.*(\r?\n)</findRegex>
432+
<replaceAll>false</replaceAll>
433+
<replaceLineBased>false</replaceLineBased>
434+
</configuration>
435+
</execution>
436+
<execution>
437+
<!-- Requiring Java serialization indicates a serious misuse of the API -->
438+
<id>remove-serialVersionUID</id>
439+
<phase>process-sources</phase>
440+
<goals>
441+
<goal>file-contents</goal>
442+
</goals>
443+
<configuration>
444+
<replacementType>file-contents</replacementType>
445+
<baseDir>${generatedDirRelative}/software/xdev/${componentName}/</baseDir>
446+
<recursive>true</recursive>
447+
<fileMask>.java</fileMask>
448+
<findRegex>^.*serialVersionUID.*(\r?\n)(\s*\r?\n)?</findRegex>
449+
<replaceAll>false</replaceAll>
450+
<replaceLineBased>false</replaceLineBased>
417451
</configuration>
418452
</execution>
419453
</executions>

0 commit comments

Comments
 (0)