netcentric / maven-ext-repos-from-env Goto Github PK
View Code? Open in Web Editor NEWAllows to auto-configure maven repositories from system environment
License: Eclipse Public License 2.0
Allows to auto-configure maven repositories from system environment
License: Eclipse Public License 2.0
https://github.com/Netcentric/aem-classification/blob/master/.github/workflows/maven.yml can be used as template.
The readme should also state how the additional repos relate to already existing POM repositories. A link towards https://maven.apache.org/guides/mini/guide-multiple-repositories.html#repository-order should help here.
Currently all repositories are overridden by a mirror defined in the settings.xml
. To ease usage with custom settings.xml
and bypass its mirror it should optionally be possible to exclude the repository ids used in the extension from the defined mirrors.
This should be feasible by calling https://maven.apache.org/ref/3.6.3/maven-settings/apidocs/org/apache/maven/settings/Mirror.html#setMirrorOf-java.lang.String- with a modified value according to https://maven.apache.org/guides/mini/guide-mirror-settings.html#advanced-mirror-specification
Hi,
Is it possible to add an enhancement to connect to Artifactory using API Token instead of Password?
Thanks,
Ram
The readme currently states
In case the relevant environment variables are not set, this extension has no effect.
This is wrong for the implicit file repository .mvn/repository
which is always added even if no environment variables are set.
Either the documentation needs to be fixed or the implementation needs to adhere to the documentation (the latter probably requires an additional flag to be able to enable the implicit file repository only).
Currently the extension can be configured only via environment variables. To ease using it locally with the help of .mvn/jvm.config
(https://maven.apache.org/configure.html#mvn-jvm-config-file) it should be possible to pass the configuration via system properties alternatively.
In case of POM repositories only the credentials are being maintained in the settings.xml
. In order to support that use case better it would be helpful to optionally allow to parameterize the server id (as it must match the repository id from the pom.xml
). In such a case the repository URL doesn't need to be populated obviously (because it is contained in the POM repository).
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.corp.assets:corp-assets-root:pom:2.0.0-SNAPSHOT
[WARNING] 'repositories.repository.id' must not contain any of these characters \/:"<>|?* but found /
[WARNING] 'pluginRepositories.pluginRepository.id' must not contain any of these characters \/:"<>|?* but found /
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
It should always be logged on INFO level that an additional remote repository has been added (
In addition some more debug logs would be helpful which expose
The way to get it listed is by creating a PR via https://github.com/apache/maven-site/edit/master/content/markdown/extensions/index.md.
thanks for this extension, it works very well! however, in my observation registering a private repository increased the duration of the "Build & Unit Testing" step in cloud manager by a magnitude (from <10 minutes to nearly 40 minutes).
the reason seems to be that now everything is downloaded from the private maven repository. and as the cloud manager does keep a local maven repository with release artifacts already download between execution steps (unlike e.g. travis where the cache can be used for this), it downloads the "whole internet" (tons of maven artifacts) on each run.
did you try to register the private repository as a secondary maven repository, so the primary source for downloading is still the adobe-configured repository, and the private repository is only used as fallback? is this possible with this extensions?
File urls are generally supported for maven repositories: https://maven.apache.org/guides/introduction/introduction-to-repositories.html#internal-repositories
Using file urls with artifacts provided in git repo itself can be useful, especially if it is only about parent poms. The big advantage is that
For the case the directory .mvn/repository
exists in project structure (similar path as ~/.m2/repository
), it should automatically be registered as repository. For other location a URL like file://${maven.multiModuleProjectDirectory}/artifacts/vendor1
or file://${maven.multiModuleProjectDirectory}/artifacts/vendor2
shall be supported (automatically replacing ${maven.multiModuleProjectDirectory}
with the reactor root.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.