Permalink
Switch branches/tags
xwiki-xar-plugin-1.14 xwiki-xar-plugin-1.13 xwiki-xar-plugin-1.12 xwiki-xar-plugin-1.11 xwiki-xar-plugin-1.10 xwiki-xar-plugin-1.9 xwiki-xar-plugin-1.8 xwiki-xar-handlers-1.9 xwiki-xar-handlers-1.8 xwiki-commons-verification-resources-1.16 xwiki-commons-license-resources-1.2 xwiki-commons-core-3.0 xwiki-commons-core-3.0-rc-1 xwiki-commons-core-3.0-milestone-3 xwiki-commons-41 xwiki-commons-40 xwiki-commons-9.9-rc-2 xwiki-commons-9.8.1 xwiki-commons-9.8 xwiki-commons-9.8-rc-1 xwiki-commons-9.7 xwiki-commons-9.7-rc-1 xwiki-commons-9.6 xwiki-commons-9.6-rc-1 xwiki-commons-9.5.1 xwiki-commons-9.5 xwiki-commons-9.5-rc-1 xwiki-commons-9.4 xwiki-commons-9.4-rc-1 xwiki-commons-9.3.1 xwiki-commons-9.3 xwiki-commons-9.3-rc-1 xwiki-commons-9.2 xwiki-commons-9.2-rc-1 xwiki-commons-9.1.2 xwiki-commons-9.1.1 xwiki-commons-9.1 xwiki-commons-9.1-rc-1 xwiki-commons-9.0 xwiki-commons-9.0-rc-1 xwiki-commons-8.4.5 xwiki-commons-8.4.4 xwiki-commons-8.4.3 xwiki-commons-8.4.2 xwiki-commons-8.4.1 xwiki-commons-8.4 xwiki-commons-8.4-rc-1 xwiki-commons-8.3 xwiki-commons-8.3-rc-1 xwiki-commons-8.3-milestone-2 xwiki-commons-8.3-milestone-1 xwiki-commons-8.2.2 xwiki-commons-8.2.1 xwiki-commons-8.2 xwiki-commons-8.2-rc-1 xwiki-commons-8.2-milestone-2 xwiki-commons-8.2-milestone-1 xwiki-commons-8.1 xwiki-commons-8.1-rc-1 xwiki-commons-8.1-milestone-2 xwiki-commons-8.1-milestone-1 xwiki-commons-8.0 xwiki-commons-8.0-rc-1 xwiki-commons-8.0-milestone-2 xwiki-commons-8.0-milestone-1 xwiki-commons-7.4.6 xwiki-commons-7.4.5 xwiki-commons-7.4.4 xwiki-commons-7.4.3 xwiki-commons-7.4.2 xwiki-commons-7.4.1 xwiki-commons-7.4 xwiki-commons-7.4-rc-1 xwiki-commons-7.4-milestone-2 xwiki-commons-7.4-milestone-1 xwiki-commons-7.3 xwiki-commons-7.3-rc-1 xwiki-commons-7.3-milestone-2 xwiki-commons-7.3-milestone-1 xwiki-commons-7.2 xwiki-commons-7.2-rc-1 xwiki-commons-7.2-milestone-3 xwiki-commons-7.2-milestone-2 xwiki-commons-7.2-milestone-1 xwiki-commons-7.1.4 xwiki-commons-7.1.3 xwiki-commons-7.1.2 xwiki-commons-7.1.1 xwiki-commons-7.1 xwiki-commons-7.1-rc-1 xwiki-commons-7.1-milestone-2 xwiki-commons-7.1-milestone-1 xwiki-commons-7.0.1 xwiki-commons-7.0 xwiki-commons-7.0-rc-1 xwiki-commons-7.0-milestone-2 xwiki-commons-7.0-milestone-1 xwiki-commons-6.4.8 xwiki-commons-6.4.7 xwiki-commons-6.4.6
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
310 lines (306 sloc) 12.8 KB
<?xml version="1.0" encoding="UTF-8"?>
<!--
* See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
<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>
<parent>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons</artifactId>
<version>9.10-SNAPSHOT</version>
</parent>
<artifactId>xwiki-commons-pom</artifactId>
<name>XWiki Commons - Root POM</name>
<packaging>pom</packaging>
<properties>
<!-- By default legacy dependencies are forbidden -->
<xwiki.enforcer.no-legacy-dependencies.skip>false</xwiki.enforcer.no-legacy-dependencies.skip>
<xwiki.spoon.skip>true</xwiki.spoon.skip>
</properties>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<!-- TODO: At some point, we should turn on failing on warnings since they can be real errors and they keep
growing on our build logs and we need to start addressing them -->
<!--arg>-Werror</arg-->
<arg>-Xlint:all</arg>
<!-- Disable the javac warning when compiling for an older JVM. Note that this can result in class files
that do not work on the older platform since references to non-existent methods can get included.
However, it's hard to specify a generic location of the JRE that will work on all devs machines which
is why we're ignoring the warning (since we want warnings to fail the build...).
For more details, see:
- https://blogs.oracle.com/darcy/entry/bootclasspath_older_source
- http://stackoverflow.com/questions/9164625/maven-use-jdk-7-to-compile-for-jvm-5
-->
<arg>-Xlint:-options</arg>
<!-- Tell the compiler to preserve parameter names in the bytecode -->
<arg>-parameters</arg>
</compilerArgs>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
<!-- Tell the compiler to preserve parameter names in the bytecode -->
<compilerArgument>-parameters</compilerArgument>
<testCompilerArgument>-parameters</testCompilerArgument>
</configuration>
</plugin>
<!-- We want to force packaging the license resources in the produced XWiki artifacts -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-tool-license-resources</artifactId>
<version>9.10-SNAPSHOT</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>xwiki-license-resources</id>
<goals>
<goal>process</goal>
</goals>
<configuration>
<resourceBundles>
<resourceBundle>org.xwiki.commons:xwiki-commons-tool-license-resources:${commons.version}</resourceBundle>
</resourceBundles>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-tool-enforcer-dependencies</artifactId>
<version>9.10-SNAPSHOT</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>enforce-no-legacy-dependencies</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<skip>${xwiki.enforcer.no-legacy-dependencies.skip}</skip>
<rules>
<xwikiBannedDependencies implementation="org.xwiki.tool.enforcer.XWikiBannedDependencies">
<searchTransitive>true</searchTransitive>
<message>Don't depend on a XWiki Legacy module!</message>
<excludes>
<exclude>.*xwiki.*:.*-legacy-.*</exclude>
</excludes>
</xwikiBannedDependencies>
</rules>
</configuration>
</execution>
<execution>
<id>enforce-valid-poms</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<externalExtensionCheck implementation="org.xwiki.tool.enforcer.ExternalExtensionCheck" />
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- Configure revapi to use a common configuration -->
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-tool-verification-resources</artifactId>
<version>9.10-SNAPSHOT</version>
</dependency>
</dependencies>
<configuration>
<analysisConfigurationFiles>
<configurationFile>
<resource>revapi.json</resource>
</configurationFile>
</analysisConfigurationFiles>
</configuration>
</plugin>
<!-- Execute Spoon plugin -->
<!-- TODO: Enable back when fixed
<plugin>
<groupId>fr.inria.gforge.spoon</groupId>
<artifactId>spoon-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<skip>${xwiki.checkstyle.skip}</skip>
<processors>
<processor>org.xwiki.tool.spoon.ForbiddenInvocationProcessor</processor>
</processors>
</configuration>
<dependencies>
< ! - - Contains custom Spoon processors - - >
<dependency>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-tool-spoon</artifactId>
<version>9.9-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
-->
</plugins>
<pluginManagement>
<plugins>
<!-- Apply checkstyle rules and fail the build in case of errors. The checkstyle config
files are taken from the xwiki-commons-tool-verification-resources JAR module.-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-tool-verification-resources</artifactId>
<version>9.10-SNAPSHOT</version>
</dependency>
</dependencies>
<configuration>
<propertyExpansion>
currentVersion=${project.version}
</propertyExpansion>
<failOnViolation>true</failOnViolation>
<!-- Used by the "blocker" execution id and the "default-cli" one
(i.e. when executing "mvn checkstyle:check") -->
<configLocation>checkstyle-blocker.xml</configLocation>
</configuration>
<executions>
<execution>
<id>default</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<configLocation>checkstyle.xml</configLocation>
</configuration>
</execution>
<execution>
<!-- Checks that should never be excluded from executing in maven projects -->
<id>blocker</id>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Check license headers and fail the build if they're missing or not matching the defined format -->
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<configuration>
<skip>${xwiki.license.skip}</skip>
<header>license.txt</header>
<strictCheck>true</strictCheck>
<headerDefinitions>
<!-- Our style for XML headers isn't standard so we need to define it in a custom manner.
See xwiki-commons-tool-verification-resources module -->
<headerDefinition>license-xml-definition.xml</headerDefinition>
<headerDefinition>license-script-definition.xml</headerDefinition>
<headerDefinition>license-batch-definition.xml</headerDefinition>
</headerDefinitions>
<!-- Our Java and XML styles aren't the default so we need to change the mapping -->
<mapping>
<java>SLASHSTAR_STYLE</java>
<aj>SLASHSTAR_STYLE</aj>
</mapping>
<!-- We're only interested in checking our sources and our POMs -->
<includes>
<!-- At the moment, only check the following list of files for license headers -->
<include>pom.xml</include>
<include>src/**/*.java</include>
<include>src/**/*.bat</include>
<include>src/**/*.sh</include>
<include>src/**/ApplicationResources.properties</include>
</includes>
<excludes>
<!-- At the moment we don't have a comment syntax for components.txt files so we need to exclude them
from the check -->
<exclude>**/components.txt</exclude>
<exclude>**/component-overrides.txt</exclude>
<!-- Since there's no comment syntax for Maven IT tests's goal.txt file we need to exclude it -->
<exclude>**/it/**/goals.txt</exclude>
<exclude>**/goal.txt</exclude>
</excludes>
</configuration>
<!-- Add a dependency since this is where the license-maven-plugin plugin will find the license.txt file -->
<dependencies>
<dependency>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-tool-verification-resources</artifactId>
<version>9.10-SNAPSHOT</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.xwiki.commons</groupId>
<artifactId>xwiki-commons-tool-xar-plugin</artifactId>
<version>9.10-SNAPSHOT</version>
<configuration>
<!-- Add missing license headers by default -->
<formatLicense>true</formatLicense>
<!-- Consider all pages named *Translations as content pages (since they have translations) but also
as Technical pages since they need to be hidden. -->
<contentPages>
<contentPage>.*Translations\.xml</contentPage>
</contentPages>
<technicalPages>
<technicalPage>.*Translations\.xml</technicalPage>
</technicalPages>
<titles>
<!-- Verify that all WebPreferences pages have the same title for consistency -->
<property>
<name>.*WebPreferences</name>
<value>\$services\.localization\.render\('admin.preferences.title'\)</value>
</property>
</titles>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>