Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Xtext compatible with Guava 31 #2671

Closed
wants to merge 1 commit into from

Conversation

HannesWell
Copy link
Member

As suggested in #2056 (comment), this PR aims to widen the version ranges in all MANIFEST.MF where the guava bundle is required to "[30.1.0,32.0.0)".
Test Xtext with Guava 31 in the xtext-latest.target only and test it with Guava 30 in the older targets.

Guice 5.0.1 requires Guava 30 so that version is still required, but this change should at least allow to use Xtext in conjunction with Guava 31.1 (altough this means that one needs two Guava versions if one wants to use Guava 31). At the moment one can not use Guava 31 when Xtext is used without errors because Xtext plugins reexport the guava bundle.

Because Guice uses Guava only internally and not in its API Guava classes of version 31 cannot 'leak' into Xtext and class-space consistency is ensured. If MWE does not reexport Guava and also only use it internally the same applies for that and a update in MWE is not required.

Widen the version ranges in all MANIFEST.MF where the guava bundle is
required to "[30.1.0,32.0.0)" and test Xtext with Guava 31 in the
xtext-latest.target.
Guice still requires Guava 30 so that version is still required, but
this change should at least allow to use Xtext in conjunction with Guava
31.1. At the moment that is very problematic because Xtext plugins
reexport the guava bundle.
Because Guice uses Guava only internally and not in its API Guava
classes of version 31 cannot 'leak' into Xtext and class-space
consistency is ensured.
@cdietrich
Copy link
Member

i have zero clue what could go wrong and thus cannot assess impact :(

@cdietrich
Copy link
Member

pushed to https://github.com/eclipse/xtext/tree/HannesWell-guava31compatibility so that jenkins can build repos to test with.
domain model example and greetings-tycho in https://github.com/itemis/xtext-reference-projects/
might be very simple test candidates

@cdietrich
Copy link
Member

cdietrich commented May 18, 2023

as also mwe uses xtext i have no idea what happens.
unfortunately i dont get new guava pulled with

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
<target name="org.xtext.example.mydsl1.target" sequenceNumber="1">
	<locations>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="org.eclipse.jdt.feature.group" version="0.0.0" />
			<unit id="org.eclipse.platform.feature.group" version="0.0.0" />
			<unit id="org.eclipse.pde.feature.group" version="0.0.0" />
			<unit id="org.eclipse.draw2d.feature.group" version="0.0.0" />
			<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0" />
			<repository location="https://download.eclipse.org/releases/2023-03" />
		</location>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="org.eclipse.emf.mwe2.launcher.feature.group"
				version="0.0.0" />
			<repository
				location="https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.14.0/" />
		</location>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0" />
			<repository
				location="https://ci.eclipse.org/xtext/job/xtext/job/HannesWell-guava31compatibility/lastSuccessfulBuild/artifact/build/p2-repository/" />
		</location>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="com.google.gson" version="2.10.1.v20230109-0753" />
			<unit id="com.google.inject" version="5.0.1.v20221112-0806" />
			<unit id="javax.inject" version="1.0.0.v20220405-0441" />
			<unit id="org.antlr.runtime" version="3.2.0.v20220404-1927" />
			<unit id="org.junit" version="4.13.2.v20211018-1956" />
			<unit id="org.apiguardian.api" version="0.0.0" />
			<unit id="junit-jupiter-api" version="0.0.0" />
			<unit id="junit-jupiter-engine" version="0.0.0" />
			<unit id="junit-jupiter-migrationsupport" version="0.0.0" />
			<unit id="junit-jupiter-params" version="0.0.0" />
			<unit id="junit-platform-commons" version="0.0.0" />
			<unit id="junit-platform-engine" version="0.0.0" />
			<unit id="junit-platform-launcher" version="0.0.0" />
			<unit id="junit-platform-runner" version="0.0.0" />
			<unit id="junit-platform-suite-commons" version="0.0.0" />
			<unit id="junit-vintage-engine" version="0.0.0" />
			<unit id="org.opentest4j" version="0.0.0" />
			<unit id="org.objectweb.asm" version="9.5.0" />
			<unit id="io.github.classgraph" version="4.8.149.v20220915-0556" />
			<repository
				location="https://download.eclipse.org/oomph/simrel-orbit/2023-06" />
		</location>

		<location type="Maven" includeSource="true" missingManifest="error"
			includeDependencyScopes="compile">
			<dependencies>
				<dependency>
					<groupId>com.google.guava</groupId>
					<artifactId>guava</artifactId>
					<version>31.1-jre</version>
					<type>jar</type>
				</dependency>
				<dependency>
					<groupId>com.google.guava</groupId>
					<artifactId>failureaccess</artifactId>
					<version>1.0.1</version>
					<type>jar</type>
				</dependency>
				<dependency>
					<groupId>com.google.errorprone</groupId>
					<artifactId>error_prone_annotations</artifactId>
					<version>2.19.1</version>
					<type>jar</type>
				</dependency>
			</dependencies>
		</location>

	</locations>
</target>

do i need to install something extra to get this running still?

@cdietrich
Copy link
Member

running mwe fails with

1    [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:350)
	at com.google.inject.Key.withAnnotation(Key.java:314)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:95)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:57)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.emf.mwe2.language.Mwe2RuntimeModule.configureIScopeProviderDelegate(Mwe2RuntimeModule.java:45)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	... 65 more
