sebastianbenz / Jnario

Executable specifications for Java
136 stars 38 forks source link

[ERROR] Don't resolve expressions during indexing! #110

Closed Alex-Ph closed 10 years ago

Alex-Ph commented 10 years ago

Compiling this feature:

Feature: Test
Scenario: Preparing bug2
When I need two parameters "a" and "b"
args.first should not be args.second
Then I do nothing special with "a" and "b"
args.first should not be args.second

Scenario: Trigger bug
When I try to reuse the THEN above the Feature logs an error to console "a" "b"
args.first should not be args.second
Then I do nothing special with "a" and "b"

results in an error: [ERROR] Don't resolve expressions during indexing!

The build success but this error is logged to console

Complete stack trace:

[INFO] --- jnario-maven-plugin:0.7.5:testCompile (default) @ showcase ---
[ERROR] Don't resolve expressions during indexing!
java.lang.IllegalStateException: Resource URI : file:/C:/Users/alph/git/gwtp/[...]/showcase/selenium/jnario/features/Test.feature, fragment : |7
    at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getEObject(BatchLinkableResource.java:102)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:223)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:198)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:258)
    at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy(BasicEObjectImpl.java:1473)
    at org.eclipse.xtext.xbase.impl.XAbstractFeatureCallImpl.getFeature(XAbstractFeatureCallImpl.java:163)
    at org.jnario.feature.jvmmodel.ExpressionCopier$Implementation.copy(ExpressionCopier.java:31)
    at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:570)
    at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:484)
    at org.jnario.feature.jvmmodel.ExpressionCopier$Implementation.copy(ExpressionCopier.java:26)
    at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:570)
    at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:484)
    at org.jnario.feature.jvmmodel.ExpressionCopier$Implementation.copy(ExpressionCopier.java:26)
    at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyAll(EcoreUtil.java:448)
    at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copyContainment(EcoreUtil.java:564)
    at org.eclipse.emf.ecore.util.EcoreUtil$Copier.copy(EcoreUtil.java:484)
    at org.jnario.feature.jvmmodel.ExpressionCopier$Implementation.copy(ExpressionCopier.java:26)
    at org.jnario.feature.jvmmodel.ExpressionCopier.cloneWithProxies(ExpressionCopier.java:64)
    at org.jnario.feature.jvmmodel.StepExpressionProvider.getOrCreateExpression(StepExpressionProvider.java:75)
    at org.jnario.feature.jvmmodel.StepExpressionProvider.expressionOf(StepExpressionProvider.java:47)
    at org.jnario.feature.jvmmodel.FeatureJvmModelInferrer$16.apply(FeatureJvmModelInferrer.java:582)
    at org.jnario.feature.jvmmodel.FeatureJvmModelInferrer$16.apply(FeatureJvmModelInferrer.java:1)
    at org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder.initializeSafely(JvmTypesBuilder.java:190)
    at org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder.toMethod(JvmTypesBuilder.java:622)
    at org.jnario.feature.jvmmodel.FeatureJvmModelInferrer.transform(FeatureJvmModelInferrer.java:600)
    at org.jnario.feature.jvmmodel.FeatureJvmModelInferrer.generateSteps(FeatureJvmModelInferrer.java:569)
    at org.jnario.feature.jvmmodel.FeatureJvmModelInferrer._init(FeatureJvmModelInferrer.java:332)
    at org.jnario.feature.jvmmodel.FeatureJvmModelInferrer.init(FeatureJvmModelInferrer.java:624)
    at org.jnario.feature.jvmmodel.FeatureJvmModelInferrer$5.run(FeatureJvmModelInferrer.java:251)
    at org.jnario.feature.jvmmodel.FeatureJvmModelInferrer.doInfer(FeatureJvmModelInferrer.java:157)
    at org.jnario.jvmmodel.JnarioJvmModelInferrer.infer(JnarioJvmModelInferrer.java:91)
    at org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator.installDerivedState(JvmModelAssociator.java:302)
    at org.eclipse.xtext.resource.DerivedStateAwareResource.installDerivedState(DerivedStateAwareResource.java:145)
    at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getContents(BatchLinkableResource.java:130)
    at org.eclipse.emf.ecore.resource.impl.ResourceImpl$4.getChildren(ResourceImpl.java:522)
    at org.eclipse.emf.common.util.AbstractTreeIterator.hasAnyChildren(AbstractTreeIterator.java:97)
    at org.eclipse.emf.common.util.AbstractTreeIterator.hasNext(AbstractTreeIterator.java:85)
    at org.jnario.feature.compiler.FeatureBatchCompiler.addObjectsWithClasses(FeatureBatchCompiler.java:41)
    at org.jnario.compiler.JnarioBatchCompiler.getObjectsWithClasses(JnarioBatchCompiler.java:230)
    at org.jnario.compiler.JnarioBatchCompiler.createStubs(JnarioBatchCompiler.java:107)
    at org.eclipse.xtend.core.compiler.batch.XtendBatchCompiler.compile(XtendBatchCompiler.java:383)
    at org.jnario.maven.JnarioTestCompile.compile(JnarioTestCompile.java:174)
    at org.jnario.maven.JnarioTestCompile.compileTestSources(JnarioTestCompile.java:79)
    at org.jnario.maven.JnarioTestCompile.compile(JnarioTestCompile.java:146)
    at org.jnario.maven.JnarioTestCompile.internalExecute(JnarioTestCompile.java:126)
    at org.eclipse.xtend.maven.AbstractXtendMojo.execute(AbstractXtendMojo.java:39)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
sebastianbenz commented 10 years ago

Does the generated code work as expected?

Alex-Ph commented 10 years ago

Yes the code works as expected inside eclipse. Only when I compiling the feature through maven I got the error log above

gzunino commented 10 years ago

This is also affecting my build, same error building with maven.