mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-10-29 20:45:20 +00:00
360 lines
13 KiB
XML
360 lines
13 KiB
XML
<?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>
|
||
|
||
<parent>
|
||
<groupId>org.jenkins-ci</groupId>
|
||
<artifactId>jenkins</artifactId>
|
||
<version>1.34</version>
|
||
<relativePath />
|
||
</parent>
|
||
|
||
<groupId>org.jenkins-ci.plugins</groupId>
|
||
<artifactId>plugin</artifactId>
|
||
<name>Jenkins plugin POM</name>
|
||
<version>1.607-SNAPSHOT</version>
|
||
<packaging>pom</packaging>
|
||
|
||
<!--
|
||
We need the following because the artifactId=plugin but directoryName=plugins, and
|
||
Maven infers the wrong value if I don't specify it explicitly.
|
||
-->
|
||
<scm>
|
||
<connection>scm:svn:https://svn.jenkins-ci.org/trunk/hudson/plugins/</connection>
|
||
<developerConnection>scm:svn:https://svn.jenkins-ci.org/trunk/hudson/plugins/</developerConnection>
|
||
<url>https://svn.jenkins-ci.org/trunk/hudson/plugins/</url>
|
||
<tag>HEAD</tag>
|
||
</scm>
|
||
|
||
<issueManagement>
|
||
<system>JIRA</system>
|
||
<url>http://issues.jenkins-ci.org/</url>
|
||
</issueManagement>
|
||
|
||
<properties>
|
||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||
<concurrency>2</concurrency> <!-- may use e.g. 2C for 2 × (number of cores) -->
|
||
</properties>
|
||
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>org.jenkins-ci.main</groupId>
|
||
<artifactId>jenkins-war</artifactId>
|
||
<type>war</type>
|
||
<version>1.607-SNAPSHOT</version>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>org.jenkins-ci.main</groupId>
|
||
<artifactId>jenkins-core</artifactId>
|
||
<version>1.607-SNAPSHOT</version>
|
||
<scope>provided</scope>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>org.jenkins-ci.main</groupId>
|
||
<artifactId>jenkins-test-harness</artifactId>
|
||
<version>1.607-SNAPSHOT</version>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
<!--
|
||
Maven is so brain-dead that when a dependency is like:
|
||
|
||
plugin -(provided)-> jenkins-core -(compile)-> stapler -(provided)-> servlet-api
|
||
|
||
Artifacts beyond the provided/provided dependency will not be made available to the plugin.
|
||
See this in DefaultArtifactFactory.createArtifact() in the maven-artifact module.
|
||
|
||
So for us to have servlet API in the classpath, we need to explicitly list servlet-api.
|
||
-->
|
||
<dependency>
|
||
<groupId>javax.servlet</groupId>
|
||
<artifactId>servlet-api</artifactId>
|
||
<version>2.4</version>
|
||
<scope>provided</scope>
|
||
</dependency>
|
||
<dependency>
|
||
<!-- for JRE requirement check annotation -->
|
||
<groupId>org.codehaus.mojo</groupId>
|
||
<artifactId>animal-sniffer-annotations</artifactId>
|
||
<version>1.9</version>
|
||
<scope>provided</scope>
|
||
<optional>true</optional><!-- no need to have this at runtime -->
|
||
</dependency>
|
||
</dependencies>
|
||
|
||
<build>
|
||
<!--
|
||
Since new versions need to overwrite old versions, it's better
|
||
not to have version number in the .hpi file name.
|
||
-->
|
||
<finalName>${project.artifactId}</finalName>
|
||
<plugins>
|
||
<plugin>
|
||
<groupId>org.jenkins-ci.tools</groupId>
|
||
<artifactId>maven-hpi-plugin</artifactId>
|
||
<extensions>true</extensions>
|
||
<configuration>
|
||
<showDeprecation>true</showDeprecation>
|
||
<contextPath>/jenkins</contextPath>
|
||
</configuration>
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>org.kohsuke.stapler</groupId>
|
||
<artifactId>maven-stapler-plugin</artifactId>
|
||
<!-- version specified in parent pom -->
|
||
<extensions>true</extensions>
|
||
</plugin>
|
||
<plugin>
|
||
<artifactId>maven-release-plugin</artifactId>
|
||
<!-- version specified in parent pom -->
|
||
<configuration>
|
||
<goals>deploy</goals>
|
||
</configuration>
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>org.jvnet.localizer</groupId>
|
||
<artifactId>maven-localizer-plugin</artifactId>
|
||
<!-- version specified in parent pom -->
|
||
<executions>
|
||
<execution>
|
||
<goals>
|
||
<goal>generate</goal>
|
||
</goals>
|
||
<configuration>
|
||
<fileMask>Messages.properties</fileMask>
|
||
<outputDirectory>target/generated-sources/localizer</outputDirectory>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
<plugin>
|
||
<artifactId>maven-javadoc-plugin</artifactId>
|
||
<!-- version specified in parent pom -->
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>org.codehaus.gmaven</groupId>
|
||
<artifactId>gmaven-plugin</artifactId>
|
||
<!-- version specified in grandparent pom -->
|
||
<executions>
|
||
<execution>
|
||
<id>test-in-groovy</id>
|
||
<!-- allow tests written in Groovy -->
|
||
<goals>
|
||
<goal>generateTestStubs</goal>
|
||
<goal>testCompile</goal>
|
||
</goals>
|
||
</execution>
|
||
</executions>
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>ant</groupId>
|
||
<artifactId>ant</artifactId>
|
||
<version>1.6.5</version>
|
||
</dependency>
|
||
</dependencies>
|
||
</plugin>
|
||
<plugin>
|
||
<artifactId>maven-surefire-plugin</artifactId>
|
||
<version>2.16</version>
|
||
<configuration>
|
||
<systemProperties>
|
||
<property>
|
||
<name>hudson.udp</name>
|
||
<value>33849</value>
|
||
</property>
|
||
</systemProperties>
|
||
<reuseForks>true</reuseForks>
|
||
<forkCount>${concurrency}</forkCount>
|
||
</configuration>
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>com.cloudbees</groupId>
|
||
<artifactId>maven-license-plugin</artifactId>
|
||
<!-- version specified in grandparent pom -->
|
||
<executions>
|
||
<execution>
|
||
<goals>
|
||
<goal>process</goal>
|
||
</goals>
|
||
<phase>prepare-package</phase>
|
||
<configuration>
|
||
<!--requireCompleteLicenseInfo>true</requireCompleteLicenseInfo-->
|
||
<generateLicenseXml>target/${project.artifactId}/WEB-INF/licenses.xml</generateLicenseXml>
|
||
<inlineScript><![CDATA[
|
||
filter {
|
||
def plugins = [] as Set
|
||
|
||
// collect all Jenkins plugins
|
||
models.entrySet().each { e ->
|
||
if (e.value.packaging=="hpi")
|
||
plugins.add(e.key.id)
|
||
}
|
||
|
||
// filter out dependencies that don't belong to this plugin
|
||
models.entrySet().removeAll(models.entrySet().findAll { e ->
|
||
def a = e.key;
|
||
|
||
if (a.dependencyTrail.size()>0 && plugins.contains(a.dependencyTrail[1]))
|
||
return true; // ignore transitive dependencies through other plugins
|
||
|
||
// if the dependency goes through jenkins core, we don't need to bundle it in the war
|
||
// because jenkins-core comes in the <provided> scope, I think this is a bug in Maven that it puts such
|
||
// dependencies into the artifact list.
|
||
if (a.dependencyTrail.find { trail -> trail.contains(":hudson-core:") || trail.contains(":jenkins-core:") })
|
||
return true;
|
||
|
||
return false;
|
||
})
|
||
}
|
||
]]></inlineScript>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
</plugins>
|
||
<pluginManagement>
|
||
<plugins>
|
||
<plugin>
|
||
<!--
|
||
Because Eclipse lacks JSR-269 support, put the output
|
||
to a different directory
|
||
-->
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-eclipse-plugin</artifactId>
|
||
<configuration>
|
||
<buildOutputDirectory>target/eclipse-classes</buildOutputDirectory>
|
||
<additionalProjectnatures>
|
||
<!-- enable Groovy nature by default for DSLD support -->
|
||
<projectnature>org.eclipse.jdt.groovy.core.groovyNature</projectnature>
|
||
</additionalProjectnatures>
|
||
</configuration>
|
||
</plugin>
|
||
<!--
|
||
This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.
|
||
the plugins mention here are the ones we do not have direct control over, but are used for a jenkins plugin - all other
|
||
will be changed to in there source to support eclipse soon (hpi, license, localizer, access-modifier).
|
||
see also: http://wiki.eclipse.org/M2E_compatible_maven_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-enforcer-plugin</artifactId>
|
||
<versionRange>[1.0,)</versionRange>
|
||
<goals>
|
||
<goal>display-info</goal>
|
||
</goals>
|
||
</pluginExecutionFilter>
|
||
<action>
|
||
<ignore />
|
||
</action>
|
||
</pluginExecution>
|
||
<pluginExecution>
|
||
<pluginExecutionFilter>
|
||
<groupId>org.codehaus.gmaven</groupId>
|
||
<artifactId>gmaven-plugin</artifactId>
|
||
<versionRange>[1.0,)</versionRange>
|
||
<goals>
|
||
<goal>testCompile</goal>
|
||
<goal>generateTestStubs</goal>
|
||
</goals>
|
||
</pluginExecutionFilter>
|
||
<action>
|
||
<ignore />
|
||
</action>
|
||
</pluginExecution>
|
||
</pluginExecutions>
|
||
</lifecycleMappingMetadata>
|
||
</configuration>
|
||
</plugin>
|
||
<plugin>
|
||
<!-- make sure our code doesn't have 1.6 dependencies except where we know it -->
|
||
<groupId>org.codehaus.mojo</groupId>
|
||
<artifactId>animal-sniffer-maven-plugin</artifactId>
|
||
<version>1.9</version>
|
||
<executions>
|
||
<execution>
|
||
<goals>
|
||
<goal>check</goal>
|
||
</goals>
|
||
<phase>test</phase>
|
||
</execution>
|
||
</executions>
|
||
<configuration>
|
||
<!-- outside <execution> so that we can run 'animal-sniffer:check' from the top without breaking anything -->
|
||
<signature>
|
||
<groupId>org.codehaus.mojo.signature</groupId>
|
||
<artifactId>java15</artifactId>
|
||
<version>1.0</version>
|
||
</signature>
|
||
</configuration>
|
||
</plugin>
|
||
</plugins>
|
||
</pluginManagement>
|
||
<extensions>
|
||
<extension>
|
||
<groupId>org.kohsuke</groupId>
|
||
<artifactId>wagon-gitsite</artifactId>
|
||
<version>0.3.5</version>
|
||
</extension>
|
||
</extensions>
|
||
</build>
|
||
|
||
<repositories>
|
||
<repository>
|
||
<id>repo.jenkins-ci.org</id>
|
||
<url>http://repo.jenkins-ci.org/public/</url>
|
||
<releases>
|
||
<enabled>true</enabled>
|
||
</releases>
|
||
<snapshots>
|
||
<enabled>false</enabled>
|
||
</snapshots>
|
||
</repository>
|
||
</repositories>
|
||
|
||
<pluginRepositories>
|
||
<pluginRepository>
|
||
<id>repo.jenkins-ci.org</id>
|
||
<url>http://repo.jenkins-ci.org/public/</url>
|
||
<releases>
|
||
<enabled>true</enabled>
|
||
</releases>
|
||
<snapshots>
|
||
<enabled>false</enabled>
|
||
</snapshots>
|
||
</pluginRepository>
|
||
</pluginRepositories>
|
||
|
||
<distributionManagement>
|
||
<site>
|
||
<id>github-pages</id>
|
||
<url>gitsite:git@github.com/jenkinsci/maven-site.git:plugin-parent</url>
|
||
</site>
|
||
<snapshotRepository>
|
||
<id>maven.jenkins-ci.org</id>
|
||
<url>http://maven.jenkins-ci.org:8081/content/repositories/snapshots</url>
|
||
</snapshotRepository>
|
||
</distributionManagement>
|
||
|
||
<profiles>
|
||
<profile>
|
||
<id>all-tests</id>
|
||
<activation>
|
||
<property>
|
||
<name>!test</name>
|
||
</property>
|
||
</activation>
|
||
<properties>
|
||
<maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
|
||
</properties>
|
||
</profile>
|
||
</profiles>
|
||
</project>
|