introduce a BOM for Jenkins dependencies that can be consumed by plugins

This commit is contained in:
James Nord 2019-08-09 10:08:39 +01:00
parent 17d45ff1ae
commit 7035dafb3f
5 changed files with 50 additions and 108 deletions

View File

@ -18,6 +18,18 @@
<findbugs.threshold>Medium</findbugs.threshold>
</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>org.powermock</groupId>

View File

@ -44,6 +44,19 @@ THE SOFTWARE.
<groovy.version>2.4.12</groovy.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>org.jenkins-ci.plugins.icon-shim</groupId>
@ -53,7 +66,6 @@ THE SOFTWARE.
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>remoting</artifactId>
<!-- specified in the parent -->
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>

113
pom.xml
View File

@ -49,6 +49,7 @@ THE SOFTWARE.
</licenses>
<modules>
<module>bom</module>
<module>core</module>
<module>war</module>
<module>test-pom</module>
@ -90,17 +91,11 @@ THE SOFTWARE.
<project.patchManagement.url>https://api.github.com</project.patchManagement.url>
<patch.tracker.serverId>jenkins-jira</patch.tracker.serverId>
<guavaVersion>11.0.1</guavaVersion>
<slf4jVersion>1.7.26</slf4jVersion>
<maven-plugin.version>2.14</maven-plugin.version>
<matrix-auth.version>2.3</matrix-auth.version>
<matrix-project.version>1.14</matrix-project.version>
<sorcerer.version>0.11</sorcerer.version>
<animal.sniffer.skip>${skipTests}</animal.sniffer.skip>
<access-modifier.version>1.14</access-modifier.version>
<access-modifier-annotation.version>${access-modifier.version}</access-modifier-annotation.version> <!-- differing only where needed for timestamped snapshots -->
<access-modifier-checker.version>${access-modifier.version}</access-modifier-checker.version>
<java.level>8</java.level>
<changelog.url>https://jenkins.io/changelog</changelog.url>
@ -116,6 +111,10 @@ THE SOFTWARE.
<findbugs.effort>Max</findbugs.effort>
<findbugs.threshold>High</findbugs.threshold>
<findbugs.excludeFilterFile>${project.basedir}/../src/findbugs/findbugs-excludes.xml</findbugs.excludeFilterFile>
<!-- XXX keep these in sync -->
<access-modifier-annotation.version>1.14</access-modifier-annotation.version>
<access-modifier-checker.version>1.14</access-modifier-checker.version>
</properties>
<!-- Note that the 'repositories' and 'pluginRepositories' blocks below are actually copy-pasted
@ -137,24 +136,8 @@ THE SOFTWARE.
</pluginRepositories>
<dependencyManagement>
<!-- any dependecies that can be used by plugins must be defined in the bom and not here -->
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.9.14</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
@ -178,78 +161,6 @@ THE SOFTWARE.
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1-jenkins-1</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.main</groupId>
<artifactId>remoting</artifactId>
<version>${remoting.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guavaVersion}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-testlib</artifactId>
<version>${guavaVersion}</version>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.0</version>
</dependency>
<!-- SLF4J used in maven-plugin and core -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4jVersion}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>${slf4jVersion}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4jVersion}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
<scope>provided</scope><!-- by jcl-over-slf4j -->
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4jVersion}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>provided</scope><!-- by log4j-over-slf4j -->
</dependency>
<dependency>
<groupId>org.samba.jcifs</groupId>
<artifactId>jcifs</artifactId>
<version>1.3.17-kohsuke-1</version>
</dependency>
<dependency>
<groupId>org.kohsuke</groupId>
<artifactId>access-modifier-annotation</artifactId>
<version>${access-modifier-annotation.version}</version>
</dependency>
<dependency>
<!-- make sure these old servlet versions are never used by us or by any plugins which end up depending on this version -->
<!-- plugin-pom tries to fudge servlet support to be compatible with cores < 2.0 and JTH which needs 3.x for jetty, and ends up causing issues with some IDEs -->
@ -268,18 +179,6 @@ THE SOFTWARE.
<scope>provided</scope>
<optional>true</optional>
</dependency>
<!-- TODO also add commons-logging and log4j -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.12</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci</groupId>
<artifactId>annotation-indexer</artifactId>
<version>1.12</version>
</dependency>
</dependencies>
</dependencyManagement>

View File

@ -45,6 +45,13 @@ THE SOFTWARE.
<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>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>

View File

@ -45,6 +45,18 @@ THE SOFTWARE.
<yarn.version>0.24.5</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>org.jenkins-ci</groupId>