Skip to content

Commit cb8fdde

Browse files
committed
By Kuntal : feat(bom) add Maven BOM module for swagger-core (#4966)
1 parent e067ee0 commit cb8fdde

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
@@ -147,6 +147,63 @@ Of course if you don't want to build locally you can grab artifacts from maven c
147147

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

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

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)