21   [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:350)
	at com.google.inject.Key.withAnnotation(Key.java:314)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:95)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:57)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configureLanguageName(AbstractMwe2RuntimeModule.java:70)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
22   [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:350)
	at com.google.inject.Key.withAnnotation(Key.java:314)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:95)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:57)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configureFileExtensions(AbstractMwe2RuntimeModule.java:75)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
59   [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:368)
	at com.google.inject.Key.withAnnotation(Key.java:302)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:88)
	at com.google.inject.internal.ConstantBindingBuilderImpl.annotatedWith(ConstantBindingBuilderImpl.java:44)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configureIgnoreCaseLinking(AbstractMwe2RuntimeModule.java:151)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 37 more
62   [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:350)
	at com.google.inject.Key.withAnnotation(Key.java:314)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:95)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:57)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configureIResourceDescriptionsPersisted(AbstractMwe2RuntimeModule.java:176)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
66   [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:350)
	at com.google.inject.Key.withAnnotation(Key.java:314)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:95)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:57)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configureRuntimeLexer(AbstractMwe2RuntimeModule.java:186)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
93   [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:368)
	at com.google.inject.Key.withAnnotation(Key.java:302)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:88)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:51)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configureSerializerIScopeProvider(DefaultRuntimeModule.java:155)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
94   [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:368)
	at com.google.inject.Key.withAnnotation(Key.java:302)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:88)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:51)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configureLinkingIScopeProvider(DefaultRuntimeModule.java:159)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
102  [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:368)
	at com.google.inject.Key.withAnnotation(Key.java:302)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:88)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:51)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configureRuntimeEncodingProvider(DefaultRuntimeModule.java:215)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
103  [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:350)
	at com.google.inject.Key.withAnnotation(Key.java:314)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:95)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:57)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configureIResourceDescriptionsBuilderScope(DefaultRuntimeModule.java:232)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
104  [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:350)
	at com.google.inject.Key.withAnnotation(Key.java:314)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:95)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:57)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configureIResourceDescriptionsLiveScope(DefaultRuntimeModule.java:236)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
105  [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:368)
	at com.google.inject.Key.withAnnotation(Key.java:302)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:88)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:51)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configureGenericSemanticSequencer(DefaultRuntimeModule.java:241)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
106  [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:350)
	at com.google.inject.Key.withAnnotation(Key.java:314)
	at com.google.inject.internal.AbstractBindingBuilder.annotatedWithInternal(AbstractBindingBuilder.java:95)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:57)
	at com.google.inject.internal.BindingBuilder.annotatedWith(BindingBuilder.java:42)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configureUseIndexFragmentsForLazyLinking(DefaultRuntimeModule.java:248)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 38 more
