454 lines
18 KiB
XML
454 lines
18 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
|
|
Copyright 2019 The original author or authors
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>io.soabase.record-builder</groupId>
|
|
<artifactId>record-builder</artifactId>
|
|
<packaging>pom</packaging>
|
|
<version>38-SNAPSHOT</version>
|
|
|
|
<modules>
|
|
<module>record-builder-core</module>
|
|
<module>record-builder-processor</module>
|
|
<module>record-builder-test</module>
|
|
<module>record-builder-validator</module>
|
|
</modules>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
|
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
|
|
<jdk-version>16</jdk-version>
|
|
|
|
<maven-compiler-plugin-version>3.8.1</maven-compiler-plugin-version>
|
|
<maven-source-plugin-version>3.2.0</maven-source-plugin-version>
|
|
<maven-install-plugin-version>2.5.2</maven-install-plugin-version>
|
|
<maven-deploy-plugin-version>2.8.2</maven-deploy-plugin-version>
|
|
<maven-license-plugin-version>4.1</maven-license-plugin-version>
|
|
<maven-gpg-plugin-version>1.6</maven-gpg-plugin-version>
|
|
<maven-javadoc-plugin-version>3.1.1</maven-javadoc-plugin-version>
|
|
<maven-clean-plugin-version>3.1.0</maven-clean-plugin-version>
|
|
<maven-shade-plugin-version>3.2.1</maven-shade-plugin-version>
|
|
<maven-release-plugin-version>2.5.3</maven-release-plugin-version>
|
|
<maven-jar-plugin-version>3.2.0</maven-jar-plugin-version>
|
|
<maven-surefire-plugin-version>3.0.0-M5</maven-surefire-plugin-version>
|
|
|
|
<jacoco-maven-plugin-version>0.8.7</jacoco-maven-plugin-version>
|
|
<formatter-maven-plugin-version>2.22.0</formatter-maven-plugin-version>
|
|
|
|
<license-file-path>src/etc/header.txt</license-file-path>
|
|
|
|
<javapoet-version>1.12.1</javapoet-version>
|
|
<junit-jupiter-version>5.5.2</junit-jupiter-version>
|
|
<assertj-core.version>3.24.2</assertj-core.version>
|
|
<asm-version>7.2</asm-version>
|
|
<validation-api-version>2.0.1.Final</validation-api-version>
|
|
<hibernate-validator-version>6.0.20.Final</hibernate-validator-version>
|
|
<javax-el-version>3.0.1-b09</javax-el-version>
|
|
</properties>
|
|
|
|
<name>Record Builder</name>
|
|
<description>Record builder generator for Java records</description>
|
|
<url>https://github.com/randgalt/record-builder</url>
|
|
<inceptionYear>2019</inceptionYear>
|
|
|
|
<organization>
|
|
<name>Record Builder</name>
|
|
<url>https://github.com/randgalt/record-builder</url>
|
|
</organization>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>The Apache Software License, Version 2.0</name>
|
|
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
|
<distribution>repo</distribution>
|
|
</license>
|
|
</licenses>
|
|
|
|
<developers>
|
|
<developer>
|
|
<name>Jordan Zimmerman</name>
|
|
<email>jordan@jordanzimmerman.com</email>
|
|
<timezone>-5</timezone>
|
|
<url>https://github.com/randgalt/</url>
|
|
<roles>
|
|
<role>Author</role>
|
|
</roles>
|
|
</developer>
|
|
</developers>
|
|
|
|
<scm>
|
|
<url>https://github.com/randgalt/record-builder</url>
|
|
<connection>scm:git:https://github.com/randgalt/record-builder.git</connection>
|
|
<developerConnection>scm:git:git@github.com:randgalt/record-builder.git</developerConnection>
|
|
<tag>record-builder-1.16</tag>
|
|
</scm>
|
|
|
|
<issueManagement>
|
|
<system>Github</system>
|
|
<url>https://github.com/randgalt/record-builder/issues</url>
|
|
</issueManagement>
|
|
|
|
<distributionManagement>
|
|
<repository>
|
|
<id>sonatype-nexus-staging</id>
|
|
<name>Sonatype Nexus Staging</name>
|
|
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
|
|
</repository>
|
|
<snapshotRepository>
|
|
<id>sonatype-nexus-snapshots</id>
|
|
<name>Sonatype Nexus Snapshots</name>
|
|
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
|
|
</snapshotRepository>
|
|
</distributionManagement>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.squareup</groupId>
|
|
<artifactId>javapoet</artifactId>
|
|
<version>${javapoet-version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.soabase.record-builder</groupId>
|
|
<artifactId>record-builder-core</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.soabase.record-builder</groupId>
|
|
<artifactId>record-builder-processor</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.soabase.record-builder</groupId>
|
|
<artifactId>record-builder-validator</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>${junit-jupiter-version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>${assertj-core.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>javax.validation</groupId>
|
|
<artifactId>validation-api</artifactId>
|
|
<version>${validation-api-version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.hibernate.validator</groupId>
|
|
<artifactId>hibernate-validator</artifactId>
|
|
<version>${hibernate-validator-version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.glassfish</groupId>
|
|
<artifactId>javax.el</artifactId>
|
|
<version>${javax-el-version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${maven-surefire-plugin-version}</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${maven-compiler-plugin-version}</version>
|
|
<configuration>
|
|
<release>${jdk-version}</release>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-install-plugin</artifactId>
|
|
<version>${maven-install-plugin-version}</version>
|
|
<configuration>
|
|
<createChecksum>true</createChecksum>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<version>${maven-source-plugin-version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>com.mycila</groupId>
|
|
<artifactId>license-maven-plugin</artifactId>
|
|
<version>${maven-license-plugin-version}</version>
|
|
<configuration>
|
|
<header>${license-file-path}</header>
|
|
<excludes>
|
|
<exclude>**/*.apt</exclude>
|
|
<exclude>**/*.md</exclude>
|
|
<exclude>**/*.graffle</exclude>
|
|
<exclude>**/.gitignore</exclude>
|
|
<exclude>**/*.json</exclude>
|
|
<exclude>**/.idea/**</exclude>
|
|
<exclude>**/DISCLAIMER</exclude>
|
|
<exclude>**/DEPENDENCIES</exclude>
|
|
<exclude>**/KEYS</exclude>
|
|
<exclude>**/LICENSE</exclude>
|
|
<exclude>**/NOTICE</exclude>
|
|
<exclude>**/README</exclude>
|
|
<exclude>**/CHANGES</exclude>
|
|
<exclude>**/RELEASE-NOTES</exclude>
|
|
<exclude>**/generated/**</exclude>
|
|
<exclude>**/test-file.txt</exclude>
|
|
<exclude>**/assets/**</exclude>
|
|
<exclude>**/examples/**</exclude>
|
|
<exclude>**/io/soabase/com/google/**</exclude>
|
|
<exclude>**/com/company/**</exclude>
|
|
<exclude>**/META-INF/services/**</exclude>
|
|
<exclude>**/jvm.config</exclude>
|
|
<exclude>**/.java-version</exclude>
|
|
<exclude>**/.travis.yml</exclude>
|
|
<exclude>**/gradlew</exclude>
|
|
<exclude>**/.github/**</exclude>
|
|
<exclude>**/.mvn/**</exclude>
|
|
<exclude>**/mvnw*</exclude>
|
|
</excludes>
|
|
<strictCheck>true</strictCheck>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>license</id>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
<phase>compile</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>${maven-javadoc-plugin-version}</version>
|
|
<configuration>
|
|
<failOnError>false</failOnError>
|
|
<additionalJOption>-Xdoclint:none</additionalJOption>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<version>${maven-deploy-plugin-version}</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<version>${maven-clean-plugin-version}</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>${maven-shade-plugin-version}</version>
|
|
<configuration>
|
|
<createDependencyReducedPom>true</createDependencyReducedPom>
|
|
<dependencyReducedPomLocation>${project.build.outputDirectory}/META-INF/reduced-pom.xml</dependencyReducedPomLocation>
|
|
<filters>
|
|
<filter>
|
|
<excludes>
|
|
<exclude>META-INF/*.SF</exclude>
|
|
<exclude>META-INF/*.DSA</exclude>
|
|
<exclude>META-INF/*.RSA</exclude>
|
|
</excludes>
|
|
</filter>
|
|
</filters>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<transformers>
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
|
|
</transformers>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm</artifactId>
|
|
<version>${asm-version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm-commons</artifactId>
|
|
<version>${asm-version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-release-plugin</artifactId>
|
|
<version>${maven-release-plugin-version}</version>
|
|
<configuration>
|
|
<autoVersionSubmodules>true</autoVersionSubmodules>
|
|
<tagNameFormat>record-builder-@{project.version}</tagNameFormat>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>${maven-jar-plugin-version}</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<version>${maven-gpg-plugin-version}</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>${jacoco-maven-plugin-version}</version>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>net.revelc.code.formatter</groupId>
|
|
<artifactId>formatter-maven-plugin</artifactId>
|
|
<version>${formatter-maven-plugin-version}</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>format</goal>
|
|
</goals>
|
|
<configuration>
|
|
<compilerCompliance>17</compilerCompliance>
|
|
<compilerSource>17</compilerSource>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-install-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>com.mycila</groupId>
|
|
<artifactId>license-maven-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-release-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>net.revelc.code.formatter</groupId>
|
|
<artifactId>formatter-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>oss</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<configuration>
|
|
<passphrase>${gpg.passphrase}</passphrase>
|
|
<useAgent>true</useAgent>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>gpg</id>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
<phase>verify</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|