Is it possible to deploy (generate an update site, and generate eclipses) a language, while using Spoofax nightly?

Currently the generated update site always includes Spoofax-release, even though the metaborg.yaml specifies using snapshot.

I tried forcing the Spoofax version in icedust2.eclipse/META-INF/MANIFEST.MF:

Require-Bundle: org.metaborg.spoofax.eclipse;bundle-version="2.2.0"

But this makes the build fail:

[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: icedust2.eclipse 0.1.0.qualifier
[ERROR]   Missing requirement: icedust2.eclipse 0.1.0.qualifier requires 'bundle org.metaborg.spoofax.eclipse 2.2.0' but it could not be found

When I do an eclipse gen from a language it of course only includes the Spoofax release:

Eclipse: org.eclipse.platform.ide 4.6.3.M20170301-0400
Spoofax: org.metaborg.spoofax.eclipse 2.1.0.20161003-113458-master
System: Mac OS X x86_64 10.12.4

And since that release does not know about NaBL2, all analysis fails:

11:09 | WARN  | c.ConstraintSingleFileAnalyzer - Skipping eclipse:///weblab/weblab.ice2, because analysis failed
org.metaborg.core.analysis.AnalysisException: Analysis failed.
Invoking Stratego strategy failed unexpectedly:
Stratego trace:
	nabl2__collection_info_msg_0_1
	with_1_1
	nabl2__analyze_1_0
	nabl2_analyze_1_0
	editor_analyze_0_0
	editor_analyze_0_0
11:09 | ERROR | o.m.s.e.e.EditorUpdateJob      - Failed to update editor for eclipse:///weblab/weblab.ice2
org.metaborg.core.analysis.AnalysisException: Analysis failed.
	at org.metaborg.spoofax.core.analysis.constraint.AbstractConstraintAnalyzer.analyze(AbstractConstraintAnalyzer.java:82) ~[org.metaborg.spoofax.core_2.1.0.20161003-113458-master.jar:na]
	at org.metaborg.spoofax.core.analysis.constraint.ConstraintSingleFileAnalyzer.analyze(ConstraintSingleFileAnalyzer.java:1) ~[org.metaborg.spoofax.core_2.1.0.20161003-113458-master.jar:na]
	at org.metaborg.spoofax.core.analysis.constraint.AbstractConstraintAnalyzer.analyze(AbstractConstraintAnalyzer.java:1) ~[org.metaborg.spoofax.core_2.1.0.20161003-113458-master.jar:na]
	at org.metaborg.core.analysis.AnalysisService.analyze(AnalysisService.java:27) ~[org.metaborg.core_2.1.0.20161003-113458-master.jar:na]
	at org.metaborg.spoofax.core.analysis.SpoofaxAnalysisService.analyze(SpoofaxAnalysisService.java:17) ~[org.metaborg.spoofax.core_2.1.0.20161003-113458-master.jar:na]
	at org.metaborg.spoofax.core.analysis.SpoofaxAnalysisService.analyze(SpoofaxAnalysisService.java:1) ~[org.metaborg.spoofax.core_2.1.0.20161003-113458-master.jar:na]
	at org.metaborg.spoofax.eclipse.editor.EditorUpdateJob.analyze(EditorUpdateJob.java:349) ~[org.metaborg.spoofax.eclipse_2.1.0.20161003-113458-master.jar:na]
	at org.metaborg.spoofax.eclipse.editor.EditorUpdateJob.update(EditorUpdateJob.java:277) ~[org.metaborg.spoofax.eclipse_2.1.0.20161003-113458-master.jar:na]
	at org.metaborg.spoofax.eclipse.editor.EditorUpdateJob.run(EditorUpdateJob.java:130) ~[org.metaborg.spoofax.eclipse_2.1.0.20161003-113458-master.jar:na]
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [org.eclipse.core.jobs_3.8.0.v20160509-0411.jar:na]

I tried adding the following to icedust2.eclipse.feature/feature.xml hoping the meta feature would be the nightly version, but that also didn’t work:

    <includes
          id="org.metaborg.spoofax.eclipse.meta.feature"
          version="0.0.0"
          optional="true"
          search-location="both"/>
Submitted by Daco Harkes on 14 April 2017 at 11:32

On 18 April 2017 at 13:19 Gabriël Konat commented:

If in the POM file you put the Eclipse nightly update site as a repository, it will build an update site that includes Spoofax nightly. Likewise, if you put the release update site in there, it will build an update site with the Spoofax release.


On 18 April 2017 at 13:19 Gabriël Konat closed this issue.

Log in to post comments