primefaces
Used in: 
components
- OverviewOverview
 - VersionsVersions
 - DependentsDependents
 - DependenciesDependencies
 
<dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>15.0.9</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         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>org.primefaces</groupId>
        <artifactId>primefaces-parent</artifactId>
        <version>15.0.9</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>primefaces</artifactId>
    <packaging>jar</packaging>
    <name>PrimeFaces</name>
    <properties>
        <minify.disabled>true</minify.disabled>
        <jakarta.jar.skip>false</jakarta.jar.skip>
        <cyclonedx.skip>true</cyclonedx.skip>
        <resources.dir.compressed>${project.build.directory}/classes/META-INF/resources/primefaces</resources.dir.compressed>
        <mockito.version>5.15.2</mockito.version>
        <sonar.sources>src/main/java,src/main/resources</sonar.sources>
        <sonar.skip>false</sonar.skip>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.apache.tomee</groupId>
            <artifactId>javaee-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>jakarta.faces</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- shaded dependencies, dont put it into dependencyManagement, it will overwrite e.g. commons-io version from POI -->
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20250107</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.owasp.encoder</groupId>
            <artifactId>encoder</artifactId>
            <version>1.3.1</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.15.1</version>
            <optional>true</optional>
        </dependency>
        <!-- Data Exporter -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-collections4</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-math3</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-codec</groupId>
                    <artifactId>commons-codec</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.zaxxer</groupId>
                    <artifactId>SparseBitSet</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>jcl-over-slf4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-api</artifactId>
                </exclusion>
            </exclusions>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-compress</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.github.virtuald</groupId>
                    <artifactId>curvesapi</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.xmlgraphics</groupId>
                    <artifactId>batik-all</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.santuario</groupId>
                    <artifactId>xmlsec</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>de.rototor.pdfbox</groupId>
                    <artifactId>graphics2d</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcpkix-jdk15on</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcprov-jdk15on</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-api</artifactId>
                </exclusion>
            </exclusions>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.github.librepdf</groupId>
            <artifactId>openpdf</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- FeedReader -->
        <dependency>
            <groupId>com.apptasticsoftware</groupId>
            <artifactId>rssreader</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- JAXB for JDK11+-->
        <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api</artifactId>
            <version>2.3.3</version>
            <scope>provided</scope>
        </dependency>
        <!-- Barcode -->
        <dependency>
            <groupId>uk.org.okapibarcode</groupId>
            <artifactId>okapibarcode</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- Test  -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>de.odysseus.juel</groupId>
            <artifactId>juel-impl</artifactId>
            <version>2.2.7</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jasper-el</artifactId>
            <version>9.0.97</version>
            <scope>test</scope>
        </dependency>
        <!-- Content type validation in FileUploadUtilsTest -->
        <dependency>
            <groupId>org.overviewproject</groupId>
            <artifactId>mime-types</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-nop</artifactId>
            <version>2.0.16</version>
            <scope>test</scope>
        </dependency>
        <!-- Cache -->
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>2.10.9.2</version>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>3.9.9</version>
            <scope>provided</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>net.sf.saxon</groupId>
            <artifactId>Saxon-HE</artifactId>
            <version>12.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.googlecode.owasp-java-html-sanitizer</groupId>
            <artifactId>owasp-java-html-sanitizer</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>1.15.1</version>
                    <configuration>
                        <installDirectory>${project.build.directory}</installDirectory>
                        <nodeVersion>v20.11.1</nodeVersion>
                        <npmVersion>10.1.0</npmVersion>
                        <workingDirectory>${basedir}/src/main/type-definitions</workingDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <id>install node and npm</id>
                            <goals>
                                <goal>install-node-and-npm</goal>
                            </goals>
                            <phase>initialize</phase>
                        </execution>
                        <execution>
                            <id>npm install</id>
                            <goals>
                                <goal>npm</goal>
                            </goals>
                            <phase>initialize</phase>
                            <configuration>
                                <arguments>install</arguments>
                            </configuration>
                        </execution>
                        <execution>
                            <id>validate-tool</id>
                            <goals>
                                <goal>npm</goal>
                            </goals>
                            <phase>test</phase>
                            <configuration>
                                <arguments>run validate</arguments>
                            </configuration>
                        </execution>
                        <execution>
                            <id>test-tool</id>
                            <goals>
                                <goal>npm</goal>
                            </goals>
                            <phase>test</phase>
                            <configuration>
                                <arguments>run test</arguments>
                            </configuration>
                        </execution>
                        <execution>
                            <id>generate-type-declaration</id>
                            <goals>
                                <goal>npm</goal>
                            </goals>
                            <phase>prepare-package</phase>
                            <configuration>
                                <arguments>run generate-d-ts -- --packagejson src/main/type-definitions/package.json</arguments>
                            </configuration>
                        </execution>
                        <execution>
                            <id>publish-to-npm</id>
                            <goals>
                                <goal>npm</goal>
                            </goals>
                            <phase>deploy</phase>
                            <configuration>
                                <arguments>run npm-publish -- --major ${parsedVersion.majorVersion} --minor ${parsedVersion.minorVersion} --readme src/main/type-definitions/NPM.md --extrafiles ../LICENSE --prompt false --username ${npm.username} --password ${npm.password} --email ${npm.email} --token ${npm.token} --otp=${npm.otp}</arguments>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.github.matinh.vdldoc</groupId>
                    <artifactId>vdldoc-maven-plugin</artifactId>
                    <version>2.1</version>
                    <configuration>
                         <destDir>../../../docs/vdldoc</destDir>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.omnifaces</groupId>
                            <artifactId>vdldoc</artifactId>
                            <version>3.2</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.cyclonedx</groupId>
                    <artifactId>cyclonedx-maven-plugin</artifactId>
                    <version>2.9.1</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>makeAggregateBom</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <defaultGoal>install</defaultGoal>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <excludes>
                    <exclude>META-INF/resources/primefaces/schedule/build/**/*</exclude>
                </excludes>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh</artifactId>
                <version>3.5.3</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                        <manifest>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                        </manifest>
                        <manifestEntries>
                            <Automatic-Module-Name>org.primefaces</Automatic-Module-Name>
                        </manifestEntries>
                    </archive>
                    <excludes>
                        <!-- Remove all Typescript files as not needed -->
                        <exclude>**/META-INF/resources/**/*.ts</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.4.0</version>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>src/main/type-definitions/node_modules</directory>
                            <followSymlinks>false</followSymlinks>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>3.6.0</version>
                <executions>
                    <execution>
                        <id>parse-version</id>
                        <goals>
                            <goal>parse-version</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>5.1.9</version>
                <extensions>true</extensions>
                <configuration>
                    <supportedProjectTypes>
                        <supportedProjectType>jar</supportedProjectType>
                    </supportedProjectTypes>
                    <instructions>
                        <Export-Package>
                            org.primefaces.*;version="${project.version}",
                            org.primefaces.shaded.json;version="${project.version}",
                            org.primefaces.shaded.commons;version="${project.version}",
                            org.primefaces.shaded.commons.io;version="${project.version}",
                            org.primefaces.shaded.commons.io.input;version="${project.version}",
                            org.primefaces.shaded.owasp.encoder;version="${project.version}"
                        </Export-Package>
                        <Import-Package>
                            javax.faces.component.search;resolution:=optional,
                            javax.faces.component.search.*;resolution:=optional,
                            javax.faces.flow;resolution:=optional,
                            javax.faces;version="[2.0.0,3.0.0)",
                            javax.faces.*;version="[2.0.0,3.0.0)",
                            javax.inject;resolution:=optional,
                            javax.inject.*;resolution:=optional,
                            javax.enterprise;resolution:=optional,
                            javax.enterprise.*;resolution:=optional,
                            javax.validation;resolution:=optional,
                            javax.validation.*;resolution:=optional,
                            javax.validation.executable;resolution:=optional,
                            javax.servlet;version="[3,5)",
                            javax.servlet.annotation;version="[3,5)",
                            javax.servlet.descriptor;version="[3,5)",
                            javax.servlet.http;version="[3,5)",
                            javax.*,
                            com.sun.faces;resolution:=optional,
                            net.glxn.qrgen;resolution:=optional,
                            org.krysalis.barcode4j.output;resolution:=optional,
                            org.owasp.html;resolution:=optional,
                            org.apache.myfaces.view.facelets;resolution:=optional,
                            *;resolution:=optional
                        </Import-Package>
                        <Require-Capability>
                            osgi.serviceloader;filter:="(osgi.serviceloader=org.primefaces.virusscan.VirusScanner)";cardinality:=multiple,
                            osgi.extender;filter:="(osgi.extender=osgi.serviceloader.processor)";resolution:=optional,
                            osgi.extender;filter:="(osgi.extender=osgi.serviceloader.registrar)"
                        </Require-Capability>
                        <Provide-Capability>
                            osgi.serviceloader;osgi.serviceloader=org.primefaces.virusscan.VirusScanner;uses:="org.primefaces.virusscan.impl"
                        </Provide-Capability>
                    </instructions>
                </configuration>
                <executions>
                    <execution>
                        <id>bundle-manifest</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>manifest</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <configuration>
                    <licenseSets>
                        <licenseSet>
                            <header>../conf/header.txt</header>
                            <excludes>
                                <exclude>**/json/JSON*.java</exclude>
                            </excludes>
                        </licenseSet>
                    </licenseSets>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <version>2.5.0</version>
                <executions>
                    <execution>
                        <id>aggregate-download-licenses</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>aggregate-download-licenses</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>add-third-party</id>
                        <goals>
                            <goal>add-third-party</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <excludedScopes>test,provided</excludedScopes>
                    <outputDirectory>${project.basedir}/target/classes/META-INF/licenses/</outputDirectory>
                    <licensesOutputFile>${project.basedir}/target/classes/META-INF/licenses/licenses-generated.xml</licensesOutputFile>
                    <licensesOutputDirectory>${project.basedir}/target/classes/META-INF/licenses/</licensesOutputDirectory>
                    <licenseUrlReplacements>
                        <licenseUrlReplacement>
                            <regexp>.*BSD-3.*</regexp>
                            <replacement>https://raw.githubusercontent.com/teamdigitale/licenses/master/BSD-3-Clause</replacement>
                        </licenseUrlReplacement>
                        <licenseUrlReplacement>
                            <regexp>.*json.*</regexp>
                            <replacement>https://raw.githubusercontent.com/stleary/JSON-java/master/LICENSE</replacement>
                        </licenseUrlReplacement>
                    </licenseUrlReplacements>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>eot</nonFilteredFileExtension>
                        <nonFilteredFileExtension>ttf</nonFilteredFileExtension>
                        <nonFilteredFileExtension>woff</nonFilteredFileExtension>
                        <nonFilteredFileExtension>woff2</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.primefaces.extensions</groupId>
                <artifactId>resources-optimizer-maven-plugin</artifactId>
                <version>2.6.5</version>
                <executions>
                    <execution>
                        <id>optimize</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>optimize</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <useDataUri>false</useDataUri>
                    <failOnWarning>true</failOnWarning>
                    <imagesDir>${project.build.directory}/classes/META-INF/resources</imagesDir>
                    <languageIn>ECMASCRIPT_2020</languageIn>
                    <languageOut>ECMASCRIPT5</languageOut>
                    <resourcesSets>
                        <resourcesSet>
                            <includes>
                                <include>calendar/**</include>
                                <include>chart/9-chartjs-widget.js</include>
                                <include>clock/**</include>
                                <include>colorpicker/**</include>
                                <include>datepicker/**</include>
                                <include>diagram/**</include>
                                <include>dock/**</include>
                                <include>filedownload/**</include>
                                <include>fileupload/**</include>
                                <include>galleria/**</include>
                                <include>gmap/**</include>
                                <include>hotkey/**</include>
                                <include>idlemonitor/**</include>
                                <include>imagecompare/**</include>
                                <include>imagecropper/**</include>
                                <include>imageswitch/**</include>
                                <include>inputmask/**</include>
                                <include>inputnumber/**</include>
                                <include>keyboard/**</include>
                                <include>keyfilter/**</include>
                                <include>knob/**</include>
                                <include>lifecycle/**</include>
                                <include>log/**</include>
                                <include>mindmap/**</include>
                                <include>organigram/**</include>
                                <include>orgchart/**</include>
                                <include>photocam/**</include>
                                <include>primeicons/*.css</include>
                                <include>printer/**</include>
                                <include>schedule/**</include>
                                <include>scrollpanel/**</include>
                                <include>signature/**</include>
                                <include>stack/**</include>
                                <include>terminal/**</include>
                                <include>texteditor/1-texteditor.js</include>
                                <include>texteditor/1-texteditor-theme.css</include>
                                <include>timeline/**</include>
                            </includes>
                            <aggregations>
                                <aggregation>
                                    <inputDir>${resources.dir.compressed}</inputDir>
                                    <subDirMode>true</subDirMode>
                                    <withoutCompress>${minify.disabled}</withoutCompress>
                                </aggregation>
                            </aggregations>
                        </resourcesSet>
                        <!-- uncompressed widgets -->
                        <resourcesSet>
                            <includes>
                                <include>chart/**</include>
                                <include>texteditor/**</include>
                            </includes>
                            <aggregations>
                                <aggregation>
                                    <inputDir>${resources.dir.compressed}</inputDir>
                                    <subDirMode>true</subDirMode>
                                    <withoutCompress>true</withoutCompress>
                                </aggregation>
                            </aggregations>
                        </resourcesSet>
                        <!-- moment.js (already compressed)-->
                        <resourcesSet>
                            <includes>
                                <include>moment/moment.js</include>
                                <include>moment/moment-java-formatter.js</include>
                            </includes>
                            <aggregations>
                                <aggregation>
                                    <inputDir>${resources.dir.compressed}</inputDir>
                                    <outputFile>${resources.dir.compressed}/moment/moment.js</outputFile>
                                    <withoutCompress>true</withoutCompress>
                                </aggregation>
                            </aggregations>
                        </resourcesSet>
                        <resourcesSet>
                            <includes>
                                <include>core/core.css</include>
                                <include>jquery/jquery.ui.css</include>
                                <include>jquery/jquery.ui.timepicker.css</include>
                                <include>jquery/jquery.ui.pfextensions.css</include>
                                <include>avatar/avatar.css</include>
                                <include>avatargroup/avatargroup.css</include>
                                <include>badge/badge.css</include>
                                <include>card/card.css</include>
                                <include>chip/chip.css</include>
                                <include>chronoline/chronoline.css</include>
                                <include>confirmpopup/confirmpopup.css</include>
                                <include>tag/tag.css</include>
                                <include>skeleton/skeleton.css</include>
                                <include>accordion/accordion.css</include>
                                <include>autocomplete/autocomplete.css</include>
                                <include>blockui/blockui.css</include>
                                <include>carousel/carousel.css</include>
                                <include>columntoggler/columntoggler.css</include>
                                <include>dashboard/dashboard.css</include>
                                <include>datalist/datalist.css</include>
                                <include>datagrid/datagrid.css</include>
                                <include>datascroller/datascroller.css</include>
                                <include>datatable/datatable.css</include>
                                <include>dialog/dialog.css</include>
                                <include>divider/divider.css</include>
                                <include>fieldset/fieldset.css</include>
                                <include>forms/forms.css</include>
                                <include>forms/inputgroup.css</include>
                                <include>grid/grid.css</include>
                                <include>growl/growl.css</include>
                                <include>inplace/inplace.css</include>
                                <include>menu/menu.css</include>
                                <include>messages/messages.css</include>
                                <include>notificationbar/notificationbar.css</include>
                                <include>orderlist/orderlist.css</include>
                                <include>overlaypanel/overlaypanel.css</include>
                                <include>panel/panel.css</include>
                                <include>panelgrid/panelgrid.css</include>
                                <include>paginator/paginator.css</include>
                                <include>picklist/picklist.css</include>
                                <include>progressbar/progressbar.css</include>
                                <include>rating/rating.css</include>
                                <include>scrolltop/scrolltop.css</include>
                                <include>spinner/spinner.css</include>
                                <include>splitter/splitter.css</include>
                                <include>speeddial/speeddial.css</include>
                                <include>tabview/tabview.css</include>
                                <include>tagcloud/tagcloud.css</include>
                                <include>toolbar/toolbar.css</include>
                                <include>tooltip/tooltip.css</include>
                                <include>tree/tree.css</include>
                                <include>treetable/treetable.css</include>
                                <include>wizard/wizard.css</include>
                                <include>chips/chips.css</include>
                                <include>sidebar/sidebar.css</include>
                                <include>staticmessage/staticmessage.css</include>
                                <include>dataview/dataview.css</include>
                                <include>datepicker/datepicker.css</include>
                                <include>toggleswitch/toggleswitch.css</include>
                            </includes>
                            <aggregations>
                                <aggregation>
                                    <inputDir>${resources.dir.compressed}</inputDir>
                                    <outputFile>${resources.dir.compressed}/components.css</outputFile>
                                    <withoutCompress>${minify.disabled}</withoutCompress>
                                </aggregation>
                            </aggregations>
                        </resourcesSet>
                        <resourcesSet>
                            <includes>
                                <include>jquery/jquery.browser.js</include>
                                <include>core/js.cookie.js</include>
                                <include>core/core.js</include>
                                <include>core/core.env.js</include>
                                <include>core/core.ajax.js</include>
                                <include>core/core.csp.js</include>
                                <include>core/core.expressions.js</include>
                                <include>core/core.utils.js</include>
                                <include>core/core.widget.js</include>
                                <include>core/core.resources.js</include>
                                <include>core/core.clientwindow.js</include>
                                <include>ajaxexceptionhandler/ajaxexceptionhandler.js</include>
                                <include>ajaxstatus/ajaxstatus.js</include>
                                <include>poll/poll.js</include>
                                <include>validation/validation.common.js</include>
                                <include>validation/validation.converters.js</include>
                                <include>validation/validation.validators.js</include>
                                <include>validation/validation.highlighters.js</include>
                            </includes>
                            <aggregations>
                                <aggregation>
                                    <inputDir>${resources.dir.compressed}</inputDir>
                                    <outputFile>${resources.dir.compressed}/core.js</outputFile>
                                    <withoutCompress>${minify.disabled}</withoutCompress>
                                </aggregation>
                            </aggregations>
                        </resourcesSet>
                        <resourcesSet>
                            <includes>
                                <include>core/core.dialog.js</include>
                                <include>accordion/accordion.js</include>
                                <include>autocomplete/autocomplete.js</include>
                                <include>blockui/blockui.js</include>
                                <include>carousel/carousel.js</include>
                                <include>confirmpopup/confirmpopup.js</include>
                                <include>columntoggler/columntoggler.js</include>
                                <include>dashboard/dashboard.js</include>
                                <include>datagrid/datagrid.js</include>
                                <include>datalist/datalist.js</include>
                                <include>datascroller/datascroller.js</include>
                                <include>datatable/datatable.js</include>
                                <include>datatable/datatable.frozen.js</include>
                                <include>dialog/dialog.js</include>
                                <include>dragdrop/dragdrop.js</include>
                                <include>effect/effect.js</include>
                                <include>fieldset/fieldset.js</include>
                                <include>forms/forms.inputtext.js</include>
                                <include>forms/forms.inputtextarea.js</include>
                                <include>forms/forms.selectonemenu.js</include>
                                <include>forms/forms.selectoneradio.js</include>
                                <include>forms/forms.selectbooleancheckbox.js</include>
                                <include>forms/forms.selectmanycheckbox.js</include>
                                <include>forms/forms.selectlistbox.js</include>
                                <include>forms/forms.selectonelistbox.js</include>
                                <include>forms/forms.selectmanymenu.js</include>
                                <include>forms/forms.cascadeselect.js</include>
                                <include>forms/forms.commandbutton.js</include>
                                <include>forms/forms.commandlink.js</include>
                                <include>forms/forms.button.js</include>
                                <include>forms/forms.linkbutton.js</include>
                                <include>forms/forms.selectmanybutton.js</include>
                                <include>forms/forms.selectonebutton.js</include>
                                <include>forms/forms.selectbooleanbutton.js</include>
                                <include>forms/forms.selectcheckboxmenu.js</include>
                                <include>forms/forms.password.js</include>
                                <include>forms/forms.defaultcommand.js</include>
                                <include>forms/forms.splitbutton.js</include>
                                <include>forms/forms.multiselectlistbox.js</include>
                                <include>growl/growl.js</include>
                                <include>inplace/inplace.js</include>
                                <include>menu/menu.base.js</include>
                                <include>menu/menu.breadcrumb.js</include>
                                <include>menu/menu.tieredmenu.js</include>
                                <include>menu/menu.menubar.js</include>
                                <include>menu/menu.slidemenu.js</include>
                                <include>menu/menu.plainmenu.js</include>
                                <include>menu/menu.menubutton.js</include>
                                <include>menu/menu.contextmenu.js</include>
                                <include>menu/menu.megamenu.js</include>
                                <include>menu/menu.panelmenu.js</include>
                                <include>menu/menu.steps.js</include>
                                <include>menu/menu.tabmenu.js</include>
                                <include>message/message.js</include>
                                <include>messages/messages.js</include>
                                <include>notificationbar/notificationbar.js</include>
                                <include>panel/panel.js</include>
                                <include>orderlist/orderlist.js</include>
                                <include>outputpanel/outputpanel.js</include>
                                <include>overlaypanel/overlaypanel.js</include>
                                <include>paginator/paginator.js</include>
                                <include>picklist/picklist.js</include>
                                <include>progressbar/progressbar.js</include>
                                <include>rating/rating.js</include>
                                <include>resizable/resizable.js</include>
                                <include>slider/slider.js</include>
                                <include>spinner/spinner.js</include>
                                <include>splitter/splitter.js</include>
                                <include>spotlight/spotlight.js</include>
                                <include>speeddial/speeddial.js</include>
                                <include>staticmessage/staticmessage.js</include>
                                <include>sticky/sticky.js</include>
                                <include>tabview/tabview.js</include>
                                <include>tagcloud/tagcloud.js</include>
                                <include>tooltip/tooltip.js</include>
                                <include>tree/tree.base.js</include>
                                <include>tree/tree.vertical.js</include>
                                <include>tree/tree.horizontal.js</include>
                                <include>treetable/treetable.js</include>
                                <include>wizard/wizard.js</include>
                                <include>tristatecheckbox/tristatecheckbox.js</include>
                                <include>chip/chip.js</include>
                                <include>chips/chips.js</include>
                                <include>scrolltop/scrolltop.js</include>
                                <include>sidebar/sidebar.js</include>
                                <include>dataview/dataview.js</include>
                                <include>toggleswitch/toggleswitch.js</include>
                            </includes>
                            <aggregations>
                                <aggregation>
                                    <inputDir>${resources.dir.compressed}</inputDir>
                                    <outputFile>${resources.dir.compressed}/components.js</outputFile>
                                    <withoutCompress>${minify.disabled}</withoutCompress>
                                </aggregation>
                            </aggregations>
                        </resourcesSet>
                        <resourcesSet>
                            <includes>
                                <include>jquery/jquery.ui.js</include>
                                <include>jquery/jquery.caretposition.js</include>
                                <include>jquery/jquery.autosize.js</include>
                                <include>jquery/jquery.mousewheel.js</include>
                                <include>jquery/jquery.rangy.js</include>
                                <include>jquery/jquery.ui.touch-punch.js</include>
                                <include>jquery/jquery.ui.pfextensions.js</include>
                            </includes>
                            <aggregations>
                                <aggregation>
                                    <inputDir>${resources.dir.compressed}</inputDir>
                                    <outputFile>${resources.dir.compressed}/jquery/jquery-plugins.js</outputFile>
                                    <withoutCompress>${minify.disabled}</withoutCompress>
                                </aggregation>
                            </aggregations>
                        </resourcesSet>
                        <resourcesSet>
                            <includes>
                                <include>touch/touchswipe.js</include>
                            </includes>
                            <aggregations>
                                <aggregation>
                                    <inputDir>${resources.dir.compressed}</inputDir>
                                    <outputFile>${resources.dir.compressed}/touch/touchswipe.js</outputFile>
                                    <withoutCompress>${minify.disabled}</withoutCompress>
                                </aggregation>
                            </aggregations>
                        </resourcesSet>
                        <resourcesSet>
                            <includes>
                                <include>validation/validation.bv.js</include>
                            </includes>
                            <aggregations>
                                <aggregation>
                                    <inputDir>${resources.dir.compressed}</inputDir>
                                    <outputFile>${resources.dir.compressed}/validation/validation.bv.js</outputFile>
                                    <withoutCompress>${minify.disabled}</withoutCompress>
                                </aggregation>
                            </aggregations>
                        </resourcesSet>
                    </resourcesSets>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <configuration>
                    <shadedArtifactAttached>false</shadedArtifactAttached>
                    <createDependencyReducedPom>false</createDependencyReducedPom>
                    <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
                    <minimizeJar>true</minimizeJar>
                    <createSourcesJar>false</createSourcesJar>
                    <shadeSourcesContent>true</shadeSourcesContent>
                    <relocations>
                        <relocation>
                            <pattern>org.json</pattern>
                            <shadedPattern>org.primefaces.shaded.json</shadedPattern>
                            <includes>
                                <include>**</include>
                            </includes>
                        </relocation>
                        <relocation>
                            <pattern>org.owasp.encoder</pattern>
                            <shadedPattern>org.primefaces.shaded.owasp.encoder</shadedPattern>
                            <includes>
                                <include>**</include>
                            </includes>
                        </relocation>
                        <relocation>
                            <pattern>org.apache.commons.io</pattern>
                            <shadedPattern>org.primefaces.shaded.commons.io</shadedPattern>
                            <includes>
                                <include>org.apache.commons.io.FilenameUtils</include>
                                <include>org.apache.commons.io.FileSystem</include>
                                <include>org.apache.commons.io.IOCase</include>
                                <include>org.apache.commons.io.input.BoundedInputStream</include>
                            </includes>
                        </relocation>
                    </relocations>
                    <filters>
                        <filter>
                            <artifact>commons-io:commons-io</artifact>
                            <includes>
                                <include>org/apache/commons/io/FilenameUtils.class</include>
                                <include>org/apache/commons/io/FileSystem.class</include>
                                <include>org/apache/commons/io/IOCase.class</include>
                                <include>org/apache/commons/io/input/BoundedInputStream.class</include>
                            </includes>
                        </filter>
                        <filter>
                            <artifact>*:*</artifact>
                            <excludes>
                                <exclude>META-INF/*.SF</exclude>
                                <exclude>META-INF/*.DSA</exclude>
                                <exclude>META-INF/*.RSA</exclude>
								<exclude>META-INF/versions/**</exclude>
                            </excludes>
                        </filter>
                    </filters>
                </configuration>
                <executions>
                    <execution>
                        <id>shade-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jakarta</id>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <skip>${jakarta.jar.skip}</skip>
                            <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.taglib.xml</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                            <resource>META-INF/primefaces.urn.taglib.xml</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/ajaxstatus/ajaxstatus.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/core.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/core/core.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/core/core.ajax.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/core/core.csp.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/validation/validation.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/validation/validation.bv.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/fileupload/fileupload.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/lifecycle/lifecycle.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ar.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-bg.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-bn.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-bs.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ca.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-cs.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ckb.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-da.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-de.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-el.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-en.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-es.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-fa.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-fi.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-fr.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-he.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-hi.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-hr.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-hu.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-in.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-it.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ja.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ka.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-kk.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-km.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ko.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ky.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-lt.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-lv.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ms.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-nl.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-no.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-pl.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-pt.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ro.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-ru.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-sk.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-sl.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-sr.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-sv.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-th.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-tr.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-uk.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-uz.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-vi.js</resource>
                                        </transformer>
                                        <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                            <resource>META-INF/resources/primefaces/locales/locale-zh.js</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>javax.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>javax.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>javax.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>
                                <relocation>
                                    <pattern>/javax.faces</pattern>
                                    <shadedPattern>/jakarta.faces</shadedPattern>
                                    <rawString>true</rawString>
                                </relocation>
                            </relocations>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>io.yupiik.maven</groupId>
                        <artifactId>maven-shade-transformers</artifactId>
                        <version>0.0.5</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>xml-maven-plugin</artifactId>
                <version>1.1.0</version>
                <executions>
                    <execution>
                        <id>minify-xml</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>transform</goal>
                        </goals>
                        <configuration>
                            <skip>${xml.formatter.skip}</skip>
                            <transformationSets>
                                <transformationSet>
                                    <dir>${project.build.directory}/classes/META-INF/</dir>
                                    <outputDir>${project.build.directory}/classes/META-INF/</outputDir>
                                    <stylesheet>${project.basedir}/../conf/minify.xslt</stylesheet>
                                    <includes>
                                        <include>*.xml</include>
                                    </includes>
                                </transformationSet>
                            </transformationSets>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- Rename the copied XML file -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <id>rename-xml-file</id>
                        <phase>process-resources</phase>
                        <configuration>
                            <target>
                                <copy file="${project.build.directory}/classes/META-INF/primefaces.taglib.xml" tofile="${project.build.directory}/classes/META-INF/primefaces.urn.taglib.xml"/>
                                <!-- Modify the copied file -->
                                <replace file="${project.build.directory}/classes/META-INF/primefaces.urn.taglib.xml">
                                    <replacefilter token="http://primefaces.org/ui" value="primefaces"/>
                                    <replacefilter token="http://xmlns.jcp.org/xml/ns/javaee/web-facelettaglibrary_2_3.xsd" value="https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibrary_4_0.xsd"/>
                                    <replacefilter token="http://xmlns.jcp.org/xml/ns/javaee" value="https://jakarta.ee/xml/ns/jakartaee"/>
                                    <replacefilter token="version="2.3"" value="version="4.0""/>
                                </replace>
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.cyclonedx</groupId>
                <artifactId>cyclonedx-maven-plugin</artifactId>
                <configuration>
                    <skip>${cyclonedx.skip}</skip>
                    <projectType>library</projectType>
                    <schemaVersion>1.6</schemaVersion>
                    <includeBomSerialNumber>true</includeBomSerialNumber>
                    <includeCompileScope>true</includeCompileScope>
                    <includeProvidedScope>false</includeProvidedScope>
                    <includeRuntimeScope>true</includeRuntimeScope>
                    <includeSystemScope>true</includeSystemScope>
                    <includeTestScope>false</includeTestScope>
                    <includeLicenseText>false</includeLicenseText>
                    <outputReactorProjects>true</outputReactorProjects>
                    <outputFormat>all</outputFormat>
                    <verbose>false</verbose><!-- = ${cyclonedx.verbose} -->
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.5.2</version>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <!-- Quick build for developers which skips many build steps for speed -->
        <profile>
            <id>quick</id>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <maven.javadoc.skip>true</maven.javadoc.skip>
                <maven.source.skip>true</maven.source.skip>
                <jakarta.jar.skip>false</jakarta.jar.skip>
                <checkstyle.skip>true</checkstyle.skip>
                <xml.formatter.skip>true</xml.formatter.skip>
                <cyclonedx.skip>true</cyclonedx.skip>
                <license.skipCheckLicense>true</license.skipCheckLicense>
                <license.skipAddThirdParty>true</license.skipAddThirdParty>
                <license.skipAggregateDownloadLicenses>true</license.skipAggregateDownloadLicenses>
            </properties>
        </profile>
        <!-- Convenience profile to name the jar -debug -->
        <profile>
            <id>debug</id>
            <build>
                 <finalName>${project.artifactId}-debug-${project.version}</finalName>
            </build>
        </profile>
        <!-- Generates the taglib.xml VDL docs in the docs/vdldoc directory -->
        <profile>
            <id>vdldoc-publish</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.matinh.vdldoc</groupId>
                        <artifactId>vdldoc-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!-- Generates the JavaScript Api docs in the target directory, to check whether the docs compile -->
        <!-- This DOES NOT update the docs in docs/jsdoc, use the profile "jsdoc-update" for that (see below) -->
        <!-- Use "-Djsdoc.skip.typedoc=true" if you only want to check and lint the declarations file -->
        <profile>
            <id>jsdoc</id>
            <properties>
                <jsdoc.skip.typedoc>false</jsdoc.skip.typedoc>
            </properties>
            <build>
                <plugins>
                    <!-- Write docs and *.d.ts file to the target dir -->
                    <plugin>
                        <groupId>com.github.eirslett</groupId>
                        <artifactId>frontend-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>generate-type-declaration</id>
                                <configuration>
                                    <arguments>run generate-d-ts -- --packagejson src/main/type-definitions/package.json --declarationoutputdir target/type-declaration/ --typedocoutputdir target/type-declaration/jsdocs --skiptypedocgenerate ${jsdoc.skip.typedoc}</arguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!-- Updates the JavaScript API docs in the docs/jsdocs directory -->
        <!-- Check the file and upload to github once done! -->
        <!-- The docs are also updated automatically when you specify the "release" profile -->
        <!-- Use this "jsdoc-update" profile when you want to update the docs without release -->
        <profile>
            <id>jsdoc-update</id>
            <properties>
                <jsdoc.skip.typedoc>false</jsdoc.skip.typedoc>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.eirslett</groupId>
                        <artifactId>frontend-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>generate-type-declaration</id>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>jsdoc-publish</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.eirslett</groupId>
                        <artifactId>frontend-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>publish-to-npm</id>
                                <phase>package</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>cyclonedx</id>
            <properties>
                <cyclonedx.skip>false</cyclonedx.skip>
            </properties>
        </profile>
        <profile>
            <id>minify</id>
            <properties>
                <minify.disabled>false</minify.disabled>
            </properties>
        </profile>
        <profile>
            <id>release</id>
            <properties>
                <minify.disabled>false</minify.disabled>
                <cyclonedx.skip>false</cyclonedx.skip>
            </properties>
        </profile>
    </profiles>
</project>