Skip to content

Commit

Permalink
MicroProfile 6.0 RC1 Update (#276)
Browse files Browse the repository at this point in the history
* Draft update for MicroProfile 6.0
  • Loading branch information
jclingan authored Oct 31, 2022
1 parent 50aab8b commit ce9ad44
Show file tree
Hide file tree
Showing 5 changed files with 133 additions and 148 deletions.
6 changes: 3 additions & 3 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ This repository also houses the link:https://github.com/eclipse/microprofile/blo
<dependency>
<groupId>org.eclipse.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>5.0</version>
<version>6.0</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
Expand All @@ -55,7 +55,7 @@ This repository also houses the link:https://github.com/eclipse/microprofile/blo
<dependency>
<groupId>org.eclipse.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>5.0</version>
<version>6.0</version>
<scope>import</scope>
<type>pom</type>
</dependency>
Expand Down Expand Up @@ -94,7 +94,7 @@ link:https://github.com/eclipse/microprofile-fault-tolerance[MicroProfile Fault
link:https://github.com/eclipse/microprofile-rest-client[MicroProfile Rest Client] -- MicroProfile type-safe REST client +
link:https://github.com/eclipse/microprofile-open-api[MicroProfile OpenAPI] -- MicroProfile OpenAPI and annotations +
link:https://github.com/eclipse/microprofile-jwt-auth[MicroProfile JWT Authentication] -- MicroProfile JWT authentication propagation +
link:https://github.com/eclipse/microprofile-opentracing[MicroProfile OpenTracing] -- MicroProfile OpenTracing integration +
link:https://github.com/eclipse/microprofile-telemetry[MicroProfile Telemetry] -- MicroProfile Telemetry integration +
link:https://github.com/eclipse/microprofile-graphql[MicroProfile GraphQL] -- Microprofile GraphQL Specification +
link:https://github.com/eclipse/microprofile-conference[MicroProfile Conference App] -- "Architectural Application" to demonstrate MicroProfile on a variety of vendors

Expand Down
95 changes: 33 additions & 62 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<groupId>org.eclipse.microprofile</groupId>
<artifactId>microprofile</artifactId>
<packaging>pom</packaging>
<version>5.1-SNAPSHOT</version>
<version>6.0-SNAPSHOT</version>

<name>MicroProfile</name>
<description>The MicroProfile Specification and Information Repository</description>
Expand Down Expand Up @@ -104,21 +104,17 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<!-- Jakarta EE specs -->
<cdi-version>3.0.0</cdi-version>
<jaxrs-version>3.0.0</jaxrs-version>
<jsonb-version>2.0.0</jsonb-version>
<jsonp-version>2.0.1</jsonp-version>
<annotation-version>2.0.0</annotation-version>
<jakarta-version>10.0.0</jakarta-version>

<!-- MicroProfile specs -->
<config-version>3.0</config-version>
<ft-version>4.0</ft-version>
<health-version>4.0</health-version>
<metrics-version>4.0</metrics-version>
<jwt-version>2.0</jwt-version>
<openapi-version>3.0</openapi-version>
<rest-client-version>3.0</rest-client-version>
<opentracing-version>3.0</opentracing-version>
<config-version>3.0.2</config-version>
<ft-version>4.0.1</ft-version>
<health-version>4.0.1</health-version>
<metrics-version>5.0.0-RC3</metrics-version> <!-- TODO Update to 5.0 -->
<jwt-version>2.1-RC5</jwt-version>
<openapi-version>3.1-RC4</openapi-version> <!-- TODO UPDATE TO 3.1 -->
<rest-client-version>3.0.1</rest-client-version>
<telemetry-version>1.0-RC3</telemetry-version> <!-- TODO UPDATE TO 1.0 -->

<!-- other props -->
<!-- whether autorelease maven central staging repositories - default false to allow review and manually release repositories -->
Expand All @@ -142,6 +138,16 @@
</execution>
</executions>
<configuration>
<failOnError>false</failOnError> <!-- TODO - Metrics 5.0.0-RC3 failing javadoc -->
<additionalDependencies>
<additionalDependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.annotation</artifactId>
<version>8.1.0</version>
</additionalDependency>
<additionalDependency><groupId>org.osgi</groupId><artifactId>org.osgi.service.cdi</artifactId><version>1.0.1</version></additionalDependency>
<additionalDependency><groupId>biz.aQute.bnd</groupId><artifactId>biz.aQute.bnd.annotation</artifactId><version>6.2.0</version></additionalDependency>
</additionalDependencies>
<includeDependencySources>true</includeDependencySources>
<dependencySourceIncludes>
<dependencySourceInclude>org.eclipse.microprofile.*:*</dependencySourceInclude>
Expand All @@ -168,9 +174,10 @@
<dependencyManagement>
<dependencies>
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
<version>${cdi-version}</version>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-core-api</artifactId>
<version>${jakarta-version}</version>
<!-- TODO This was a CDI exclusion. Still required?
<exclusions>
<exclusion>
<groupId>jakarta.ejb</groupId>
Expand All @@ -181,26 +188,7 @@
<artifactId>jakarta.el-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>${jaxrs-version}</version>
</dependency>
<dependency>
<groupId>jakarta.json.bind</groupId>
<artifactId>jakarta.json.bind-api</artifactId>
<version>${jsonb-version}</version>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<version>${jsonp-version}</version>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>${annotation-version}</version>
-->
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.config</groupId>
Expand Down Expand Up @@ -237,34 +225,21 @@
<artifactId>microprofile-rest-client-api</artifactId>
<version>${rest-client-version}</version>
</dependency>
<!-- TODO I'm assuming we don't need this since telemetry does not have an MP API
<dependency>
<groupId>org.eclipse.microprofile.opentracing</groupId>
<artifactId>microprofile-opentracing-api</artifactId>
<version>${opentracing-version}</version>
<groupId>org.eclipse.microprofile.telemetry.tracing</groupId>
<artifactId>microprofile-telemetry-tracing-parent</artifactId>
<version>${telemetry-version}</version>
</dependency>
-->
<!-- https://mvnrepository.com/artifact/org.osgi/org.osgi.annotation.versioning -->
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.json.bind</groupId>
<artifactId>jakarta.json.bind-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-core-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.config</groupId>
Expand Down Expand Up @@ -294,10 +269,6 @@
<groupId>org.eclipse.microprofile.rest.client</groupId>
<artifactId>microprofile-rest-client-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.microprofile.opentracing</groupId>
<artifactId>microprofile-opentracing-api</artifactId>
</dependency>
</dependencies>

<profiles>
Expand Down
4 changes: 2 additions & 2 deletions spec/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<parent>
<groupId>org.eclipse.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>5.1-SNAPSHOT</version>
<version>6.0-SNAPSHOT</version>
</parent>

<groupId>org.eclipse.microprofile</groupId>
Expand All @@ -36,7 +36,7 @@
<name>MicroProfile Specification</name>

<properties>
<asciidoctor-maven.version>1.5.6</asciidoctor-maven.version>
<asciidoctor-maven.version>1.5.8</asciidoctor-maven.version>
<asciidoctorj-pdf.version>1.5.0-alpha.15</asciidoctorj-pdf.version>
<build-helper-maven-plugin.version>1.12</build-helper-maven-plugin.version>

Expand Down
61 changes: 54 additions & 7 deletions spec/src/main/asciidoc/architecture.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,62 @@
== Architecture

The MicroProfile pom will identify the contents of each MicroProfile release.
The contents will be those features and versions agreed to by the MicroProfile community.
These features may be external to the MicroProfile community (Jakarta EE features such as
Jakarta RESTful Web Services 2.1),
or they be a component of the MicroProfile project (such as Config 2.0).
The contents include those features and versions agreed to by the MicroProfile community.
These features may be external to the MicroProfile community, like those provided by Jakarta EE
Core Profile or the Cloud Native Computing Foundation (like Open Telemetry),
or they are component specifications of the MicroProfile project (such as Config).

Since the MicroProfile repo is an "umbrella" project, there will be no individual API or TCK generated for this component.
Only this Specification will be generated and maintained to document the contents of each release.
Since the MicroProfile repo is an "umbrella" project, no individual API or TCK is generated for this specification.
This specification documents the component specification contents of each release.

In reverse chronological order, here's the specification for each MicroProfile release.
The specifications for each release are listed in reverse chronological order.

[[microprofile6.0]]
=== MicroProfile 6.0

MicroProfile 6.0 replaces required individual Jakarta specifications in prior releases like Jakarta Restful in
Web Services and JSON Binding with Jakarta EE 10 Core Profile.

Based on MicroProfile's time-boxed release process, this is a major release that includes backward incompatible changes. This release requires Jakarta EE Core Profile 10, which uses the `jakarta` namespace introduced in Jakarta EE 9.

* https://download.eclipse.org/microprofile/microprofile-config-3.0.2/microprofile-config-spec-3.0.2.html#_incompatible_changes[Config]
* https://download.eclipse.org/microprofile/microprofile-fault-tolerance-4.0.1/microprofile-fault-tolerance-spec-4.0.1.html#_incompatible_changes[Fault Tolerance]
* https://download.eclipse.org/microprofile/microprofile-health-4.0.1/microprofile-health-spec-4.0.1.html#_incompatible_changes[Health]
* https://download.eclipse.org/microprofile/microprofile-metrics-5.0/microprofile-metrics-spec-5.0.html#_incompatible_changes[Metrics]
* https://download.eclipse.org/microprofile/microprofile-open-api-3.1/microprofile-openapi-spec-3.1.html#_incompatible_changes[OpenAPI]
* https://download.eclipse.org/microprofile/microprofile-rest-client-3.0.1/microprofile-rest-client-spec-3.0.1.html#_incompatible_changes[Rest Client]
* https://download.eclipse.org/microprofile/microprofile-jwt-auth-2.0/microprofile-jwt-auth-spec-2.0.html#_incompatible_changes[JWT] (TODO - Update to JWT 2.1?)
* https://download.eclipse.org/microprofile/microprofile-telemetry-1.0/microprofile-telemetry-spec-1.0.html#_incompatible_changes[Telemetry]

If you are still dependent on Jakarta EE 8, please consider using the https://github.com/eclipse/microprofile/releases/tag/4.1[4.1 release of MicroProfile].
If you are still dependent on Java EE 8, please consider using the https://github.com/eclipse/microprofile/releases/tag/3.3[3.3 release of MicroProfile].
If you are still dependent on Java EE 7, please consider using the https://github.com/eclipse/microprofile/releases/tag/1.4[1.4 release of MicroProfile].

The complete list of MicroProfile 6.0 specifications includes:

- https://github.com/eclipse/microprofile-config/releases/tag/3.0.2[MicroProfile Config 3.0]
- https://github.com/eclipse/microprofile-fault-tolerance/releases/tag/4.0.1[MicroProfile Fault Tolerance 4.0]
- https://github.com/eclipse/microprofile-metrics/releases/tag/5.0[MicroProfile Metrics 5.0]
- https://github.com/eclipse/microprofile-health/releases/tag/4.0.1[MicroProfile Health 4.0]
- https://github.com/eclipse/microprofile-telemetry/releases/tag/1.0[MicroProfile Telemetry 1.0]
- https://github.com/eclipse/microprofile-open-api/releases/tag/3.1[MicroProfile OpenAPI 3.1]
- https://github.com/eclipse/microprofile-jwt-auth/releases/tag/2.0[MicroProfile JWT Authentication 2.0] (TODO: Update to 2.1?)
- https://github.com/eclipse/microprofile-rest-client/releases/tag/3.0.1[MicroProfile Rest Client 3.0]
- https://jakarta.ee/specifications/coreprofile/10/[Jakarta JSON Processing 2.0]

The Maven coordinates for this Eclipse release are as follows:
[source,xml]
----
<dependency>
<groupId>org.eclipse.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>6.0</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
----

Here is the link to https://github.com/eclipse/microprofile/releases/tag/6.0[the github repository] for this Eclipse-based project.

[[microprofile5.0]]
=== MicroProfile 5.0
Expand Down
Loading

0 comments on commit ce9ad44

Please sign in to comment.