Skip to content

Commit 492252c

Browse files
committed
add example code.
1 parent c479370 commit 492252c

8 files changed

Lines changed: 214 additions & 4 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ Project creation
99
$ mvn archetype:generate \
1010
-DarchetypeGroupId=com.pigumer.tools.archetype \
1111
-DarchetypeArtifactId=openapi-archetype \
12-
-DarchetypeVersion=0.1.15 \
12+
-DarchetypeVersion=0.1.16 \
1313
-DgroupId=com.pigumer.example-service \
1414
-DartifactId=example-service-generated-modules \
1515
-DserviceId=example \
16-
-Dversion=0.1.0-SNAPSHOT \
16+
-Dversion=0.1.0 \
1717
-Dpackage=com.pigumer.example
1818
```

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.pigumer.tools.archetype</groupId>
66
<artifactId>openapi-archetype</artifactId>
7-
<version>0.1.15</version>
7+
<version>0.1.16</version>
88
<packaging>maven-archetype</packaging>
99

1010
<name>openapi-archetype</name>

src/main/resources/META-INF/maven/archetype-metadata.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,16 @@
88
<requiredProperty key="serviceId"/>
99
</requiredProperties>
1010
<fileSets>
11+
<fileSet filtered="true" packaged="true">
12+
<directory>example/src/main/java</directory>
13+
</fileSet>
1114
<fileSet filtered="true">
1215
<directory></directory>
1316
<includes>
1417
<include>*</include>
1518
<include>spec/*</include>
1619
<include>services/*</include>
20+
<include>example/*</include>
1721
</includes>
1822
</fileSet>
1923
</fileSets>

src/main/resources/archetype-resources/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,15 @@ $ docker-compose up
66
$ docker-compose down
77
$ mvn -DaltDeploymentRepository=<Repository Id>::default::<Repository Url> clean deploy
88
```
9+
10+
```
11+
$ cd example
12+
$ mvn spring-boot:run
13+
```
14+
15+
or
16+
17+
```
18+
$ cd example
19+
$ gradle bootRun
20+
```
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
plugins {
2+
id 'org.springframework.boot' version '2.4.3'
3+
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
4+
id 'java'
5+
}
6+
7+
configurations {
8+
all {
9+
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
10+
}
11+
unzipFile
12+
}
13+
14+
group = '${groupId}'
15+
version = '${version}-SNAPSHOT'
16+
sourceCompatibility = '1.11'
17+
18+
repositories {
19+
mavenCentral()
20+
mavenLocal()
21+
}
22+
23+
dependencies {
24+
implementation 'org.springframework.boot:spring-boot-starter-web'
25+
testImplementation 'org.springframework.boot:spring-boot-starter-test'
26+
implementation ('${groupId}:${serviceId}-service-appservice:${version}-SNAPSHOT') {
27+
changing = true
28+
}
29+
unzipFile ('${groupId}:${serviceId}-service-controller:${version}-SNAPSHOT') {
30+
changing = true
31+
}
32+
}
33+
34+
test {
35+
useJUnitPlatform()
36+
}
37+
38+
task unzip(type: Copy) {
39+
def file = configurations.unzipFile.files.find {
40+
'${serviceId}-service-controller-${version}-SNAPSHOT.jar'
41+
}
42+
from zipTree(file)
43+
into 'build/unzipFile'
44+
}
45+
46+
task copy(type: Copy) {
47+
from fileTree('build/unzipFile/BOOT-INF/classes')
48+
into 'build/classes/java/main'
49+
}
50+
51+
tasks.copy.dependsOn(tasks.unzip)
52+
tasks.compileJava.dependsOn(tasks.copy)
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<groupId>${groupId}</groupId>
7+
<artifactId>${serviceId}-service-api</artifactId>
8+
<version>${version}-SNAPSHOT</version>
9+
10+
<properties>
11+
<java.version>11</java.version>
12+
<maven.compiler.source>11</maven.compiler.source>
13+
<maven.compiler.target>11</maven.compiler.target>
14+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15+
<project.build.testSourceEncoding>UTF-8</project.build.testSourceEncoding>
16+
<springfox-version>2.9.2</springfox-version>
17+
</properties>
18+
19+
<parent>
20+
<groupId>org.springframework.boot</groupId>
21+
<artifactId>spring-boot-starter-parent</artifactId>
22+
<version>2.4.3</version>
23+
</parent>
24+
25+
<dependencies>
26+
<dependency>
27+
<groupId>org.springframework.boot</groupId>
28+
<artifactId>spring-boot-starter-web</artifactId>
29+
</dependency>
30+
<!--SpringFox dependencies -->
31+
<dependency>
32+
<groupId>io.springfox</groupId>
33+
<artifactId>springfox-swagger2</artifactId>
34+
<version>${springfox-version}</version>
35+
</dependency>
36+
<dependency>
37+
<groupId>io.springfox</groupId>
38+
<artifactId>springfox-swagger-ui</artifactId>
39+
<version>${springfox-version}</version>
40+
</dependency>
41+
<dependency>
42+
<groupId>javax.xml.bind</groupId>
43+
<artifactId>jaxb-api</artifactId>
44+
<version>2.3.1</version>
45+
</dependency>
46+
<dependency>
47+
<groupId>com.fasterxml.jackson.datatype</groupId>
48+
<artifactId>jackson-datatype-jsr310</artifactId>
49+
</dependency>
50+
<dependency>
51+
<groupId>org.openapitools</groupId>
52+
<artifactId>jackson-databind-nullable</artifactId>
53+
<version>0.2.1</version>
54+
</dependency>
55+
<!-- Bean Validation API support -->
56+
<dependency>
57+
<groupId>javax.validation</groupId>
58+
<artifactId>validation-api</artifactId>
59+
</dependency>
60+
61+
<dependency>
62+
<groupId>${project.groupId}</groupId>
63+
<artifactId>${serviceId}-service-appservice</artifactId>
64+
<version>${project.version}</version>
65+
</dependency>
66+
67+
<dependency>
68+
<groupId>org.springframework.boot</groupId>
69+
<artifactId>spring-boot-starter-test</artifactId>
70+
<scope>test</scope>
71+
<exclusions>
72+
<exclusion>
73+
<groupId>org.junit.vintage</groupId>
74+
<artifactId>junit-vintage-engine</artifactId>
75+
</exclusion>
76+
</exclusions>
77+
</dependency>
78+
</dependencies>
79+
80+
<build>
81+
<plugins>
82+
<plugin>
83+
<artifactId>maven-dependency-plugin</artifactId>
84+
<executions>
85+
<execution>
86+
<id>unpack</id>
87+
<phase>generate-resources</phase>
88+
<goals>
89+
<goal>unpack</goal>
90+
</goals>
91+
<configuration>
92+
<artifactItems>
93+
<artifactItem>
94+
<groupId>${project.groupId}</groupId>
95+
<artifactId>${serviceId}-service-controller</artifactId>
96+
<version>${project.version}</version>
97+
</artifactItem>
98+
</artifactItems>
99+
<includes>BOOT-INF/classes/**/*</includes>
100+
</configuration>
101+
</execution>
102+
</executions>
103+
</plugin>
104+
<plugin>
105+
<artifactId>maven-resources-plugin</artifactId>
106+
<configuration>
107+
<resources>
108+
<resource>
109+
<directory>${basedir}/target/dependency/BOOT-INF/classes</directory>
110+
</resource>
111+
</resources>
112+
<outputDirectory>${basedir}/target/classes</outputDirectory>
113+
</configuration>
114+
</plugin>
115+
<plugin>
116+
<groupId>org.springframework.boot</groupId>
117+
<artifactId>spring-boot-maven-plugin</artifactId>
118+
<executions>
119+
<execution>
120+
<goals>
121+
<goal>repackage</goal>
122+
</goals>
123+
</execution>
124+
</executions>
125+
</plugin>
126+
</plugins>
127+
</build>
128+
129+
</project>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package ${package};
2+
3+
import org.springframework.boot.SpringApplication;
4+
5+
public class Main {
6+
7+
private static final String CLASS_NAME = "${package}.controller.api.OpenAPI2SpringBoot";
8+
9+
public static void main(String[] args) throws Exception {
10+
Class appClass = Class.forName(CLASS_NAME);
11+
SpringApplication.run(appClass);
12+
}
13+
}

src/main/resources/archetype-resources/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>${groupId}</groupId>
66
<artifactId>${artifactId}</artifactId>
7-
<version>${version}</version>
7+
<version>${version}-SNAPSHOT</version>
88
<name>${artifactId}</name>
99
<description>Generated</description>
1010

0 commit comments

Comments
 (0)