mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-10-26 19:15:09 +00:00
673 lines
24 KiB
XML
673 lines
24 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>2.1413.v65a_1fb_5a_dd02</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>GitHub</system>
|
|
<url>https://github.com/jenkinsci/jenkins/issues</url>
|
|
</issueManagement>
|
|
|
|
<properties>
|
|
<revision>2.586</revision>
|
|
<changelist>-SNAPSHOT</changelist>
|
|
<project.build.outputTimestamp>2026-10-06T06:08:30Z</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>3391.va_37fa_a_305d6d</remoting.version>
|
|
|
|
<spotbugs.effort>Max</spotbugs.effort>
|
|
<spotbugs.threshold>Medium</spotbugs.threshold>
|
|
|
|
<access-modifier.version>1.35</access-modifier.version>
|
|
<antlr.version>4.13.2</antlr.version>
|
|
<bridge-method-injector.version>1.32</bridge-method-injector.version>
|
|
<spotless.check.skip>false</spotless.check.skip>
|
|
<ban-junit4-imports.skip>false</ban-junit4-imports.skip>
|
|
<!-- Opt-out switches for steps that only matter when producing a release artifact.
|
|
Set to true by the quick-build profile below; see CONTRIBUTING.md. -->
|
|
<strip.license.comments.skip>false</strip.license.comments.skip>
|
|
<!-- Skips node installation, "yarn install" and "yarn build". Only safe when
|
|
war/src/main/webapp/jsbundles is already populated from an earlier build. -->
|
|
<skip.frontend>false</skip.frontend>
|
|
<winstone.version>8.1053.v85e6c1a_3b_278</winstone.version>
|
|
<node.version>24.21.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>
|
|
<environmentVariables>
|
|
<DISABLE_SYMLINK_TESTS>${disable.symlink.tests}</DISABLE_SYMLINK_TESTS>
|
|
</environmentVariables>
|
|
</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>io.jenkins.tools</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>14.3.0</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.15</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>-Dspotless.check.skip 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>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>debug</id>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
</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>
|
|
<!--
|
|
Merged by id with the quick-build profile in the parent POM, which already skips the
|
|
linters and static analysis. These additions turn off work that only matters when
|
|
producing a release artifact, so a development build spends its time compiling.
|
|
-->
|
|
<id>quick-build</id>
|
|
<properties>
|
|
<!-- Only shrinks the packaged jar. -->
|
|
<strip.license.comments.skip>true</strip.license.comments.skip>
|
|
<remoteresources.skip>true</remoteresources.skip>
|
|
<!--
|
|
The parent POM cannot set this because a plugin may be producing a test jar, but
|
|
nothing in this repository consumes one, so there is nothing to compile tests for.
|
|
Note that this means test classes are absent afterwards: drop the profile (or pass
|
|
-Dmaven.test.skip=false) before running tests against the build output.
|
|
-->
|
|
<maven.test.skip>true</maven.test.skip>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>io.jenkins.tools.maven</groupId>
|
|
<artifactId>license-maven-plugin</artifactId>
|
|
<!-- Version specified in parent POM -->
|
|
<executions>
|
|
<execution>
|
|
<!--
|
|
This plugin has no skip parameter, so unbind it instead. It resolves and
|
|
builds the POM of every transitive dependency to produce META-INF/licenses.xml,
|
|
which is only read by the "About Jenkins" page; AboutJenkins#getLicensesURL
|
|
returns null when it is absent and the view already handles that.
|
|
-->
|
|
<id>default</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</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>2.0.2</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>
|
|
<skip>${skip.frontend}</skip>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>yarn install</id>
|
|
<goals>
|
|
<goal>corepack</goal>
|
|
</goals>
|
|
<phase>initialize</phase>
|
|
<configuration>
|
|
<arguments>yarn install</arguments>
|
|
<skip>${skip.frontend}</skip>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>yarn build</id>
|
|
<goals>
|
|
<goal>corepack</goal>
|
|
</goals>
|
|
<phase>generate-sources</phase>
|
|
<configuration>
|
|
<arguments>yarn build</arguments>
|
|
<skip>${skip.frontend}</skip>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>yarn test</id>
|
|
<goals>
|
|
<goal>corepack</goal>
|
|
</goals>
|
|
<phase>test</phase>
|
|
<configuration>
|
|
<arguments>yarn test</arguments>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<!-- Version specified in grandparent POM -->
|
|
<configuration>
|
|
<!--
|
|
The node toolchain and the downloaded packages are deliberately left alone:
|
|
deleting them costs several seconds of its own and then forces the node install
|
|
and "yarn install" to start from nothing on every build, and since .yarnrc.yml
|
|
sets enableGlobalCache: false, .yarn holds the only copy of the package cache.
|
|
"yarn install" runs at initialize on every build, so stale dependencies still
|
|
heal themselves. Use -Dclean.node to delete them anyway.
|
|
-->
|
|
<filesets>
|
|
<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>2.0.2</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>
|
|
<execution>
|
|
<id>prettier</id>
|
|
<goals>
|
|
<goal>corepack</goal>
|
|
</goals>
|
|
<phase>test</phase>
|
|
<configuration>
|
|
<arguments>yarn exec prettier --check .</arguments>
|
|
<skip>${yarn.lint.skip}</skip>
|
|
<testFailureIgnore>false</testFailureIgnore>
|
|
</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>2.0.2</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>
|
|
<profile>
|
|
<!-- When changing branches that touch frontend assets this can be a good idea but not for every fresh build. -->
|
|
<id>clean-node</id>
|
|
<activation>
|
|
<property>
|
|
<name>clean.node</name>
|
|
</property>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<!-- Version specified in grandparent POM -->
|
|
<configuration>
|
|
<!-- Replaced rather than appended, because merging repeated <fileset> elements
|
|
across profiles is not well defined. -->
|
|
<filesets combine.self="override">
|
|
<fileset>
|
|
<directory>war/src/main/webapp/jsbundles</directory>
|
|
<followSymlinks>false</followSymlinks>
|
|
</fileset>
|
|
<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>
|
|
</filesets>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>disable-symlink-tests</id>
|
|
<activation>
|
|
<os>
|
|
<family>windows</family>
|
|
</os>
|
|
<property>
|
|
<name>!env.CI</name>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<disable.symlink.tests>true</disable.symlink.tests>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|