On 15 March 2012 12:11, Joao Silva <joao.si...@vilt-group.com> wrote: > Hi Anders > > Thanks, but I already mentioned that blog post in my email. > Do you have something to add to that post? > Because in my opinion, that post does not offer clear cut conclusions > regarding the inclusion of repositories in pom.xml files: >> >> >> /Should I put the urls to my repositories in my poms or in my settings?/ >> >> The short answer is: /settings/. >> >> The long answer is: /it depends/. >> > For the enterprise scenarios, it may be reasonable to put them in pom.xml > files...
Nope.... For enterprise scenarios, you use <mirrorOf>*</mirrorOf> so that *everything* is pulled from your enterprise repository manager. Otherwise you are putting your enterprise at risk of a failure of a 3rd party repository... e.g. what happened when JBoss shut down their old repositories, what happened when those crazy fools hosting their own maven repos on google-code svn repos deleted their projects... You want *everything* in your enterprise repository manager so that you have complete control over your destiny -Stephen > > Thanks and best regards > Joao Silva > > > > On 3/15/2012 11:45 AM, Anders Hammar wrote: >> >> >> http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/ >> >> /Anders >> >> On Thu, Mar 15, 2012 at 11:51, Joao Silva<joao.si...@vilt-group.com> >> wrote: >>> >>> Hi Anders >>> >>> Can you provide some arguments to this statement? >>> We currently recommend all our projects tech leads to add to their top >>> level >>> project pom.xml the repositories they use (each individual project tree >>> usually has 3 repositories: releases, snapshots and 3rdparty). >>> Since the projects are worked internally only, this eases new developers >>> and >>> developer rotation in projects. >>> Our recommendation derives mainly from this blog post from the Sonatype >>> blog: >>> >>> http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/ >>> If there are aspects of this approach that we are not aware of, it would >>> be >>> great to see them discussed. >>> >>> Thanks for your time! >>> Best regards >>> Joao Silva >>> >>> On 3/15/2012 9:09 AM, Anders Hammar wrote: >>>> >>>> You should NOT declare repositories (or plugin repositories) in a >>>> corporate pom. That should be handled in settings.xml. >>>> >>>> /Anders >>>> >>>> On Wed, Mar 14, 2012 at 22:22, Eric Kolotyluk<eric.koloty...@gmail.com> >>>> wrote: >>>>> >>>>> What I do is have a top-level POM like (see below), and then I have my >>>>> top >>>>> level project POMs reference that (see further below). This may not be >>>>> the >>>>> best example, as I am still in the process of building the >>>>> infrastructure, >>>>> but >>>>> >>>>> 1. I put the Parent POM in its own place in source control and I >>>>> manually deploy it with Maven when I make changes. >>>>> 2. You need to do this before creating any Project POMs that reference >>>>> it because they should reference it via Maven and not the file >>>>> system - if you work in a large company you will soon discover why. >>>>> 3. There is of course a bootstrapping issue because now the project >>>>> POMs need to know how to find your Repository Manager, which is why >>>>> I include that information in the top level (Corporate) POM so >>>>> people can use it as a reference. >>>>> 4. As you may gather I am using Sonatype's Nexus as a Repository >>>>> Manager. >>>>> 5. We are still developing our corporate repository infrastructure so >>>>> the content of the Corporate POM will evolve over time as our >>>>> corporate governance and policies are better codified. >>>>> >>>>> Does that help? >>>>> >>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>> <project xmlns="http://maven.apache.org/POM/4.0.0" >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >>>>> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >>>>> <!-- >>>>> Copyright Š My Company 2012 >>>>> >>>>> Proprietary& Confidential >>>>> >>>>> This is the top level POM for My Company Maven projects. It >>>>> contains >>>>> rules and standards common to all projects. >>>>> >>>>> Changes: >>>>> >>>>> 2011-09-23 0.0.1-SNAPSHOT Eric Kolotyluk >>>>> Created initial version for check-in into source control. >>>>> >>>>> 2012-02-27 0.0.1-SNAPSHOT Eric Kolotyluk >>>>> Reconfigured for Nexus 2.0 on sonatype. >>>>> --> >>>>> <modelVersion>4.0.0</modelVersion> >>>>> <groupId>com</groupId> >>>>> <artifactId>my-company</artifactId> >>>>> <version>0.0.1-SNAPSHOT</version> >>>>> <packaging>pom</packaging> >>>>> <name>My Company Corporate POM</name> >>>>> <description>Corporate Project Object Module for standard conventions >>>>> and >>>>> rules.</description> >>>>> <developers> >>>>> <developer> >>>>> <id>10069959</id> >>>>> <name>Eric Kolotyluk</name> >>>>> <email>eric.koloty...@gmail.com</email> >>>>> <organization>My Company Ltd.</organization> >>>>> <timezone>Vancouver PDT</timezone> >>>>> <roles> >>>>> <role>Software Architect</role> >>>>> <role>Software Developer</role> >>>>> </roles> >>>>> </developer> >>>>> </developers> >>>>> <organization> >>>>> <name>My Company</name> >>>>> </organization> >>>>> <distributionManagement> >>>>> >>>>> >>>>> <downloadUrl>http://sonatype:8081/nexus/content/groups/public</downloadUrl> >>>>> <repository> >>>>> <uniqueVersion>false</uniqueVersion> >>>>> <id>nexus</id> >>>>> <name>My Company Release Repository</name> >>>>> <url>http://sonatype:8081/nexus/content/repositories/releases</url> >>>>> <layout>default</layout> >>>>> </repository> >>>>> <snapshotRepository> >>>>> <id>nexus</id> >>>>> <name>My Company Snapshot Repository</name> >>>>> <url>http://sonatype:8081/nexus/content/repositories/snapshots</url> >>>>> <layout>default</layout> >>>>> </snapshotRepository> >>>>> </distributionManagement> >>>>> <build> >>>>> </build> >>>>> <repositories> >>>>> <repository> >>>>> <releases> >>>>> <updatePolicy>always</updatePolicy> >>>>> </releases> >>>>> <id>info.collide.mvn</id> >>>>> <name>Collide</name> >>>>> >>>>> >>>>> <url>http://sonatype:8081/nexus/content/repositories/info.collide.mvn/</url> >>>>> </repository> >>>>> <repository> >>>>> <id>thirdparty</id> >>>>> <name>3rd party</name> >>>>> <url>http://sonatype:8081/nexus/content/repositories/thirdparty/</url> >>>>> </repository> >>>>> </repositories> >>>>> <dependencies> >>>>> </dependencies> >>>>> <reporting> >>>>> <plugins> >>>>> </plugins> >>>>> </reporting> >>>>> <dependencyManagement> >>>>> </dependencyManagement> >>>>> <properties> >>>>> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> >>>>> </properties> >>>>> </project> >>>>> >>>>> - - - - - - - >>>>> >>>>> <project xmlns="http://maven.apache.org/POM/4.0.0" >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >>>>> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >>>>> <modelVersion>4.0.0</modelVersion> >>>>> <parent> >>>>> <groupId>com</groupId> >>>>> <artifactId>my-company</artifactId> >>>>> <version>0.0.1-SNAPSHOT</version> >>>>> </parent> >>>>> <groupId>com.my-company</groupId> >>>>> <artifactId>intersystem</artifactId> >>>>> <version>0.0.2-SNAPSHOT</version> >>>>> <packaging>pom</packaging> >>>>> <name>My Company Intersystem</name> >>>>> <description>Service layer for collaborative, distributed applications >>>>> and >>>>> services</description> >>>>> <licenses> >>>>> <license> >>>>> <name>My Company Intersystem</name> >>>>> >>>>> >>>>> <url>https://collaborate.my-company.com/sites/SoftwareStandardsAndGuidelines/Intersystem/default.aspx</url> >>>>> <distribution>repo</distribution> >>>>> </license> >>>>> </licenses> >>>>> <developers> >>>>> <developer> >>>>> <id>10069959</id> >>>>> <name>Eric Kolotyluk</name> >>>>> <email>eric.koloty...@gmail.com</email> >>>>> <organization>My Company</organization> >>>>> <timezone>Vancouver PDT</timezone> >>>>> <roles> >>>>> <role>Software Architect</role> >>>>> <role>Software Developer</role> >>>>> <role>Intersystem Architect</role> >>>>> </roles> >>>>> </developer> >>>>> </developers> >>>>> <organization> >>>>> <name>My Company</name> >>>>> </organization> >>>>> <distributionManagement> >>>>> >>>>> >>>>> <downloadUrl>http://sonatype:8081/nexus/content/groups/public</downloadUrl> >>>>> <repository> >>>>> <uniqueVersion>false</uniqueVersion> >>>>> <id>nexus</id> >>>>> <name>My Company Release Repository</name> >>>>> <url>http://sonatype:8081/nexus/content/repositories/releases</url> >>>>> <layout>default</layout> >>>>> </repository> >>>>> <snapshotRepository> >>>>> <id>nexus</id> >>>>> <name>My Company Snapshot Repository</name> >>>>> <url>http://sonatype:8081/nexus/content/repositories/snapshots</url> >>>>> <layout>default</layout> >>>>> </snapshotRepository> >>>>> </distributionManagement> >>>>> <build> >>>>> </build> >>>>> <repositories> >>>>> <repository> >>>>> <releases> >>>>> <updatePolicy>always</updatePolicy> >>>>> </releases> >>>>> <id>info.collide.mvn</id> >>>>> <name>Collide</name> >>>>> >>>>> >>>>> <url>http://sonatype:8081/nexus/content/repositories/info.collide.mvn/</url> >>>>> </repository> >>>>> <repository> >>>>> <id>thirdparty</id> >>>>> <name>3rd party</name> >>>>> <url>http://sonatype:8081/nexus/content/repositories/thirdparty/</url> >>>>> </repository> >>>>> </repositories> >>>>> <dependencies> >>>>> </dependencies> >>>>> <reporting> >>>>> <plugins> >>>>> </plugins> >>>>> </reporting> >>>>> <dependencyManagement> >>>>> </dependencyManagement> >>>>> <properties> >>>>> <net.sf.jni4net.version>0.8.6.0</net.sf.jni4net.version> >>>>> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> >>>>> </properties> >>>>> <modules> >>>>> <module>platform.Java</module> >>>>> <module>platform.NET</module> >>>>> </modules> >>>>> </project> >>>>> >>>>> >>>>> On 2012-03-14 1:29 PM, Daivish Shah wrote: >>>>>> >>>>>> Hi Maven Team, >>>>>> >>>>>> I am trying to find out what is the best way to define company >>>>>> specific >>>>>> GLOBAL POM.XML. Which each team can inherit it in EACH Projects. >>>>>> >>>>>> Can some one provide me guideline on that ? Is that going to be >>>>>> profile >>>>>> or >>>>>> just simple POM.XML ? And how to inherit that. Please provide me >>>>>> guideline >>>>>> to implement it. As this is very critical before we implement all >>>>>> projects >>>>>> with MAVEN. >>>>>> >>>>>> Thanks, >>>>>> Daivish. >>>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >>>>> For additional commands, e-mail: users-h...@maven.apache.org >>>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >>>> For additional commands, e-mail: users-h...@maven.apache.org >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >>> For additional commands, e-mail: users-h...@maven.apache.org >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >> For additional commands, e-mail: users-h...@maven.apache.org >> > > -- > *João Silva > * * > VILT Group > * *_http://www.vilt-group.com > _ > Rua Ivone Silva, 6 - 7º Esq > 1050-124 Lisboa - Portugal > > Mobile +351 926 531 097 > Phone +351 210 34 33 00 > Fax +351 210 34 33 99 > Email _joao.si...@vilt-group.com <mailto:joao.si...@vilt-group.com>_* --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org