Search code examples
javaeclipsemaveneclipse-pluginxtext

Getting "new" dependency from org.eclipse.xtext.common.types


I'm looking for a confirmation that version 2.9.1 of org.eclipse.xtext.common.types always had the following org.eclipse.core.runtime dependency tree:

enter image description here

Since ~2 weeks, our build are getting an additional JAR (org.eclipse.core.runtime, version 3.14.0). So far we can't explain why ... and are looking if ever possible that anything on Xtext version 2.9.1 recently changes? We doubt, but who knows?

The dependency has been set as Maven dependency:

    <dependency>
        <groupId>org.eclipse.xtext</groupId>
        <artifactId>org.eclipse.xtext.common.types</artifactId>
        <version>2.9.1</version>
    </dependency>

==============================================

Additional information based on my findings ... This is the pom.xml of org.eclipse.xtext.common.types Artifact (version 2.9.1):

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.eclipse.xtext</groupId>
    <artifactId>org.eclipse.xtext.tycho.parent</artifactId>
    <version>2.9.1</version>
    <relativePath>../../maven/org.eclipse.xtext.tycho.parent</relativePath>
</parent>
<packaging>eclipse-plugin</packaging>

<name>Common Types Runtime Library</name>
<artifactId>org.eclipse.xtext.common.types</artifactId>

<dependencies>
    <dependency>
        <groupId>org.eclipse.xtext</groupId>
        <artifactId>org.eclipse.xtext.util</artifactId>
        <version>[${project.version}]</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.xtext</groupId>
        <artifactId>org.eclipse.xtext</artifactId>
        <version>[${project.version}]</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.codegen</artifactId>
        <version>${emf.version}</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
    </dependency>
    <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>${google-inject.version}</version>
    </dependency>
    <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm-commons</artifactId>
        <version>${asm.version}</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.ecore</artifactId>
        <version>${emf.version}</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.common</artifactId>
        <version>${emf.version}</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.emf</groupId>
        <artifactId>org.eclipse.emf.mwe2.lib</artifactId>
        <version>${mwe2-version}</version>
    </dependency>
</dependencies>

${emf.version} is a range from (2.8:3.0) ... Looking at following: http://mvnrepository.com/artifact/org.eclipse.emf/org.eclipse.emf.codegen

... Version 2.14 is actually very recent (Sept. 2018).

Xtext guys, do you confirm that before version 2.14, no dependency to eclipse core runtime version 3.14.0 was set?


Solution

  • EMF 2.15 and thus org.eclipse.emf:org.eclipse.emf.codegen:2.14.0 where published on September 14th. the newer emf version has these new dependencies. All Xtext versions < 2.15 automatically pull the new emf version. if you want to avoid that you can switch back to emf 2.12 / codegen 2.11 should solve that issues (https://github.com/eclipse/xtext-core/blob/v2.15.0/gradle/versions.gradle)