Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] please test staged Tycho 2.0.0

Le 05/08/2020 à 10:35, Lars Vogel a écrit :
Hi,

not sure if that should be solved with Tycho 2.0 but if I used a BREE
higher than Java 11, I get errors:

[ERROR] Internal error:
org.eclipse.tycho.core.osgitools.OsgiManifestParserException:
Exception parsing OSGi MANIFEST
/home/vogella/git/tycho-example/bundles/com.vogella.tycho.platform/META-INF/MANIFEST.MF:
Unknown OSGi execution environment: 'JavaSE-12' -> [Help 1]
org.apache.maven.InternalErrorException: Internal error:
org.eclipse.tycho.core.osgitools.OsgiManifestParserException:
Exception parsing OSGi MANIFEST
/home/vogella/git/tycho-example/bundles/com.vogella.tycho.platform/META-INF/MANIFEST.MF:
Unknown OSGi execution environment: 'JavaSE-12'

Hi,

I have a similar issue as Lars, but not exactly the same. Sorry for the lenght, I tried to give as much details as possible.

EMF Transaction is currently using Tycho 1.7.0, and the code itself has a BREE of JavaSE-1.8.

When using an OpenJDK 1.8 (oracle-jdk8-latest), the build works fine for all Eclipse target platforms tested from Oxygen to the upcoming 2020-09.

The exact same code, when the build runs with openjdk-jdk13-latest:

- fails for Oxygen, Photon and 2019-12:

[ERROR] Cannot resolve target definition:
[ERROR]   Software being installed: org.eclipse.sdk.ide 4.9.0.I20180906-0745
[ERROR]   Missing requirement: org.eclipse.core.jobs 3.10.100.v20180817-1215 requires 'osgi.ee; (&(osgi.ee=JavaSE)(version=1.8))' but it could not be found [ERROR]   Cannot satisfy dependency: org.eclipse.ecf.core.feature.feature.group 1.5.1.v20180810-0833 depends on: org.eclipse.equinox.p2.iu; org.eclipse.core.jobs [3.5.0,4.0.0) [ERROR]   Cannot satisfy dependency: org.eclipse.equinox.p2.core.feature.feature.group 1.5.100.v20180829-1443 depends on: org.eclipse.equinox.p2.iu; org.eclipse.ecf.core.feature.feature.group [1.4.0,2.0.0) [ERROR]   Cannot satisfy dependency: org.eclipse.equinox.p2.user.ui.feature.group 2.4.100.v20180829-1443 depends on: org.eclipse.equinox.p2.iu; org.eclipse.equinox.p2.core.feature.feature.group [1.5.100.v20180829-1443,1.5.100.v20180829-1443] [ERROR]   Cannot satisfy dependency: org.eclipse.equinox.p2.user.ui.source.feature.group 2.4.100.v20180829-1443 depends on: org.eclipse.equinox.p2.iu; org.eclipse.equinox.p2.user.ui.feature.group [2.4.100.v20180829-1443,2.4.100.v20180829-1443] [ERROR]   Cannot satisfy dependency: org.eclipse.sdk.ide 4.9.0.I20180906-0745 depends on: org.eclipse.equinox.p2.iu; org.eclipse.equinox.p2.user.ui.source.feature.group [2.4.100.v20180829-1443,2.4.100.v20180829-1443]

- works for 2019-12 and 2020-03
- fails again for 2020-06 and 2020-09, but with a different error:

[ERROR] Cannot resolve target definition:
[ERROR]   Software being installed: org.eclipse.sdk.ide 4.16.0.I20200604-0540 [ERROR]   Missing requirement: org.apache.lucene.analyzers-common 8.4.1.v20200122-1459 requires 'osgi.ee; (&(osgi.ee=JavaSE)(version=1.8))' but it could not be found [ERROR]   Cannot satisfy dependency: org.eclipse.help.feature.group 2.3.200.v20200604-0540 depends on: org.eclipse.equinox.p2.iu; org.apache.lucene.analyzers-common [8.4.1.v20200122-1459,8.4.1.v20200122-1459] [ERROR]   Cannot satisfy dependency: org.eclipse.platform.feature.group 4.16.0.v20200604-0951 depends on: org.eclipse.equinox.p2.iu; org.eclipse.help.feature.group [2.3.200.v20200604-0540,2.3.200.v20200604-0540] [ERROR]   Cannot satisfy dependency: org.eclipse.sdk.feature.group 4.16.0.v20200604-0951 depends on: org.eclipse.equinox.p2.iu; org.eclipse.platform.feature.group [4.16.0.v20200604-0951,4.16.0.v20200604-0951] [ERROR]   Cannot satisfy dependency: org.eclipse.sdk.ide 4.16.0.I20200604-0540 depends on: org.eclipse.equinox.p2.iu; org.eclipse.sdk.feature.group [4.16.0.v20200604-0951,4.16.0.v20200604-0951]

Still the exact same code (BREE=JavaSE-1.8, Tycho 1.7.0) builds without error on all tested platforms when the build is run using openjdk-jdk14-latest.

tl;rd: Java 8 good, Java 13 bad (except for 2019-12 and 2020-03 for some reason), Java 14 good.

See https://ci.eclipse.org/emfservices/job/emf-transaction-master/61/ for a more visual summary.

Note that Eclipse SDK 4.16 (2020-06) itself *runs* perfectly fine when using Java 13 and org.apache.lucene.analyzers-common 8.4.1.v20200122-1459 present, but somehow *in the context of Tycho*, the requirements for that Lucene plug-in fails.

I tried moving to Tycho 2.0, pointing to

    <pluginRepository>
      <id>tycho-staged</id>
<url>https://oss.sonatype.org/content/repositories/orgeclipsetycho-1063/</url>
    </pluginRepository>

I have not tested all combinations, but:

- Tycho 2.0, running on Java 11 (openjdk version "11.0.7" 2020-04-14), using 2020-06.target: OK - Tycho 2.0, running on Java 13 (openjdk version "13.0.2" 2020-01-14), using 2020-06.target: KO

[INFO] Scanning for projects...
[ERROR] Internal error: org.eclipse.tycho.core.ee.UnknownEnvironmentException: Unknown OSGi execution environment: 'JavaSE-13' -> [Help 1] org.apache.maven.InternalErrorException: Internal error: org.eclipse.tycho.core.ee.UnknownEnvironmentException: Unknown OSGi execution environment: 'JavaSE-13'
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:120)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:567)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) Caused by: org.eclipse.tycho.core.ee.UnknownEnvironmentException: Unknown OSGi execution environment: 'JavaSE-13'     at org.eclipse.tycho.core.ee.ExecutionEnvironmentUtils.getExecutionEnvironment (ExecutionEnvironmentUtils.java:94)     at org.eclipse.tycho.core.osgitools.OsgiBundleProject.applyBestOfCurrentOrConfiguredProfile (OsgiBundleProject.java:554)     at org.eclipse.tycho.core.osgitools.OsgiBundleProject.readExecutionEnvironmentConfiguration (OsgiBundleProject.java:524)     at org.eclipse.tycho.core.resolver.DefaultTychoResolver.setupProject (DefaultTychoResolver.java:103)     at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead (TychoMavenLifecycleParticipant.java:90)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:264)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:567)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

- Tycho 2.0, running on Java 14 (openjdk version "14.0.1" 2020-04-14), using 2020-06.target: OK

I don't understand what's so special about *running under Java 13* (or Java 12, OpenJDK 12.0.2 seems to behave the same) that breaks Tycho, either in its dependency resolution (for Tycho 1.7) or causes it to crash (for Tycho 2.0).

Any insight would be welcome. We plan to standardize on OpenJDK 13.0.2 as our reference JVM for Sirius and related projects, but if we can not *build* reliably using it...




Back to the top