107  [main] ERROR clipse.xtext.service.CompoundModule  - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:139)
	at org.eclipse.xtext.service.FreeModule.configure(FreeModule.java:23)
	at org.eclipse.xtext.service.CompoundModule.configure(CompoundModule.java:36)
	at org.eclipse.xtext.service.AbstractGenericModule.configure(AbstractGenericModule.java:34)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configure(DefaultRuntimeModule.java:83)
	at org.eclipse.emf.mwe2.language.AbstractMwe2RuntimeModule.configure(AbstractMwe2RuntimeModule.java:66)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:409)
	at com.google.inject.spi.Elements.getElements(Elements.java:108)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:160)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.eclipse.xtext.service.MethodBasedModule.invokeMethod(MethodBasedModule.java:137)
	... 16 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isBindingAnnotation(Annotations.java:376)
	at com.google.inject.Key.ensureIsBindingAnnotation(Key.java:381)
	at com.google.inject.Key.strategyFor(Key.java:350)
	at com.google.inject.Key.get(Key.java:232)
	at org.eclipse.xtext.service.DefaultRuntimeModule.configureIsAffectedExtensions(DefaultRuntimeModule.java:257)
	... 21 more
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 35 more
138  [main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher  - com/google/common/util/concurrent/internal/InternalFutureFailureAccess
java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3476)
	at com.google.common.cache.LocalCache$LoadingValueReference.<init>(LocalCache.java:3480)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2138)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
	at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:310)
	at com.google.inject.internal.Annotations.isScopeAnnotation(Annotations.java:318)
	at com.google.inject.internal.ScopeBindingProcessor.visit(ScopeBindingProcessor.java:43)
	at com.google.inject.internal.ScopeBindingProcessor.visit(ScopeBindingProcessor.java:31)
	at com.google.inject.spi.ScopeBinding.acceptVisitor(ScopeBinding.java:65)
	at com.google.inject.internal.AbstractProcessor.lambda$process$0(AbstractProcessor.java:53)
	at java.base/java.util.ArrayList.removeIf(ArrayList.java:1672)
	at java.base/java.util.ArrayList.removeIf(ArrayList.java:1660)
	at com.google.inject.internal.AbstractProcessor.process(AbstractProcessor.java:50)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:202)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.google.inject.Guice.createInjector(Guice.java:69)
	at com.google.inject.Guice.createInjector(Guice.java:59)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:47)
	at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:41)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:75)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
	... 26 more

@cdietrich
Copy link
Member

so users would have to adapt build.properties

@cdietrich
Copy link
Member

cdietrich commented May 18, 2023

same problem when running unit tests, this time from guice

=> is this a guava 31 specific problem? or caused by the mix?
why does the import package nor work? cause transitive?

@cdietrich
Copy link
Member

i also dont get this target resolved. @HannesWell any idea why jakarta is not found?

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
<target name="org.xtext.example.mydsl1.target" sequenceNumber="10">
	<locations>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="org.eclipse.jdt.feature.group" version="0.0.0" />
			<unit id="org.eclipse.platform.feature.group" version="0.0.0" />
			<unit id="org.eclipse.pde.feature.group" version="0.0.0" />
			<unit id="org.eclipse.draw2d.feature.group" version="0.0.0" />
			<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0" />
			<repository location="https://download.eclipse.org/releases/2023-03" />
		</location>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="org.eclipse.emf.mwe2.launcher.feature.group"
				version="0.0.0" />
			<repository
				location="https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.14.0/" />
		</location>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0" />
			<repository
				location="https://ci.eclipse.org/xtext/job/xtext/job/cd_guice6x_lsp4j0210/lastSuccessfulBuild/artifact/build/p2-repository/" />
		</location>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="com.google.gson" version="2.10.1.v20230109-0753" />
			<unit id="javax.inject" version="1.0.0.v20220405-0441" />
			<unit id="org.antlr.runtime" version="3.2.0.v20220404-1927" />
			<unit id="org.junit" version="4.13.2.v20211018-1956" />
			<unit id="org.apiguardian.api" version="0.0.0" />
			<unit id="junit-jupiter-api" version="0.0.0" />
			<unit id="junit-jupiter-engine" version="0.0.0" />
			<unit id="junit-jupiter-migrationsupport" version="0.0.0" />
			<unit id="junit-jupiter-params" version="0.0.0" />
			<unit id="junit-platform-commons" version="0.0.0" />
			<unit id="junit-platform-engine" version="0.0.0" />
			<unit id="junit-platform-launcher" version="0.0.0" />
			<unit id="junit-platform-runner" version="0.0.0" />
			<unit id="junit-platform-suite-commons" version="0.0.0" />
			<unit id="junit-vintage-engine" version="0.0.0" />
			<unit id="org.opentest4j" version="0.0.0" />
			<unit id="org.objectweb.asm" version="9.5.0" />
			<unit id="io.github.classgraph" version="4.8.149.v20220915-0556" />
			<repository
				location="https://download.eclipse.org/oomph/simrel-orbit/2023-06" />
		</location>

		<location type="Maven" includeSource="true" missingManifest="error"
			includeDependencyScopes="compile">
			<dependencies>
				<dependency>
					<groupId>com.google.inject</groupId>
					<artifactId>guice</artifactId>
					<version>6.0.0</version>
					<type>jar</type>
				</dependency>
				<dependency>
					<groupId>com.google.guava</groupId>
					<artifactId>guava</artifactId>
					<version>31.1-jre</version>
					<type>jar</type>
				</dependency>
				<dependency>
					<groupId>jakarta.inject</groupId>
					<artifactId>jakarta.inject-api</artifactId>
					<version>2.0.0</version>
					<type>jar</type>
				</dependency>
				<dependency>
					<groupId>com.google.guava</groupId>
					<artifactId>failureaccess</artifactId>
					<version>1.0.1</version>
					<type>jar</type>
				</dependency>
			</dependencies>
		</location>

		<location type="Maven" includeSource="true" missingManifest="generate">
			<groupId>com.google.errorprone</groupId>
			<artifactId>error_prone_annotations</artifactId>
			<version>2.19.1</version>
			<type>jar</type>
		</location>

	</locations>
