Skip to content

Commit 0f64033

Browse files
Application poms (helidon-io#1022)
Create a new parent pom hierarchy to fit new applications-pom Updated all examples to use the new application-poms Normalized examples README.md Updated examples Dockerfile to multi-stage Remove dependency management for microprofile-metrics-api and leverage the transitive dependencies of helidon-metrics and helidon-metrics2.
1 parent 4900803 commit 0f64033

444 files changed

Lines changed: 14707 additions & 9882 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3rdparty/pom.xml

Lines changed: 638 additions & 0 deletions
Large diffs are not rendered by default.

applications/mp/pom.xml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
4+
Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
18+
-->
19+
20+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
21+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
22+
<modelVersion>4.0.0</modelVersion>
23+
<parent>
24+
<groupId>io.helidon.applications</groupId>
25+
<artifactId>helidon-applications-project</artifactId>
26+
<version>1.2.2-SNAPSHOT</version>
27+
</parent>
28+
<artifactId>helidon-mp</artifactId>
29+
<packaging>pom</packaging>
30+
<name>Helidon MP applications parent pom</name>
31+
<description>Parent pom for Helidon MP applications</description>
32+
33+
<properties>
34+
<version.plugin.jandex>1.0.6</version.plugin.jandex>
35+
<version.plugin.eclipselink>2.7.1.1</version.plugin.eclipselink>
36+
<mainClass>io.helidon.microprofile.server.Main</mainClass>
37+
</properties>
38+
39+
<build>
40+
<pluginManagement>
41+
<plugins>
42+
<plugin>
43+
<groupId>org.jboss.jandex</groupId>
44+
<artifactId>jandex-maven-plugin</artifactId>
45+
<version>${version.plugin.jandex}</version>
46+
<executions>
47+
<execution>
48+
<id>make-index</id>
49+
<goals>
50+
<goal>jandex</goal>
51+
</goals>
52+
<phase>process-classes</phase>
53+
</execution>
54+
</executions>
55+
</plugin>
56+
<plugin>
57+
<groupId>com.ethlo.persistence.tools</groupId>
58+
<artifactId>eclipselink-maven-plugin</artifactId>
59+
<version>${version.plugin.eclipselink}</version>
60+
<dependencies>
61+
<dependency>
62+
<groupId>javax.annotation</groupId>
63+
<artifactId>javax.annotation-api</artifactId>
64+
<version>${version.lib.annotation-api}</version>
65+
</dependency>
66+
<dependency>
67+
<groupId>javax.xml.bind</groupId>
68+
<artifactId>jaxb-api</artifactId>
69+
<version>${version.lib.jaxb-api}</version>
70+
</dependency>
71+
</dependencies>
72+
</plugin>
73+
</plugins>
74+
</pluginManagement>
75+
</build>
76+
</project>

applications/pom.xml

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
4+
Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
18+
-->
19+
20+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
21+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
22+
<modelVersion>4.0.0</modelVersion>
23+
<parent>
24+
<groupId>io.helidon</groupId>
25+
<artifactId>helidon-3rdparty</artifactId>
26+
<version>1.2.2-SNAPSHOT</version>
27+
<relativePath>../3rdparty/pom.xml</relativePath>
28+
</parent>
29+
<groupId>io.helidon.applications</groupId>
30+
<artifactId>helidon-applications-project</artifactId>
31+
<packaging>pom</packaging>
32+
<name>Helidon Applications Project</name>
33+
<description>Maven boilerplate for Helidon applications</description>
34+
35+
<modules>
36+
<module>se</module>
37+
<module>mp</module>
38+
</modules>
39+
40+
<properties>
41+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
42+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
43+
<maven.compiler.source>8</maven.compiler.source>
44+
<maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
45+
<version.plugin.compiler>3.8.1</version.plugin.compiler>
46+
<version.plugin.dependency>3.0.0</version.plugin.dependency>
47+
<version.plugin.exec>1.6.0</version.plugin.exec>
48+
<version.plugin.failsafe>2.19.1</version.plugin.failsafe>
49+
<version.plugin.helidon>1.0.10</version.plugin.helidon>
50+
<version.plugin.jar>3.0.2</version.plugin.jar>
51+
<version.plugin.os>1.5.0.Final</version.plugin.os>
52+
<version.plugin.protobuf>0.5.1</version.plugin.protobuf>
53+
<version.plugin.resources>2.7</version.plugin.resources>
54+
<version.plugin.surefire.provider.junit>1.0.3</version.plugin.surefire.provider.junit>
55+
<version.plugin.surefire>2.19.1</version.plugin.surefire>
56+
</properties>
57+
58+
<build>
59+
<finalName>${project.artifactId}</finalName>
60+
<extensions>
61+
<extension>
62+
<groupId>kr.motd.maven</groupId>
63+
<artifactId>os-maven-plugin</artifactId>
64+
<version>${version.plugin.os}</version>
65+
</extension>
66+
</extensions>
67+
<pluginManagement>
68+
<plugins>
69+
<plugin>
70+
<groupId>org.apache.maven.plugins</groupId>
71+
<artifactId>maven-compiler-plugin</artifactId>
72+
<version>${version.plugin.compiler}</version>
73+
</plugin>
74+
<plugin>
75+
<groupId>org.apache.maven.plugins</groupId>
76+
<artifactId>maven-surefire-plugin</artifactId>
77+
<version>${version.plugin.surefire}</version>
78+
<dependencies>
79+
<dependency>
80+
<groupId>org.junit.platform</groupId>
81+
<artifactId>junit-platform-surefire-provider</artifactId>
82+
<version>${version.plugin.surefire.provider.junit}</version>
83+
</dependency>
84+
<dependency>
85+
<groupId>org.junit.jupiter</groupId>
86+
<artifactId>junit-jupiter-engine</artifactId>
87+
<version>${version.lib.junit}</version>
88+
</dependency>
89+
</dependencies>
90+
<configuration>
91+
<systemPropertyVariables>
92+
<java.util.logging.config.file>${project.build.outputDirectory}/logging.properties</java.util.logging.config.file>
93+
</systemPropertyVariables>
94+
</configuration>
95+
</plugin>
96+
<plugin>
97+
<groupId>org.apache.maven.plugins</groupId>
98+
<artifactId>maven-failsafe-plugin</artifactId>
99+
<version>${version.plugin.failsafe}</version>
100+
<configuration>
101+
<redirectTestOutputToFile>true</redirectTestOutputToFile>
102+
</configuration>
103+
<dependencies>
104+
<dependency>
105+
<groupId>org.junit.platform</groupId>
106+
<artifactId>junit-platform-surefire-provider</artifactId>
107+
<version>${version.plugin.surefire.provider.junit}</version>
108+
</dependency>
109+
<dependency>
110+
<groupId>org.junit.jupiter</groupId>
111+
<artifactId>junit-jupiter-engine</artifactId>
112+
<version>${version.lib.junit}</version>
113+
</dependency>
114+
</dependencies>
115+
</plugin>
116+
<plugin>
117+
<groupId>org.apache.maven.plugins</groupId>
118+
<artifactId>maven-dependency-plugin</artifactId>
119+
<version>${version.plugin.dependency}</version>
120+
<executions>
121+
<execution>
122+
<id>copy-libs</id>
123+
<phase>prepare-package</phase>
124+
<goals>
125+
<goal>copy-dependencies</goal>
126+
</goals>
127+
<configuration>
128+
<outputDirectory>${project.build.directory}/libs</outputDirectory>
129+
<overWriteReleases>false</overWriteReleases>
130+
<overWriteSnapshots>false</overWriteSnapshots>
131+
<overWriteIfNewer>true</overWriteIfNewer>
132+
<overWriteIfNewer>true</overWriteIfNewer>
133+
<includeScope>runtime</includeScope>
134+
<excludeScope>test</excludeScope>
135+
</configuration>
136+
</execution>
137+
</executions>
138+
</plugin>
139+
<plugin>
140+
<groupId>org.apache.maven.plugins</groupId>
141+
<artifactId>maven-resources-plugin</artifactId>
142+
<version>${version.plugin.resources}</version>
143+
</plugin>
144+
<plugin>
145+
<groupId>org.apache.maven.plugins</groupId>
146+
<artifactId>maven-jar-plugin</artifactId>
147+
<version>${version.plugin.jar}</version>
148+
<configuration>
149+
<archive>
150+
<manifest>
151+
<addClasspath>true</addClasspath>
152+
<classpathPrefix>libs</classpathPrefix>
153+
<mainClass>${mainClass}</mainClass>
154+
<useUniqueVersions>true</useUniqueVersions>
155+
</manifest>
156+
</archive>
157+
</configuration>
158+
</plugin>
159+
<plugin>
160+
<groupId>org.codehaus.mojo</groupId>
161+
<artifactId>exec-maven-plugin</artifactId>
162+
<version>${version.plugin.exec}</version>
163+
<configuration>
164+
<mainClass>${mainClass}</mainClass>
165+
</configuration>
166+
</plugin>
167+
<plugin>
168+
<groupId>io.helidon.build-tools</groupId>
169+
<artifactId>helidon-maven-plugin</artifactId>
170+
<version>${version.plugin.helidon}</version>
171+
</plugin>
172+
<plugin>
173+
<groupId>org.xolstice.maven.plugins</groupId>
174+
<artifactId>protobuf-maven-plugin</artifactId>
175+
<version>${version.plugin.protobuf}</version>
176+
<configuration>
177+
<protocArtifact>com.google.protobuf:protoc:3.5.1-1:exe:${os.detected.classifier}</protocArtifact>
178+
<pluginId>grpc-java</pluginId>
179+
<pluginArtifact>io.grpc:protoc-gen-grpc-java:${version.lib.grpc}:exe:${os.detected.classifier}</pluginArtifact>
180+
</configuration>
181+
</plugin>
182+
</plugins>
183+
</pluginManagement>
184+
</build>
185+
</project>

applications/se/pom.xml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
4+
Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
18+
-->
19+
20+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
21+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
22+
<modelVersion>4.0.0</modelVersion>
23+
<parent>
24+
<groupId>io.helidon.applications</groupId>
25+
<artifactId>helidon-applications-project</artifactId>
26+
<version>1.2.2-SNAPSHOT</version>
27+
</parent>
28+
<artifactId>helidon-se</artifactId>
29+
<packaging>pom</packaging>
30+
<name>Helidon SE applications parent pom</name>
31+
<description>Parent pom for Helidon SE applications</description>
32+
33+
<profiles>
34+
<profile>
35+
<id>native-image</id>
36+
<build>
37+
<plugins>
38+
<plugin>
39+
<groupId>io.helidon.build-tools</groupId>
40+
<artifactId>helidon-maven-plugin</artifactId>
41+
<executions>
42+
<execution>
43+
<goals>
44+
<goal>native-image</goal>
45+
</goals>
46+
</execution>
47+
</executions>
48+
</plugin>
49+
</plugins>
50+
</build>
51+
<dependencies>
52+
<dependency>
53+
<groupId>io.helidon.integrations.graal</groupId>
54+
<artifactId>helidon-graal-native-image-extension</artifactId>
55+
</dependency>
56+
</dependencies>
57+
</profile>
58+
</profiles>
59+
</project>

0 commit comments

Comments
 (0)