| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- <?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 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>cli</artifactId>
- <name>Jenkins cli</name>
- <description>Command line interface for Jenkins</description>
- <url>https://github.com/jenkinsci/jenkins</url>
- <properties>
- <mina-sshd.version>2.20.0</mina-sshd.version>
- <!-- Filled in by jacoco-maven-plugin -->
- <jacocoSurefireArgs />
- </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>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.apache.sshd</groupId>
- <artifactId>sshd-common</artifactId>
- <version>${mina-sshd.version}</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.apache.sshd</groupId>
- <artifactId>sshd-core</artifactId>
- <version>${mina-sshd.version}</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcprov-jdk18on</artifactId>
- <version>1.86</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.glassfish.tyrus.bundles</groupId>
- <artifactId>tyrus-standalone-client-jdk</artifactId>
- <version>2.2.2</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>annotation-indexer</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.jvnet.localizer</groupId>
- <artifactId>localizer</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>com.github.spotbugs</groupId>
- <artifactId>spotbugs-annotations</artifactId>
- <scope>provided</scope>
- <optional>true</optional>
- <exclusions>
- <exclusion>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.kohsuke</groupId>
- <artifactId>access-modifier-annotation</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <annotationProcessorPaths>
- <!-- Indexes @Restricted; version resolves from dependencyManagement (jenkins-bom) -->
- <path>
- <groupId>org.jenkins-ci</groupId>
- <artifactId>annotation-indexer</artifactId>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <!-- Version specified in grandparent POM -->
- <configuration>
- <argLine>@{jacocoSurefireArgs}</argLine>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>3.6.2</version>
- <executions>
- <execution>
- <goals>
- <goal>shade</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <createDependencyReducedPom>false</createDependencyReducedPom>
- <relocations>
- <relocation>
- <pattern>org</pattern>
- <shadedPattern>io.jenkins.cli.shaded.org</shadedPattern>
- </relocation>
- <relocation>
- <pattern>net</pattern>
- <shadedPattern>io.jenkins.cli.shaded.net</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com</pattern>
- <shadedPattern>io.jenkins.cli.shaded.com</shadedPattern>
- </relocation>
- <relocation>
- <pattern>jakarta</pattern>
- <shadedPattern>io.jenkins.cli.shaded.jakarta</shadedPattern>
- </relocation>
- </relocations>
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
- <mainClass>hudson.cli.CLI</mainClass>
- <manifestEntries>
- <Jenkins-CLI-Version>${project.version}</Jenkins-CLI-Version>
- </manifestEntries>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
- </transformers>
- <filters>
- <filter>
- <!-- signature might cause some trouble -->
- <artifact>*:*</artifact>
- <excludes>
- <exclude>META-INF/*.SF</exclude>
- <exclude>META-INF/*.DSA</exclude>
- <exclude>META-INF/*.RSA</exclude>
- <!--
- Multi-release variants are dead code in this uber jar: the shaded manifest does not declare
- Multi-Release: true and the versioned classes are not relocated, so the JVM can never load
- them. BouncyCastle et al. run on their base classes.
- -->
- <exclude>META-INF/versions/**</exclude>
- <!--
- annotation-indexer declares an annotation processor. Relocating it leaves this
- uber jar advertising io.jenkins.cli.shaded...AnnotationProcessorImpl, so javac
- runs it in every module that compiles against the CLI. It can never match
- anything, since the annotations it looks for are relocated too, but it does
- defeat compile avoidance. A runtime CLI jar has no compile-time processor.
- -->
- <exclude>META-INF/services/javax.annotation.processing.Processor</exclude>
- </excludes>
- </filter>
- </filters>
- </configuration>
- </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.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>
- <source>${project.build.directory}/generated-sources/localizer</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <profiles>
- <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>
|