Repository navigation
Discontinue the Eclipse plugin: language server and standalone library only (Gradle only) - #391
Merged
Merged
Conversation
The templates were only reachable via an Eclipse example wizard. They now live in samples/freemarker at the repository root.
Context Mapper is only provided as language server (VS Code extension) and standalone library from now on. Removed modules: UI, UI tests, feature, p2 update site and target platform.
Gradle is the only build now. The version moved from the parent pom.xml to gradle.properties. The root .project was the m2e (Maven) project of the parent pom. .java-version: 17 (minimum since Xtext 2.42).
- MWE2: no Eclipse plugin, Eclipse plugin tests and Eclipse metadata anymore, Eclipse UI fragments removed. The generated runtime, LSP and test code is identical to before. - Remove OSGi/Eclipse plugin metadata (MANIFEST.MF, build.properties, plugin.xml) and the Eclipse launch configurations - Remove the versioned .project/.classpath files; they are generated by Gradle (Buildship) when importing the project into Eclipse, and the Gradle eclipse plugin no longer has to be disabled for them
- Remove the Eclipse plugin jobs (build, p2 snapshot and release update sites) from all workflows - Release trigger without the maven-release-plugin: sets the release version in gradle.properties, builds, commits and tags vX.Y.Z, sets the next development version and pushes both (same commit/tag scheme and CI token as before). Release and next version can be given as inputs. - Current versions of the GitHub actions - Bug report template: ask for VS Code / standalone library instead of Eclipse
- Installation via VS Code Marketplace / Open VSX; note that 6.12.0 is the last version of the Eclipse plugin - Development: Gradle build only, IDE import as Gradle project, release workflow - Fix the build badge (the referenced workflow name did not exist) - ADR 0003: discontinue the Eclipse plugin (status: proposed)
Only the Eclipse editor used HTMLHoverTextProvider4CML; the language server uses the Markdown variant with the same keywords.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #391 +/- ##
========================================
Coverage 91.8% 91.8%
- Complexity 2230 2231 +1
========================================
Files 211 211
Lines 5942 5942
Branches 807 807
========================================
+ Hits 5458 5459 +1
Misses 230 230
+ Partials 254 253 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes the Eclipse plugin and the Maven/Tycho build. The repository then only contains the CML language (standalone library
context-mapper-dsl), the language server for the VS Code extension (context-mapper-lsp) and their tests, built with Gradle only, as in a language-server-only project created by the Xtext wizard. Rationale: ADR 0003 (status "proposed").Changes
pom.xml, Maven wrapper); the version moved togradle.propertiesMANIFEST.MF,build.properties,plugin.xml, launch configs, versioned.project/.classpath)HTMLHoverTextProvider4CML(HTML hover texts, only used by the Eclipse editor; the LSP uses the Markdown variant)samples/freemarker(they were only reachable via an Eclipse example wizard)gradle.properties(same commit/tag schemevX.Y.Z, same CI token; release and next version can be given as inputs)Features that were only available in Eclipse
XMIGeneratoris still part of the library)samples/freemarker)All other generators, refactorings (ARs) and quick fixes exist in the language server as well. The language server offers completion, validation, hover, go to definition, find references, rename, document/workspace symbols (outline), formatting, semantic highlighting and code actions.
Verification
./gradlew clean build(JDK 17): 789 DSL tests (one test less: the removed HTML hover provider) and 86 LSP tests greencontext-mapper-dsljar identical except the removed HTML hover class;context-mapper-lspjar and LSP distribution (bundled by the VS Code extension) identicalinitializerequestTo do outside this repository
eclipse-update-site,eclipse-update-site-snapshots): keep for 6.12.0, archiveGH_CI_TOKENis still needed for the release trigger;GH_CI_USERNAMEis no longer used