Skip to content

Incremental analysis gives errors when language id is interpolated #95

@MeAmAnUsername

Description

@MeAmAnUsername

Bug description
The incremental analysis gives an error when the Statix specification is for a language that uses yaml interpolation for its id

Versions
Eclipse: org.eclipse.platform.ide 4.16.0.I20200604-0540
Spoofax: org.metaborg.spoofax.eclipse 2.6.0.20220405-144549-master
System: Mac OS X x86_64 10.14.6
Statix setup: multi-file

Steps to reproduce the behavior

  1. Check out the PIE DSL language project in eclipse (metaborg/pie/lang/lang)
  2. Create a normal project and add metaborg.yaml with a compile dependency on PIE.
  3. Create an example test.pie file in the normal project
  4. Add
  statix:
    mode: incremental

in metaborg/pie>metaborg.yaml (before language.stratego)
5. Restart eclipse and rebuild the PIE project

Observed behavior
Error:

18:00 | ERROR | .m.s.c.s.p.AResourcesPrimitive - Could not find lib/stxlibs
18:00 | ERROR | o.m.c.b.p.LanguagePathService  - Getting source paths from provider org.metaborg.core.build.paths.DependencyPathProvider@22277482 failed unexpectedly, skipping this provider
org.metaborg.core.build.dependency.MissingDependencyException: Language for dependency org.metaborg:pie.lang:${pie.version} does not exist

See buildLog.txt for full log.
This always happens, immediately after building and also after every edit to the pie file (if the edit triggers an analysis).
The file is correctly analyzed though, the error does not seem to break anything.
This error does not occur in PIE files in the PIE project itself, only in the project that imports the PIE language.

Expected behavior
No error

Additional context
I have tried to create a minimal project, but I could not reproduce it.
This issue is made in the hope that you go "ah, should have used a different method to resolve those interpolations".

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions