For publication in https://forum.open-services.net/c/general/announcements/22
Eclipse Lyo project is happy to announce the introduction of Lyo bill of materials (BOM). What it allows you to do is to introduce an extra entry in your Maven dependency management section and get rid of all versions of Lyo-related dependencies. This brings about major benefits like:
- upgrading to new Lyo versions with a single dependency version update
- easy convergence thanks to Lyo enforcing convergence and upper bounds uising Maven Enforcer
- eliminating the need to re-generate adaptors when using Lyo Designer
Before:
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>4.0.5</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.eclipse.lyo.oslc4j.core</groupId>
<artifactId>oslc4j-core</artifactId>
<version>${version.lyo}</version>
</dependency>
<!-- ...many more entries like this -->
</dependencies>
After:
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.eclipse.lyo.oslc4j.core</groupId>
<artifactId>oslc4j-core</artifactId>
</dependency>
<!-- ... -->
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.eclipse.lyo</groupId>
<artifactId>lyo-bom</artifactId>
<version>${version.lyo}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
Lyo BOM is available in the 7.0.0.Alpha4 release.
The latest version of Lyo Designer already produces the POM files that utilize the new BOM approach.
P.S. Lyo moved to the new Maven Central publishing approach, as was required by Sonatype. We decided to drop publication of Lyo artifacts to the internal Eclipse Maven repos and focus only on Maven central. For release artifacts as well as alphas/betas/candates, no further configuration is needed from your side. To consume Lyo SNAPSHOTs, you need to add the following repo:
<repository>
<name>Central Portal Snapshots</name>
<id>central-portal-snapshots</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>