| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- The MIT License
- Copyright (c) 2004-2010, Sun Microsystems, Inc., Kohsuke Kawaguchi,
- Daniel Dyer, Erik Ramfelt, Stephen Connolly, Tom Huybrechts, Alan Harder
- 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.main</groupId>
- <artifactId>jenkins-parent</artifactId>
- <version>${revision}${changelist}</version>
- </parent>
- <artifactId>jenkins-core</artifactId>
- <name>Jenkins core</name>
- <description>Jenkins core code and view files to render HTML.</description>
- <url>https://github.com/jenkinsci/jenkins</url>
- <properties>
- <!-- Minimum Remoting version, which is tested for API compatibility, duplicated so that renovate only updates the latest remoting version property -->
- <remoting.minimum.supported.version>3256.3258.v858f3c9a_f69d</remoting.minimum.supported.version>
- <!-- Filled in by jacoco-maven-plugin -->
- <jacocoSurefireArgs />
- <!-- Not managed by jenkins-bom, so referenced from annotationProcessorPaths via this property -->
- <core-annotation-processors.version>59.ve181f58722c6</core-annotation-processors.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>
- <dependency>
- <groupId>org.xmlunit</groupId>
- <artifactId>xmlunit-bom</artifactId>
- <version>2.14.0</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>
- </dependency>
- <dependency>
- <groupId>args4j</groupId>
- <artifactId>args4j</artifactId>
- </dependency>
- <dependency>
- <groupId>com.github.spotbugs</groupId>
- <artifactId>spotbugs-annotations</artifactId>
- <exclusions>
- <exclusion>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <exclusions>
- <exclusion>
- <groupId>com.google.errorprone</groupId>
- <artifactId>error_prone_annotations</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.google.j2objc</groupId>
- <artifactId>j2objc-annotations</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.checkerframework</groupId>
- <artifactId>checker-qual</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.google.inject</groupId>
- <artifactId>guice</artifactId>
- <exclusions>
- <exclusion>
- <!-- Provided by spring-aop via spring-security-web -->
- <groupId>aopalliance</groupId>
- <artifactId>aopalliance</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.txw2</groupId>
- <artifactId>txw2</artifactId>
- <exclusions>
- <!-- StAX is now bundled in the JRE -->
- <exclusion>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <exclusions>
- <exclusion>
- <groupId>xmlpull</groupId>
- <artifactId>xmlpull</artifactId>
- </exclusion>
- <exclusion>
- <groupId>xpp3</groupId>
- <artifactId>xpp3_min</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- </dependency>
- <dependency>
- <!-- Jenkins core does not use this directly, but it remains a transitive dependency through BeanUtils, Jelly, and JSON-lib, and plugins rely on core providing it. -->
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
- <dependency>
- <groupId>io.jenkins.tools</groupId>
- <artifactId>bridge-method-annotation</artifactId>
- <version>${bridge-method-injector.version}</version>
- </dependency>
- <dependency>
- <!-- needed by Jelly -->
- <groupId>jakarta.servlet.jsp.jstl</groupId>
- <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
- <exclusions>
- <exclusion>
- <groupId>jakarta.el</groupId>
- <artifactId>jakarta.el-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jakarta.servlet</groupId>
- <artifactId>jakarta.servlet-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jakarta.xml.bind</groupId>
- <artifactId>jakarta.xml.bind-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>jaxen</groupId>
- <artifactId>jaxen</artifactId>
- <exclusions>
- <exclusion>
- <groupId>dom4j</groupId>
- <artifactId>dom4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>jdom</groupId>
- <artifactId>jdom</artifactId>
- </exclusion>
- <exclusion>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- </exclusion>
- <exclusion>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- </exclusion>
- <exclusion>
- <groupId>xom</groupId>
- <artifactId>xom</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <!-- Groovy shell uses this, but it uses an optional dependency. Not included into BOM. -->
- <groupId>jline</groupId>
- <artifactId>jline</artifactId>
- <version>2.14.6</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>net.java.dev.jna</groupId>
- <artifactId>jna</artifactId>
- </dependency>
- <dependency>
- <groupId>net.java.sezpoz</groupId>
- <artifactId>sezpoz</artifactId>
- </dependency>
- <dependency>
- <groupId>net.jcip</groupId>
- <artifactId>jcip-annotations</artifactId>
- </dependency>
- <dependency>
- <groupId>org.antlr</groupId>
- <artifactId>antlr4-runtime</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-fileupload2-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-fileupload2-jakarta-servlet5</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-all</artifactId>
- </dependency>
- <dependency>
- <!-- Groovy shell uses this, but it doesn't declare the dependency -->
- <groupId>org.fusesource.jansi</groupId>
- <artifactId>jansi</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>annotation-indexer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>commons-jelly-tags-fmt</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>commons-jelly-tags-xml</artifactId>
- <exclusions>
- <exclusion>
- <groupId>jaxen</groupId>
- <artifactId>jaxen</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.dom4j</groupId>
- <artifactId>dom4j</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>commons-jexl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>crypto-util</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>memory-monitor</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>symbol-annotation</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>task-reactor</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>version-number</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci.main</groupId>
- <artifactId>websocket-spi</artifactId>
- <version>${project.version}</version>
- <exclusions>
- <!-- Provided by Jetty/Winstone -->
- <exclusion>
- <groupId>jakarta.servlet</groupId>
- <artifactId>jakarta.servlet-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.jfree</groupId>
- <artifactId>jfreechart</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jvnet.hudson</groupId>
- <artifactId>commons-jelly-tags-define</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jvnet.localizer</groupId>
- <artifactId>localizer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jvnet.winp</groupId>
- <artifactId>winp</artifactId>
- </dependency>
- <dependency>
- <groupId>org.kohsuke</groupId>
- <artifactId>access-modifier-annotation</artifactId>
- </dependency>
- <dependency>
- <groupId>org.kohsuke</groupId>
- <artifactId>windows-package-checker</artifactId>
- </dependency>
- <dependency>
- <groupId>org.kohsuke.metainf-services</groupId>
- <artifactId>metainf-services</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.kohsuke.stapler</groupId>
- <artifactId>json-lib</artifactId>
- </dependency>
- <dependency>
- <groupId>org.kohsuke.stapler</groupId>
- <artifactId>stapler</artifactId>
- </dependency>
- <dependency>
- <groupId>org.kohsuke.stapler</groupId>
- <artifactId>stapler-adjunct-codemirror</artifactId>
- </dependency>
- <dependency>
- <groupId>org.kohsuke.stapler</groupId>
- <artifactId>stapler-groovy</artifactId>
- <exclusions>
- <exclusion>
- <groupId>commons-jelly</groupId>
- <artifactId>commons-jelly</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-jexl</groupId>
- <artifactId>commons-jexl</artifactId>
- </exclusion>
- <exclusion>
- <!-- we bundle groovy-all -->
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jvnet.hudson</groupId>
- <artifactId>commons-jexl</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>log4j-over-slf4j</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.security</groupId>
- <artifactId>spring-security-web</artifactId>
- <exclusions>
- <exclusion>
- <groupId>io.micrometer</groupId>
- <artifactId>micrometer-observation</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jcl</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <!--
- still including the xpp3 driver to ensure backwards compatibilty
- for other plugins that may be depending on it. Not included into BOM
- -->
- <groupId>xpp3</groupId>
- <artifactId>xpp3</artifactId>
- <version>1.1.4c</version>
- </dependency>
- <dependency>
- <groupId>jakarta.servlet</groupId>
- <artifactId>jakarta.servlet-api</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <!-- Also listed in annotationProcessorPaths above; kept as a dependency so that
- jenkins-core continues to ship META-INF/services/javax.annotation.processing.Processor
- for plugin builds. -->
- <groupId>org.jenkins-ci</groupId>
- <artifactId>core-annotation-processors</artifactId>
- <version>${core-annotation-processors.version}</version>
- <scope>provided</scope>
- <optional>true</optional>
- </dependency>
- <!-- offline profiler API to put in the classpath if 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>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>test-annotations</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.xmlunit</groupId>
- <artifactId>xmlunit-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.xmlunit</groupId>
- <artifactId>xmlunit-matchers</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <!--
- Declare the annotation processors explicitly rather than letting javac discover them by
- scanning the whole compile classpath.
- -->
- <annotationProcessorPaths>
- <path>
- <groupId>net.java.sezpoz</groupId>
- <artifactId>sezpoz</artifactId>
- </path>
- <path>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>annotation-indexer</artifactId>
- </path>
- <path>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>core-annotation-processors</artifactId>
- <version>${core-annotation-processors.version}</version>
- </path>
- <path>
- <groupId>org.kohsuke</groupId>
- <artifactId>windows-package-checker</artifactId>
- </path>
- <path>
- <groupId>org.kohsuke.metainf-services</groupId>
- <artifactId>metainf-services</artifactId>
- </path>
- <path>
- <groupId>org.kohsuke.stapler</groupId>
- <artifactId>stapler</artifactId>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </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">
- <!-- Library plugins -->
- <exclude>com.fasterxml.jackson.*</exclude>
- <exclude>com.github.ben-manes.caffeine:caffeine</exclude>
- <exclude>com.github.jnr:jnr-posix</exclude>
- <exclude>com.github.mwiede:jsch</exclude>
- <exclude>com.google.code.gson:gson</exclude>
- <exclude>com.jayway.jsonpath:json-path</exclude>
- <exclude>commons-httpclient:commons-httpclient</exclude>
- <exclude>com.sun.activation:javax.activation</exclude>
- <exclude>com.sun.mail:javax.mail</exclude>
- <exclude>com.sun.xml.bind:jaxb-impl</exclude>
- <exclude>io.jsonwebtoken</exclude>
- <!-- Used in unit tests, so exclude from compile and runtime scope only -->
- <exclude>jakarta.activation:jakarta.activation-api:*:jar:compile</exclude>
- <exclude>jakarta.activation:jakarta.activation-api:*:jar:runtime</exclude>
- <exclude>jakarta.mail:jakarta.mail-api</exclude>
- <exclude>javax.activation:javax.activation-api</exclude>
- <exclude>javax.mail:javax.mail-api</exclude>
- <exclude>javax.xml.bind:jaxb-api</exclude>
- <exclude>joda-time:joda-time</exclude>
- <!-- Used in unit tests, so exclude from compile and runtime scope only -->
- <exclude>net.bytebuddy:byte-buddy:*:jar:compile</exclude>
- <exclude>net.bytebuddy:byte-buddy:*:jar:runtime</exclude>
- <exclude>net.i2p.crypto:eddsa</exclude>
- <exclude>net.minidev</exclude>
- <exclude>org.apache.commons:commons-lang3</exclude>
- <exclude>org.apache.commons:commons-text</exclude>
- <exclude>org.apache.httpcomponents</exclude>
- <exclude>org.bouncycastle</exclude>
- <exclude>org.eclipse.angus:angus-activation</exclude>
- <exclude>org.eclipse.angus:angus-mail</exclude>
- <exclude>org.glassfish.jersey.*</exclude>
- <exclude>org.json:json</exclude>
- <exclude>org.ow2.asm</exclude>
- <exclude>org.yaml:snakeyaml</exclude>
- </excludes>
- </bannedDependencies>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <!-- Version specified in grandparent POM -->
- <executions>
- <execution>
- <id>add-source</id>
- <goals>
- <goal>add-source</goal>
- </goals>
- <phase>generate-sources</phase>
- <configuration>
- <sources>
- <!-- The antlr4 sources are found automatically by the maven compiler,
- but listing them explicitly avoids a missing classpath entry when importing the maven project in eclipse. -->
- <source>${project.build.directory}/generated-sources/antlr4</source>
- <source>${project.build.directory}/generated-sources/localizer</source>
- <source>${project.build.directory}/generated-sources/taglib-interface</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.jenkins-ci.tools</groupId>
- <artifactId>maven-hpi-plugin</artifactId>
- <!-- Version specified in grandparent POM -->
- <executions>
- <execution>
- <goals>
- <goal>generate-taglib-interface</goal>
- <goal>record-core-location</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>io.jenkins.tools</groupId>
- <artifactId>bridge-method-injector</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>process</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.jvnet.localizer</groupId>
- <artifactId>localizer-maven-plugin</artifactId>
- <!-- version specified in grandparent pom -->
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <fileMask>Messages.properties</fileMask>
- <outputDirectory>target/generated-sources/localizer</outputDirectory>
- <accessModifierAnnotations>true</accessModifierAnnotations>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.kohsuke</groupId>
- <artifactId>access-modifier-checker</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>enforce</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.antlr</groupId>
- <artifactId>antlr4-maven-plugin</artifactId>
- <!-- version specified in grandparent pom -->
- <executions>
- <execution>
- <id>antlr</id>
- <goals>
- <goal>antlr4</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <!-- Version specified in grandparent POM -->
- <executions>
- <execution>
- <goals>
- <goal>properties</goal>
- </goals>
- </execution>
- <execution>
- <id>winsw</id>
- <goals>
- <!-- we use copy as this is a dependency from outside the reactor -->
- <goal>copy</goal>
- </goals>
- <phase>generate-resources</phase>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>com.sun.winsw</groupId>
- <artifactId>winsw</artifactId>
- <version>2.9.0</version>
- <classifier>net4</classifier>
- <type>exe</type>
- <outputDirectory>${project.build.outputDirectory}/windows-service</outputDirectory>
- <destFileName>jenkins.exe</destFileName>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <!-- Version specified in grandparent POM -->
- <executions>
- <execution>
- <!--
- License headers make up the majority of the bytes of the localization and Jelly view files
- (the license is retained in the source files and in the LICENSE.txt shipped in the war, just
- as it is not retained in compiled class files), so strip comments from the packaged jar.
- -->
- <id>strip-license-comments</id>
- <goals>
- <goal>run</goal>
- </goals>
- <phase>prepare-package</phase>
- <configuration>
- <skip>${strip.license.comments.skip}</skip>
- <target>
- <!-- Only the leading comment block, to leave any semantically interesting comments elsewhere in the file untouched -->
- <replaceregexp encoding="UTF-8" match="\A(?:[ \t]*(?:[#!].*)?\r?\n)+" replace="">
- <fileset dir="${project.build.outputDirectory}" includes="**/*.properties" />
- </replaceregexp>
- <!-- Only license comments, to leave any semantically interesting comments untouched -->
- <replaceregexp encoding="UTF-8" flags="g" match="<!--(?:(?!-->)[\s\S])*?The MIT License[\s\S]*?-->" replace="">
- <fileset dir="${project.build.outputDirectory}" includes="**/*.jelly" />
- </replaceregexp>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <!-- Version specified in grandparent POM -->
- <configuration>
- <!-- Make sure to keep the directives in test/pom.xml and war/pom.xml in sync with these. -->
- <argLine>@{jacocoSurefireArgs} --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED -javaagent:"${org.mockito:mockito-core:jar}"</argLine>
- <reuseForks>false</reuseForks>
- </configuration>
- </plugin>
- <plugin>
- <!-- set main class -->
- <artifactId>maven-jar-plugin</artifactId>
- <!-- version specified in grandparent pom -->
- <configuration>
- <archive>
- <manifest>
- <mainClass>hudson.Main</mainClass>
- <addClasspath>true</addClasspath>
- <classpathPrefix />
- </manifest>
- </archive>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <reporting>
- <plugins>
- <plugin>
- <!-- generate Jelly tag lib documentation -->
- <groupId>io.jenkins.tools.maven</groupId>
- <artifactId>stapler-maven-plugin</artifactId>
- <!-- Version specified in grandparent POM -->
- <configuration>
- <patterns>
- <pattern>/lib/.*</pattern>
- </patterns>
- </configuration>
- </plugin>
- <plugin>
- <!-- skip slow dependency analysis -->
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <!-- Version specified in grandparent POM -->
- <configuration>
- <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
- </configuration>
- </plugin>
- </plugins>
- </reporting>
- <profiles>
- <profile>
- <id>debug</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- <profile>
- <id>enable-jacoco</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <!-- Version specified in parent POM -->
- <executions>
- <execution>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <propertyName>jacocoSurefireArgs</propertyName>
- <includes>
- <include>hudson/*</include>
- <include>hudson/**/*</include>
- <include>jenkins/*</include>
- <include>jenkins/**/*</include>
- <include>org/jenkins/**/*</include>
- </includes>
- <excludes>
- <exclude>**/Messages.class</exclude>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- </project>
|