Hi Igor, Can it make sense to have a more descriptive name on this?
Cheers, Brett On 16/12/2009, at 11:34 AM, [email protected] wrote: > Author: ifedorenko > Date: Wed Dec 16 00:34:19 2009 > New Revision: 891083 > > URL: http://svn.apache.org/viewvc?rev=891083&view=rev > Log: > [MNG-4494] allow custom ArtifactRepository configuration and implementation > Issue id: MNG-4494 > > Added: > > maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout2.java > (with props) > Modified: > > maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java > > maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java > > Modified: > maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java?rev=891083&r1=891082&r2=891083&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java > (original) > +++ > maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java > Wed Dec 16 00:34:19 2009 > @@ -22,6 +22,7 @@ > import org.apache.maven.artifact.Artifact; > import org.apache.maven.artifact.metadata.ArtifactMetadata; > import org.apache.maven.artifact.repository.ArtifactRepository; > +import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy; > > /** @author jdcasey */ > public interface ArtifactRepositoryLayout > > Added: > maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout2.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout2.java?rev=891083&view=auto > ============================================================================== > --- > maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout2.java > (added) > +++ > maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout2.java > Wed Dec 16 00:34:19 2009 > @@ -0,0 +1,31 @@ > +package org.apache.maven.artifact.repository.layout; > + > +import org.apache.maven.artifact.repository.ArtifactRepository; > +import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy; > + > +/* > + * Licensed to the Apache Software Foundation (ASF) under one > + * or more contributor license agreements. See the NOTICE file > + * distributed with this work for additional information > + * regarding copyright ownership. The ASF licenses this file > + * to you under the Apache License, Version 2.0 (the > + * "License"); you may not use this file except in compliance > + * with the License. You may obtain a copy of the License at > + * > + * http://www.apache.org/licenses/LICENSE-2.0 > + * > + * Unless required by applicable law or agreed to in writing, > + * software distributed under the License is distributed on an > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > + * KIND, either express or implied. See the License for the > + * specific language governing permissions and limitations > + * under the License. > + */ > + > +public interface ArtifactRepositoryLayout2 > + extends ArtifactRepositoryLayout > +{ > + > + ArtifactRepository newMavenArtifactRepository( String id, String url, > ArtifactRepositoryPolicy snapshots, > + ArtifactRepositoryPolicy > releases ); > +} > > Propchange: > maven/maven-3/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout2.java > ------------------------------------------------------------------------------ > svn:eol-style = native > > Modified: > maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java > URL: > http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java?rev=891083&r1=891082&r2=891083&view=diff > ============================================================================== > --- > maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java > (original) > +++ > maven/maven-3/trunk/maven-compat/src/main/java/org/apache/maven/repository/legacy/repository/DefaultArtifactRepositoryFactory.java > Wed Dec 16 00:34:19 2009 > @@ -26,6 +26,7 @@ > import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy; > import org.apache.maven.artifact.repository.MavenArtifactRepository; > import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout; > +import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout2; > import org.codehaus.plexus.component.annotations.Component; > import org.codehaus.plexus.component.annotations.Requirement; > > @@ -124,7 +125,17 @@ > releases.setChecksumPolicy( globalChecksumPolicy ); > } > > - ArtifactRepository repository = new MavenArtifactRepository( id, > url, repositoryLayout, snapshots, releases ); > + ArtifactRepository repository; > + if ( repositoryLayout instanceof ArtifactRepositoryLayout2 ) > + { > + repository = > + ( (ArtifactRepositoryLayout2) repositoryLayout > ).newMavenArtifactRepository( id, url, snapshots, > + > releases ); > + } > + else > + { > + repository = new MavenArtifactRepository( id, url, > repositoryLayout, snapshots, releases ); > + } > > return repository; > } > > -- Brett Porter [email protected] http://brettporter.wordpress.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
