Files
gerrit/gerrit-war/pom.xml
Shawn Pearce b0c599d1fd Ensure core plugins are bundled by Maven
Require the core plugins whenever a Gerrit build is run.
These are pulled into the Maven Reactor by being inside
of git submodules. Plugins can be omitted by passing a
-Dgerrit.plugins.skip=true flag on the command line.

Change-Id: I7246389bcae9e98d5f1d46208ff515855eb7c474
2013-05-06 15:36:46 -07:00

345 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2009 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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>com.google.gerrit</groupId>
<artifactId>gerrit-parent</artifactId>
<version>2.6-SNAPSHOT</version>
</parent>
<artifactId>gerrit-war</artifactId>
<name>Gerrit Code Review - WAR</name>
<packaging>war</packaging>
<description>
Gerrit packaged as a standard web application archive
</description>
<dependencies>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gerrit</groupId>
<artifactId>gerrit-gwtui</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.google.gerrit</groupId>
<artifactId>gerrit-main</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>bouncycastle</groupId>
<artifactId>bcprov-jdk15</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>bouncycastle</groupId>
<artifactId>bcpg-jdk15</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>com.google.gerrit</groupId>
<artifactId>gerrit-openid</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.google.gerrit</groupId>
<artifactId>gerrit-sshd</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.google.gerrit</groupId>
<artifactId>gerrit-httpd</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.google.gerrit</groupId>
<artifactId>gerrit-pgm</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>plugins</id>
<activation>
<property>
<name>!gerrit.plugins.skip</name>
</property>
</activation>
<dependencies>
<!-- CORE PLUGIN LIST -->
<dependency>
<groupId>com.googlesource.gerrit.plugins.replication</groupId>
<artifactId>replication</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.googlesource.gerrit.plugins.reviewnotes</groupId>
<artifactId>reviewnotes</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.googlesource.gerrit.plugins.validators</groupId>
<artifactId>commit-message-length-validator</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
<goal>unpack</goal>goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>gerrit-${project.version}</warName>
<archiveClasses>true</archiveClasses>
<attachClasses>true</attachClasses>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifestEntries>
<Main-Class>Main</Main-Class>
<Implementation-Title>Gerrit Code Review</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
</manifestEntries>
</archive>
<overlays>
<overlay>
<groupId>com.google.gerrit</groupId>
<artifactId>gerrit-main</artifactId>
<type>jar</type>
<includes>
<include>Main.class</include>
<include>com/google/gerrit/launcher/*.class</include>
</includes>
</overlay>
</overlays>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-servlet-api</id>
<configuration>
<includeGroupIds>org.apache.tomcat,org.eclipse.jetty</includeGroupIds>
<excludeArtifactIds>servlet-api</excludeArtifactIds>
</configuration>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
<execution>
<id>copy-plugins</id>
<configuration>
<!-- CORE PLUGIN LIST -->
<includeArtifactIds>commit-message-length-validator,replication,reviewnotes</includeArtifactIds>
<includeTypes>jar</includeTypes>
<stripVersion>true</stripVersion>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/plugins</outputDirectory>
</configuration>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>copy-servlet-api</id>
<phase>process-classes</phase>
<configuration>
<target>
<property name="src" location="${project.build.directory}/dependency" />
<property name="dst" location="${project.build.directory}/${project.build.finalName}/WEB-INF/pgm-lib" />
<mkdir dir="${dst}" />
<copy overwrite="true" todir="${dst}">
<fileset dir="${src}">
<include name="*.jar" />
</fileset>
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>copy-license</id>
<phase>process-classes</phase>
<configuration>
<target>
<property name="src" location="${basedir}/../Documentation" />
<property name="dst" location="${project.build.directory}/${project.build.finalName}" />
<copy tofile="${dst}/LICENSES.txt"
file="${src}/licenses.txt"
overwrite="true" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>include-documentation</id>
<phase>process-classes</phase>
<configuration>
<target unless="gerrit.documentation.skip">
<property name="src" location="${basedir}/../Documentation" />
<property name="out" location="${project.build.directory}/${project.build.finalName}" />
<property name="dst" location="${out}/Documentation" />
<exec dir="${src}" executable="make">
<arg value="VERSION=${project.version}" />
<arg value="clean" />
<arg value="all" />
</exec>
<mkdir dir="${dst}" />
<copy overwrite="true" todir="${dst}">
<fileset dir="${src}">
<include name="*.html" />
</fileset>
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>include-release-notes</id>
<phase>process-classes</phase>
<configuration>
<target unless="gerrit.documentation.skip">
<property name="src" location="${basedir}/../ReleaseNotes" />
<property name="out" location="${project.build.directory}/${project.build.finalName}" />
<property name="dst" location="${out}/ReleaseNotes" />
<exec dir="${src}" executable="make">
<arg value="VERSION=${project.version}" />
<arg value="clean" />
<arg value="all" />
</exec>
<mkdir dir="${dst}" />
<copy overwrite="true" todir="${dst}">
<fileset dir="${src}">
<include name="*.html" />
</fileset>
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>