</target>

@cdietrich
Copy link
Member

Bildschirmfoto 2023-05-18 um 11 35 18

@cdietrich
Copy link
Member

@cdietrich
Copy link
Member

=> this is also why i totally dislike the m2e pde feature. gives no clue where the problem is

@cdietrich
Copy link
Member

cdietrich commented May 18, 2023

of course consuming with pure p2 works

<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
		<unit id="com.google.inject" version="0.0.0"/>
   <unit id="jakarta.inject.jakarta.inject-api" version="0.0.0"/>
      <unit id="com.google.guava" version="0.0.0"/>
      <unit id="com.google.guava.failureaccess" version="0.0.0"/>
      <unit id="wrapped.com.google.errorprone.error_prone_annotations" version="0.0.0"/>
		
		<repository
				location="https://ci.eclipse.org/xtext/job/archived/job/xtext-orbit-replacement/job/main/lastSuccessfulBuild/artifact/org.eclipse.xtext.orbitreplacement.repository/target/repository/" />
		</location>

but i still have to add transitive deps of guava directly. i assume this is why we do the reexport of the dependency to javax.inject in xtext

@HannesWell
Copy link
Member Author

HannesWell commented May 18, 2023

Thanks for pushing and building the branch, will try it out with our product later this day.

In your target in #2671 (comment), you have specified missingManifest="error" but the error_prone annotations are not yet released with OSGi metadata, thus the error is valid:
grafik

i also dont get this target resolved. @HannesWell any idea why jakarta is not found?

This is because you pull in the com.google.inject 6.0.0 bundle from https://ci.eclipse.org/xtext/job/xtext/job/cd_guice6x_lsp4j0210/lastSuccessfulBuild/artifact/build/p2-repository, but this repo does not include jakarta.inject 2.

Unfortunately it is currently not possible to resolve units from a InstallalableUnit location against an artifact from a Maven-location, but this is more a limitation of the InstallableUnit location:
eclipse-m2e/m2e-core#374

So a solution would be to include jakarta-inject-2 in the repo that contains guice 6.

@cdietrich
Copy link
Member

cdietrich commented May 18, 2023

