eugene
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.ultreia.java4all</groupId>
<artifactId>eugene</artifactId>
<version>3.0-beta-5</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
#%L
EUGene
%%
Copyright (C) 2004 - 2025 Code Lutin, Ultreia.io
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Lesser Public License for more details.
You should have received a copy of the GNU General Lesser Public
License along with this program. If not, see
<http://www.gnu.org/licenses/lgpl-3.0.html>.
#L%
-->
<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>
<parent>
<groupId>io.ultreia.maven</groupId>
<artifactId>pom</artifactId>
<version>2026.1</version>
</parent>
<groupId>io.ultreia.java4all</groupId>
<artifactId>eugene</artifactId>
<version>3.0-beta-5</version>
<packaging>pom</packaging>
<name>EUGene</name>
<description>Efficient Universal Generator</description>
<url>https://ultreiaio.gitlab.io/eugene</url>
<inceptionYear>2004</inceptionYear>
<developers>
<developer>
<id>bpoussin</id>
<name>Benjamin Poussin</name>
<email>poussin@codelutin.com</email>
<organization>CodeLutin</organization>
<organizationUrl>http://codelutin.com</organizationUrl>
<roles>
<role>developer</role>
</roles>
<timezone>Europe/Paris</timezone>
</developer>
<developer>
<id>athimel</id>
<name>Arnaud Thimel</name>
<email>thimel@codelutin.com</email>
<organization>CodeLutin</organization>
<organizationUrl>http://codelutin.com</organizationUrl>
<roles>
<role>developer</role>
</roles>
<timezone>Europe/Paris</timezone>
</developer>
<developer>
<id>jruchaud</id>
<name>Julien Ruchaud</name>
<email>ruchaud@codelutin.com</email>
<organization>CodeLutin</organization>
<organizationUrl>http://codelutin.com</organizationUrl>
<roles>
<role>developer</role>
</roles>
<timezone>Europe/Paris</timezone>
</developer>
<developer>
<id>echatellier</id>
<name>Eric Chatellier</name>
<email>chatellier@codelutin.com</email>
<organization>CodeLutin</organization>
<organizationUrl>http://codelutin.com</organizationUrl>
<roles>
<role>developer</role>
</roles>
<timezone>Europe/Paris</timezone>
</developer>
<developer>
<id>tchemit</id>
<name>Tony Chemit</name>
<email>devt@tchemit.fr</email>
<organization>Ultreia.io</organization>
<organizationUrl>http://ultreia.io</organizationUrl>
<roles>
<role>developer</role>
</roles>
<timezone>Europe/Paris</timezone>
</developer>
</developers>
<contributors>
<contributor>
<name>Stéphane Chorlet</name>
<roles>
<role>developer</role>
</roles>
<timezone>Europe/Paris</timezone>
</contributor>
<contributor>
<name>Florian Desbois</name>
<roles>
<role>developer</role>
</roles>
</contributor>
</contributors>
<modules>
<module>eugene-core</module>
<module>eugene-java-templates</module>
<module>eugene-maven-plugin</module>
</modules>
<scm>
<connection>scm:git:git@gitlab.com:${projectPath}</connection>
<developerConnection>scm:git:ssh://git@gitlab.com:${projectPath}</developerConnection>
<url>https://gitlab.com/ultreiaio/eugene</url>
</scm>
<distributionManagement>
<site>
<id>gitlab.com</id>
<url>scm:git:https://git@gitlab.com/${organizationId}/${projectId}.git</url>
</site>
</distributionManagement>
<properties>
<organizationId>ultreiaio</organizationId>
<projectId>eugene</projectId>
<java.version>25</java.version>
<lib.version.java4all.eugene>${project.version}</lib.version.java4all.eugene>
<!-- deploy everything -->
<maven.javadoc.skip>false</maven.javadoc.skip>
<maven.source.skip>false</maven.source.skip>
<maven.deploy.skip>false</maven.deploy.skip>
<!-- ////////////////////////////////////////////////////////////////// -->
<!-- //// Site plugin configuration //// -->
<!-- ////////////////////////////////////////////////////////////////// -->
<locales>default</locales>
<generateSitemap>true</generateSitemap>
<relativizeDecorationLinks>false</relativizeDecorationLinks>
<!-- ////////////////////////////////////////////////////////////////// -->
<!-- //// GitLab plugin configuration //// -->
<!-- ////////////////////////////////////////////////////////////////// -->
<gitlab.changesTitle>EuGene changelog</gitlab.changesTitle>
<gitlab.changesAuthor>Tony Chemit</gitlab.changesAuthor>
<gitlab.changesAuthorEmail>dev@tchemit.fr</gitlab.changesAuthorEmail>
<!-- ////////////////////////////////////////////////////////////////// -->
<!-- //// Javadoc plugin configuration //// -->
<!-- ////////////////////////////////////////////////////////////////// -->
<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
<maven.javadoc.quiet>true</maven.javadoc.quiet>
<javadocJreApiVersion>${java.version}</javadocJreApiVersion>
<javadoc.additionalOptions>-html5</javadoc.additionalOptions>
<javadoc.javadocExecutable>${java.home}/bin/javadoc</javadoc.javadocExecutable>
<!-- ////////////////////////////////////////////////////////////////// -->
<!-- //// I18n plugin configuration //// -->
<!-- ////////////////////////////////////////////////////////////////// -->
<i18n.failsIfAnyKeyMissingValue>true</i18n.failsIfAnyKeyMissingValue>
<i18n.checkBundle>true</i18n.checkBundle>
<i18n.showEmpty>true</i18n.showEmpty>
<!-- ////////////////////////////////////////////////////////////////// -->
<!-- //// License plugin configuration //// -->
<!-- ////////////////////////////////////////////////////////////////// -->
<license.organizationName>Code Lutin, Ultreia.io</license.organizationName>
<!-- ////////////////////////////////////////////////////////////////// -->
<!-- //// Dependencies versions //// -->
<!-- ////////////////////////////////////////////////////////////////// -->
<lib.version.google.auto-service>1.1.1</lib.version.google.auto-service>
<lib.version.log4j2>2.25.3</lib.version.log4j2>
<lib.version.asm>9.9.1</lib.version.asm>
<lib.version.maven.resolver>2.0.16</lib.version.maven.resolver>
<maven4.version>4.0.0-rc-5</maven4.version>
<lib.version.java4all.java-bean>1.0.0</lib.version.java4all.java-bean>
<lib.version.java4all.i18n>4.0.0</lib.version.java4all.i18n>
</properties>
<dependencyManagement>
<dependencies>
<!-- Not used in code, but required for dependencies convergence -->
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>2.47.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.5.0-jre</version>
</dependency>
<!-- Not used in code, but required for dependencies convergence -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.21.0</version>
</dependency>
<!-- Not used in code, but required for dependencies convergence -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.3.5</version>
</dependency>
<dependency>
<groupId>io.ultreia.java4all</groupId>
<artifactId>java-lang</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>io.ultreia.java4all</groupId>
<artifactId>java-util</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>io.ultreia.java4all.i18n</groupId>
<artifactId>i18n-runtime</artifactId>
<version>${lib.version.java4all.i18n}</version>
</dependency>
<dependency>
<groupId>io.ultreia.java4all.i18n</groupId>
<artifactId>i18n-spi-builder</artifactId>
<version>${lib.version.java4all.i18n}</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
<version>2.13.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.20.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${lib.version.log4j2}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${lib.version.log4j2}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jcl</artifactId>
<version>${lib.version.log4j2}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>${plugin.version.plugins}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-api</artifactId>
<version>${lib.version.maven.resolver}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-impl</artifactId>
<version>${lib.version.maven.resolver}</version>
<exclusions>
<exclusion>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-spi</artifactId>
<version>${lib.version.maven.resolver}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-util</artifactId>
<version>${lib.version.maven.resolver}</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.4.1</version>
</dependency>
<dependency>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
<version>3.53.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-classworlds</artifactId>
<version>2.9.0</version>
</dependency>
<!-- Not used in code, but required for dependencies convergence -->
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-xml</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.iq80.snappy</groupId>
<artifactId>snappy</artifactId>
<version>0.5</version>
</dependency>
<dependency>
<groupId>org.nuiton</groupId>
<artifactId>helper-maven-plugin-api</artifactId>
<version>${plugin.version.helper}</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-dependency-tree</artifactId>
</exclusion>
<exclusion>
<groupId>velocity</groupId>
<artifactId>velocity</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Not used in code, but required to update parboiled dependencies -->
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${lib.version.asm}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.17</version>
</dependency>
<!-- Only used in compiler plugin for annotation processing -->
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<version>${lib.version.google.auto-service}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service-annotations</artifactId>
<version>${lib.version.google.auto-service}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.ultreia.java4all.java-bean</groupId>
<artifactId>annotations</artifactId>
<version>${lib.version.java4all.java-bean}</version>
<scope>provided</scope>
</dependency>
<!-- Not used in code, but required to avoid plugin warnings -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-api-annotations</artifactId>
<version>${maven4.version}</version>
<scope>provided</scope>
</dependency>
<!-- Not used in code, but required to avoid plugin warnings -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-api-xml</artifactId>
<version>${maven4.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${maven.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${maven.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-model</artifactId>
<version>${maven.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${maven.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
<exclusion>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-settings</artifactId>
<version>${maven.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Not used in code, but required to avoid plugin warnings -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-xml</artifactId>
<version>${maven4.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${lib.version.junit}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.10.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<configuration>
<extraExtensions>
<objectmodel>xml</objectmodel>
<xsd>xml</xsd>
</extraExtensions>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.sisu</groupId>
<artifactId>sisu-maven-plugin</artifactId>
<version>1.0.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
<waitUntil>published</waitUntil>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>reporting</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>io.ultreia.maven</groupId>
<artifactId>gitlab-maven-plugin</artifactId>
<inherited>false</inherited>
<executions>
<execution>
<goals>
<goal>generate-changes</goal>
</goals>
<phase>pre-site</phase>
<inherited>false</inherited>
</execution>
</executions>
</plugin>
<plugin>
<!-- copy object model xsd to site -->
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>xsd-to-site</id>
<goals>
<goal>run</goal>
</goals>
<phase>pre-site</phase>
<inherited>false</inherited>
<configuration>
<target>
<copy failonerror="false" overwrite="true" todir="target/site/xsd/v1">
<fileset dir="${basedir}/eugene-core/src/main/resources/xsd">
<include name="**/*.xsd" />
</fileset>
</copy>
<copy failonerror="false" overwrite="true" todir="target/site/dtd/v1">
<fileset dir="${basedir}/eugene-core/src/main/resources/dtd">
<include name="**/*.dtd" />
</fileset>
</copy>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-changes-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<issueLinkTemplatePerSystem>
<gitlab>https://gitlab.com/${projectPath}/issues/%ISSUE%</gitlab>
</issueLinkTemplatePerSystem>
<xmlPath>${project.build.directory}/generated-site/changes.xml</xmlPath>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>changes-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>pmd</report>
<report>cpd</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<quiet>${maven.javadoc.quiet}</quiet>
<charset>${project.reporting.outputEncoding}</charset>
<links>
<link>https://docs.oracle.com/javase/${javadocJreApiVersion}/docs/api/</link>
</links>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>javadoc-no-fork</report>
<report>test-javadoc-no-fork</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<artifactId>maven-changelog-plugin</artifactId>
<inherited>false</inherited>
</plugin>
<plugin>
<artifactId>maven-jxr-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-surefire-report-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>third-party-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<inherited>false</inherited>
<reportSets>
<reportSet>
<reports>
<report>dependency-updates-report</report>
<report>plugin-updates-report</report>
<report>property-updates-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</profile>
</profiles>
</project>