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

do you have a toolchains.xml file?

<toolchains>
  <!-- JDK toolchains -->
  <toolchain>
       <type>jdk</type>
       <provides>
        <id>JavaSE-1.8</id>
       </provides>
       <configuration>
        <jdkHome>c:/javatools/jdk18/</jdkHome>
       </configuration>
  </toolchain>
</toolchains>

i guess that is still needed right?
If we want to let tycho run with any kind of java (11 or higher)
but still compile with or against a BREE of java 8?




On Tue, 11 Aug 2020 at 14:47, Pierre-Charles David <pierre-charles.david@xxxxxxx> wrote:
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...


_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/tycho-user


--
Johan Compagner
Servoy

Back to the top