Skip to content

Commit df27b56

Browse files
authored
Improve dependency management (#628)
* Improve dependency management * Rely solely on `Jackson/FasterXML` BOM for all dependencies. * Rely solely on `junit` BOM * Update logback-class to latest patch version. * Update maven command to prevent errant crypto-conditions dependency declaration from breaking this xrpl4j build
1 parent c62cce6 commit df27b56

File tree

2 files changed

+58
-69
lines changed

2 files changed

+58
-69
lines changed

.github/workflows/workflow.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
java-version: '8'
1919
cache: 'maven'
2020
- name: Build
21-
run: mvn dependency:go-offline install
21+
run: mvn clean install
2222
- name: Upload to Codecov
2323
uses: codecov/codecov-action@v3.1.0
2424
with:
@@ -38,7 +38,7 @@ jobs:
3838
java-version: '8'
3939
cache: 'maven'
4040
- name: Build
41-
run: mvn dependency:go-offline install
41+
run: mvn clean install
4242

4343
build_jdk_zulu_8:
4444
runs-on: ubuntu-latest
@@ -53,7 +53,7 @@ jobs:
5353
java-version: '8'
5454
cache: 'maven'
5555
- name: Build
56-
run: mvn dependency:go-offline install
56+
run: mvn clean install
5757

5858
build_jdk_temurin_other:
5959
runs-on: ubuntu-latest
@@ -72,7 +72,7 @@ jobs:
7272
java-version: ${{ matrix.java }}
7373
cache: 'maven'
7474
- name: Build
75-
run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true
75+
run: mvn clean install -Dmaven.javadoc.skip=true
7676

7777
build_jdk_temurin_non_us:
7878
runs-on: ubuntu-latest
@@ -87,7 +87,7 @@ jobs:
8787
cache: 'maven'
8888
# Maven install with JVM locale = de_DE
8989
- name: Build
90-
run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -DargLine="-Duser.language=de -Duser.country=DE"
90+
run: mvn clean install -Dmaven.javadoc.skip=true -DargLine="-Duser.language=de -Duser.country=DE"
9191

9292
build_android:
9393
runs-on: ubuntu-latest
@@ -105,7 +105,7 @@ jobs:
105105
- name: Setup Android SDK
106106
uses: android-actions/setup-android@v3
107107
- name: Build
108-
run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -Pandroid
108+
run: mvn clean install -Dmaven.javadoc.skip=true -Pandroid
109109

110110
build_devnet_its:
111111
runs-on: ubuntu-latest
@@ -120,7 +120,7 @@ jobs:
120120
java-version: '8'
121121
cache: 'maven'
122122
- name: Build
123-
run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -DuseDevnet
123+
run: mvn clean install -Dmaven.javadoc.skip=true -DuseDevnet
124124

125125
build_testnet_reporting_its:
126126
runs-on: ubuntu-latest
@@ -135,7 +135,7 @@ jobs:
135135
java-version: '8'
136136
cache: 'maven' # setup-java v4 includes maven caching
137137
- name: Build
138-
run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -DuseTestnet
138+
run: mvn clean install -Dmaven.javadoc.skip=true -DuseTestnet
139139

140140
build_testnet_clio_its:
141141
runs-on: ubuntu-latest
@@ -150,4 +150,4 @@ jobs:
150150
java-version: '8'
151151
cache: 'maven'
152152
- name: Build
153-
run: mvn dependency:go-offline install -Dmaven.javadoc.skip=true -DuseClioTestnet -DuseClioMainnet
153+
run: mvn clean install -Dmaven.javadoc.skip=true -DuseClioTestnet -DuseClioMainnet

pom.xml

Lines changed: 49 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<licenses>
1717
<license>
1818
<name>The Apache Software License, Version 2.0</name>
19-
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
19+
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
2020
<distribution>repo</distribution>
2121
</license>
2222
</licenses>
@@ -51,6 +51,13 @@
5151
<artifactId>xrpl4j-client</artifactId>
5252
<version>${project.version}</version>
5353
</dependency>
54+
<dependency>
55+
<groupId>com.fasterxml.jackson</groupId>
56+
<artifactId>jackson-bom</artifactId>
57+
<version>${jackson.version}</version>
58+
<type>pom</type>
59+
<scope>import</scope>
60+
</dependency>
5461
<dependency>
5562
<groupId>com.github.ben-manes.caffeine</groupId>
5663
<artifactId>caffeine</artifactId>
@@ -60,54 +67,66 @@
6067
<groupId>com.ripple.cryptoconditions</groupId>
6168
<artifactId>crypto-conditions</artifactId>
6269
<version>${cryptoconditions.version}</version>
70+
<exclusions>
71+
<exclusion>
72+
<groupId>com.fasterxml.jackson.core</groupId>
73+
<artifactId>jackson-core</artifactId>
74+
</exclusion>
75+
<exclusion>
76+
<groupId>com.fasterxml.jackson.core</groupId>
77+
<artifactId>jackson-annotations</artifactId>
78+
</exclusion>
79+
<exclusion>
80+
<groupId>com.fasterxml.jackson.core</groupId>
81+
<artifactId>jackson-databind</artifactId>
82+
</exclusion>
83+
</exclusions>
6384
</dependency>
6485
<dependency>
6586
<groupId>com.ripple.cryptoconditions</groupId>
6687
<artifactId>jackson-datatype-cryptoconditions</artifactId>
6788
<version>${cryptoconditions.version}</version>
89+
<exclusions>
90+
<exclusion>
91+
<groupId>com.fasterxml.jackson.core</groupId>
92+
<artifactId>jackson-core</artifactId>
93+
</exclusion>
94+
<exclusion>
95+
<groupId>com.fasterxml.jackson.core</groupId>
96+
<artifactId>jackson-annotations</artifactId>
97+
</exclusion>
98+
<exclusion>
99+
<groupId>com.fasterxml.jackson.core</groupId>
100+
<artifactId>jackson-databind</artifactId>
101+
</exclusion>
102+
</exclusions>
68103
</dependency>
69-
<!-- This is the highest version we can use if we want to support Java 8. See https://logback.qos.ch/download.html -->
104+
<!-- Version 1.3.x is the highest version we can use if we want to support Java 8.
105+
See https://logback.qos.ch/download.html -->
70106
<dependency>
71107
<groupId>ch.qos.logback</groupId>
72108
<artifactId>logback-classic</artifactId>
73-
<version>1.3.8</version>
109+
<version>1.3.15</version>
74110
</dependency>
75111
<dependency>
76112
<groupId>org.assertj</groupId>
77113
<artifactId>assertj-core</artifactId>
78114
<version>3.24.2</version>
79115
<scope>test</scope>
80116
</dependency>
117+
<dependency>
118+
<groupId>org.junit</groupId>
119+
<artifactId>junit-bom</artifactId>
120+
<version>5.13.1</version>
121+
<type>pom</type>
122+
<scope>import</scope>
123+
</dependency>
81124
<dependency>
82125
<groupId>org.skyscreamer</groupId>
83126
<artifactId>jsonassert</artifactId>
84127
<version>1.5.1</version>
85128
<scope>test</scope>
86129
</dependency>
87-
<dependency>
88-
<groupId>org.junit.jupiter</groupId>
89-
<artifactId>junit-jupiter</artifactId>
90-
<version>${junit-jupiter.version}</version>
91-
<scope>test</scope>
92-
</dependency>
93-
<dependency>
94-
<groupId>org.junit.jupiter</groupId>
95-
<artifactId>junit-jupiter-engine</artifactId>
96-
<version>${junit-jupiter.version}</version>
97-
<scope>test</scope>
98-
</dependency>
99-
<dependency>
100-
<groupId>org.junit.jupiter</groupId>
101-
<artifactId>junit-jupiter-api</artifactId>
102-
<version>${junit-jupiter.version}</version>
103-
<scope>test</scope>
104-
</dependency>
105-
<dependency>
106-
<groupId>org.junit.jupiter</groupId>
107-
<artifactId>junit-jupiter-params</artifactId>
108-
<version>${junit-jupiter.version}</version>
109-
<scope>test</scope>
110-
</dependency>
111130
<dependency>
112131
<groupId>org.mockito</groupId>
113132
<artifactId>mockito-core</artifactId>
@@ -125,41 +144,11 @@
125144
<artifactId>slf4j-api</artifactId>
126145
<version>${slf4j.version}</version>
127146
</dependency>
128-
<dependency>
129-
<groupId>com.fasterxml.jackson.core</groupId>
130-
<artifactId>jackson-annotations</artifactId>
131-
<version>${jackson.version}</version>
132-
</dependency>
133-
<dependency>
134-
<groupId>com.fasterxml.jackson.core</groupId>
135-
<artifactId>jackson-core</artifactId>
136-
<version>${jackson.version}</version>
137-
</dependency>
138-
<dependency>
139-
<groupId>com.fasterxml.jackson.core</groupId>
140-
<artifactId>jackson-databind</artifactId>
141-
<version>${jackson.version}</version>
142-
</dependency>
143-
<dependency>
144-
<groupId>com.fasterxml.jackson.datatype</groupId>
145-
<artifactId>jackson-datatype-guava</artifactId>
146-
<version>${jackson.version}</version>
147-
</dependency>
148147
<dependency>
149148
<groupId>com.google.guava</groupId>
150149
<artifactId>guava</artifactId>
151150
<version>${guava.version}</version>
152151
</dependency>
153-
<dependency>
154-
<groupId>com.fasterxml.jackson.datatype</groupId>
155-
<artifactId>jackson-datatype-jdk8</artifactId>
156-
<version>${jackson.version}</version>
157-
</dependency>
158-
<dependency>
159-
<groupId>com.fasterxml.jackson.datatype</groupId>
160-
<artifactId>jackson-datatype-jsr310</artifactId>
161-
<version>${jackson.version}</version>
162-
</dependency>
163152
<dependency>
164153
<groupId>com.jayway.jsonpath</groupId>
165154
<artifactId>json-path-assert</artifactId>
@@ -209,7 +198,7 @@
209198
<dependency>
210199
<groupId>org.testcontainers</groupId>
211200
<artifactId>testcontainers</artifactId>
212-
<version>1.17.6</version>
201+
<version>1.20.2</version>
213202
<scope>test</scope>
214203
</dependency>
215204
</dependencies>
@@ -289,8 +278,8 @@
289278
<checkstyle.config.location>checkstyle.xml</checkstyle.config.location>
290279
<checkstyle.violationSeverity>warning</checkstyle.violationSeverity>
291280

292-
<cryptoconditions.version>1.0.4</cryptoconditions.version>
293-
<jackson.version>2.14.2</jackson.version>
281+
<cryptoconditions.version>1.0.5</cryptoconditions.version>
282+
<jackson.version>2.14.3</jackson.version>
294283
<feign.version>12.3</feign.version>
295284
<slf4j.version>2.0.7</slf4j.version>
296285
<junit-jupiter.version>5.10.1</junit-jupiter.version>

0 commit comments

Comments
 (0)