META-INF.maven.com.adobe.acs.acs-aem-commons-bundle.pom.xml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of acs-aem-commons-bundle Show documentation
Show all versions of acs-aem-commons-bundle Show documentation
Core ACS AEM Commons OSGi Bundle. Includes commons utilities.
<?xml version="1.0" encoding="UTF-8"?> <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/maven-v4_0_0.xsd "> <modelVersion>4.0.0</modelVersion> <!-- ====================================================================== --> <!-- P A R E N T P R O J E C T D E S C R I P T I O N --> <!-- ====================================================================== --> <parent> <groupId>com.adobe.acs</groupId> <artifactId>acs-aem-commons</artifactId> <version>5.3.0</version> </parent> <!-- ====================================================================== --> <!-- P R O J E C T D E S C R I P T I O N --> <!-- ====================================================================== --> <artifactId>acs-aem-commons-bundle</artifactId> <name>ACS AEM Commons Bundle</name> <description>Core ACS AEM Commons OSGi Bundle. Includes commons utilities.</description> <properties> <jjwt.version>0.11.2</jjwt.version> </properties> <!-- ====================================================================== --> <!-- B U I L D D E F I N I T I O N --> <!-- ====================================================================== --> <build> <plugins> <plugin> <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> </archive> </configuration> </plugin> <plugin> <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-baseline-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.sling</groupId> <artifactId>sling-maven-plugin</artifactId> <configuration> <slingUrl>${crx.protocol}://${crx.host}:${crx.port}${crx.contextRoot}</slingUrl> <slingUrlSuffix>/apps/acs-commons/install</slingUrlSuffix> <deploymentMethod>SlingPostServlet</deploymentMethod> <user>${crx.user}</user> <password>${crx.password}</password> <failOnError>true</failOnError> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> <configuration> <systemPropertyVariables> <artifactPath>${project.artifact.file.absolutePath}</artifactPath> </systemPropertyVariables> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> <executions> <execution> <phase>test</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <annotationProcessors> com.adobe.acs.commons.mcp.form.DialogProviderAnnotationProcessor </annotationProcessors> </configuration> <executions> <execution> <id>compileAnnotationProcessor</id> <phase>initialize</phase> <goals> <goal>compile</goal> </goals> <configuration> <includes>**/DialogProviderAnnotationProcessor.java</includes> <proc> none </proc> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-banned-dependencies</id> <configuration> <rules> <bannedDependencies> <!-- here we need to explicitly list the set of dependencies which are allowed with scope=compile --> <includes> <include>com.google.guava:*</include> <include>io.jsonwebtoken:jjwt-api</include> <include>io.jsonwebtoken:jjwt-impl</include> <include>io.jsonwebtoken:jjwt-gson</include> <include>com.jcraft:jsch</include> <include>com.jcraft:jzlib</include> </includes> </bannedDependencies> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <createSourcesJar>true</createSourcesJar> <shadeSourcesContent>true</shadeSourcesContent> <artifactSet> <includes> <include>com.google.guava:*</include> <include>com.jcraft:jsch</include> <include>com.jcraft:jzlib</include> <include>io.jsonwebtoken:jjwt-api</include> <include>io.jsonwebtoken:jjwt-impl</include> <include>io.jsonwebtoken:jjwt-gson</include> </includes> </artifactSet> <relocations> <relocation> <pattern>com.google.common</pattern> <shadedPattern>acscommons.com.google.common</shadedPattern> </relocation> <!-- contained in guava as well --> <relocation> <pattern>com.google.thirdparty</pattern> <shadedPattern>acscommons.com.google.thirdparty</shadedPattern> </relocation> <relocation> <pattern>com.jcraft</pattern> <shadedPattern>acscommons.com.jcraft</shadedPattern> </relocation> <relocation> <pattern>io.jsonwebtoken</pattern> <shadedPattern>acscommons.io.jsonwebtoken</shadedPattern> </relocation> </relocations> <filters> <filter> <artifact>com.google.guava:guava</artifact> <includes> <include>com/google/**</include> </includes> </filter> <filter> <artifact>com.jcraft:jsch</artifact> <includes> <include>com/jcraft/**</include> </includes> </filter> <filter> <artifact>com.jcraft:jzlib</artifact> <includes> <include>com/jcraft/**</include> </includes> </filter> <filter> <artifact>io.jsonwebtoken:jjwt-api</artifact> <includes> <include>io/jsonwebtoken/**</include> </includes> </filter> <filter> <artifact>io.jsonwebtoken:jjwt-impl</artifact> <includes> <include>io/jsonwebtoken/**</include> </includes> </filter> <filter> <artifact>io.jsonwebtoken:jjwt-gson</artifact> <includes> <include>io/jsonwebtoken/**</include> </includes> </filter> </filters> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <reuseForks>false</reuseForks> <forkCount>1C</forkCount> </configuration> <executions> <execution> <id>default-test</id> <phase>test</phase> <goals> <goal>test</goal> </goals> <configuration> <reuseForks>true</reuseForks> <parallel>classes</parallel> <threadCount>1</threadCount> <perCoreThreadCount /> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencyManagement> <dependencies> <!-- use and shade newer Guava version than shipped with AEM --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.1-jre</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- ======================== --> <!-- START build dependencies --> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.annotation.versioning</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.annotation.bundle</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.component.annotations</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.metatype.annotations</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.servlets.annotations</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <scope>provided</scope> </dependency> <!-- @PostConstruct --> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.scr.annotations</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>biz.aQute.bnd</groupId> <artifactId>biz.aQute.bnd.annotation</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-atinject_1.0_spec</artifactId> <scope>provided</scope> </dependency> <!-- END build dependencies --> <!-- ======================== --> <!-- START runtime dependencies not contained in uber-jar --> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.framework</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.dto</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.util.tracker</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.component</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.metatype</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.service.cm</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <scope>provided</scope> </dependency> <!-- for com.adobe.acs.commons.logging.impl.SyslogAppender --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.jcr</groupId> <artifactId>jcr</artifactId> <scope>provided</scope> </dependency> <!-- MCP: Apache POI used for exporting Excel spreadsheets --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.github.jknack</groupId> <artifactId>handlebars</artifactId> <scope>provided</scope> </dependency> <!-- END runtime dependencies not contained in uber-jar --> <!-- ======================== --> <!-- START: optional dependencies which are neither part of AEM nor ACS AEM Commons but need separate installation --> <!-- must be installed separately: https://adobe-consulting-services.github.io/acs-aem-commons/features/http-cache/subpages/activating-caffeine-cache.html --> <dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.twitter4j</groupId> <artifactId>twitter4j-core</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.adobe.cq</groupId> <artifactId>cq-dialog-conversion</artifactId> <version>1.0.2</version> <scope>provided</scope> </dependency> <!-- END: optional dependencies which are neither part of AEM nor ACS AEM Commons but need separate installation --> <!-- ======================== --> <!-- START: shaded and relocated dependencies --> <!-- Http Cache Dependencies --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <scope>compile</scope> <exclusions> <exclusion> <groupId>com.google.j2objc</groupId> <artifactId>j2objc-annotations</artifactId> </exclusion> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> </exclusion> <exclusion> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> </exclusion> <exclusion> <groupId>org.checkerframework</groupId> <artifactId>checker-qual</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.jcraft</groupId> <artifactId>jzlib</artifactId> <version>1.1.3</version> <optional>true</optional> <scope>compile</scope> </dependency> <!-- Due to the split of the JJWT library we need - the api for compilation - and the impl for embedding together with - the extension for serialization/deserialization support --> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api</artifactId> <version>${jjwt.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-impl</artifactId> <version>${jjwt.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-gson</artifactId> <version>${jjwt.version}</version> <scope>compile</scope> <exclusions> <exclusion> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </exclusion> </exclusions> </dependency> <!-- END: shaded and relocated dependencies --> <!-- ======================== --> <!-- START: test dependencies --> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>junit-addons</groupId> <artifactId>junit-addons</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> <scope>test</scope> </dependency> <dependency> <groupId>com.google.testing.compile</groupId> <artifactId>compile-testing</artifactId> <version>0.18</version> <scope>test</scope> <exclusions> <exclusion> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> </exclusion> </exclusions> </dependency> <!-- Downgrade from 2.4 to 2.1 for AEM 6.4 support --> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.1</version> <scope>test</scope> </dependency> <!-- mockserver-netty pulls in jaxb-api 2.4, which isn't compatible with AEM 6.4 --> <dependency> <groupId>org.mock-server</groupId> <artifactId>mockserver-netty-no-dependencies</artifactId> <version>5.13.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mock-server</groupId> <artifactId>mockserver-junit-rule</artifactId> <version>5.13.2</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.mock-server</groupId> <artifactId>mockserver-netty</artifactId> </exclusion> <exclusion> <groupId>org.mock-server</groupId> <artifactId>mockserver-core</artifactId> </exclusion> <exclusion> <groupId>org.mock-server</groupId> <artifactId>mockserver-client-java</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>1.7</version> <scope>test</scope> </dependency> <!-- needed to override the embedded commons.osgi in org.apache.sling.models.impl --> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.commons.osgi</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.models.impl</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.commons.html</artifactId> <version>1.0.0</version> <scope>test</scope> </dependency> <!-- the custom annotation for AemObject --> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.models.api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.jackrabbit</groupId> <artifactId>jackrabbit-jcr-commons</artifactId> <scope>test</scope> </dependency> <dependency> <artifactId>jackrabbit-api</artifactId> <version>2.16.3</version> <groupId>org.apache.jackrabbit</groupId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-imaging</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <scope>test</scope> </dependency> <!-- execute tests with Oak 1.40.0 to make them run on Java 17 as well --> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.testing.sling-mock-oak</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.testing.sling-mock.junit4</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-parsers</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>com.drewnoakes</groupId> <artifactId>metadata-extractor</artifactId> </exclusion> <exclusion> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.wcm</groupId> <artifactId>io.wcm.testing.aem-mock.junit4</artifactId> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> </exclusion> <exclusion> <groupId>org.apache.jackrabbit</groupId> <artifactId>oak-jcr</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.commons.testing</artifactId> <version>2.1.2</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> </exclusion> <exclusion> <groupId>org.apache.tika</groupId> <artifactId>tika-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jacoco</groupId> <artifactId>org.jacoco.agent</artifactId> <classifier>runtime</classifier> <scope>test</scope> </dependency> <dependency> <groupId>org.skyscreamer</groupId> <artifactId>jsonassert</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>me.alexpanov</groupId> <artifactId>free-port-finder</artifactId> <version>1.1.1</version> <scope>test</scope> </dependency> <dependency> <groupId>io.findify</groupId> <artifactId>s3mock_2.11</artifactId> <version>0.2.5</version> <scope>test</scope> <exclusions> <exclusion> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-matchers</artifactId> <version>2.6.3</version> <scope>test</scope> </dependency> <dependency> <groupId>com.day.cq</groupId> <artifactId>cq-commons</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <scope>test</scope> </dependency> <!-- END: test dependencies --> <!-- ======================== --> <!-- put UberJar last so that more specific artifacts take precedence --> <dependency> <groupId>com.adobe.aem</groupId> <artifactId>uber-jar</artifactId> <classifier>apis</classifier> <scope>provided</scope> </dependency> </dependencies> </project>