Eclipse update site with Spoofax nightly
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:Submitted by Daco Harkes on 14 April 2017 at 11:32<includes id="org.metaborg.spoofax.eclipse.meta.feature" version="0.0.0" optional="true" search-location="both"/>
Issue Log
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.
Log in to post comments