mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-10-31 13:35:19 +00:00
811 lines
31 KiB
XML
811 lines
31 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
The MIT License
|
|
|
|
Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Stephen Connolly, Tom Huybrechts, Yahoo! Inc.
|
|
|
|
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 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>jenkins-parent</artifactId>
|
|
<version>${revision}${changelist}</version>
|
|
</parent>
|
|
|
|
<artifactId>jenkins-war</artifactId>
|
|
<packaging>war</packaging>
|
|
|
|
<name>Jenkins war</name>
|
|
<description>Creates a war file. Also includes additional static web resources, such as images, CSS, JavaScript, and some HTML files.</description>
|
|
<url>https://github.com/jenkinsci/jenkins</url>
|
|
|
|
<properties>
|
|
<JENKINS_HOME>${basedir}/work</JENKINS_HOME>
|
|
<!-- context path during test -->
|
|
<contextPath>/jenkins</contextPath>
|
|
<!-- HTTP listener host/interface -->
|
|
<host>localhost</host>
|
|
<!-- HTTP listener port -->
|
|
<port>8080</port>
|
|
<node.version>16.15.1</node.version>
|
|
<yarn.version>1.22.19</yarn.version>
|
|
</properties>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>jenkins-bom</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>cli</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>remoting</artifactId>
|
|
<!-- specified in the parent -->
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jenkins-ci.main</groupId>
|
|
<artifactId>jenkins-core</artifactId>
|
|
<version>${project.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.google.code.findbugs</groupId>
|
|
<artifactId>jsr305</artifactId>
|
|
</exclusion>
|
|
<!--
|
|
jars that are not needed in war. most of the exclusions should happen in the core, to make IDEs happy, not here.
|
|
-->
|
|
<exclusion>
|
|
<groupId>javax.servlet.jsp</groupId>
|
|
<artifactId>javax.servlet.jsp-api</artifactId>
|
|
</exclusion>
|
|
<!-- Stapler 1.195 fails to declare this as optional, and the 1.1 version lacks a license: -->
|
|
<exclusion>
|
|
<groupId>org.kohsuke.metainf-services</groupId>
|
|
<artifactId>metainf-services</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<!--
|
|
We bundle slf4j binding since we got some components (sshd for example)
|
|
that uses slf4j.
|
|
|
|
The problem with not shipping any binding in the war is that if the
|
|
servlet container does use slf4j in itself, then we got a classloader
|
|
constraint violation (see JENKINS-12334) as we try to load StaticLoggerBinder
|
|
which resides in the binding jar (this jar would be from container implementation,
|
|
which relies on slf4j api in the container, when we have our own slf4j API jar
|
|
statically depending on the binding jar.)
|
|
|
|
We also get tickets like JENKINS-12650 for not reporting logs at all
|
|
(although this is a non-fatal problem.)
|
|
|
|
The downside of adding a jar is that we can potentially get "multiple binding jar"
|
|
warning like http://www.slf4j.org/codes.html, but that's at least non-fatal.
|
|
-->
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-jdk14</artifactId>
|
|
</dependency>
|
|
<!-- offline profiler API when we need it -->
|
|
<!--dependency
|
|
<groupId>com.yourkit.api</groupId>
|
|
<artifactId>yjp</artifactId>
|
|
<version>dontcare</version>
|
|
<scope>system</scope>
|
|
<systemPath>/usr/local/yjp/lib/yjp.jar</systemPath>
|
|
</dependency-->
|
|
<dependency>
|
|
<!--
|
|
not actually used by test but used by dependency plugin to include it inside the war.
|
|
-->
|
|
<groupId>org.jenkins-ci</groupId>
|
|
<artifactId>winstone</artifactId>
|
|
<!-- Make sure to keep jetty-maven-plugin elsewhere in this file in sync with the Jetty release in Winstone -->
|
|
<version>5.25</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>${junit.jupiter.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-api</artifactId>
|
|
<version>${junit.jupiter.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
<version>${junit.jupiter.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<finalName>jenkins</finalName>
|
|
<plugins>
|
|
<!-- TODO When Java 8 usage declines to a terminal level, this can be deleted. -->
|
|
<plugin>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>display-info</id>
|
|
<configuration>
|
|
<rules>
|
|
<requireJavaVersion>
|
|
<version>1.8</version>
|
|
</requireJavaVersion>
|
|
<enforceBytecodeVersion>
|
|
<maxJdkVersion>1.8</maxJdkVersion>
|
|
<excludes>
|
|
<exclude>org.jenkins-ci.main:cli</exclude>
|
|
<exclude>org.jenkins-ci.main:jenkins-core</exclude>
|
|
</excludes>
|
|
</enforceBytecodeVersion>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- JENKINS-68021: Work around JDK-8206937 by clearing the release=8 flag. -->
|
|
<plugin>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<configuration>
|
|
<source>1.8</source>
|
|
<target>1.8</target>
|
|
<testSource>1.8</testSource>
|
|
<testTarget>1.8</testTarget>
|
|
<release combine.self="override" />
|
|
<testRelease combine.self="override" />
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<configuration>
|
|
<source>1.8</source>
|
|
<release combine.self="override" />
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-war-plugin</artifactId>
|
|
<!-- version specified in grandparent pom -->
|
|
<configuration>
|
|
<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
|
|
<!-- for putting Main-Class into war -->
|
|
<archive>
|
|
<manifest>
|
|
<mainClass>executable.Main</mainClass>
|
|
</manifest>
|
|
<manifestEntries>
|
|
<!-- Make sure to keep the directives in core/pom.xml and test/pom.xml in sync with these. -->
|
|
<Add-Opens>java.base/java.lang java.base/java.io java.base/java.util java.desktop/com.sun.beans.introspect</Add-Opens>
|
|
<Implementation-Version>${project.version}</Implementation-Version>
|
|
<Hudson-Version>1.395</Hudson-Version>
|
|
<Jenkins-Version>${project.version}</Jenkins-Version>
|
|
<Remoting-Embedded-Version>${remoting.version}</Remoting-Embedded-Version>
|
|
<Remoting-Minimum-Supported-Version>${remoting.minimum.supported.version}</Remoting-Minimum-Supported-Version>
|
|
</manifestEntries>
|
|
</archive>
|
|
<!--outputFileNameMapping>@{artifactId}@.@{extension}@</outputFileNameMapping-->
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<!-- version specified in grandparent pom -->
|
|
<executions>
|
|
<execution>
|
|
<id>list-dependencies</id>
|
|
<goals>
|
|
<goal>list</goal>
|
|
</goals>
|
|
<phase>generate-resources</phase>
|
|
<configuration>
|
|
<outputFile>${project.build.outputDirectory}/dependencies.txt</outputFile>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>resgen</id>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<phase>generate-resources</phase>
|
|
<configuration>
|
|
<artifactItems>
|
|
<!-- dependencies that goes to unusual locations -->
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci</groupId>
|
|
<artifactId>winstone</artifactId>
|
|
<outputDirectory>${project.build.directory}/${project.build.finalName}/executable</outputDirectory>
|
|
<destFileName>winstone.jar</destFileName>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/plugins</outputDirectory>
|
|
<stripVersion>true</stripVersion>
|
|
<overWriteIfNewer>true</overWriteIfNewer>
|
|
<overWriteReleases>false</overWriteReleases>
|
|
<overWriteSnapshots>true</overWriteSnapshots>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>detached-plugins</id>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<phase>generate-resources</phase>
|
|
<configuration>
|
|
<artifactItems>
|
|
<!--
|
|
Detached plugins and their dependencies - detached plugins that used to be bundled plugins
|
|
-->
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>display-url-api</artifactId>
|
|
<version>2.3.6</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>mailer</artifactId>
|
|
<version>408.vd726a_1130320</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>matrix-auth</artifactId>
|
|
<version>2.6.6</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>windows-slaves</artifactId>
|
|
<version>1.8.1</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>antisamy-markup-formatter</artifactId>
|
|
<version>1.1</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>matrix-project</artifactId>
|
|
<version>1.20</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>script-security</artifactId>
|
|
<version>1172.v35f6a_0b_8207e</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>1119.1121.vc43d0fc45561</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<!-- dependency of junit -->
|
|
<groupId>org.jenkins-ci.plugins.workflow</groupId>
|
|
<artifactId>workflow-api</artifactId>
|
|
<version>1144.v61c3180fa_03f</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<!-- dependency of junit -->
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>plugin-util-api</artifactId>
|
|
<version>2.16.0</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<!-- dependency of junit -->
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>bootstrap5-api</artifactId>
|
|
<version>5.1.3-6</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<!-- dependency of junit -->
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>checks-api</artifactId>
|
|
<version>1.7.4</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<!-- dependency of checks-api -->
|
|
<groupId>org.jenkins-ci.plugins.workflow</groupId>
|
|
<artifactId>workflow-support</artifactId>
|
|
<version>813.vb_d7c3d2984a_0</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<!-- dependency of junit and echarts-api -->
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>jackson2-api</artifactId>
|
|
<version>2.13.2.20220328-273.v11d70a_b_a_1a_52</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<!-- dependency of junit -->
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>echarts-api</artifactId>
|
|
<version>5.3.2-1</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<!-- dependency of jackson2-api -->
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>snakeyaml-api</artifactId>
|
|
<version>1.29.1</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<!-- dependency of script-security -->
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>caffeine-api</artifactId>
|
|
<version>2.9.3-65.v6a_47d0f4d1fe</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<!-- dependency of echarts-api and bootstrap4-api -->
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>jquery3-api</artifactId>
|
|
<version>3.6.0-2</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<!-- dependency of bootstrap5-api -->
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>popper2-api</artifactId>
|
|
<version>2.11.2-1</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<!-- dependency of bootstrap5-api -->
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>font-awesome-api</artifactId>
|
|
<version>6.0.0-1</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
|
|
<artifactItem>
|
|
<!-- dependency of junit and workflow-api -->
|
|
<groupId>org.jenkins-ci.plugins.workflow</groupId>
|
|
<artifactId>workflow-step-api</artifactId>
|
|
<version>625.vd896b_f445a_f8</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<!-- dependency of workflow-api -->
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>scm-api</artifactId>
|
|
<version>602.v6a_81757a_31d2</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<!-- dependency of junit and scm-api -->
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>structs</artifactId>
|
|
<version>308.v852b473a2b8c</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>bouncycastle-api</artifactId>
|
|
<version>2.26</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>command-launcher</artifactId>
|
|
<version>1.2</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>jdk-tool</artifactId>
|
|
<version>1.0</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>jaxb</artifactId>
|
|
<version>2.3.0</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.modules</groupId>
|
|
<artifactId>sshd</artifactId>
|
|
<version>3.236.ved5e1b_cb_50b_2</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.plugins</groupId>
|
|
<artifactId>trilead-api</artifactId>
|
|
<version>1.0.4</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>javax-activation-api</artifactId>
|
|
<version>1.2.0-2</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>io.jenkins.plugins</groupId>
|
|
<artifactId>javax-mail-api</artifactId>
|
|
<version>1.6.2-5</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
<artifactItem>
|
|
<groupId>org.jenkins-ci.modules</groupId>
|
|
<artifactId>instance-identity</artifactId>
|
|
<version>3.1</version>
|
|
<type>hpi</type>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/detached-plugins</outputDirectory>
|
|
<stripVersion>true</stripVersion>
|
|
<overWriteIfNewer>true</overWriteIfNewer>
|
|
<overWriteReleases>false</overWriteReleases>
|
|
<overWriteSnapshots>true</overWriteSnapshots>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<!-- see jetty-maven-plugin config and WebAppMain -->
|
|
<id>support-log-formatter</id>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<phase>generate-resources</phase>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>io.jenkins.lib</groupId>
|
|
<artifactId>support-log-formatter</artifactId>
|
|
<version>1.1</version>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
|
<stripVersion>true</stripVersion>
|
|
<overWriteIfNewer>true</overWriteIfNewer>
|
|
<overWriteReleases>false</overWriteReleases>
|
|
<overWriteSnapshots>true</overWriteSnapshots>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>classes-copy</id>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<phase>prepare-package</phase>
|
|
<configuration>
|
|
<tasks>
|
|
<move todir="${project.build.directory}/${project.build.finalName}">
|
|
<fileset dir="${project.build.directory}/classes">
|
|
<include name="executable/**/*.class" />
|
|
</fileset>
|
|
</move>
|
|
</tasks>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<!-- generate licenses.xml -->
|
|
<groupId>com.cloudbees</groupId>
|
|
<artifactId>maven-license-plugin</artifactId>
|
|
<!-- version specified in grandparent pom -->
|
|
<configuration>
|
|
<generateLicenseXml>${project.build.outputDirectory}/META-INF/licenses.xml</generateLicenseXml>
|
|
<generateLicenseHtml>${project.build.outputDirectory}/META-INF/licenses.html</generateLicenseHtml>
|
|
<attach>true</attach>
|
|
<inlineScript>filter {
|
|
// add Winstone since we are bundling it.
|
|
def d = project.dependencies.find { it.artifactId=="winstone" };
|
|
def a = mojo.artifactFactory.createProjectArtifact(d.groupId,d.artifactId,d.version);
|
|
def p = mojo.projectBuilder.buildFromRepository(a, project.getRemoteArtifactRepositories(), mojo.localRepository)
|
|
models.put(a,p);
|
|
}</inlineScript>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-maven-plugin</artifactId>
|
|
<version>9.4.46.v20220331</version>
|
|
<configuration>
|
|
<!--
|
|
Reload webapp when you hit ENTER. (See JETTY-282 for more)
|
|
-->
|
|
<reload>manual</reload>
|
|
<httpConnector>
|
|
<host>${host}</host>
|
|
<port>${port}</port>
|
|
</httpConnector>
|
|
<loginServices>
|
|
<loginService implementation="org.eclipse.jetty.security.HashLoginService">
|
|
<name>default</name>
|
|
<config>${basedir}/src/realm.properties</config>
|
|
</loginService>
|
|
</loginServices>
|
|
<systemProperties>
|
|
<systemProperty>
|
|
<name>JENKINS_HOME</name>
|
|
<value>${JENKINS_HOME}</value>
|
|
</systemProperty>
|
|
<systemProperty>
|
|
<!-- always reload views during debugging -->
|
|
<name>stapler.jelly.noCache</name>
|
|
<value>true</value>
|
|
</systemProperty>
|
|
<systemProperty>
|
|
<!-- show the stapler evaluation during execution -->
|
|
<name>stapler.trace</name>
|
|
<value>true</value>
|
|
</systemProperty>
|
|
<systemProperty>
|
|
<!-- show the full stack trace on errors (the oops page) -->
|
|
<name>jenkins.model.Jenkins.SHOW_STACK_TRACE</name>
|
|
<value>true</value>
|
|
</systemProperty>
|
|
<systemProperty>
|
|
<!-- always reload scripts during debugging -->
|
|
<name>hudson.script.noCache</name>
|
|
<value>true</value>
|
|
</systemProperty>
|
|
<systemProperty>
|
|
<!-- load view resources from the source directly, again for real time change -->
|
|
<name>stapler.resourcePath</name>
|
|
<value>../core/src/main/resources;</value>
|
|
</systemProperty>
|
|
<systemProperty>
|
|
<!-- enable the plugins in main by default -->
|
|
<name>hudson.bundled.plugins</name>
|
|
<!-- run "mvn install" once will generate the.hpl -->
|
|
<value>${project.build.directory}/${project.build.finalName}/WEB-INF/plugins/*.hpi</value>
|
|
</systemProperty>
|
|
<systemProperty>
|
|
<!-- stat collection pointless -->
|
|
<name>hudson.model.UsageStatistics.disabled</name>
|
|
<value>true</value>
|
|
</systemProperty>
|
|
<systemProperty>
|
|
<name>hudson.Main.development</name>
|
|
<value>true</value>
|
|
</systemProperty>
|
|
</systemProperties>
|
|
<webApp>
|
|
<!-- Allows resources to be reloaded, and enable nicer console logging. -->
|
|
<extraClasspath>${project.basedir}/../core/src/main/resources,${project.basedir}/../core/target/classes,${project.build.directory}/support-log-formatter.jar</extraClasspath>
|
|
<contextPath>${contextPath}</contextPath>
|
|
<configurationDiscovered>false</configurationDiscovered>
|
|
<!-- see https://wiki.eclipse.org/Jetty/Howto/Avoid_slow_deployment -->
|
|
<webInfIncludeJarPattern>NONE</webInfIncludeJarPattern>
|
|
</webApp>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<!-- sign war -->
|
|
<id>sign</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-jarsigner-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>signWar</id>
|
|
<goals>
|
|
<goal>sign</goal>
|
|
</goals>
|
|
<phase>pre-integration-test</phase>
|
|
<configuration>
|
|
<archive>${project.build.directory}/${project.build.finalName}.war</archive>
|
|
<arguments>
|
|
<argument>-tsa</argument>
|
|
<argument>http://timestamp.digicert.com</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!--
|
|
The following profiles are required to integration the node/yarn build into this maven build.
|
|
Hopefully we can push these profiles down into a parent pom.
|
|
-->
|
|
<profile>
|
|
<id>yarn-execution</id>
|
|
<activation>
|
|
<file>
|
|
<exists>package.json</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<!-- Version specified in grandparent POM -->
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-versions</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireMavenVersion>
|
|
<version>3.1.0</version>
|
|
</requireMavenVersion>
|
|
<requireJavaVersion>
|
|
<!-- let's encrypt certs used for https://updates.jenkins.io -->
|
|
<version>[1.8.0-101,]</version>
|
|
</requireJavaVersion>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.eirslett</groupId>
|
|
<artifactId>frontend-maven-plugin</artifactId>
|
|
<version>1.12.1</version>
|
|
<executions>
|
|
|
|
<execution>
|
|
<id>install node and yarn</id>
|
|
<goals>
|
|
<goal>install-node-and-yarn</goal>
|
|
</goals>
|
|
<phase>initialize</phase>
|
|
<configuration>
|
|
<nodeVersion>v${node.version}</nodeVersion>
|
|
<yarnVersion>v${yarn.version}</yarnVersion>
|
|
<nodeDownloadRoot>https://repo.jenkins-ci.org/nodejs-dist/</nodeDownloadRoot>
|
|
<!-- tried to create a mirror for yarnDownloadRoot but it did not work -->
|
|
</configuration>
|
|
</execution>
|
|
|
|
<execution>
|
|
<id>yarn install</id>
|
|
<goals>
|
|
<goal>yarn</goal>
|
|
</goals>
|
|
<phase>initialize</phase>
|
|
<configuration>
|
|
<!-- ensure only one concurrent 'yarn install' -->
|
|
<!-- when yarn cache is empty, multiple yarns performing network fetches frequently results in opaque errors -->
|
|
<arguments>--mutex network</arguments>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<execution>
|
|
<id>yarn build</id>
|
|
<goals>
|
|
<goal>yarn</goal>
|
|
</goals>
|
|
<phase>generate-sources</phase>
|
|
<configuration>
|
|
<arguments>build</arguments>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<execution>
|
|
<id>yarn test</id>
|
|
<goals>
|
|
<goal>yarn</goal>
|
|
</goals>
|
|
<phase>test</phase>
|
|
<configuration>
|
|
<arguments>test</arguments>
|
|
<skip>${skipTests}</skip>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<execution>
|
|
<id>yarn lint</id>
|
|
<goals>
|
|
<goal>yarn</goal>
|
|
</goals>
|
|
<phase>test</phase>
|
|
<configuration>
|
|
<arguments>lint</arguments>
|
|
<skip>${skipTests}</skip>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>clean-node</id>
|
|
<activation>
|
|
<property>
|
|
<name>cleanNode</name>
|
|
</property>
|
|
<file>
|
|
<exists>package.json</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<!-- Version specified in grandparent POM -->
|
|
<configuration>
|
|
<filesets>
|
|
<fileset>
|
|
<directory>node</directory>
|
|
<followSymlinks>false</followSymlinks>
|
|
</fileset>
|
|
<fileset>
|
|
<directory>node_modules</directory>
|
|
<followSymlinks>false</followSymlinks>
|
|
</fileset>
|
|
</filesets>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|