@HannesWell yes i fixed the first manifest error by splitting it, but it still does not work.
the guava 31 insists on the failureaccess

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
<target name="org.xtext.example.mydsl1.target" sequenceNumber="1">
	<locations>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="org.eclipse.jdt.feature.group" version="0.0.0" />
			<unit id="org.eclipse.platform.feature.group" version="0.0.0" />
			<unit id="org.eclipse.pde.feature.group" version="0.0.0" />
			<unit id="org.eclipse.draw2d.feature.group" version="0.0.0" />
			<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0" />
			<repository location="https://download.eclipse.org/releases/2023-03" />
		</location>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="org.eclipse.emf.mwe2.launcher.feature.group"
				version="0.0.0" />
			<repository
				location="https://download.eclipse.org/modeling/emft/mwe/updates/releases/2.14.0/" />
		</location>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0" />
			<repository
				location="https://ci.eclipse.org/xtext/job/xtext/job/HannesWell-guava31compatibility/lastSuccessfulBuild/artifact/build/p2-repository/" />
		</location>
		<location includeAllPlatforms="false" includeConfigurePhase="false"
			includeMode="planner" includeSource="true" type="InstallableUnit">
			<unit id="com.google.gson" version="2.10.1.v20230109-0753" />
			<unit id="com.google.inject" version="5.0.1.v20221112-0806" />
			<unit id="javax.inject" version="1.0.0.v20220405-0441" />
			<unit id="org.antlr.runtime" version="3.2.0.v20220404-1927" />
			<unit id="org.junit" version="4.13.2.v20211018-1956" />
			<unit id="org.apiguardian.api" version="0.0.0" />
			<unit id="junit-jupiter-api" version="0.0.0" />
			<unit id="junit-jupiter-engine" version="0.0.0" />
			<unit id="junit-jupiter-migrationsupport" version="0.0.0" />
			<unit id="junit-jupiter-params" version="0.0.0" />
			<unit id="junit-platform-commons" version="0.0.0" />
			<unit id="junit-platform-engine" version="0.0.0" />
			<unit id="junit-platform-launcher" version="0.0.0" />
			<unit id="junit-platform-runner" version="0.0.0" />
			<unit id="junit-platform-suite-commons" version="0.0.0" />
			<unit id="junit-vintage-engine" version="0.0.0" />
			<unit id="org.opentest4j" version="0.0.0" />
			<unit id="org.objectweb.asm" version="9.5.0" />
			<unit id="io.github.classgraph" version="4.8.149.v20220915-0556" />
			<repository
				location="https://download.eclipse.org/oomph/simrel-orbit/2023-06" />
		</location>

		<location type="Maven" includeSource="true" missingManifest="error"
			includeDependencyScopes="compile">
			<dependencies>
				<dependency>
					<groupId>com.google.guava</groupId>
					<artifactId>guava</artifactId>
					<version>31.1-jre</version>
					<type>jar</type>
				</dependency>
				<dependency>
					<groupId>com.google.guava</groupId>
					<artifactId>failureaccess</artifactId>
					<version>1.0.1</version>
					<type>jar</type>
				</dependency>
			</dependencies>
		</location>
		<location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="generate" type="Maven">
			<dependencies>
				<dependency>
					<groupId>com.google.errorprone</groupId>
					<artifactId>error_prone_annotations</artifactId>
					<version>2.19.1</version>
					<type>jar</type>
				</dependency>
			</dependencies>
		</location>
		

	</locations>
</target>

@HannesWell
Copy link
Member Author

@HannesWell yes i fixed the first manifest error by splitting it, but it still does not work.
the guava 31 insists on the failureaccess

Unfortunately I cannot reproduce that failure. But failureaccess is there and already a valid OSGi bundle.

@cdietrich
Copy link
Member

So you can run Workflows? How does you manifest and build.properties look like

@HannesWell
Copy link
Member Author

So you can run Workflows? How does you manifest and build.properties look like

Sorry I just checked if the target resolves, assumed this was the issue.

What should I try exactly? In a new workspace use the Target from your previous comment and try the Xtext examples you mentioned?

@cdietrich
Copy link
Member

Use the target, create new Xtext project, run workflow. Run generated init test if workflow succeeds

@HannesWell
Copy link
Member Author

Use the target, create new Xtext project, run workflow. Run generated init test if workflow succeeds

OK, with that I get the same errors like you in #2671 (comment). 😞

I assume, MWE is not running in a OSGi runtime and has a flat classpath, doesn't it?

@cdietrich
Copy link
Member

cdietrich commented May 19, 2023

Yes it is just java . But even if it succeeds pure java unit tests show same problem.
did not test plugin tests yet.

@HannesWell
Copy link
Member Author

OK, too bad. I still wonder why this happens, since plain Junit launches (and I assume also MWE) uses the dependency closure of the plugin. And if the plugin is resolved against guava 31, then the separate failure-access artifact should be included too, and if it is resolved against guava 30 from Orbit, those classes are in the guava-jar.
Maybe some filtering happens during the launch and the mixture of Guava-30 from Orbit and Guava-31 from maven central then lead to this situation.

Anyway, I'm closing this then since I assume it will not make it into the upcoming release.

@HannesWell HannesWell closed this May 22, 2023
@HannesWell HannesWell deleted the guava31compatibility branch May 22, 2023 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants