<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.microprofile.test</groupId>
<artifactId>microprofile-bom-test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>1.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
[tmp 798]$ mvn dependency:tree
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'dependencies.dependency.version' for javax.enterprise:cdi-api:jar is missing. @ line 23, column 21
[ERROR] 'dependencies.dependency.version' for javax.ws.rs:javax.ws.rs-api:jar is missing. @ line 27, column 21
@
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project org.eclipse.microprofile.test:microprofile-bom-test:1.0-SNAPSHOT (/private/tmp/pom.xml) has 2 errors
[ERROR] 'dependencies.dependency.version' for javax.enterprise:cdi-api:jar is missing. @ line 23, column 21
[ERROR] 'dependencies.dependency.version' for javax.ws.rs:javax.ws.rs-api:jar is missing. @ line 27, column 21
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[tmp 802]$ mvn -version
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T12:39:06-07:00)
Maven home: /usr/local/Cellar/maven/3.5.0/libexec
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac"
I'm not having problems with other BOMs.
<project...>
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.microprofile.test</groupId>
<artifactId>microprofile-bom-test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>io.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>1.0.0</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ microprofile-bom-test ---
[INFO] org.eclipse.microprofile.test:microprofile-bom-test:jar:1.0-SNAPSHOT
[INFO] \- io.microprofile:microprofile:pom:1.0.0:provided
[INFO] +- javax.enterprise:cdi-api:jar:1.2:provided
[INFO] | +- javax.el:javax.el-api:jar:3.0.0:provided
[INFO] | +- javax.interceptor:javax.interceptor-api:jar:1.2:provided
[INFO] | \- javax.inject:javax.inject:jar:1:provided
[INFO] +- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:provided
[INFO] \- javax.json:javax.json-api:jar:1.0:provided
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
<dependencies>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
</dependency>
<dependency>
<groupId>io.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>1.0.0</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
</dependencies>
[ERROR] The project org.eclipse.microprofile.test:microprofile-bom-test:1.0-SNAPSHOT (/private/tmp/pom2.xml) has 1 error
[ERROR] 'dependencies.dependency.version' for javax.enterprise:cdi-api:jar is missing. @ line 11, column 21
<project ...>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>1.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
</dependency>
</dependencies>
</project>
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ microprofile-bom-test ---
[INFO] org.eclipse.microprofile.test:microprofile-bom-test:jar:1.0-SNAPSHOT
[INFO] \- javax.enterprise:cdi-api:jar:1.2:compile
[INFO] +- javax.el:javax.el-api:jar:3.0.0:compile
[INFO] +- javax.interceptor:javax.interceptor-api:jar:1.2:compile
[INFO] \- javax.inject:javax.inject:jar:1:compile
After the discussion a long time ago (https://groups.google.com/d/topic/microprofile/nX3C65gYdI4/discussion), most of us agreed that we want to have an uber-dependency, which you can just add as a provided dependency and get all MicroProfile API, similar to the javaee-api artifact.The current MicroProfile BOM is intended to be used that way, but it's sill a bit confusing, because it's a kind of hybrid - it's called BOM, packaging type POM and is intended to be used as a provided dependency in <dependencies> not in <dependencyManagement>, highly non-standard.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/77b41098-3246-4248-a0e9-a411923497b8%40googlegroups.com.--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
org.eclipse.microprofile:microprofile-bom (POM type, parent, depends on API modules, used as an uber-dependency)
|- org.eclipse.microprofile:microprofile-spec (POM type, has microprofile-bom as parent, generates a PDF document)
org.eclipse.microprofile:microprofile-bom (POM type, parent, no dependencies, specifies dep versions in dependencyManagement, can be used as a BOM)
|- org.eclipse.microprofile:microprofile-spec (no change)
|- org.eclipse.microprofile:microprofile (new artifact, JAR packaging, has microprofile-bom as parent, used as an uber-dependency)
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/13a6b046-df12-4c11-a92e-8f2441c487d0%40googlegroups.com.
|- org.eclipse.microprofile:microprofile (new artifact, JAR packaging, has microprofile-bom as parent, used as an uber-dependency)
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/UINnSKJBtrI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/508981cf-7ee3-43f0-a6c0-b120a34d68f8%40googlegroups.com.
<dependencyManagement> | |
<dependencies> |
<dependencies> |
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/UINnSKJBtrI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/06bb50da-fc1d-48a2-a83c-618f007dedaf%40googlegroups.com.
The whole point of this discussion is that what we now call as MicroProfile BOM is not a BOM at all. It's intended to be used as a normal dependency, providing all APIs with a simple maven dependency. What's confusing a bit is that it's of type POM and not of type JAR as most other API artifacts (e.g. javaee-api or agorava-core-api). What's confusing even more that the repository is called microprofile-bom, while it should rather be called differently, e.g. microprofile-spec or microprofile-umbrella).The microprfile artifact shouldn't be used as a BOM and shouldn't be compared to wildfly BOM. It's only that the packaging type of POM is often used with BOM artifacts rather than with API artifacts. This makes it possible to use the same artifact as an API dependency and as a BOM, but its main purpose is to use it as a dependency, not in the dependency management, and we probably should create other maven artifacts as specific BOMs.--Ondro
2017-08-09 11:42 GMT+01:00 Werner Keil <werne...@gmail.com>:
The WildFly BOMs https://github.com/wildfly/boms are some very good examples.--They even offer "BOM of BOMs" allowing to pick a particular BOM for a certain environment or scenario. E.g. tooling, etc.There may be fewer BOMs for MicroProfile but allowing some to use e.g. Servlets or WebSockets, I guess one or the other profiled BOM would not hurt in the MicroProfile BOM repository either.They all have in common, that they're applied to dependencyManagement, not dependencies.This only worked for the 1.0 BOM because e.g. sample applications do use all 3 upstream dependencies, but even Config 1.0 uses just 1, 2 at most, so it makes no sense to force all 3 or 4 onto every project. The 1.1 BOM should also put them in dependencyManagement as a requirement for which to use and in which version, which ones could be mandatory, that's up to a TCK, not the POM or BOM anyway.Werner
You received this message because you are subscribed to a topic in the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/microprofile/UINnSKJBtrI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to microprofile+unsubscribe@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/a3ae0891-3c55-4319-b1c6-256211b13a45%40googlegroups.com.