elk icon indicating copy to clipboard operation
elk copied to clipboard

Maven Artifacts of 0.9.0 release require Eclipse Plugins instead of Maven artifacts

Open NiklasRentzCAU opened this issue 1 year ago • 0 comments

The pom.xml files in the released 0.9.0 Maven artifacts require various artifacts of type <type>eclipse-plugin</type> since the 0.9.0 release, breaking any build (that is not itself a tycho build using a P2 target platform) depending on these artifacts. Take this simple pom building a project without source files, that worked with ELK 0.8.0 and now fails with ELK 0.9.0:

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>de.cau.cs.nre.test</groupId>
  <artifactId>de.cau.cs.nre.test.elk-user</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>ELK User Test</name>
  <description>Test project testing using ELK using Maven only</description>
  
  <dependencies>
    <dependency>
      <groupId>org.eclipse.elk</groupId>
      <artifactId>org.eclipse.elk.graph.text</artifactId>
      <version>0.9.0</version> <!-- worked with 0.8.0 here -->
    </dependency>
  </dependencies>
  
</project>

The error message looks like this: "Could not resolve dependencies for project de.cau.cs.nre.test:de.cau.cs.nre.test.klighd-user:jar:0.0.1-SNAPSHOT: The following artifacts could not be resolved: net.java.dev.jna:jna:eclipse-plugin:5.8.0, net.java.dev.jna:jna-platform:eclipse-plugin:5.8.0, org.apache.felix:org.apache.felix.scr:eclipse-plugin:2.2.2, org.osgi:org.osgi.service.component:eclipse-plugin:1.5.0, org.osgi:org.osgi.util.promise:eclipse-plugin:1.2.0, org.osgi:org.osgi.service.event:eclipse-plugin:1.4.1, org.osgi:org.osgi.util.function:eclipse-plugin:1.2.0, xml-apis:xml-apis-ext:jar:1.0.0.v20230923-0644, org.eclipse.elk:org.eclipse.elk.alg.common:eclipse-plugin:0.9.0, org.eclipse.elk:org.eclipse.elk.core:eclipse-plugin:0.9.0, org.eclipse.elk:org.eclipse.elk.graph:eclipse-plugin:0.9.0, org.osgi:org.osgi.service.prefs:eclipse-plugin:1.1.2:"

This hints to the pom.xml files of ELK, now requiring all the Eclipse Plugins. Compare for example the released poms of elk.graph.text and elk.core.service: https://repo1.maven.org/maven2/org/eclipse/elk/org.eclipse.elk.graph.text/0.8.0/org.eclipse.elk.graph.text-0.8.0.pom https://repo1.maven.org/maven2/org/eclipse/elk/org.eclipse.elk.graph.text/0.9.0/org.eclipse.elk.graph.text-0.9.0.pom and https://repo1.maven.org/maven2/org/eclipse/elk/org.eclipse.elk.core.service/0.8.0/org.eclipse.elk.core.service-0.8.0.pom https://repo1.maven.org/maven2/org/eclipse/elk/org.eclipse.elk.core.service/0.9.0/org.eclipse.elk.core.service-0.9.0.pom

The poms released on Maven Central should only require the Maven artifacts as stated in their source poms and none of the Eclipse-Plugins.

NiklasRentzCAU avatar Mar 15 '24 15:03 NiklasRentzCAU