Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transformed plugins to be usable as plain Maven plugins. #162

Merged
merged 5 commits into from
Jun 6, 2023

Conversation

NiklasRentzCAU
Copy link
Member

@NiklasRentzCAU NiklasRentzCAU commented May 11, 2023

This involves a few changes:

  • All KLighD plugins are still built as Eclipse-Plugins to be usable in P2 Update sites
  • All plugins are recognized in Eclipse as Maven artifacts to allow the dependency handling to consider Maven-related dependencies
  • added binding to language server to avoid an error in derived language servers, stemming from a newer Xtext 2.28 release. Fixes Erroneous language server injector configuration with Xtext 2.28 #144.
  • In the .lsp artifact: replace swt, eclipse.ui and jface dependencies by a mock implementation providing the interface for KLighD's internals but no functionality (as that is not needed in the language server case). Allows to build a platform-independent LS.
  • In the klighd plugin: added two separate poms for launching with the SWT mock from Eclipse. The main one will build correctly with plain Maven using the SWT mock dependencies, but launched from Eclipse it would still use the real SWT dependencies from the P2 target platform, the alternative pom.xml forces Eclipse to use SWT (but should not be used in a Maven build).
  • configure to not publish interim pom artifacts such as repository, target platform, and features
  • reorganize parent pom artifact of all plugins to be the main build parent to avoid needing to publish the interim plugins pom.xml that does not contribute anything.
  • removed specific piccolo offscreen renderers from klighd.standalone. These offscreen renderers can instead by registered by simply including the corresponding piccolo artifact as a dependency, then it will be automatically registered via service loader. This requires applications to use the offscreen renderer to explicitly list piccolo as a dependency now.

This change will allow to release Maven artifacts and therefore fix #78. This change will make it not necessary anymore to completely remove all SWT and alike dependencies from KLighD, invalidating #63. Closes #63.

Other:

  • removed Batik feature and plugins from the build process. Fixes Remove batik #109 and Remove batik #134
  • there is no guarantee yet that all artifacts on their own have the correct Maven dependencies to be fully working as intended, mainly the LSP is in focus here. Missing dependencies may be added later.

Yet TODO:

  • Add configuration and further information for publishing the artifacts to Maven Central via Sonatype.
  • First release the dependencies on Maven Central to make this build work (SWT Mock, KLighD.Piccolo2D)

See kieler/KLighD.Piccolo2d#1

This involves a few changes:
- All KLighD plugins are still built as Eclipse-Plugins to be usable in
P2 Update sites
- All plugins are recognized in Eclipse as Maven artifacts to allow the
dependency handling to consider Maven-related dependencies
- added binding to language server to avoid an error in derived language
servers, stemming from a newer Xtext 2.28 release. Fixes #144.
- In the .lsp artifact: replace swt, eclipse.ui and jface dependencies
by a mock implementation providing the interface for KLighD's internals
but no functionality (as that is not needed in the language server
case). Allows to build a platform-independent LS.
- In the klighd plugin: added two separate poms for launching with the
SWT mock from Eclipse. The main one will build correctly with plain
Maven using the SWT mock dependencies, but launched from Eclipse it
would still use the real SWT dependencies from the P2 target platform,
the alternative pom.xml forces Eclipse to use SWT (but should not be
used in a Maven build).
- configure to not publish interim pom artifacts such as repository,
target platform, and features
- reorganize parent pom artifact of all plugins to be the main build
parent to avoid needing to publish the interim plugins pom.xml that does
not contribute anything.
- removed specific piccolo offscreen renderers from klighd.standalone.
These offscreen renderers can instead by registered by simply including
the corresponding piccolo artifact as a dependency, then it will be
automatically registered via service loader. This requires applications
to use the offscreen renderer to explicitly list piccolo as a dependency
now.

This change will allow to release Maven artifacts and therefore fix #78.
This change will make it not necessary anymore to completely remove all
SWT and alike dependencies from KLighD, invalidating #63. Closes #63.

Other:
- removed Batik feature and plugins from the build process. Fixes #109
and #134
- there is no guarantee yet that all artifacts on their own have the
correct Maven dependencies to be fully working as intended, mainly the
LSP is in focus here. Missing dependencies may be added later.
@NiklasRentzCAU NiklasRentzCAU self-assigned this May 11, 2023
@NiklasRentzCAU NiklasRentzCAU changed the title all: transformed plugins to be usable as plain Maven plugins. Transformed plugins to be usable as plain Maven plugins. May 11, 2023
tags. Updated legacy references to KIML to ELK.
updated KIELER gpg key, changed doc for distribution management to use Maven central on a local publish, depend on released swt-mock and Piccolo2D artifacts.
@NiklasRentzCAU NiklasRentzCAU force-pushed the nre/lsp-only-maven2 branch 3 times, most recently from d491d9d to 0d5008c Compare June 6, 2023 14:00
@NiklasRentzCAU NiklasRentzCAU marked this pull request as ready for review June 6, 2023 14:25
@NiklasRentzCAU NiklasRentzCAU merged commit 697b1e6 into master Jun 6, 2023
@NiklasRentzCAU NiklasRentzCAU deleted the nre/lsp-only-maven2 branch August 7, 2024 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant