mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-10-30 04:55:21 +00:00
290 lines
9.8 KiB
XML
290 lines
9.8 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.25</version>
|
|
</parent>
|
|
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>plugin</artifactId>
|
|
<name>Jenkins plugin POM</name>
|
|
<version>1.452-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>
|
|
</scm>
|
|
|
|
<issueManagement>
|
|
<system>JIRA</system>
|
|
<url>http://issues.jenkins-ci.org/</url>
|
|
</issueManagement>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency><!-- if a plugin wants to depend on the maven plugin, choose the right version automatically -->
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>maven-plugin</artifactId>
|
|
<version>1.452-SNAPSHOT</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>jenkins-war</artifactId>
|
|
<type>war</type>
|
|
<version>1.452-SNAPSHOT</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>jenkins-core</artifactId>
|
|
<version>1.452-SNAPSHOT</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>jenkins-test-harness</artifactId>
|
|
<version>1.452-SNAPSHOT</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>ui-samples-plugin</artifactId>
|
|
<version>1.452-SNAPSHOT</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit-dep</artifactId>
|
|
<version>4.10</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>
|
|
</dependencies>
|
|
<!--dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>maven-plugin</artifactId>
|
|
<version>1.395</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement-->
|
|
|
|
<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>
|
|
<!--
|
|
I don't really understand how this works, but it makes Maven recognizes
|
|
<packaging>hpi</packaging> defined in maven-hpi-plugin.
|
|
|
|
<extensions>true</extensions> is apparently needed to have Maven read
|
|
the plugin's Plexus component file.
|
|
-->
|
|
<defaultGoal>package</defaultGoal>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.jenkins-ci.tools</groupId>
|
|
<artifactId>maven-hpi-plugin</artifactId>
|
|
<version>1.74</version>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<showDeprecation>true</showDeprecation>
|
|
</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 specified in grandparent pom -->
|
|
<configuration>
|
|
<systemProperties>
|
|
<property>
|
|
<name>hudson.udp</name>
|
|
<value>33849</value>
|
|
</property>
|
|
</systemProperties>
|
|
</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>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>m.g.o-public</id>
|
|
<url>http://maven.glassfish.org/content/groups/public/</url>
|
|
<releases>
|
|
<enabled>true</enabled>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>m.g.o-public</id>
|
|
<url>http://maven.glassfish.org/content/groups/public/</url>
|
|
<releases>
|
|
<enabled>true</enabled>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>false</enabled>
|
|
</snapshots>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
|
|
<distributionManagement>
|
|
<snapshotRepository>
|
|
<id>maven.jenkins-ci.org</id>
|
|
<url>http://maven.jenkins-ci.org:8081/content/repositories/snapshots</url>
|
|
</snapshotRepository>
|
|
</distributionManagement>
|
|
</project>
|