Skip to content

poc: consume the server as a library - #2016

Draft
gnugomez wants to merge 2 commits into
eclipse-openvsx:mainfrom
gnugomez:poc/eclipse-extraction
Draft

poc: consume the server as a library#2016
gnugomez wants to merge 2 commits into
eclipse-openvsx:mainfrom
gnugomez:poc/eclipse-extraction

Conversation

@gnugomez

@gnugomez gnugomez commented Jul 29, 2026

Copy link
Copy Markdown
Member

open-vsx.org runs as its own Spring Boot app consuming this server as a library, adding its deployment-specific code via auto-configuration.

  • Publish the plain jar (java component) and dependency versions as constraints, so the server is consumable as a dependency.
  • Move org.eclipse.openvsx.eclipse to the instance repo. Upstream keeps two generic seams: PublisherAgreementService (no-op by default) and OAuth2LoginHandler. The POST /user/publisher-agreement endpoint moves out; no schema or API-shape changes.

Test suite is green with the functionality absent. Paired instance branch with the relocated code, parity verification and full notes: EclipseFdn/open-vsx.org#12195

gnugomez added 2 commits July 30, 2026 10:03
Publish the java component (the plain jar, which the Spring Boot plugin
already builds, plus real dependency metadata in the POM and Gradle module
metadata) alongside the existing bootJar artifact, which is not consumable as
a dependency. Mirror the dependency-management plugin's effective managed
versions as dependency constraints: they apply only inside this project, so a
consumer resolving the library would otherwise find versionless dependencies.
No behavior change for this build; resolution is identical.
The org.eclipse.openvsx.eclipse package moves to EclipseFdn/open-vsx.org,
which consumes this server as a library and registers the code through Spring
Boot auto-configuration. Upstream keeps two small, generic seams any
deployment could implement: PublisherAgreementService (publishing gate,
user/admin profile enrichment, admin revocation; no-op by default) and
OAuth2LoginHandler (per-registration login handling, post-login token capture
and redirect), replacing the hardcoded 'eclipse' branches in the security
package. The agreement-only POST /user/publisher-agreement endpoint moves out
entirely. UserData's eclipse columns and the UserJson.PublisherAgreement DTO
stay to avoid schema and API shape changes.
@gnugomez
gnugomez force-pushed the poc/eclipse-extraction branch from 1b25c53 to b0cc7f2 Compare July 30, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant