wwerner/jaxb-lombok-plugin


JAXB / XJC Plugin to add Lombok annotations in classes generated from an XML Schema

Download


Step 1. Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}
	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.wwerner:jaxb-lombok-plugin:0.0.1'
	}
	<dependency>
	    <groupId>com.github.wwerner</groupId>
	    <artifactId>jaxb-lombok-plugin</artifactId>
	    <version>0.0.1</version>
	</dependency>

                            
    libraryDependencies += "com.github.wwerner" % "jaxb-lombok-plugin" % "0.0.1"
        
        

                            
    :dependencies [[com.github.wwerner/jaxb-lombok-plugin "0.0.1"]]
        
        

Readme


JAXB / XJC Plugin to add Lombok annotations in classes generated from an XML Schema. Annotations supported:

  • @Data
  • @EqualsAndHashCode
  • @ToString
  • @AllArgsConstructor
  • @NoArgsConstructor
  • @Builder
  • @Setter

Usage on the Command Line

XJC Plugin options:

  • -Xlombok - enable the plugin
  • -Xlombok:Setter - add @Setter annotation
  • -Xlombok:removeGeneratedSourceSetters - remove Setter methods from source (useful if you add @Setter annotation)
  • -Xlombok:EqualsAndHashCode - add @EqualsAndHashCode annotation
  • -Xlombok:ToString - add @ToString annotation
  • -Xlombok:AllArgsConstructor - add @AllArgsConstructor annotation
  • -Xlombok:NoArgsConstructor - add @NoArgsConstructor annotation
  • -Xlombok:Builder - add @Builder annotation
  • -Xlombok:Data - add @Data annotation

Usage with Maven

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxb2-maven-plugin</artifactId>
                <version>2.2</version>
                <dependencies>
                    <dependency>
                        <groupId>it.yobibit</groupId>
                        <artifactId>jaxb-lombok-plugin</artifactId>
                        <version>1.0.0</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>xjc</id>
                        <goals>
                            <goal>xjc</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <packageName>com.company.model</packageName>
                    <arguments>
                        <argument>-Xlombok</argument>
                        <argument>-Xlombok:Setter</argument>
                        <argument>-Xlombok:removeGeneratedSourceSetters</argument>
                        <argument>-Xlombok:ToString</argument>
                        <argument>-Xlombok:Builder</argument>
                    </arguments>
                </configuration>
            </plugin>

Inspired by:

  • https://github.com/mplushnikov/xjc-lombok-plugin
  • https://github.com/danielwegener/xjc-guava-plugin