Tooling: Node.js Binary Download Maven Proxy

Description

the current implementation of the wcm.io nodejs-maven-plugin directly downloads the node.js binaries from the nodejs.org website, completely bypassing the maven artifact repository and thus caching of downloaded artifacts, proxy support etc.

the same applies to the frontend-maven-plugin, also this at least supports the maven HTTP proxy settings.

additionally we have some sporadic problems with download the binaries which seem to be related to corrupt download (WCMIO-57, ). a checksum check would help, but we would have to implement it ourselves.

and last but not least we directly depend on the availability of the nodejs.org website which may break our CI builds if it is down.

the proposed solution is to create a dynamic maven artifact repository proxy before the nodejs.org download area, which "transforms" it to maven artifact repository-like folder structure and dynamically generates a matching POM. thus the nodejs binaries can be referenced directly as maven dependencies with full control by maven and artifact managers like nexus and automatic support for local caching, checksums, proxy etc.

nothing will be cached by this proxy, it just dynamically routes through to the nodejs website, thus automaticall supporting all new version when the folder structure does not change. and if it is changing we can fix it in one central place. this is a better approach than e.g. https://github.com/skwakman/nodejs-maven-binaries where each new release has to be pushed manually to maven central.

it requires the user to include a custom additional maven repo url in his build, though.

Status

Assignee

Unassigned

Reporter

Stefan Seifert

Labels

None

Components

Priority

Major
Configure