I would expect "remote" not be the central repo but what repo(s) (or mirrors) are configured in settings.xml.
Robert, what's your view of how this works in the plugin now? /Anders On Tue, May 16, 2017 at 11:06 AM, Amélie Deltour <amelie.delt...@kelkoo.com> wrote: > Hi Anders, > > Thanks for your clarification. > In understand well the idea behind the 3.x version and the concern for > more security and avoid to fetch anything directly from the Internet. Every > "external" access should go throud the repositories configured in the Maven > settings.xml, I completely agree with this, and this was indeed a flaw in > the 2.x version of the plugin. > > However, with the 3.x version, there are only 3 possible sources for the > archetype catalog [1]: > - "remote": this is atually Maven Central i.e. the > http://repo.maven.apache.org/maven2/archetype-catalog.xml catalog > - "local": the local Maven repository on the user's machine > - "internal": the plugin's internal catalog > > None of these is suitable for our case. > What we need is to use a catalog hosted on our internal repository manager > i.e. http://myrepo.mycompany/archetype-catalog.xml and unless I am > completely mistaken this is not possible anymore. > Although the repository manager is well configured in the Maven settings, > it is used for fetching dependencies, is is used to fetch the archetype > artifacts themselves, but no way to use it for the catalog. > So using our own internal catalog hosted on our own internal repository is > just not possible anymore. > Several users report the same issue in the ARCHETYPE-519 issue. > > To my mind, the possibility to use an "alternative" catalog is an > important feature of the plugin that should not be removed in the 3.x > version. > I totally agree that the alternative catalog should not be configured as a > direct URL in the CI, the 2.x way to do it was not the right way. > But there should still be a way to have it configured via Maven > settings.xml. > > Do you think my concern is valid? > > Amélie > > [1] http://maven.apache.org/archetype/maven-archetype-plugin/ > examples/generate-alternative-catalog.html > > On 05/16/2017 08:56 AM, Anders Hammar wrote: > > Amélie, > > Thanks for describing your use case here on the list! As I am one of the > reporters for the tickets behind the change in question I'd like to > describe my reasoning: > > First off, your use case is actually (if I understand it correctly) > standard for Maven usage. For a company environment I expect that central > repo (and any other external repo) to be proxied by a repo manager and > Maven should be configured to use the internal repo manager as mirror for > e.g. central. The idea is that Maven should NEVER go out on the Internet to > fetch artifacts (and archetypes are in fact artifacts). > > However, the archetype maven plugin didn't cope well with that setup. > Regardless of a correctly Maven configuration it would reach out to the > Internet in many cases. And if you specified an archetype catalog via the > CLI param it would then often go out to the Internet to download the > archetype itself. It just didn't follow the Maven idea of convention over > configuration but the users had to do workarounds to get things to work > (like specifying the archetype catalog on the CLI although it actually > existed in there internal repo manager). If there was security (auth) > involved with the repos it got even more messy. > > This we wanted to fix to simplify for our users. Possibly, not everything > worked out perfectly in v3.0.0 and there might be some bugs and I know > Robert has done some changes in this area in the upcoming v3.0.1. > Unfortunately I haven't had the time to verify and test this but I invite > you to help out by testing SNAPSHOT versions while changes are applied or > participate in the actual vote. By doing so you will ensure that your > actual use case is covered. > > /Anders > > On Mon, May 15, 2017 at 4:42 PM, Amélie Deltour <amelie.delt...@kelkoo.com > ><mailto:amelie.delt...@kelkoo.com> > wrote: > > > > Sorry guys, but as a maven-archetype-plugin user I don't share your views > on > this subject. > > Of course, I totally agree with the aim of this new 3.x release and the > idea to > be compliant with Maven3 behaviour and in particular the security features. > However, there have been quite a lot of complaints from users about > regressions > with this new plugin version. > The ARCHETYPE-439 issue [1] you mention does not give much information > about the > reasons of these complaints. > But you can see on ARCHETYPE-519 [2] comments that users *really* have a > problem > with this release, in case you doubt it. > > I will try to explain the use case. > In my company we have several Maven archetypes allowing to create quickly > new > projects, with all our standard Maven setup and code skeleton. > We use these archetypes quite a lot. > The problem with the new release is the archetype *catalog*. > Indeed the plugin needs a catalog to be able to use an archetype to create > a new > project. > In our case, we use our own private catalog stored in our internal > artifacts > manager (Artifactory). > With maven-archetype-plugin 2.4 we used to refer to this catalog with the > -DarchetypeCatalog parameter. > > Now with the 3.x plugin we do not have the ability to refer to our catalog > any more. > The "remote" catalog represents the > http://repo.maven.apache.org/maven2/archetype-catalog.xml catalog file, as > explained in the doc [3]. > But we don't want our archetypes to be published there... > Or am I completely mistaken and did I miss anything about the new plugin > behaviour? > > It is a good thing that the plugin now uses the Maven settings.xml, and > only > these settings, to resolve the archetypes from the standard artifact > repository > and associated settings, and not a custom archetype repository defined > elsewhere. > But the plugin should have the same behaviour regarding the catalog, i.e. > be > able to search the catalogs published in the repositories defined in > settings.xml, and not restrain the catalogs being searched to only the > Maven > Central and local catalogs. > > So we don't ask to keep the archetypeCatalog parameter, what we need is > just a > way to keep a feature which is mandatory for us, the ability to use > archetypes > defined in a catalog that is not published in Maven Central (and not > available > locally on the machine either). > I am convinced from ARCHETYPE-519 that many users need this feature. > To my mind, the problem with the new plugin release is not a compatibility > issue > (i.e. a different way to use or configure Maven), but really a break in > functionality i.e. a feature that is not available any more. > > BTW, the documentation about the new behaviour is not as clear as you say, > the > documentation still mentions "The Archetype Plugin can use catalogs from > local > filesystem and from HTTP connections." and "The Archetype Plugin can also > read > catalogs from filesystem/HTTP by providing the path/URL of a catalog file > or of > a directory containing an archetype-catalog.xml file." [4] > > I really hope you will understand the concern and do something about it, > either > revert the plugin or implement something allowing to use private remote > catalogs. > For the time being we need to stuck to the 2.4 version of the plugin but > this is > not an acceptable solution for the long-term. > > Regards, > > Amélie > > [1] https://issues.apache.org/jira/browse/ARCHETYPE-439 > [2] https://issues.apache.org/jira/browse/ARCHETYPE-519 > [3] > https://maven.apache.org/archetype/archetype-models/archetyp > e-catalog/archetype-catalog.html > [4] > https://maven.apache.org/archetype/maven-archetype-plugin/ > specification/archetype-catalog.html > > On 05/08/2017 07:38 PM, Robert Scholte wrote: > > > > So we have this plugin, which has been released lately as requested by the > community. > It has been released as a 3.x, so it now requires Maven3 and with this > major release[1] we used this opportunity to break compatibility in case > there are parameters we don't want to use anymore. > > One of the things changed is the usage of the reference to the archetype > repository. The original implementation was based on Maven2 and wasn't > using all security features as available in Maven3. This also made it hard > to maintain. > So for example, now it is picking up the artifact repository manager by > default, it'll use its credentials when required, etc. > By removing these parameters is should also be easier to use this plugin > (less parameters =ess chance of mistakes) > > So I think we made quite some people happy now that things are working > much more according to Maven default behavior. However, other have issues > to use the archetype. Sometimes it is because they are using deprecated > parameters (or use parameters which should have been removed as well), > others have a local setup which now requires to add the repository to > their settings.xml. > > I still think that ARCHETYPE-439[2] is valid, so I'd prefer not to revert. > Instead I hope we can find a solution which will fit better for the most. > > I can think of the following solutions: > 1. Continue with taken decision and further improve usage without extra > parameters > 2. Find somebody willing to maintain the plugin at ASF > 3. Donate the plugin > 4. Revert > > #3 is a serious option, because it seems that within the team there's > nobody willing to maintain the plugin, probably due to other Maven > sub-projects which have a higher priority. > > Any thoughts on this topic? > > Robert > > [1] http://semver.org/ > [2] https://issues.apache.org/jira/browse/ARCHETYPE-439 > > > > > > > > > Kelkoo SAS > Société par Actions Simplifiée > Au capital de € 4.168.964,30 > Siège social : 158 Ter Rue du Temple 75003 Paris > 425 093 069 RCS Paris > > Ce message et les pièces jointes sont confidentiels et établis à > l'attention exclusive de leurs destinataires. Si vous n'êtes pas le > destinataire de ce message, merci de le détruire et d'en avertir > l'expéditeur. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org<mailto: > dev-unsubscr...@maven.apache.org> > For additional commands, e-mail: dev-h...@maven.apache.org<mailto: > dev-h...@maven.apache.org> > > > > > > -- > Amélie Deltour > Software Engineer > [http://www.kk-data.com/s/content/common/UX/KLGClogos.png]<h > ttp://www.kelkoo.com/> > > E amelie.delt...@kelkoo.com<mailto:amelie.delt...@kelkoo.com> XMPP > amelie.delt...@kelkoo.net<mailto:amelie.delt...@kelkoo.net> > T +33 (0)4 56 09 07 41 M - > A Parc Sud Galaxie - Le Calypso, 6 rue des Méridiens, 38130 Echirolles, > FRANCE > > > > > ________________________________ > Kelkoo SAS > Société par Actions Simplifiée > Au capital de € 4.168.964,30 > Siège social : 158 Ter Rue du Temple 75003 Paris > 425 093 069 RCS Paris > > Ce message et les pièces jointes sont confidentiels et établis à > l'attention exclusive de leurs destinataires. Si vous n'êtes pas le > destinataire de ce message, merci de le détruire et d'en avertir > l'expéditeur. >