mike-jumper commented on PR #896: URL: https://github.com/apache/guacamole-client/pull/896#issuecomment-1793512994
> With the transition to Angular and TypeScript, it would be nice if guacamole-common-js was offered as an "official" package at npm. @mike-jumper was already positive about this idea. Ah, yes - that guy. ;) > What could be the procedure for realizing this? The build would need to be altered however necessary to produce that package _and_ consume it. The current Maven-based process is: 1. The `guacamole-common-js` Maven project produces a `.zip` artifact consumable by other Maven projects. 2. The `guacamole` Maven project consumes the `guacamole-common-js` artifact as part of the overall `guacamole-client` build. 3. When a release candidate is being produced, the `guacamole-common-js` artifact is pushed to a staging Maven repository. **NOTE:** It's important here that the artifact for a release candidate is the same as the artifact for the actual release. Its version number doesn't change, the binary doesn't get rebuilt; it gets staged, tested, and when the release passes vote its promoted directly without any modification/regeneration/rebuilding of any kind. 4. When a release candidate is being promoted to release, all staged artifacts (including `guacamole-common-js`) are released and get automatically synced to Maven Central. An NPM-based process would need to be: 1. The `guacamole-common-js` Maven project produces an NPM artifact consumable by other NPM projects (and Maven projects that use NPM via plugins). If possible, we should also still produce a Maven artifact. 2. The `guacamole` Maven project consumes the `guacamole-common-js` artifact as part of the overall `guacamole-client` build, whether via an NPM artifact or a pure Maven artifact. 3. When a release candidate is being produced, the `guacamole-common-js` artifact is staged to NPM (somehow) as a release candidate. If we still produce a Maven artifact, that would be pushed to staging, too. As with the pure Maven process, it would be important that the staged artifact(s) are always the artifact(s) that are released - the release of a release candidate shouldn't involve rebuilding and potentially producing something that isn't what was tested as the release candidate. 4. When a release candidate is being promoted to release, all staged artifacts (including `guacamole-common-js`) are released and get automatically synced to Maven Central, NPM, etc. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@guacamole.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org