Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spring's Maven Central compatible .poms contain numerous repository definitions that hurt user build performance [SPR-6541] #11207

Closed
spring-projects-issues opened this issue Dec 10, 2009 · 4 comments
Labels
type: bug A general bug
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

Keith Donald opened SPR-6541 and commented

The parent pom contains the following global repository definitions:

<repositories>
   <repository>
     <id>java.net</id>
     <name>Java.net Repository for Maven</name>
     <url>http://download.java.net/maven/1/</url>
     <layout>legacy</layout>
     <snapshots><enabled>false</enabled></snapshots>
   </repository>
   <!-- for use with jexcelapi 2.6.8, portlet 2.0, javax.el/el-api 2.1 -->
   <repository>
     <id>jboss</id>
     <name>JBoss Repository</name>
     <url>http://repository.jboss.org/maven2</url>
     <snapshots><enabled>false</enabled></snapshots>
   </repository>
   <repository>
     <id>EclipseLink Repo</id>
     <url>http://mirror.cc.vt.edu/pub/eclipse/rt/eclipselink/maven.repo/</url>
     <snapshots><enabled>false</enabled></snapshots>
   </repository>
   <!-- for rome 1.0 -->
   <repository>
     <id>sun-repo-2</id>
     <url>http://download.java.net/maven/2/</url>
     <snapshots><enabled>false</enabled></snapshots>
   </repository>    
   <!-- fallback to S2 bundle repo for com.ibm.websphere.uow, oracle.classloader, com.sun.enterprise.loader -->
   <repository>
     <id>com.springsource.repository.bundles.release</id>
     <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
     <url>http://repository.springsource.com/maven/bundles/release/</url>
     <snapshots><enabled>false</enabled></snapshots>
   </repository>
   <repository>
     <id>com.springsource.repository.bundles.external</id>
     <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
     <url>http://repository.springsource.com/maven/bundles/external/</url>
     <snapshots><enabled>false</enabled></snapshots>
   </repository>
 </repositories>

This is not good, since now anytime a user attempts to import a Spring artifact each of these repositories is pinged before the artifact is retrieved, slowing performance. Also, should the EBR repositories be listed at all?

We should update the parent pom to remove the repositories and instead use a Maven profile that declares them and allows us to test a Maven-based build of Spring.


Affects: 3.0 RC3

Referenced from: commits 63996cb, 143ce57

@spring-projects-issues
Copy link
Collaborator Author

Keith Donald commented

This should be fixed before these poms are published to Maven Central with 3.0.0 GA.

@spring-projects-issues
Copy link
Collaborator Author

Dave Syer commented

The poms that contained repositories (parent and web) have been consolidated into a profile (-P build), and replaced by a single placeholder in the parent (http://repository.springframework.org/maven). Trevor is working on getting that placeholder available publicly, and eventually we will put a mirror there so that all the dependencies are actually resolvable.

@spring-projects-issues
Copy link
Collaborator Author

Trevor Marshall commented

Placeholder is up.

@spring-projects-issues
Copy link
Collaborator Author

Dave Syer commented

I moved the old profile (build) to a new one (legacy-build), and moved the new top-level repository declaration into the build profile. So "-P build" is a good option for us tactically to get all our Maven Central dependencies consolidated, but won't affect any users who don't want to use the new repository. It means that some optional dependencies, which are not in Maven Central, will only be accessible to people if they declare a repository in their pom, but it reduces the noise in the messaging about Maven meta-data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug A general bug
Projects
None yet
Development

No branches or pull requests

1 participant