<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>br.com.agapesistemas</groupId> <artifactId>agtemplate</artifactId> <version>1.0.0</version> <packaging>${packaging.type}</packaging> <name>AgTemplate</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <owb.version>2.0.21</owb.version> <mojarra.version>4.0.7</mojarra.version> <open-pdf.version>1.3.24</open-pdf.version> <poi.version>5.0.0</poi.version> <lombok.version>1.18.32</lombok.version> <modelmapper.version>3.1.0</modelmapper.version> <jackson.version>2.15.2</jackson.version> <packaging.type>war</packaging.type> <project.template>poseidon</project.template> </properties> <dependencies> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <version>2.3.1</version> </dependency> <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <optional>true</optional> </dependency> <!-- Model Mapper--> <dependency> <groupId>org.modelmapper</groupId> <artifactId>modelmapper</artifactId> <version>${modelmapper.version}</version> </dependency> <!-- API --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> <!-- Verifique a versão mais recente no momento de uso --> </dependency> <!-- Java 8 Date/time --> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>${jackson.version}</version> </dependency> <!-- Java 8 Datatypes --> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.3.1</version> </dependency> <dependency> <groupId>org.primefaces</groupId> <artifactId>primefaces</artifactId> <version>11.0.0</version> <classifier>jakarta</classifier> </dependency> <dependency> <groupId>org.glassfish</groupId> <artifactId>jakarta.faces</artifactId> <version>${mojarra.version}</version> </dependency> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>5.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-api</artifactId> <version>10.0.0</version> </dependency> <dependency> <groupId>org.jboss.weld.servlet</groupId> <artifactId>weld-servlet-shaded</artifactId> <version>5.0.1.Final</version> </dependency> <dependency> <groupId>jakarta.enterprise</groupId> <artifactId>jakarta.enterprise.cdi-api</artifactId> <version>4.0.1</version> </dependency> <!-- <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-jsf</artifactId> <version>${owb.version}</version> <classifier>jakarta</classifier> <exclusions> <exclusion> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-web</artifactId> </exclusion> <exclusion> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-el22</artifactId> </exclusion> <exclusion> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-impl</artifactId> </exclusion> <exclusion> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-spi</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-web</artifactId> <version>${owb.version}</version> <classifier>jakarta</classifier> <exclusions> <exclusion> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-el22</artifactId> </exclusion> <exclusion> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-impl</artifactId> </exclusion> <exclusion> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-spi</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-el22</artifactId> <version>${owb.version}</version> <classifier>jakarta</classifier> </dependency> <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-impl</artifactId> <version>${owb.version}</version> <classifier>jakarta</classifier> <exclusions> <exclusion> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-spi</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.openwebbeans</groupId> <artifactId>openwebbeans-spi</artifactId> <version>${owb.version}</version> <classifier>jakarta</classifier> </dependency> --> <!-- Export Demo Impl --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${poi.version}</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>${poi.version}</version> <exclusions> <exclusion> <groupId>org.apache.xmlgraphics</groupId> <artifactId>batik-all</artifactId> </exclusion> <exclusion> <groupId>de.rototor.pdfbox</groupId> <artifactId>graphics2d</artifactId> </exclusion> <exclusion> <groupId>org.apache.santuario</groupId> <artifactId>xmlsec</artifactId> </exclusion> <exclusion> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk15on</artifactId> </exclusion> <exclusion> <groupId>com.github.virtuald</groupId> <artifactId>curvesapi</artifactId> </exclusion> <exclusion> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.github.librepdf</groupId> <artifactId>openpdf</artifactId> <version>${open-pdf.version}</version> </dependency> </dependencies> <repositories> <repository> <id>prime-repo</id> <name>PrimeFaces Maven Repository</name> <url>http://repository.primefaces.org</url> </repository> </repositories> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> <resource> <directory>${basedir}/src/main/webapp/WEB-INF</directory> <includes> <include>web.xml</include> </includes> <filtering>true</filtering> <targetPath>${project.build.directory}</targetPath> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.4.36.v20210114</version> <configuration> <webAppConfig> <contextPath>/poseidon</contextPath> </webAppConfig> <scanIntervalSeconds>5</scanIntervalSeconds> <webXml>${project.build.directory}/web.xml</webXml> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>distribute</id> <properties> <packaging.type>jar</packaging.type> </properties> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.3</version> <executions> <execution> <id>build-layout</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptors> <descriptor>src/assemble/layout.xml</descriptor> </descriptors> <finalName>${project.template}-layout-${project.version}</finalName> <appendAssemblyId>false</appendAssemblyId> </configuration> </execution> <execution> <id>build-theme</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptors> <descriptor>src/assemble/theme.xml</descriptor> </descriptors> <finalName>${project.template}-theme-${project.version}</finalName> <appendAssemblyId>false</appendAssemblyId> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <configuration> <finalName>${project.template}-theme-${project.version}-jakarta</finalName> <shadedArtifactAttached>false</shadedArtifactAttached> <createDependencyReducedPom>false</createDependencyReducedPom> <promoteTransitiveDependencies>true</promoteTransitiveDependencies> <minimizeJar>true</minimizeJar> <shadeSourcesContent>true</shadeSourcesContent> <filters> <filter> <artifact>*:*</artifact> <includes> <include>org/primefaces/${project.template}/component/*</include> <include>META-INF/MANIFEST.MF</include> <include>META-INF/faces-config.xml</include> <include>META-INF/primefaces-${project.template}.taglib.xml</include> <include>META-INF/resources/primefaces-${project.template}-*/*</include> </includes> </filter> </filters> </configuration> <executions> <execution> <id>jakarta</id> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <shadedArtifactAttached>true</shadedArtifactAttached> <shadedClassifierName>jakarta</shadedClassifierName> <createDependencyReducedPom>false</createDependencyReducedPom> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> <transformer implementation="io.yupiik.maven.shade.transformer.RelocationTransformer"> <delegates> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"/> <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer"> <resource>META-INF/faces-config.xml</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer"> <resource>META-INF/primefaces-${project.template}.taglib.xml</resource> </transformer> </delegates> </transformer> </transformers> <artifactSet> <includes> <include>${project.groupId}:${project.artifactId}</include> </includes> </artifactSet> <relocations> <relocation> <pattern>javax.faces</pattern> <shadedPattern>jakarta.faces</shadedPattern> </relocation> <relocation> <pattern>javax.el</pattern> <shadedPattern>jakarta.el</shadedPattern> </relocation> <relocation> <pattern>jakarta.annotation</pattern> <shadedPattern>jakarta.annotation</shadedPattern> </relocation> <relocation> <pattern>javax.servlet</pattern> <shadedPattern>jakarta.servlet</shadedPattern> </relocation> <relocation> <pattern>javax.persistence</pattern> <shadedPattern>jakarta.persistence</shadedPattern> </relocation> <relocation> <pattern>jakarta.enterprise</pattern> <shadedPattern>jakarta.enterprise</shadedPattern> </relocation> <relocation> <pattern>javax.xml.bind</pattern> <shadedPattern>jakarta.xml.bind</shadedPattern> </relocation> <relocation> <pattern>javax.validation</pattern> <shadedPattern>jakarta.validation</shadedPattern> </relocation> <relocation> <pattern>jakarta.inject</pattern> <shadedPattern>jakarta.inject</shadedPattern> </relocation> <relocation> <pattern>javax.activation</pattern> <shadedPattern>jakarta.activation</shadedPattern> </relocation> <relocation> <pattern>javax.ws.rs</pattern> <shadedPattern>jakarta.ws.rs</shadedPattern> </relocation> <relocation> <pattern>javax.jws</pattern> <shadedPattern>jakarta.jws</shadedPattern> </relocation> <relocation> <pattern>javax.cache</pattern> <shadedPattern>jakarta.cache</shadedPattern> </relocation> <relocation> <pattern>javax.xml.ws</pattern> <shadedPattern>jakarta.xml.ws</shadedPattern> </relocation> <relocation> <pattern>javax.xml.soap</pattern> <shadedPattern>jakarta.xml.soap</shadedPattern> </relocation> <relocation> <pattern>window.jsf</pattern> <shadedPattern>window.faces</shadedPattern> </relocation> <relocation> <pattern>jsf.ajax</pattern> <shadedPattern>faces.ajax</shadedPattern> </relocation> </relocations> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>io.yupiik.maven</groupId> <artifactId>maven-shade-transformers</artifactId> <version>0.0.1</version> </dependency> </dependencies> </plugin> </plugins> </build> </profile> <profile> <id>deploy</id> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.0</version> <configuration> <webResources> <resource> <filtering>true</filtering> <directory>src/main/webapp</directory> <includes> <include>**/web.xml</include> </includes> </resource> </webResources> <warSourceDirectory>src/main/webapp</warSourceDirectory> <webXml>${project.build.directory}/web.xml</webXml> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>