Skip to content

Commit 0069c2d

Browse files
committed
By Kuntal : feat(bom) add Maven BOM module for swagger-core (#4966)
1 parent 4954f52 commit 0069c2d

File tree

3 files changed

+133
-0
lines changed

3 files changed

+133
-0
lines changed

README.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,63 @@ Of course if you don't want to build locally you can grab artifacts from maven c
148148

149149
`https://repo1.maven.org/maven2/io/swagger/core/`
150150

151+
### Maven BOM
152+
153+
To manage Swagger dependencies consistently across modules, import the Swagger Core BOM and omit versions on individual Swagger dependencies:
154+
155+
```xml
156+
<dependencyManagement>
157+
<dependencies>
158+
<dependency>
159+
<groupId>io.swagger.core.v3</groupId>
160+
<artifactId>swagger-bom</artifactId>
161+
<version>${swagger-openapiv3.version}</version>
162+
<type>pom</type>
163+
<scope>import</scope>
164+
</dependency>
165+
</dependencies>
166+
167+
</dependencyManagement>
168+
169+
<!-- Then declare Swagger dependencies without versions -->
170+
<dependencies>
171+
<dependency>
172+
<groupId>io.swagger.core.v3</groupId>
173+
<artifactId>swagger-annotations</artifactId>
174+
</dependency>
175+
<dependency>
176+
<groupId>io.swagger.core.v3</groupId>
177+
<artifactId>swagger-models</artifactId>
178+
</dependency>
179+
<dependency>
180+
<groupId>io.swagger.core.v3</groupId>
181+
<artifactId>swagger-core</artifactId>
182+
</dependency>
183+
<dependency>
184+
<groupId>io.swagger.core.v3</groupId>
185+
<artifactId>swagger-integration</artifactId>
186+
</dependency>
187+
<dependency>
188+
<groupId>io.swagger.core.v3</groupId>
189+
<artifactId>swagger-jaxrs2</artifactId>
190+
</dependency>
191+
<!-- Optional servlet initializer helpers -->
192+
<dependency>
193+
<groupId>io.swagger.core.v3</groupId>
194+
<artifactId>swagger-jaxrs2-servlet-initializer</artifactId>
195+
</dependency>
196+
<dependency>
197+
<groupId>io.swagger.core.v3</groupId>
198+
<artifactId>swagger-jaxrs2-servlet-initializer-v2</artifactId>
199+
</dependency>
200+
<!-- Optional support for Java 17 module-path consumers -->
201+
<dependency>
202+
<groupId>io.swagger.core.v3</groupId>
203+
<artifactId>swagger-java17-support</artifactId>
204+
</dependency>
205+
</dependencies>
206+
```
207+
151208
## Sample Apps
152209
The samples have moved to [a new repository](https://github.com/swagger-api/swagger-samples/tree/2.0) and contain various integrations and configurations.
153210

modules/swagger-bom/pom.xml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
2+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<groupId>io.swagger.core.v3</groupId>
6+
<artifactId>swagger-bom</artifactId>
7+
<version>2.2.38-SNAPSHOT</version>
8+
<packaging>pom</packaging>
9+
10+
<name>swagger-bom</name>
11+
<description>Bill of Materials (BOM) for Swagger Core (OpenAPI 3)</description>
12+
<url>https://github.com/swagger-api/swagger-core</url>
13+
14+
<scm>
15+
<connection>scm:git:[email protected]:swagger-api/swagger-core.git</connection>
16+
<developerConnection>scm:git:[email protected]:swagger-api/swagger-core.git</developerConnection>
17+
<url>https://github.com/swagger-api/swagger-core</url>
18+
</scm>
19+
20+
<licenses>
21+
<license>
22+
<name>Apache License 2.0</name>
23+
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
24+
<distribution>repo</distribution>
25+
</license>
26+
</licenses>
27+
28+
<dependencyManagement>
29+
<dependencies>
30+
<!-- Core Swagger (OpenAPI 3) libraries -->
31+
<dependency>
32+
<groupId>io.swagger.core.v3</groupId>
33+
<artifactId>swagger-annotations</artifactId>
34+
<version>${project.version}</version>
35+
</dependency>
36+
<dependency>
37+
<groupId>io.swagger.core.v3</groupId>
38+
<artifactId>swagger-models</artifactId>
39+
<version>${project.version}</version>
40+
</dependency>
41+
<dependency>
42+
<groupId>io.swagger.core.v3</groupId>
43+
<artifactId>swagger-core</artifactId>
44+
<version>${project.version}</version>
45+
</dependency>
46+
<dependency>
47+
<groupId>io.swagger.core.v3</groupId>
48+
<artifactId>swagger-integration</artifactId>
49+
<version>${project.version}</version>
50+
</dependency>
51+
<dependency>
52+
<groupId>io.swagger.core.v3</groupId>
53+
<artifactId>swagger-jaxrs2</artifactId>
54+
<version>${project.version}</version>
55+
</dependency>
56+
<dependency>
57+
<groupId>io.swagger.core.v3</groupId>
58+
<artifactId>swagger-jaxrs2-servlet-initializer</artifactId>
59+
<version>${project.version}</version>
60+
</dependency>
61+
<dependency>
62+
<groupId>io.swagger.core.v3</groupId>
63+
<artifactId>swagger-jaxrs2-servlet-initializer-v2</artifactId>
64+
<version>${project.version}</version>
65+
</dependency>
66+
<dependency>
67+
<groupId>io.swagger.core.v3</groupId>
68+
<artifactId>swagger-java17-support</artifactId>
69+
<version>${project.version}</version>
70+
</dependency>
71+
</dependencies>
72+
</dependencyManagement>
73+
74+
</project>
75+

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,7 @@
401401
<module>modules/swagger-jaxrs2</module>
402402
<module>modules/swagger-jaxrs2-servlet-initializer</module>
403403
<module>modules/swagger-jaxrs2-servlet-initializer-v2</module>
404+
<module>modules/swagger-bom</module>
404405
<module>modules/swagger-maven-plugin</module>
405406
<module>modules/swagger-eclipse-transformer-maven-plugin</module>
406407
<module>modules/swagger-project-jakarta</module>

0 commit comments

Comments
 (0)