archetype-resources.pom.xml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alfresco-allinone-archetype
Show all versions of alfresco-allinone-archetype
Sample multi-module project for All-in-One development on the Alfresco plaftorm. Includes modules for Platform/Repository JAR and Share JAR
The newest version!
<?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> <groupId>${groupId}</groupId> <artifactId>${artifactId}</artifactId> <version>${version}</version> <name>AIO - SDK 4.9</name> <description>All-In-One (AIO) project for SDK 4.9</description> <packaging>pom</packaging> <prerequisites> <maven>3.3.0</maven> </prerequisites> <properties> <!-- Alfresco Maven Plugin version to use --> <alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- Properties used in dependency declarations, you don't need to change these --> <alfresco.groupId>org.alfresco</alfresco.groupId> <alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId> <alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version> <alfresco.platform.docker.user>@@alfresco.platform.docker.user@@</alfresco.platform.docker.user> <alfresco.share.version>@@alfresco.share.version@@</alfresco.share.version> <alfresco.share.docker.version>@@alfresco.share.docker.version@@</alfresco.share.docker.version> <!-- Docker images --> <docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image> <docker.share.image>@@alfresco.share.docker.image@@</docker.share.image> <keystore.settings>@@keystore.settings@@</keystore.settings> <!-- JRebel Hot reloading of classpath stuff and web resource stuff --> <jrebel.version>1.1.8</jrebel.version> <!-- Environment configuration properties --> <share.port>8180</share.port> <share.debug.port>9898</share.debug.port> <acs.host>${artifactId}-acs</acs.host> <acs.port>8080</acs.port> <acs.debug.port>8888</acs.debug.port> <postgres.port>5555</postgres.port> <!-- This parameter is only required for those cases in which ACS is not exposed in http://localhost:8080/alfresco (i.e. Windows Docker) --> <test.acs.endpoint.path>@@test.acs.endpoint.path@@</test.acs.endpoint.path> </properties> <!-- Libs used in Unit and Integration tests --> <!-- IMPORTANT - Test dependencies need to be here in the top parent POM as the Alfresco Maven IT Mojo runs as part of the parent project ... --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>4.2.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <scope>test</scope> </dependency> <!-- The main Alfresco Repo dependency for compiling Java code in src/main/java --> <dependency> <groupId>${alfresco.groupId}</groupId> <artifactId>alfresco-remote-api</artifactId> <scope>provided</scope> </dependency> <!-- Bring in Alfresco RAD so we get access to AlfrescoTestRunner classes --> <dependency> <groupId>org.alfresco.maven</groupId> <artifactId>alfresco-rad</artifactId> <version>${alfresco.sdk.version}</version> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform. NOTE: You still need to define dependencies in your POM, but you can omit version as it's enforced by this dependencyManagement. NOTE: It defaults to the latest version this SDK pom has been tested with, but alfresco version can/should be overridden in your project's pom --> <dependency> <groupId>${alfresco.groupId}</groupId> <artifactId>${alfresco.bomDependencyArtifactId}</artifactId> <version>${alfresco.platform.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Redefine the following Share dependencies as they have different version numbers than platform. They are defined in alfresco-platform-distribution... --> <dependency> <groupId>${alfresco.groupId}</groupId> <artifactId>share</artifactId> <version>${alfresco.share.version}</version> <type>war</type> <scope>provided</scope> </dependency> <dependency> <groupId>${alfresco.groupId}</groupId> <artifactId>share</artifactId> <version>${alfresco.share.version}</version> <classifier>classes</classifier> <scope>provided</scope> </dependency> <dependency> <groupId>${alfresco.groupId}</groupId> <artifactId>alfresco-web-framework-commons</artifactId> <version>${alfresco.share.version}</version> <classifier>classes</classifier> <scope>provided</scope> </dependency> </dependencies> </dependencyManagement> <build> <pluginManagement> <plugins> <!-- Build an AMP if 3rd party libs are needed by the extensions JARs are the default artifact produced in your modules, if you want to build an amp for each module you have to enable this plugin and inspect the src/main/assembly.xml file if you want to customize the layout of your AMP. The end result is that Maven will produce both a JAR file and an AMP with your module. --> <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>build-amp-file</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptor>src/main/assembly/amp.xml</descriptor> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.alfresco.maven.plugin</groupId> <artifactId>alfresco-maven-plugin</artifactId> <version>${alfresco.sdk.version}</version> </dependency> </dependencies> </plugin> --> <!-- Filter resources in any sub-project with this config --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.1.0</version> <configuration> <encoding>UTF-8</encoding> <nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically --> <nonFilteredFileExtension>ftl</nonFilteredFileExtension> <nonFilteredFileExtension>acp</nonFilteredFileExtension> <nonFilteredFileExtension>svg</nonFilteredFileExtension> <nonFilteredFileExtension>pdf</nonFilteredFileExtension> <nonFilteredFileExtension>doc</nonFilteredFileExtension> <nonFilteredFileExtension>docx</nonFilteredFileExtension> <nonFilteredFileExtension>xls</nonFilteredFileExtension> <nonFilteredFileExtension>xlsx</nonFilteredFileExtension> <nonFilteredFileExtension>ppt</nonFilteredFileExtension> <nonFilteredFileExtension>pptx</nonFilteredFileExtension> <nonFilteredFileExtension>bin</nonFilteredFileExtension> <nonFilteredFileExtension>lic</nonFilteredFileExtension> <nonFilteredFileExtension>swf</nonFilteredFileExtension> <nonFilteredFileExtension>zip</nonFilteredFileExtension> <nonFilteredFileExtension>msg</nonFilteredFileExtension> <nonFilteredFileExtension>jar</nonFilteredFileExtension> <nonFilteredFileExtension>ttf</nonFilteredFileExtension> <nonFilteredFileExtension>eot</nonFilteredFileExtension> <nonFilteredFileExtension>woff</nonFilteredFileExtension> <nonFilteredFileExtension>woff2</nonFilteredFileExtension> <nonFilteredFileExtension>css</nonFilteredFileExtension> <nonFilteredFileExtension>ico</nonFilteredFileExtension> <nonFilteredFileExtension>psd</nonFilteredFileExtension> <nonFilteredFileExtension>js</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration> </plugin> <plugin> <groupId>org.zeroturnaround</groupId> <artifactId>jrebel-maven-plugin</artifactId> <version>${jrebel.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.0.0-M1</version> <executions> <execution> <id>integration-test</id> <phase>integration-test</phase> <goals> <goal>integration-test</goal> </goals> </execution> <execution> <id>verify-test</id> <phase>verify</phase> <goals> <goal>verify</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit47</artifactId> <version>3.0.0-M1</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.1</version> </plugin> </plugins> </pluginManagement> <!-- Make sure resources in sub-projects are filtered --> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <!-- Filter the test resource files in the AIO parent project, and do property substitutions. We need this config so this is done before the Alfresco Maven Plugin 'run' is executed. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <inherited>false</inherited> <!-- Run only for the AIO parent Project --> <executions> <execution> <id>copy-and-filter-docker-resources</id> <phase>validate</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.outputDirectory}/docker</outputDirectory> <resources> <resource> <directory>docker</directory> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <!-- Compress JavaScript files and store as *.min.js --> <plugin> <groupId>com.github.blutorange</groupId> <artifactId>closure-compiler-maven-plugin</artifactId> <version>2.28.0</version> <executions> <!-- Compress the JS files under the assembly folder --> <execution> <id>compress-assembly</id> <phase>generate-resources</phase> <goals> <goal>minify</goal> </goals> <configuration> <baseSourceDir>${project.basedir}/src/main/assembly</baseSourceDir> <baseTargetDir>${project.basedir}/src/main/assembly</baseTargetDir> <sourceDir>web</sourceDir> <targetDir>web</targetDir> <skipMerge>true</skipMerge> <includes> <include>**/*.js</include> </includes> <excludes> <exclude>**/webscripts/**</exclude> <exclude>**/site-webscripts/**</exclude> <exclude>**/META-INF/**</exclude> <exclude>**/*.lib.js</exclude> <exclude>**/*.css</exclude> <exclude>**/*.min.js</exclude> <exclude>**/*.min.css</exclude> </excludes> <force>true</force> </configuration> </execution> <!-- Compress the JS files under the resources folder --> <execution> <id>compress-resources</id> <phase>generate-resources</phase> <goals> <goal>minify</goal> </goals> <configuration> <baseSourceDir>${project.basedir}/src/main</baseSourceDir> <baseTargetDir>${project.basedir}/src/main</baseTargetDir> <sourceDir>resources</sourceDir> <targetDir>resources</targetDir> <skipMerge>true</skipMerge> <includes> <include>**/*.js</include> </includes> <excludes> <exclude>**/webscripts/**</exclude> <exclude>**/site-webscripts/**</exclude> <exclude>**/*.lib.js</exclude> <exclude>**/*.css</exclude> <exclude>**/*.min.js</exclude> <exclude>**/*.min.css</exclude> </excludes> <force>true</force> </configuration> </execution> </executions> </plugin> <!-- Hot reloading with JRebel --> <plugin> <groupId>org.zeroturnaround</groupId> <artifactId>jrebel-maven-plugin</artifactId> <executions> <execution> <id>generate-rebel-xml</id> <phase>process-resources</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <!-- For more information about how to configure JRebel plugin see: http://manuals.zeroturnaround.com/jrebel/standalone/maven.html#maven-rebel-xml --> <classpath> <fallback>all</fallback> <resources> <resource> <directory>${project.build.outputDirectory}</directory> <directory>${project.build.testOutputDirectory}</directory> </resource> </resources> </classpath> <!-- alwaysGenerate - default is false If 'false' - rebel.xml is generated if timestamps of pom.xml and the current rebel.xml file are not equal. If 'true' - rebel.xml will always be generated --> <alwaysGenerate>true</alwaysGenerate> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>java8</id> <activation> <jdk>[1.8,11.0)</jdk> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>java11</id> <activation> <jdk>[11.0,17)</jdk> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release>11</release> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>java17</id> <activation> <jdk>[17,)</jdk> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release>17</release> </configuration> </plugin> </plugins> </build> </profile> </profiles> <!-- Alfresco Maven Repositories --> <repositories> <repository> <id>alfresco-public</id> <url>https://artifacts.alfresco.com/nexus/content/groups/public</url> </repository> <repository> <id>alfresco-public-snapshots</id> <url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url> <snapshots> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> </snapshots> </repository> <!-- Alfresco Enterprise Edition Artifacts, put username/pwd for server in settings.xml --> <repository> <id>alfresco-private-repository</id> <url>https://artifacts.alfresco.com/nexus/content/groups/private</url> </repository> <repository> <id>alfresco-internal</id> <url>https://artifacts.alfresco.com/nexus/content/groups/internal</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>alfresco-plugin-public</id> <url>https://artifacts.alfresco.com/nexus/content/groups/public</url> </pluginRepository> <pluginRepository> <id>alfresco-plugin-public-snapshots</id> <url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url> <snapshots> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> </snapshots> </pluginRepository> </pluginRepositories> </project>