Apparently with the new .externalToolBuilders configuration in version 0.5.2+, you get the following error when importing a project from SVN or the filesystem:


Variable references empty selection: ${project_loc}

The project is not built when this happens. A workaround is to change any of the project’s files at that point, save it, and rebuild the project.

It seems this issue was introduced with Spoofax/212. This problem reveals that there is simply no way, as far as I can tell, to add a portable Ant configuration to a project file. This is highly annoying, frustrating, and also somewhat to be expected -_-;; The only resolve at this point is to undo the fix that allows projects to be renamed (Spoofax/212). Using variables such as ${project_loc} instead of a hardcoded project name invariably breaks things.

(See also Spoofax/155 and Spoofax/212.)

Submitted by Lennart Kats on 27 October 2010 at 12:33

On 27 October 2010 at 14:18 Bernhard Merkle commented:

Ah, this is exactly what i was hit by…


On 27 October 2010 at 14:37 Bernhard Merkle commented:

unfortunately with the lwc11 project the workaround does not work.
I get the following 3 stacks: (separated with ———)


Unable to build descriptor:

java.lang.RuntimeException: Unable to build descriptor:

at org.strategoxt.imp.runtime.Environment.logException(Environment.java:316)

at org.strategoxt.imp.metatooling.building.DynamicDescriptorBuilder.buildDescriptor(DynamicDescriptorBuilder.java:126)

at org.strategoxt.imp.metatooling.building.DynamicDescriptorBuilder.updateResource(DynamicDescriptorBuilder.java:90)

at org.strategoxt.imp.metatooling.building.AntDescriptorBuilder.main(AntDescriptorBuilder.java:38)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

Fatal error in dynamic builder, log:

rg.strategoxt.lang.StrategoErrorExit: Could not import LWC-Completions
at org.strategoxt.lang.SRTS_EXT_fatal_err_0_2.invoke(SRTS_EXT_fatal_err_0_2.java:23)
at org.strategoxt.lang.compat.override.java_integration.fatal_err_msg_0_1_override.invoke(fatal_err_msg_0_1_override.java:29)
at org.strategoxt.imp.generator.aux_$On$Import$Failure_0_2.invoke(aux_$On$Import$Failure_0_2.java:123)
at org.strategoxt.imp.generator.lifted1440.invoke(lifted1440.java:30)
at org.strategoxt.lang.compat.override.performance_tweaks.lifted14.invoke(lifted14.java:24)
at org.strategoxt.lang.SRTS_one.fetchMaintainAnnos(SRTS_one.java:57)
at org.strategoxt.lang.SRTS_one.invoke(SRTS_one.java:21)
at org.strategoxt.lang.compat.override.performance_tweaks.fetch_elem_1_0_override.invoke(fetch_elem_1_0_override.java:27)
at org.strategoxt.imp.generator.$On$Import$Failure_0_0.invoke($On$Import$Failure_0_0.java:55)
at org.strategoxt.imp.generator.lifted571.invoke(lifted571.java:54)
at org.strategoxt.stratego_lib.restore_2_0.invoke(restore_2_0.java:28)


Unable to build descriptor:

java.lang.RuntimeException: Unable to build descriptor:

at org.strategoxt.imp.runtime.Environment.logException(Environment.java:316)

at org.strategoxt.imp.metatooling.building.DynamicDescriptorBuilder.buildDescriptor(DynamicDescriptorBuilder.java:126)

at org.strategoxt.imp.metatooling.building.DynamicDescriptorBuilder.updateResource(DynamicDescriptorBuilder.java:90)

at org.strategoxt.imp.metatooling.building.AntDescriptorBuilder.main(AntDescriptorBuilder.java:38)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

On 27 October 2010 at 14:45 Bernhard Merkle commented:

ok got it. I am now able to build lwc11 on windows with 0.5.2.93 :-)

note that the LWC-Completions-generated.esv was “out-of-sync” and F5
did not reload it and caused all kinds of problems.
After syncing the file in eclipse workspace building was possible.

the error was in:
completion template : Property = " : " (blank)

Description Resource Path Location Type
Syntax error, ‘=’ not expected
here LWC-Completions.esv /lwc/editor line
20 org.strategoxt.imp.runtime.parsemarker

thanks for your help


On 29 October 2010 at 13:46 Lennart Kats commented:

For now (0.5.3.91) I hardcoded the project name in the launch configuration again. The only “real” solution seems to be to use a custom builder instead (Spoofax/284). This would also solve the problem where Eclipse refuses to build the project until a file is changed.


On 29 October 2010 at 13:46 Lennart Kats closed this issue.

Log in to post comments