mirror of
https://github.com/jenkinsci/jenkins.git
synced 2024-10-23 08:45:06 +08:00
562 lines
20 KiB
XML
562 lines
20 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
The MIT License
|
|
|
|
Copyright (c) 2004-2011, Sun Microsystems, Inc., Kohsuke Kawaguchi, id:sorokh
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE.
|
|
-->
|
|
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>org.jenkins-ci</groupId>
|
|
<artifactId>jenkins</artifactId>
|
|
<version>1.125</version>
|
|
<relativePath />
|
|
</parent>
|
|
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>jenkins-parent</artifactId>
|
|
<version>${revision}${changelist}</version>
|
|
<packaging>pom</packaging>
|
|
|
|
<name>Jenkins main module</name>
|
|
<description>The module that constitutes the main jenkins.war</description>
|
|
<url>https://github.com/jenkinsci/jenkins</url>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>The MIT license</name>
|
|
<url>https://opensource.org/licenses/MIT</url>
|
|
<distribution>repo</distribution>
|
|
</license>
|
|
</licenses>
|
|
|
|
<modules>
|
|
<module>bom</module>
|
|
<module>websocket/spi</module>
|
|
<module>websocket/jetty12-ee9</module>
|
|
<module>core</module>
|
|
<module>war</module>
|
|
<module>test</module>
|
|
<module>cli</module>
|
|
<module>coverage</module>
|
|
</modules>
|
|
|
|
<scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false">
|
|
<connection>scm:git:https://github.com/jenkinsci/jenkins.git</connection>
|
|
<developerConnection>scm:git:git@github.com:jenkinsci/jenkins.git</developerConnection>
|
|
<tag>${scmTag}</tag>
|
|
<url>https://github.com/jenkinsci/jenkins</url>
|
|
</scm>
|
|
|
|
<issueManagement>
|
|
<system>jira</system>
|
|
<url>https://issues.jenkins.io/issues/?jql=component=15593</url>
|
|
</issueManagement>
|
|
|
|
<properties>
|
|
<revision>2.483</revision>
|
|
<changelist>-SNAPSHOT</changelist>
|
|
<project.build.outputTimestamp>2024-10-22T13:43:00Z</project.build.outputTimestamp>
|
|
|
|
<!-- configuration for patch tracker plugin -->
|
|
<project.patchManagement.system>github</project.patchManagement.system>
|
|
<patch.request.organisation>jenkinsci</patch.request.organisation>
|
|
<patch.request.repository>jenkins</patch.request.repository>
|
|
<project.patchManagement.url>https://api.github.com</project.patchManagement.url>
|
|
<patch.tracker.serverId>jenkins-jira</patch.tracker.serverId>
|
|
|
|
<changelog.url>https://www.jenkins.io/changelog</changelog.url>
|
|
|
|
<!-- Bundled Remoting version -->
|
|
<remoting.version>3273.v4cfe589b_fd83</remoting.version>
|
|
|
|
<spotbugs.effort>Max</spotbugs.effort>
|
|
<spotbugs.threshold>Medium</spotbugs.threshold>
|
|
|
|
<access-modifier.version>1.34</access-modifier.version>
|
|
<antlr.version>4.13.2</antlr.version>
|
|
<bridge-method-injector.version>1.30</bridge-method-injector.version>
|
|
<spotless.check.skip>false</spotless.check.skip>
|
|
<!-- Make sure to keep the jetty-ee9-maven-plugin version in war/pom.xml in sync with the Jetty release in Winstone: -->
|
|
<winstone.version>8.2</winstone.version>
|
|
<node.version>20.18.0</node.version>
|
|
</properties>
|
|
|
|
<!--
|
|
Note that the 'repositories' and 'pluginRepositories' blocks below are actually copy-pasted
|
|
from the Jenkins org pom. This is on purpose to keep Jenkins core buildable even if one has
|
|
*not* defined the specific details in the settings.xml file.
|
|
-->
|
|
<repositories>
|
|
<repository>
|
|
<id>repo.jenkins-ci.org</id>
|
|
<url>https://repo.jenkins-ci.org/public/</url>
|
|
<!-- allow snapshots -->
|
|
</repository>
|
|
</repositories>
|
|
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>repo.jenkins-ci.org</id>
|
|
<url>https://repo.jenkins-ci.org/public/</url>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
|
|
<build>
|
|
<defaultGoal>install</defaultGoal>
|
|
<resources>
|
|
<resource>
|
|
<filtering>false</filtering>
|
|
<directory>${basedir}/src/main/resources</directory>
|
|
</resource>
|
|
<resource>
|
|
<filtering>true</filtering>
|
|
<directory>${basedir}/src/filter/resources</directory>
|
|
</resource>
|
|
</resources>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<configuration>
|
|
<compilerReuseStrategy>alwaysNew</compilerReuseStrategy>
|
|
<compilerArgs>
|
|
<!--
|
|
always compile package-info.java for useIncrementalCompilation
|
|
ref: https://stackoverflow.com/questions/6770455/maven-compiling-package-info-java-to-package-info-class
|
|
-->
|
|
<compilerArg>-Xpkginfo:always</compilerArg>
|
|
</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<configuration>
|
|
<quiet>true</quiet>
|
|
<splitindex>true</splitindex>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<configuration>
|
|
<systemPropertyVariables>
|
|
<java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
|
|
<forkedProcessTimeoutInSeconds>3600</forkedProcessTimeoutInSeconds>
|
|
<java.awt.headless>true</java.awt.headless>
|
|
</systemPropertyVariables>
|
|
<runOrder>alphabetical</runOrder>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jarsigner-plugin</artifactId>
|
|
<version>3.1.0</version>
|
|
<configuration>
|
|
<!--
|
|
during the development, debug profile will cause
|
|
the jars to be signed by a self-certified dummy public key.
|
|
|
|
For release, you should define the real values in ~/.m2/settings.xml
|
|
-->
|
|
<alias>${hudson.sign.alias}</alias>
|
|
<storepass>${hudson.sign.storepass}</storepass>
|
|
<keystore>${hudson.sign.keystore}</keystore>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.kohsuke</groupId>
|
|
<artifactId>access-modifier-checker</artifactId>
|
|
<version>${access-modifier.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>io.jenkins.tools.maven</groupId>
|
|
<artifactId>license-maven-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>process</goal>
|
|
</goals>
|
|
<phase>compile</phase>
|
|
<configuration>
|
|
<requireCompleteLicenseInfo>true</requireCompleteLicenseInfo>
|
|
<script>../licenseCompleter.groovy</script>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jvnet.localizer</groupId>
|
|
<artifactId>localizer-maven-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<configuration>
|
|
<outputEncoding>UTF-8</outputEncoding>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jvnet.hudson.tools</groupId>
|
|
<artifactId>maven-encoding-plugin</artifactId>
|
|
<version>1.1</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.infradna.tool</groupId>
|
|
<artifactId>bridge-method-injector</artifactId>
|
|
<version>${bridge-method-injector.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.antlr</groupId>
|
|
<artifactId>antlr4-maven-plugin</artifactId>
|
|
<version>${antlr.version}</version>
|
|
</plugin>
|
|
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
|
|
<plugin>
|
|
<groupId>org.eclipse.m2e</groupId>
|
|
<artifactId>lifecycle-mapping</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<configuration>
|
|
<lifecycleMappingMetadata>
|
|
<pluginExecutions>
|
|
<pluginExecution>
|
|
<pluginExecutionFilter>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<versionRange>[2.3,)</versionRange>
|
|
<goals>
|
|
<goal>list</goal>
|
|
<goal>unpack-dependencies</goal>
|
|
</goals>
|
|
</pluginExecutionFilter>
|
|
<action>
|
|
<ignore />
|
|
</action>
|
|
</pluginExecution>
|
|
</pluginExecutions>
|
|
</lifecycleMappingMetadata>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.spotbugs</groupId>
|
|
<artifactId>spotbugs-maven-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<configuration>
|
|
<maxHeap>768</maxHeap>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<configuration>
|
|
<consoleOutput>true</consoleOutput>
|
|
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
|
<configLocation>${maven.multiModuleProjectDirectory}/src/checkstyle/checkstyle-configuration.xml</configLocation>
|
|
<suppressionsLocation>${maven.multiModuleProjectDirectory}/src/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
|
|
</configuration>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.puppycrawl.tools</groupId>
|
|
<artifactId>checkstyle</artifactId>
|
|
<version>10.18.2</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<id>validate</id>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
<phase>validate</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>0.8.12</version>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.diffplug.spotless</groupId>
|
|
<artifactId>spotless-maven-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<configuration>
|
|
<antlr4>
|
|
<antlr4Formatter />
|
|
</antlr4>
|
|
<java combine.self="override">
|
|
<endWithNewline />
|
|
<importOrder />
|
|
<indent>
|
|
<spaces>true</spaces>
|
|
</indent>
|
|
<removeUnusedImports />
|
|
<trimTrailingWhitespace />
|
|
</java>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-release-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<configuration>
|
|
<!-- work around for a bug in javadoc plugin that causes the release to fail. see MRELEASE-271 -->
|
|
<preparationGoals>clean install</preparationGoals>
|
|
<goals>-DskipTests -Dspotbugs.skip -Dmaven.checkstyle.skip -Dspotless.check.skip generate-resources javadoc:javadoc deploy</goals>
|
|
<pushChanges>false</pushChanges>
|
|
<localCheckout>true</localCheckout>
|
|
<tagNameFormat>jenkins-@{project.version}</tagNameFormat>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-remote-resources-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>process</goal>
|
|
</goals>
|
|
<configuration>
|
|
<resourceBundles>
|
|
<resourceBundle>org.jvnet.hudson:license:1.0</resourceBundle>
|
|
</resourceBundles>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-banned-dependencies</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<bannedDependencies>
|
|
<excludes combine.children="append">
|
|
<exclude>org.sonatype.sisu:sisu-guice</exclude>
|
|
<exclude>commons-logging:commons-logging:*:jar:compile</exclude>
|
|
<exclude>commons-logging:commons-logging:*:jar:runtime</exclude>
|
|
</excludes>
|
|
</bannedDependencies>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>debug</id>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
<properties>
|
|
<hudson.sign.alias>jenkins</hudson.sign.alias>
|
|
<hudson.sign.keystore>../dummy.keystore</hudson.sign.keystore>
|
|
<hudson.sign.storepass>jenkins</hudson.sign.storepass>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>release</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-gpg-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<executions>
|
|
<execution>
|
|
<id>sign-artifacts</id>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
<phase>verify</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>lts-release</id>
|
|
<properties>
|
|
<changelog.url>https://www.jenkins.io/changelog-stable</changelog.url>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>yarn-execution</id>
|
|
<activation>
|
|
<file>
|
|
<exists>package.json</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.github.eirslett</groupId>
|
|
<artifactId>frontend-maven-plugin</artifactId>
|
|
<version>1.15.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>install node and corepack</id>
|
|
<goals>
|
|
<goal>install-node-and-corepack</goal>
|
|
</goals>
|
|
<phase>initialize</phase>
|
|
<configuration>
|
|
<nodeVersion>v${node.version}</nodeVersion>
|
|
<nodeDownloadRoot>https://repo.jenkins-ci.org/nodejs-dist/</nodeDownloadRoot>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>yarn install</id>
|
|
<goals>
|
|
<goal>corepack</goal>
|
|
</goals>
|
|
<phase>initialize</phase>
|
|
<configuration>
|
|
<arguments>yarn install</arguments>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>yarn build</id>
|
|
<goals>
|
|
<goal>corepack</goal>
|
|
</goals>
|
|
<phase>generate-sources</phase>
|
|
<configuration>
|
|
<arguments>yarn build</arguments>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<!-- Version specified in grandparent POM -->
|
|
<configuration>
|
|
<filesets>
|
|
<fileset>
|
|
<directory>.yarn</directory>
|
|
<followSymlinks>false</followSymlinks>
|
|
</fileset>
|
|
<fileset>
|
|
<directory>node</directory>
|
|
<followSymlinks>false</followSymlinks>
|
|
</fileset>
|
|
<fileset>
|
|
<directory>node_modules</directory>
|
|
<followSymlinks>false</followSymlinks>
|
|
</fileset>
|
|
<fileset>
|
|
<directory>war/src/main/webapp/jsbundles</directory>
|
|
<followSymlinks>false</followSymlinks>
|
|
</fileset>
|
|
</filesets>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>yarn-ci-lint</id>
|
|
<activation>
|
|
<property>
|
|
<name>env.CI</name>
|
|
</property>
|
|
<file>
|
|
<exists>package.json</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.github.eirslett</groupId>
|
|
<artifactId>frontend-maven-plugin</artifactId>
|
|
<version>1.15.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>yarn lint:ci</id>
|
|
<goals>
|
|
<goal>corepack</goal>
|
|
</goals>
|
|
<phase>test</phase>
|
|
<configuration>
|
|
<arguments>yarn lint:ci</arguments>
|
|
<skip>${yarn.lint.skip}</skip>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>yarn-lint</id>
|
|
<activation>
|
|
<property>
|
|
<name>!env.CI</name>
|
|
</property>
|
|
<file>
|
|
<exists>package.json</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.github.eirslett</groupId>
|
|
<artifactId>frontend-maven-plugin</artifactId>
|
|
<version>1.15.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>yarn lint</id>
|
|
<goals>
|
|
<goal>corepack</goal>
|
|
</goals>
|
|
<phase>test</phase>
|
|
<configuration>
|
|
<arguments>yarn lint</arguments>
|
|
<skip>${yarn.lint.skip}</skip>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|