You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/12/17 07:44:51 UTC
svn commit: r727300 - in /maven/mercury/trunk: mercury-ant/mercury-ant-tasks/
mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/
mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/
mercury-ant/mercury-ant-tasks/s...
Author: ogusakov
Date: Tue Dec 16 22:44:50 2008
New Revision: 727300
URL: http://svn.apache.org/viewvc?rev=727300&view=rev
Log:
[MERCURY-56] intermediate commit, authentication finally works, working on pgp reading tests
Added:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.jar (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.jar.asc
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom.asc
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml.asc
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml.asc
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml.asc
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.jar (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.jar.asc
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom.asc
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml.asc
Modified:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingTestServer.java
Modified: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml?rev=727300&r1=727299&r2=727300&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml (original)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml Tue Dec 16 22:44:50 2008
@@ -60,7 +60,6 @@
</merc:config>
-
<merc:dep id="my-libs">
<merc:dependency name="asm:asm:3.0"/>
</merc:dep>
@@ -98,7 +97,7 @@
/>
</target>
-
+
<target name="compile-auth" depends="init">
<merc:resolve pathid="compile-path-auth"
@@ -123,6 +122,49 @@
</target>
+ <target name="bad-pgp" depends="init">
+
+ <merc:config id="pgp-conf">
+ <merc:repo id="localPgpRepo" dir="${local.verify.dir}"/>
+ <merc:repo id="remotePgpRepo" url="http://localhost:50000/maven2">
+ <merc:verifyread type="pgp">
+ <property name="keyring" value="${basedir}/target/test-classes/pgp/pubring.gpg"/>
+ </merc:verifyread>
+ </merc:repo>
+ </merc:config>
+
+ <merc:dep id="t-bad">
+ <merc:dependency name="t:bad:1.0"/>
+ </merc:dep>
+
+ <merc:resolve pathid="path-pgp-good"
+ depid="t-bad"
+ configid="pgp-conf"
+ />
+ </target>
+
+
+ <target name="good-pgp" depends="init">
+
+ <merc:config id="pgp-conf">
+ <merc:repo id="localPgpRepo" dir="${local.verify.dir}"/>
+ <merc:repo id="remotePgpRepo" url="http://localhost:50000/maven2">
+ <merc:verifyread type="pgp">
+ <property name="keyring" value="${basedir}/target/test-classes/pgp/pubring.gpg"/>
+ </merc:verifyread>
+ </merc:repo>
+ </merc:config>
+
+ <merc:dep id="t-good">
+ <merc:dependency name="t:t:1.0"/>
+ </merc:dep>
+
+ <merc:resolve pathid="path-pgp-good"
+ configid="pgp-conf"
+ depid="t-good"
+ />
+ </target>
+
<target name="deploy" depends="compile">
<merc:write repoid="localRepo"
name="t:t:1.0"
Modified: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java?rev=727300&r1=727299&r2=727300&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java (original)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java Tue Dec 16 22:44:50 2008
@@ -11,322 +11,364 @@
import org.apache.tools.ant.types.Path;
/**
- *
- *
* @author Oleg Gusakov
* @version $Id$
- *
*/
public class MecuryAntTest
-extends BuildFileTest
+ extends BuildFileTest
{
- static final String _localRepoDir = "./target/repo";
- static File _localRepoDirFile;
-
- static final String _writeRepoDir = "./target/test-repo";
- static File _writeRepoDirFile;
-
- static final String _verifyRepoDir = "./target/test-verify-repo";
- static File _verifyRepoDirFile;
-
- static final String _compileDir = "./target/compile-classes";
- static File _compileDirFile;
-
- static final String _jarDir = "./target/compile-target";
- static File _jarDirFile;
-
- static final String _remoteRepoDir = "./target/test-classes/remoteRepo";
- static File _remoteRepoDirFile;
- static final String _remoteRepoUrlPrefix = "http://localhost:";
- static final String _remoteRepoUrlSufix = "/repo";
-
- static final String _pathId = "class-path";
-
- SimpleTestServer _jetty;
- String _port;
-
- AuthenticatingTestServer _secureJetty;
- String _securedPort;
-
- Resolver _resolver;
- Config _config;
- Dep _dep;
-
- Dep.Dependency _asm;
- Dep.Dependency _ant;
-
- //-----------------------------------
- final class Resolver
- extends ResolveTask
- {
- @SuppressWarnings("deprecation")
- public Resolver()
- {
- project = new Project();
- project.init();
- target = new Target();
- }
- }
- //-----------------------------------
- final class Writer
- extends WriteTask
- {
- @SuppressWarnings("deprecation")
- public Writer()
- {
- project = new Project();
- project.init();
- target = new Target();
- }
- }
- //-----------------------------------
- public MecuryAntTest( String name )
- {
- super( name );
- }
- //-----------------------------------
- @Override
- protected void setUp()
- throws Exception
- {
- _dep = new Dep();
- _dep.setId( "my-lib" );
-
- _asm = _dep.createDependency();
- _asm.setName( "asm:asm-xml:3.0" );
-
- _ant = _dep.createDependency();
- _ant.setName( "ant:ant:1.6.5" );
-
- _config = new Config();
- _config.setId( "conf" );
-
- _localRepoDirFile = new File( _localRepoDir );
- FileUtil.delete( _localRepoDirFile );
- _localRepoDirFile.mkdirs();
-
- Config.Repo localRepo = _config.createRepo();
- localRepo.setId( "localRepo" );
- localRepo.setDir( _localRepoDir );
-
- _remoteRepoDirFile = new File( _remoteRepoDir );
- _jetty = new SimpleTestServer( _remoteRepoDirFile, _remoteRepoUrlSufix );
- _jetty.start();
- _port = ""+_jetty.getPort();
-
- Config.Repo remoteRepo = _config.createRepo();
- remoteRepo.setId( "remoteRepo" );
- remoteRepo.setUrl( _remoteRepoUrlPrefix + _port + _remoteRepoUrlSufix );
+ static final String _localRepoDir = "./target/repo";
+
+ static File _localRepoDirFile;
+
+ static final String _writeRepoDir = "./target/test-repo";
+
+ static File _writeRepoDirFile;
+
+ static final String _verifyRepoDir = "./target/test-verify-repo";
+
+ static File _verifyRepoDirFile;
+
+ static final String _compileDir = "./target/compile-classes";
+
+ static File _compileDirFile;
+
+ static final String _jarDir = "./target/compile-target";
+
+ static File _jarDirFile;
+
+ static final String _remoteRepoDir = "./target/test-classes/remoteRepo";
+
+ static File _remoteRepoDirFile;
+
+ static final String _remoteRepoUrlPrefix = "http://localhost:";
+
+ static final String _remoteRepoUrlSufix = "/repo";
+
+ static final String _pathId = "class-path";
+
+ AuthenticatingTestServer _jetty;
+
+ String _port;
+
+ Resolver _resolver;
+
+ Config _config;
+
+ Dep _dep;
+
+ Dep.Dependency _asm;
+
+ Dep.Dependency _ant;
+
+ // -----------------------------------
+ final class Resolver
+ extends ResolveTask
+ {
+ @SuppressWarnings( "deprecation" )
+ public Resolver()
+ {
+ project = new Project();
+ project.init();
+ target = new Target();
+ }
+ }
+
+ // -----------------------------------
+ final class Writer
+ extends WriteTask
+ {
+ @SuppressWarnings( "deprecation" )
+ public Writer()
+ {
+ project = new Project();
+ project.init();
+ target = new Target();
+ }
+ }
+
+ // -----------------------------------
+ public MecuryAntTest( String name )
+ {
+ super( name );
+ }
+
+ // -----------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ _dep = new Dep();
+ _dep.setId( "my-lib" );
+
+ _asm = _dep.createDependency();
+ _asm.setName( "asm:asm-xml:3.0" );
+
+ _ant = _dep.createDependency();
+ _ant.setName( "ant:ant:1.6.5" );
+
+ _config = new Config();
+ _config.setId( "conf" );
+
+ _localRepoDirFile = new File( _localRepoDir );
+ FileUtil.delete( _localRepoDirFile );
+ _localRepoDirFile.mkdirs();
+
+ Config.Repo localRepo = _config.createRepo();
+ localRepo.setId( "localRepo" );
+ localRepo.setDir( _localRepoDir );
+
+ _remoteRepoDirFile = new File( _remoteRepoDir );
+ _jetty = new AuthenticatingTestServer( 0, _remoteRepoDirFile, _remoteRepoUrlSufix, false );
+ _jetty.start();
+ _port = "" + _jetty.getPort();
+
+ Config.Repo remoteRepo = _config.createRepo();
+ remoteRepo.setId( "remoteRepo" );
+ remoteRepo.setUrl( _remoteRepoUrlPrefix + _port + _remoteRepoUrlSufix );
+
+ _resolver = new Resolver();
+ _resolver.setDepid( _dep.getId() );
+ _resolver.setConfigid( _config.getId() );
+
+ _resolver.setPathid( _pathId );
+
+ Project project = _resolver.getProject();
+
+ project.addReference( _config.getId(), _config );
+ project.addReference( _dep.getId(), _dep );
+
+ System.setProperty( "ant.home", ".src/test/apache-ant-1.6.5" );
+
+ configureProject( "build.xml" );
+
+ _writeRepoDirFile = new File( _writeRepoDir );
+ FileUtil.delete( _writeRepoDirFile );
+ _writeRepoDirFile.mkdirs();
+
+ _verifyRepoDirFile = new File( _verifyRepoDir );
+ FileUtil.delete( _verifyRepoDirFile );
+ _verifyRepoDirFile.mkdirs();
+
+ _compileDirFile = new File( _compileDir );
+ FileUtil.delete( _compileDirFile );
+ _compileDirFile.mkdirs();
+
+ _jarDirFile = new File( _jarDir );
+ FileUtil.delete( _jarDirFile );
+ _jarDirFile.mkdirs();
+ }
+
+ // -----------------------------------
+ private void restart( int port, File localBase, String remotePathFragment, boolean secured )
+ throws Exception
+ {
+ tearDown();
+
+ _jetty = new AuthenticatingTestServer( port, localBase, remotePathFragment, secured );
+ _jetty.start();
- _resolver = new Resolver();
- _resolver.setDepid( _dep.getId() );
- _resolver.setConfigid( _config.getId() );
-
- _resolver.setPathid( _pathId );
-
- Project project = _resolver.getProject();
-
- project.addReference( _config.getId(), _config );
- project.addReference( _dep.getId(), _dep );
-
- System.setProperty( "ant.home", ".src/test/apache-ant-1.6.5" );
-
- configureProject( "build.xml" );
-
- _writeRepoDirFile = new File( _writeRepoDir );
- FileUtil.delete( _writeRepoDirFile );
- _writeRepoDirFile.mkdirs();
-
- _verifyRepoDirFile = new File( _verifyRepoDir );
- FileUtil.delete( _verifyRepoDirFile );
- _verifyRepoDirFile.mkdirs();
-
- _compileDirFile = new File( _compileDir );
- FileUtil.delete( _compileDirFile );
- _compileDirFile.mkdirs();
-
- _jarDirFile = new File( _jarDir );
- FileUtil.delete( _jarDirFile );
- _jarDirFile.mkdirs();
- }
- //-----------------------------------
- @Override
- protected void tearDown()
- throws Exception
- {
- _jetty.stop();
- _jetty.destroy();
-
- System.out.println("Jetty on :"+_port+" destroyed\n<========\n\n");
- }
- //-----------------------------------
- public void testReadDependencies()
- {
- String title = "resolver";
- System.out.println("========> start "+title);
- System.out.flush();
-
- _resolver.execute();
-
- Project pr = _resolver.getProject();
-
- Path path = (Path)pr.getReference( _pathId );
-
- assertNotNull( path );
-
- String [] list = path.list();
-
- assertNotNull( list );
-
- assertEquals( 6, list.length );
-
-// System.out.println("\n==== Files found ====");
-// for( String s : list )
-// System.out.println(s);
-
- File af = new File( _localRepoDir, "/ant/ant/1.6.5/ant-1.6.5.jar" );
- assertTrue( af.exists() );
-
- af = new File( _localRepoDir, "/asm/asm-util/3.0/asm-util-3.0.jar" );
- assertTrue( af.exists() );
-
- af = new File( _localRepoDir, "/asm/asm-xml/3.0/asm-xml-3.0.jar" );
- assertTrue( af.exists() );
-
- af = new File( _localRepoDir, "/asm/asm-tree/3.0/asm-tree-3.0.jar" );
- assertTrue( af.exists() );
-
- af = new File( _localRepoDir, "/asm/asm/3.0/asm-3.0.jar" );
- assertTrue( af.exists() );
-
- }
- //-----------------------------------
- public void testCompile()
- {
- String title = "compile";
- System.out.println("========> start "+title);
- System.out.flush();
-
- File af = new File( _compileDirFile, "T.class" );
-
- assertFalse( af.exists() );
-
- File jar = new File( _jarDirFile, "t.jar" );
-
- assertFalse( jar.exists() );
-
- executeTarget("compile");
-
- assertTrue( af.exists() );
-
- assertTrue( jar.exists() );
- }
- //-----------------------------------
- public void testBadAuthRepo()
- throws Exception
- {
- try
- {
- String title = "compile-auth";
- System.out.println("========> start "+title);
- System.out.flush();
-
- _secureJetty = new AuthenticatingTestServer( 50000, _remoteRepoDirFile, "/maven2" );
- _secureJetty.start();
-
- try
- {
- executeTarget("compile-bad-auth");
- fail( "accessing authenticated repo without password succeded - failing test" );
- }
- catch( Exception e )
- {
- System.out.println("Expected exception: "+e.getMessage() );
- }
+ this._port = ""+port;
}
- finally
+
+ // -----------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ if( _jetty != null )
+ {
+ _jetty.stop();
+ _jetty.destroy();
+
+ System.out.println( "Jetty on :" + _port + " destroyed\n<========\n\n" );
+ }
+ }
+
+ // -----------------------------------
+ public void testReadDependencies()
{
- if( _secureJetty != null )
+ String title = "resolver";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ _resolver.execute();
+
+ Project pr = _resolver.getProject();
+
+ Path path = (Path) pr.getReference( _pathId );
+
+ assertNotNull( path );
+
+ String[] list = path.list();
+
+ assertNotNull( list );
+
+ assertEquals( 6, list.length );
+
+ File af = new File( _localRepoDir, "/ant/ant/1.6.5/ant-1.6.5.jar" );
+ assertTrue( af.exists() );
+
+ af = new File( _localRepoDir, "/asm/asm-util/3.0/asm-util-3.0.jar" );
+ assertTrue( af.exists() );
+
+ af = new File( _localRepoDir, "/asm/asm-xml/3.0/asm-xml-3.0.jar" );
+ assertTrue( af.exists() );
+
+ af = new File( _localRepoDir, "/asm/asm-tree/3.0/asm-tree-3.0.jar" );
+ assertTrue( af.exists() );
+
+ af = new File( _localRepoDir, "/asm/asm/3.0/asm-3.0.jar" );
+ assertTrue( af.exists() );
+
+ }
+
+ // -----------------------------------
+ public void testCompile()
+ {
+ String title = "compile";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ File af = new File( _compileDirFile, "T.class" );
+
+ assertFalse( af.exists() );
+
+ File jar = new File( _jarDirFile, "t.jar" );
+
+ assertFalse( jar.exists() );
+
+ executeTarget( "compile" );
+
+ assertTrue( af.exists() );
+
+ assertTrue( jar.exists() );
+ }
+
+ // -----------------------------------
+ public void testBadAuthRepo()
+ throws Exception
+ {
+ String title = "compile-auth";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ restart( 50000, _remoteRepoDirFile, "/maven2", true );
+
try
{
- _secureJetty.stop();
- _secureJetty.destroy();
+ executeTarget( "compile-bad-auth" );
+ fail( "accessing authenticated repo without password succeded - failing test" );
+ }
+ catch ( Exception e )
+ {
+ System.out.println( "Expected exception: " + e.getMessage() );
}
- catch( Exception e ){}
}
- }
- //-----------------------------------
- public void testAuthRepo()
- throws Exception
- {
- try
- {
- String title = "compile-auth";
- System.out.println("========> start "+title);
- System.out.flush();
-
- File af = new File( _compileDirFile, "T.class" );
-
- assertFalse( af.exists() );
-
- File jar = new File( _jarDirFile, "t-auth.jar" );
-
- assertFalse( jar.exists() );
-
- _secureJetty = new AuthenticatingTestServer( 50000, _remoteRepoDirFile, "/maven2" );
- _secureJetty.start();
-
- executeTarget("compile-auth");
-
- assertTrue( af.exists() );
- assertTrue( jar.exists() );
+
+ // -----------------------------------
+ public void testAuthRepo()
+ throws Exception
+ {
+ String title = "compile-auth";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ File af = new File( _compileDirFile, "T.class" );
+
+ assertFalse( af.exists() );
+
+ File jar = new File( _jarDirFile, "t-auth.jar" );
+
+ assertFalse( jar.exists() );
+
+ restart( 50000, _remoteRepoDirFile, "/maven2", true );
+
+ executeTarget( "compile-auth" );
+
+ assertTrue( af.exists() );
+ assertTrue( jar.exists() );
+ }
+
+ // -----------------------------------
+ public void testWriteToRepository()
+ {
+ String title = "write";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ File af = new File( _writeRepoDirFile, "/t/t/1.0/t-1.0.jar" );
+ assertFalse( af.exists() );
+
+ File ap = new File( _writeRepoDirFile, "/t/t/1.0/t-1.0.pom" );
+ assertFalse( ap.exists() );
+
+ executeTarget( "deploy" );
+
+ assertTrue( af.exists() );
+ assertTrue( ap.exists() );
+ }
+
+ // -----------------------------------
+ public void testVerifyWritePgp()
+ {
+ String title = "write-verify-pgp";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ File af = new File( _verifyRepoDirFile, "/t/t/1.0/t-1.0.jar" );
+ assertFalse( af.exists() );
+
+ File sig = new File( _verifyRepoDirFile, "/t/t/1.0/t-1.0.jar.asc" );
+ assertFalse( sig.exists() );
+
+ executeTarget( "deploy-verify" );
+
+ assertTrue( af.exists() );
+ assertTrue( sig.exists() );
}
- finally
+ //-----------------------------------
+ public void testVerifyReadBadPgp()
+ throws Exception
{
- if( _secureJetty != null )
+ String title = "verify-read-bad-pgp";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ File af = new File( _verifyRepoDirFile, "t/bad/1.0/bad-1.0.jar" );
+ assertFalse( af.exists() );
+
+ restart( 50000, _remoteRepoDirFile, "/maven2", true );
+
try
{
- _secureJetty.stop();
- _secureJetty.destroy();
+ executeTarget( "bad-pgp" );
+
+ fail( "reading bad pgp signature did not trigger an exception. Failing the test" );
+ }
+ catch ( Exception e )
+ {
+ System.out.println("Expected exception: "+ e.getMessage() );
}
- catch( Exception e ){}
+
+ assertFalse( af.exists() );
+ }
+ //-----------------------------------
+ public void testVerifyReadGoodPgp()
+ throws Exception
+ {
+ String title = "verify-read-good-pgp";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ File af = new File( _verifyRepoDirFile, "t/t/1.0/t-1.0.jar" );
+ assertFalse( af.exists() );
+
+ restart( 50000, _remoteRepoDirFile, "/maven2", true );
+
+ executeTarget( "good-pgp" );
+
+ assertTrue( af.exists() );
}
- }
- //-----------------------------------
- public void testWriteToRepository()
- {
- String title = "write";
- System.out.println("========> start "+title);
- System.out.flush();
-
- File af = new File( _writeRepoDirFile, "/t/t/1.0/t-1.0.jar" );
- assertFalse( af.exists() );
-
- File ap = new File( _writeRepoDirFile, "/t/t/1.0/t-1.0.pom" );
- assertFalse( ap.exists() );
-
- executeTarget("deploy");
-
- assertTrue( af.exists() );
- assertTrue( ap.exists() );
- }
- //-----------------------------------
- public void testVerifyPgp()
- {
- String title = "write-verify-pgp";
- System.out.println("========> start "+title);
- System.out.flush();
-
- File af = new File( _verifyRepoDirFile, "/t/t/1.0/t-1.0.jar" );
- assertFalse( af.exists() );
-
- File sig = new File( _verifyRepoDirFile, "/t/t/1.0/t-1.0.jar.asc" );
- assertFalse( sig.exists() );
-
- executeTarget("deploy-verify");
-
- assertTrue( af.exists() );
- assertTrue( sig.exists() );
- }
- //-----------------------------------
+ // -----------------------------------
}
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.jar
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.jar?rev=727300&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.jar.asc
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.jar.asc?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.jar.asc (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.jar.asc Tue Dec 16 22:44:50 2008
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAklIRFwACgkQDttdkRQbxPKvewCfd3Zq87KWm5ugjzPbDCGOP3QS
+fM4An0+2w1qJuABAJbQMzAnqbXnyLXA/
+=wn4X
+-----END PGP SIGNATURE-----
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom Tue Dec 16 22:44:50 2008
@@ -0,0 +1,7 @@
+?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/maven-v4_0_0.xsd'>
+<modelVersion>4.0.0</modelVersion>
+<groupId>t</groupId>
+<artifactId>bad</artifactId>
+<version>1.0</version>
+</project>
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom.asc
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom.asc?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom.asc (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/bad-1.0.pom.asc Tue Dec 16 22:44:50 2008
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAklIRFwACgkQDttdkRQbxPI1SQCfS2eL605fF4QDjdwOotZdQPGQ
+MWIAoIFG4Fwid4cf+UwbeHZ0FXhZpSVy
+=C6l+
+-----END PGP SIGNATURE-----
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml Tue Dec 16 22:44:50 2008
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>t</groupId>
+ <artifactId>bad</artifactId>
+ <version>1.0</version>
+ <versioning>
+ <versions>
+ <version>1.0</version>
+ </versions>
+ <lastUpdated>20081217001420</lastUpdated>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml.asc
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml.asc?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml.asc (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/1.0/maven-metadata-local.xml.asc Tue Dec 16 22:44:50 2008
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAklIRFwACgkQDttdkRQbxPI0KQCfS9ln3qYN8ADPG+28P7HKMf6t
+83oAn3AqhhKGboN2VSDA/6ITc1aTnf7N
+=gPVV
+-----END PGP SIGNATURE-----
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml Tue Dec 16 22:44:50 2008
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>t</groupId>
+ <artifactId>bad</artifactId>
+ <versioning>
+ <versions>
+ <version>1.0</version>
+ </versions>
+ <lastUpdated>20081217001420</lastUpdated>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml.asc
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml.asc?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml.asc (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/bad/maven-metadata-local.xml.asc Tue Dec 16 22:44:50 2008
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAklIRFwACgkQDttdkRQbxPIR9gCeNWOfZNr+zSUyh3wOHc/waGlv
+v5sAmgJfv6k+I+PJSFmstK8PnVHh9S3C
+=VaV/
+-----END PGP SIGNATURE-----
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml Tue Dec 16 22:44:50 2008
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>t</groupId>
+ <artifactId>t</artifactId>
+ <version>1.0</version>
+ <versioning>
+ <versions>
+ <version>1.0</version>
+ </versions>
+ <lastUpdated>20081217001420</lastUpdated>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml.asc
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml.asc?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml.asc (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/maven-metadata-local.xml.asc Tue Dec 16 22:44:50 2008
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAklIRFwACgkQDttdkRQbxPI0KQCfS9ln3qYN8ADPG+28P7HKMf6t
+83oAn3AqhhKGboN2VSDA/6ITc1aTnf7N
+=gPVV
+-----END PGP SIGNATURE-----
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.jar
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.jar?rev=727300&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.jar.asc
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.jar.asc?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.jar.asc (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.jar.asc Tue Dec 16 22:44:50 2008
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAklIRFwACgkQDttdkRQbxPKvewCfd3Zq87KWm5ugjzPbDCGOP3QS
+fM4An0+2w1qJuABAJbQMzAnqbXnyLXA/
+=wn4X
+-----END PGP SIGNATURE-----
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom Tue Dec 16 22:44:50 2008
@@ -0,0 +1,8 @@
+?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/maven-v4_0_0.xsd'>
+<modelVersion>4.0.0</modelVersion>
+<groupId>t</groupId>
+<artifactId>t</artifactId>
+<version>1.0</version>
+<packaging>jar</packaging>
+</project>
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom.asc
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom.asc?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom.asc (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/1.0/t-1.0.pom.asc Tue Dec 16 22:44:50 2008
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAklIRFwACgkQDttdkRQbxPI1SQCfS2eL605fF4QDjdwOotZdQPGQ
+MWIAoIFG4Fwid4cf+UwbeHZ0FXhZpSVy
+=C6l+
+-----END PGP SIGNATURE-----
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml Tue Dec 16 22:44:50 2008
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>t</groupId>
+ <artifactId>t</artifactId>
+ <versioning>
+ <versions>
+ <version>1.0</version>
+ </versions>
+ <lastUpdated>20081217001420</lastUpdated>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml.asc
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml.asc?rev=727300&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml.asc (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/remoteRepo/t/t/maven-metadata-local.xml.asc Tue Dec 16 22:44:50 2008
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.40
+
+iEYEABECAAYFAklIRFwACgkQDttdkRQbxPIR9gCeNWOfZNr+zSUyh3wOHc/waGlv
+v5sAmgJfv6k+I+PJSFmstK8PnVHh9S3C
+=VaV/
+-----END PGP SIGNATURE-----
Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java?rev=727300&r1=727299&r2=727300&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java Tue Dec 16 22:44:50 2008
@@ -55,422 +55,445 @@
* @version $Id$
*/
class DependencyTreeBuilder
-implements DependencyBuilder, EventGenerator
+ implements DependencyBuilder, EventGenerator
{
- public static final ArtifactMetadata DUMMY_ROOT = new ArtifactMetadata("__fake:__fake:1.0");
-
- private static final Language _lang = new DefaultLanguage(DependencyTreeBuilder.class);
- private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( DependencyTreeBuilder.class );
-
- private Collection<MetadataTreeArtifactFilter> _filters;
- private List<Comparator<MetadataTreeNode>> _comparators;
- private Map<String,ArtifactListProcessor> _processors;
-
- private VirtualRepositoryReader _reader;
-
- private Map< String, MetadataTreeNode > _existingNodes;
-
- private EventManager _eventManager;
-
- /**
- * creates an instance of MetadataTree. Use this instance to
- * <ul>
- * <li>buildTree - process all the dependencies</li>
- * <li>resolveConflicts</li>
- * <ul>
- *
- * @param filters - can veto any artifact before it's added to the tree
- * @param comparators - used to define selection policies. If null is passed,
- * classic comparators - nearest/newest first - will be used.
- * @param repositories - order is <b>very</b> important. Ordering allows
- * m2eclipse, for instance, insert a workspace repository
- * @throws RepositoryException
- */
- protected DependencyTreeBuilder(
- Collection<Repository> repositories
- , Collection<MetadataTreeArtifactFilter> filters
- , List<Comparator<MetadataTreeNode>> comparators
- , Map<String,ArtifactListProcessor> processors
- )
- throws RepositoryException
- {
- this._filters = filters;
- this._comparators = comparators;
-
- // if used does not want to bother.
- // if it's an empty list - user does not want any comparators - so be it
- if( _comparators == null )
- {
- _comparators = new ArrayList<Comparator<MetadataTreeNode>>(2);
- _comparators.add( new ClassicDepthComparator() );
- _comparators.add( new ClassicVersionComparator() );
- }
-
- if( processors != null )
- _processors = processors;
-
- this._reader = new VirtualRepositoryReader( repositories );
- }
- //------------------------------------------------------------------------
- public MetadataTreeNode buildTree( ArtifactBasicMetadata startMD, ArtifactScopeEnum treeScope )
- throws MetadataTreeException
- {
- if( startMD == null )
- throw new MetadataTreeException( "null start point" );
-
- try
- {
- _reader.setEventManager( _eventManager );
- _reader.setProcessors( _processors );
- _reader.init();
- }
- catch( RepositoryException e )
- {
- throw new MetadataTreeException(e);
- }
-
- _existingNodes = new HashMap<String, MetadataTreeNode>(256);
-
- GenericEvent treeBuildEvent = null;
- if( _eventManager != null )
- treeBuildEvent = new GenericEvent( EventTypeEnum.dependencyBuilder, TREE_BUILD_EVENT, startMD.getGAV() );
-
- MetadataTreeNode root = createNode( startMD, null, startMD, treeScope );
-
- if( _eventManager != null )
- treeBuildEvent.stop();
-
- if( _eventManager != null )
- _eventManager.fireEvent( treeBuildEvent );
-
- MetadataTreeNode.reNumber( root, 1 );
-
- return root;
- }
- //------------------------------------------------------------------------
- public List<ArtifactMetadata> resolveConflicts( ArtifactScopeEnum scope, ArtifactBasicMetadata... startMDs )
- throws MetadataTreeException
- {
- return resolveConflicts( scope, Arrays.asList( startMDs ) );
- }
- //------------------------------------------------------------------------
- public List<ArtifactMetadata> resolveConflicts( ArtifactScopeEnum scope, List<ArtifactBasicMetadata> startMDs )
- throws MetadataTreeException
- {
- if( Util.isEmpty( startMDs ) )
- throw new MetadataTreeException( _lang.getMessage( "empty.md.collection") );
-
- List<MetadataTreeNode> deps = new ArrayList<MetadataTreeNode>( startMDs.size() );
-
- // build all trees
- for( ArtifactBasicMetadata bmd : startMDs )
- {
- MetadataTreeNode rooty = buildTree( bmd, scope );
-
- deps.add( rooty );
- }
-
- DUMMY_ROOT.setDependencies( startMDs );
-
- // combine into one tree
- MetadataTreeNode root = new MetadataTreeNode( DUMMY_ROOT, null, null );
-
- for( MetadataTreeNode kid : deps )
- root.addChild( kid );
-
- List<ArtifactMetadata> res = resolveConflicts( root );
-
- res.remove( DUMMY_ROOT );
-
- return res;
- }
- //-----------------------------------------------------
- private MetadataTreeNode createNode( ArtifactBasicMetadata nodeMD, MetadataTreeNode parent, ArtifactBasicMetadata nodeQuery, ArtifactScopeEnum globalScope )
- throws MetadataTreeException
- {
- GenericEvent nodeBuildEvent = null;
-
- if( _eventManager != null )
- nodeBuildEvent = new GenericEvent( EventTypeEnum.dependencyBuilder, TREE_NODE_BUILD_EVENT, nodeMD.getGAV() );
-
- try
- {
- checkForCircularDependency( nodeMD, parent );
-
- ArtifactMetadata mr;
-
- MetadataTreeNode existingNode = _existingNodes.get( nodeQuery.toString() );
-
- if( existingNode != null )
- return MetadataTreeNode.deepCopy( existingNode );
-
- mr = _reader.readDependencies( nodeMD );
-
- if( mr == null )
- throw new MetadataTreeException( _lang.getMessage( "artifact.md.not.found", nodeMD.toString() ) );
-
- MetadataTreeNode node = new MetadataTreeNode( mr, parent, nodeQuery );
-
- List<ArtifactBasicMetadata> allDependencies = mr.getDependencies();
-
- if( allDependencies == null || allDependencies.size() < 1 )
- return node;
-
- List<ArtifactBasicMetadata> dependencies = new ArrayList<ArtifactBasicMetadata>( allDependencies.size() );
- if( globalScope != null )
- for( ArtifactBasicMetadata md : allDependencies )
- {
- ArtifactScopeEnum mdScope = md.getArtifactScope();
- if( globalScope.encloses( mdScope ) )
- dependencies.add( md );
- }
- else
- dependencies.addAll( allDependencies );
-
- if( Util.isEmpty( dependencies ) )
- return node;
-
- ArtifactBasicResults res = _reader.readVersions( dependencies );
-
- Map<ArtifactBasicMetadata, List<ArtifactBasicMetadata>> expandedDeps = res.getResults();
-
- for( ArtifactBasicMetadata md : dependencies )
- {
-
-if( _log.isDebugEnabled() )
- _log.debug("node "+nodeQuery+", dep "+md );
-
- List<ArtifactBasicMetadata> versions = expandedDeps.get( md );
- if( versions == null || versions.size() < 1 )
- {
- if( md.isOptional() )
- continue;
-
- throw new MetadataTreeException( "did not find non-optional artifact for " + md + " <== " + showPath( node ) );
- }
-
- boolean noGoodVersions = true;
- boolean noVersions = true;
- for( ArtifactBasicMetadata ver : versions )
- {
- if( veto( ver, _filters) || vetoInclusionsExclusions(node, ver) )
+ public static final ArtifactMetadata DUMMY_ROOT = new ArtifactMetadata( "__fake:__fake:1.0" );
+
+ private static final Language _lang = new DefaultLanguage( DependencyTreeBuilder.class );
+
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( DependencyTreeBuilder.class );
+
+ private Collection<MetadataTreeArtifactFilter> _filters;
+
+ private List<Comparator<MetadataTreeNode>> _comparators;
+
+ private Map<String, ArtifactListProcessor> _processors;
+
+ private VirtualRepositoryReader _reader;
+
+ private Map<String, MetadataTreeNode> _existingNodes;
+
+ private EventManager _eventManager;
+
+ /**
+ * creates an instance of MetadataTree. Use this instance to
+ * <ul>
+ * <li>buildTree - process all the dependencies</li>
+ * <li>resolveConflicts</li>
+ * <ul>
+ *
+ * @param filters - can veto any artifact before it's added to the tree
+ * @param comparators - used to define selection policies. If null is passed, classic comparators - nearest/newest
+ * first - will be used.
+ * @param repositories - order is <b>very</b> important. Ordering allows m2eclipse, for instance, insert a workspace
+ * repository
+ * @throws RepositoryException
+ */
+ protected DependencyTreeBuilder( Collection<Repository> repositories,
+ Collection<MetadataTreeArtifactFilter> filters,
+ List<Comparator<MetadataTreeNode>> comparators,
+ Map<String, ArtifactListProcessor> processors )
+ throws RepositoryException
+ {
+ this._filters = filters;
+ this._comparators = comparators;
+
+ // if used does not want to bother.
+ // if it's an empty list - user does not want any comparators - so be it
+ if ( _comparators == null )
+ {
+ _comparators = new ArrayList<Comparator<MetadataTreeNode>>( 2 );
+ _comparators.add( new ClassicDepthComparator() );
+ _comparators.add( new ClassicVersionComparator() );
+ }
+
+ if ( processors != null )
+ _processors = processors;
+
+ this._reader = new VirtualRepositoryReader( repositories );
+ }
+
+ // ------------------------------------------------------------------------
+ public MetadataTreeNode buildTree( ArtifactBasicMetadata startMD, ArtifactScopeEnum treeScope )
+ throws MetadataTreeException
+ {
+ if ( startMD == null )
+ throw new MetadataTreeException( "null start point" );
+
+ try
+ {
+ _reader.setEventManager( _eventManager );
+ _reader.setProcessors( _processors );
+ _reader.init();
+ }
+ catch ( RepositoryException e )
+ {
+ throw new MetadataTreeException( e );
+ }
+
+ _existingNodes = new HashMap<String, MetadataTreeNode>( 256 );
+
+ GenericEvent treeBuildEvent = null;
+ if ( _eventManager != null )
+ treeBuildEvent = new GenericEvent( EventTypeEnum.dependencyBuilder, TREE_BUILD_EVENT, startMD.getGAV() );
+
+ MetadataTreeNode root = createNode( startMD, null, startMD, treeScope );
+
+ if ( _eventManager != null )
+ treeBuildEvent.stop();
+
+ if ( _eventManager != null )
+ _eventManager.fireEvent( treeBuildEvent );
+
+ MetadataTreeNode.reNumber( root, 1 );
+
+ return root;
+ }
+
+ // ------------------------------------------------------------------------
+ public List<ArtifactMetadata> resolveConflicts( ArtifactScopeEnum scope, ArtifactBasicMetadata... startMDs )
+ throws MetadataTreeException
+ {
+ return resolveConflicts( scope, Arrays.asList( startMDs ) );
+ }
+
+ // ------------------------------------------------------------------------
+ public List<ArtifactMetadata> resolveConflicts( ArtifactScopeEnum scope, List<ArtifactBasicMetadata> startMDs )
+ throws MetadataTreeException
+ {
+ if ( Util.isEmpty( startMDs ) )
+ throw new MetadataTreeException( _lang.getMessage( "empty.md.collection" ) );
+
+ int nodeCount = startMDs.size();
+
+ if ( nodeCount == 1 )
+ {
+ ArtifactBasicMetadata bmd = startMDs.get( 0 );
+ MetadataTreeNode rooty = buildTree( bmd, scope );
+ List<ArtifactMetadata> res = resolveConflicts( rooty );
+ return res;
+ }
+
+ List<MetadataTreeNode> deps = new ArrayList<MetadataTreeNode>( nodeCount );
+
+ // build all trees
+ for ( ArtifactBasicMetadata bmd : startMDs )
+ {
+ MetadataTreeNode rooty = buildTree( bmd, scope );
+
+ deps.add( rooty );
+ }
+
+ DUMMY_ROOT.setDependencies( startMDs );
+
+ // combine into one tree
+ MetadataTreeNode root = new MetadataTreeNode( DUMMY_ROOT, null, null );
+
+ for ( MetadataTreeNode kid : deps )
+ root.addChild( kid );
+
+ List<ArtifactMetadata> res = resolveConflicts( root );
+
+ res.remove( DUMMY_ROOT );
+
+ return res;
+ }
+
+ // -----------------------------------------------------
+ private MetadataTreeNode createNode( ArtifactBasicMetadata nodeMD, MetadataTreeNode parent,
+ ArtifactBasicMetadata nodeQuery, ArtifactScopeEnum globalScope )
+ throws MetadataTreeException
+ {
+ GenericEvent nodeBuildEvent = null;
+
+ if ( _eventManager != null )
+ nodeBuildEvent = new GenericEvent( EventTypeEnum.dependencyBuilder, TREE_NODE_BUILD_EVENT, nodeMD.getGAV() );
+
+ try
+ {
+ checkForCircularDependency( nodeMD, parent );
+
+ ArtifactMetadata mr;
+
+ MetadataTreeNode existingNode = _existingNodes.get( nodeQuery.toString() );
+
+ if ( existingNode != null )
+ return MetadataTreeNode.deepCopy( existingNode );
+
+ mr = _reader.readDependencies( nodeMD );
+
+ if ( mr == null )
+ throw new MetadataTreeException( _lang.getMessage( "artifact.md.not.found", nodeMD.toString() ) );
+
+ MetadataTreeNode node = new MetadataTreeNode( mr, parent, nodeQuery );
+
+ List<ArtifactBasicMetadata> allDependencies = mr.getDependencies();
+
+ if ( allDependencies == null || allDependencies.size() < 1 )
+ return node;
+
+ List<ArtifactBasicMetadata> dependencies = new ArrayList<ArtifactBasicMetadata>( allDependencies.size() );
+ if ( globalScope != null )
+ for ( ArtifactBasicMetadata md : allDependencies )
+ {
+ ArtifactScopeEnum mdScope = md.getArtifactScope();
+ if ( globalScope.encloses( mdScope ) )
+ dependencies.add( md );
+ }
+ else
+ dependencies.addAll( allDependencies );
+
+ if ( Util.isEmpty( dependencies ) )
+ return node;
+
+ ArtifactBasicResults res = _reader.readVersions( dependencies );
+
+ Map<ArtifactBasicMetadata, List<ArtifactBasicMetadata>> expandedDeps = res.getResults();
+
+ for ( ArtifactBasicMetadata md : dependencies )
{
- // there were good versions, but this one is filtered out
- noGoodVersions = false;
- continue;
+
+ if ( _log.isDebugEnabled() )
+ _log.debug( "node " + nodeQuery + ", dep " + md );
+
+ List<ArtifactBasicMetadata> versions = expandedDeps.get( md );
+ if ( versions == null || versions.size() < 1 )
+ {
+ if ( md.isOptional() )
+ continue;
+
+ throw new MetadataTreeException( "did not find non-optional artifact for " + md + " <== "
+ + showPath( node ) );
+ }
+
+ boolean noGoodVersions = true;
+ boolean noVersions = true;
+ for ( ArtifactBasicMetadata ver : versions )
+ {
+ if ( veto( ver, _filters ) || vetoInclusionsExclusions( node, ver ) )
+ {
+ // there were good versions, but this one is filtered out
+ noGoodVersions = false;
+ continue;
+ }
+
+ MetadataTreeNode kid = createNode( ver, node, md, globalScope );
+ node.addChild( kid );
+
+ noVersions = false;
+
+ noGoodVersions = false;
+ }
+
+ if ( noVersions && !noGoodVersions )
+ {
+ // there were good versions, but they were all filtered out
+ continue;
+ }
+ else if ( noGoodVersions )
+ {
+ if ( md.isOptional() )
+ continue;
+ throw new MetadataTreeException( "did not find non-optional artifact for " + md );
+ }
+ else
+ node.addQuery( md );
}
-
- MetadataTreeNode kid = createNode( ver, node, md, globalScope );
- node.addChild( kid );
-
- noVersions = false;
-
- noGoodVersions = false;
- }
-
-
- if( noVersions && !noGoodVersions )
- {
- // there were good versions, but they were all filtered out
- continue;
- }
- else if( noGoodVersions )
- {
- if( md.isOptional() )
- continue;
- throw new MetadataTreeException( "did not find non-optional artifact for " + md );
- }
- else
- node.addQuery(md);
- }
-
- _existingNodes.put( nodeQuery.toString(), node );
-
- return node;
- }
- catch (RepositoryException e)
- {
- if( _eventManager != null )
- nodeBuildEvent.setResult( e.getMessage() );
-
- throw new MetadataTreeException( e );
- }
- catch( VersionException e )
- {
- if( _eventManager != null )
- nodeBuildEvent.setResult( e.getMessage() );
-
- throw new MetadataTreeException( e );
- }
- catch( MetadataTreeException e )
- {
- if( _eventManager != null )
- nodeBuildEvent.setResult( e.getMessage() );
- throw e;
- }
- finally
- {
- if( _eventManager != null )
- {
- nodeBuildEvent.stop();
- _eventManager.fireEvent( nodeBuildEvent );
- }
- }
- }
- //-----------------------------------------------------
- private void checkForCircularDependency( ArtifactBasicMetadata md, MetadataTreeNode parent )
- throws MetadataTreeCircularDependencyException
- {
- MetadataTreeNode p = parent;
- int count = 0;
- while( p != null )
- {
- count++;
-//System.out.println("circ "+md+" vs "+p.md);
- if( md.sameGA(p.md) )
- {
- p = parent;
- StringBuilder sb = new StringBuilder( 128 );
- sb.append( md.toString() );
- while( p!= null )
- {
- sb.append(" <- "+p.md.toString() );
-
- if( md.sameGA(p.md) )
- {
- throw new MetadataTreeCircularDependencyException("circular dependency "+count + " levels up. "
- + sb.toString() + " <= "+(p.parent == null ? "no parent" : p.parent.md) );
- }
- p = p.parent;
- }
- }
- p = p.parent;
- }
- }
- //-----------------------------------------------------
- private boolean veto(ArtifactBasicMetadata md, Collection<MetadataTreeArtifactFilter> filters )
- {
- if( filters != null && filters.size() > 1)
- for( MetadataTreeArtifactFilter filter : filters )
- if( filter.veto(md) )
- return true;
- return false;
- }
- //-----------------------------------------------------
- private boolean vetoInclusionsExclusions( MetadataTreeNode node, ArtifactBasicMetadata ver )
- throws VersionException
- {
- for( MetadataTreeNode n = node; n != null; n = n.getParent() )
- {
- ArtifactBasicMetadata md = n.getQuery();
-
- if( !md.allowDependency( ver ) ) // veto it
- return true;
- }
- return false; // allow because all parents are OK with it
- }
- //-----------------------------------------------------
- public List<ArtifactMetadata> resolveConflicts( MetadataTreeNode root )
- throws MetadataTreeException
- {
- if( root == null )
- throw new MetadataTreeException(_lang.getMessage( "empty.tree" ));
-
- try
- {
- DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
-
- solver.applyPolicies( getComparators() );
-
- List<ArtifactMetadata> res = solver.solve();
-
- return res;
- }
- catch (SatException e)
- {
- throw new MetadataTreeException(e);
- }
-
- }
- //-----------------------------------------------------
- public MetadataTreeNode resolveConflictsAsTree( MetadataTreeNode root )
- throws MetadataTreeException
- {
- if( root == null )
- throw new MetadataTreeException(_lang.getMessage( "empty.tree" ));
-
- try
- {
- DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
-
- solver.applyPolicies( getComparators() );
-
- MetadataTreeNode res = solver.solveAsTree();
-
- return res;
- }
- catch (SatException e)
- {
- throw new MetadataTreeException(e);
- }
-
- }
- //-----------------------------------------------------
- private List<Comparator<MetadataTreeNode>> getComparators()
- {
- if( Util.isEmpty( _comparators ) )
- _comparators = new ArrayList<Comparator<MetadataTreeNode>>(2);
-
- if( _comparators.size() < 1 )
- {
- _comparators.add( new ClassicDepthComparator() );
- _comparators.add( new ClassicVersionComparator() );
- }
-
- return _comparators;
- }
- //-----------------------------------------------------
- private String showPath( MetadataTreeNode node )
- throws MetadataTreeCircularDependencyException
- {
- StringBuilder sb = new StringBuilder( 256 );
-
- String comma = "";
-
- MetadataTreeNode p = node;
-
- while( p != null )
- {
- sb.append( comma + p.getMd().toString() );
-
- comma = " <== ";
-
- p = p.parent;
- }
-
- return sb.toString();
- }
-
- public void register( MercuryEventListener listener )
- {
- if( _eventManager == null )
- _eventManager = new EventManager();
-
- _eventManager.register( listener );
- }
-
- public void unRegister( MercuryEventListener listener )
- {
- if( _eventManager != null )
- _eventManager.unRegister( listener );
- }
-
- public void setEventManager( EventManager eventManager )
- {
- if( _eventManager == null )
- _eventManager = eventManager;
- else
- _eventManager.getListeners().addAll( eventManager.getListeners() );
-
- }
+
+ _existingNodes.put( nodeQuery.toString(), node );
+
+ return node;
+ }
+ catch ( RepositoryException e )
+ {
+ if ( _eventManager != null )
+ nodeBuildEvent.setResult( e.getMessage() );
+
+ throw new MetadataTreeException( e );
+ }
+ catch ( VersionException e )
+ {
+ if ( _eventManager != null )
+ nodeBuildEvent.setResult( e.getMessage() );
+
+ throw new MetadataTreeException( e );
+ }
+ catch ( MetadataTreeException e )
+ {
+ if ( _eventManager != null )
+ nodeBuildEvent.setResult( e.getMessage() );
+ throw e;
+ }
+ finally
+ {
+ if ( _eventManager != null )
+ {
+ nodeBuildEvent.stop();
+ _eventManager.fireEvent( nodeBuildEvent );
+ }
+ }
+ }
+
+ // -----------------------------------------------------
+ private void checkForCircularDependency( ArtifactBasicMetadata md, MetadataTreeNode parent )
+ throws MetadataTreeCircularDependencyException
+ {
+ MetadataTreeNode p = parent;
+ int count = 0;
+ while ( p != null )
+ {
+ count++;
+ // System.out.println("circ "+md+" vs "+p.md);
+ if ( md.sameGA( p.md ) )
+ {
+ p = parent;
+ StringBuilder sb = new StringBuilder( 128 );
+ sb.append( md.toString() );
+ while ( p != null )
+ {
+ sb.append( " <- " + p.md.toString() );
+
+ if ( md.sameGA( p.md ) )
+ {
+ throw new MetadataTreeCircularDependencyException( "circular dependency " + count
+ + " levels up. " + sb.toString() + " <= " + ( p.parent == null ? "no parent" : p.parent.md ) );
+ }
+ p = p.parent;
+ }
+ }
+ p = p.parent;
+ }
+ }
+
+ // -----------------------------------------------------
+ private boolean veto( ArtifactBasicMetadata md, Collection<MetadataTreeArtifactFilter> filters )
+ {
+ if ( filters != null && filters.size() > 1 )
+ for ( MetadataTreeArtifactFilter filter : filters )
+ if ( filter.veto( md ) )
+ return true;
+ return false;
+ }
+
+ // -----------------------------------------------------
+ private boolean vetoInclusionsExclusions( MetadataTreeNode node, ArtifactBasicMetadata ver )
+ throws VersionException
+ {
+ for ( MetadataTreeNode n = node; n != null; n = n.getParent() )
+ {
+ ArtifactBasicMetadata md = n.getQuery();
+
+ if ( !md.allowDependency( ver ) ) // veto it
+ return true;
+ }
+ return false; // allow because all parents are OK with it
+ }
+
+ // -----------------------------------------------------
+ public List<ArtifactMetadata> resolveConflicts( MetadataTreeNode root )
+ throws MetadataTreeException
+ {
+ if ( root == null )
+ throw new MetadataTreeException( _lang.getMessage( "empty.tree" ) );
+
+ try
+ {
+ DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
+
+ solver.applyPolicies( getComparators() );
+
+ List<ArtifactMetadata> res = solver.solve();
+
+ return res;
+ }
+ catch ( SatException e )
+ {
+ throw new MetadataTreeException( e );
+ }
+
+ }
+
+ // -----------------------------------------------------
+ public MetadataTreeNode resolveConflictsAsTree( MetadataTreeNode root )
+ throws MetadataTreeException
+ {
+ if ( root == null )
+ throw new MetadataTreeException( _lang.getMessage( "empty.tree" ) );
+
+ try
+ {
+ DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
+
+ solver.applyPolicies( getComparators() );
+
+ MetadataTreeNode res = solver.solveAsTree();
+
+ return res;
+ }
+ catch ( SatException e )
+ {
+ throw new MetadataTreeException( e );
+ }
+
+ }
+
+ // -----------------------------------------------------
+ private List<Comparator<MetadataTreeNode>> getComparators()
+ {
+ if ( Util.isEmpty( _comparators ) )
+ _comparators = new ArrayList<Comparator<MetadataTreeNode>>( 2 );
+
+ if ( _comparators.size() < 1 )
+ {
+ _comparators.add( new ClassicDepthComparator() );
+ _comparators.add( new ClassicVersionComparator() );
+ }
+
+ return _comparators;
+ }
+
+ // -----------------------------------------------------
+ private String showPath( MetadataTreeNode node )
+ throws MetadataTreeCircularDependencyException
+ {
+ StringBuilder sb = new StringBuilder( 256 );
+
+ String comma = "";
+
+ MetadataTreeNode p = node;
+
+ while ( p != null )
+ {
+ sb.append( comma + p.getMd().toString() );
+
+ comma = " <== ";
+
+ p = p.parent;
+ }
+
+ return sb.toString();
+ }
+
+ public void register( MercuryEventListener listener )
+ {
+ if ( _eventManager == null )
+ _eventManager = new EventManager();
+
+ _eventManager.register( listener );
+ }
+
+ public void unRegister( MercuryEventListener listener )
+ {
+ if ( _eventManager != null )
+ _eventManager.unRegister( listener );
+ }
+
+ public void setEventManager( EventManager eventManager )
+ {
+ if ( _eventManager == null )
+ _eventManager = eventManager;
+ else
+ _eventManager.getListeners().addAll( eventManager.getListeners() );
+
+ }
}
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java?rev=727300&r1=727299&r2=727300&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java Tue Dec 16 22:44:50 2008
@@ -91,8 +91,8 @@
/** minimum # of queue elements to consider parallelization */
private static int MIN_PARALLEL = 5;
- private static final Language LANG = new DefaultLanguage( VirtualRepositoryReader.class );
- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger( VirtualRepositoryReader.class );
+ private static final Language _lang = new DefaultLanguage( VirtualRepositoryReader.class );
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( VirtualRepositoryReader.class );
//----------------------------------------------------------------------------------------------------------------------------
private List<Repository> _repositories = new ArrayList<Repository>(8);
@@ -310,7 +310,7 @@
}
catch( VersionException e )
{
- throw new RepositoryException( LANG.getMessage( "query.element.bad.version", key.toString(), e.getMessage() ) );
+ throw new RepositoryException( _lang.getMessage( "query.element.bad.version", key.toString(), e.getMessage() ) );
}
if( keyVersionRange.isSingleton() )
@@ -498,7 +498,7 @@
List<ArtifactBasicMetadata> rejects = buckets == null ? null : buckets.get( RepositoryReader.NULL_READER );
if( buckets == null )
- throw new RepositoryException( LANG.getMessage( "internal.error.sorting.query", query.toString() ) );
+ throw new RepositoryException( _lang.getMessage( "internal.error.sorting.query", query.toString() ) );
init();
@@ -522,7 +522,7 @@
ArtifactResults rrRes = rr.readArtifacts( rrQuery );
if( rrRes.hasExceptions() )
- throw new RepositoryException( LANG.getMessage( "error.reading.existing.artifact", rrRes.getExceptions().toString(), rr.getRepository().getId() ) );
+ throw new RepositoryException( _lang.getMessage( "error.reading.existing.artifact", rrRes.getExceptions().toString(), rr.getRepository().getId() ) );
if( rrRes.hasResults() )
for( ArtifactBasicMetadata bm : rrRes.getResults().keySet() )
@@ -620,8 +620,8 @@
public byte[] readMetadata( ArtifactBasicMetadata bmd )
throws MetadataReaderException
{
- if( LOG.isDebugEnabled() )
- LOG.debug( "Asking for pom: "+bmd);
+ if( _log.isDebugEnabled() )
+ _log.debug( "Asking for pom: "+bmd);
return readRawData( bmd, "", "pom" );
}
@@ -635,8 +635,8 @@
GenericEvent event = null;
String eventTag = null;
- if( LOG.isDebugEnabled() )
- LOG.debug( "request for "+bmd+", classifier="+classifier+", type="+type );
+ if( _log.isDebugEnabled() )
+ _log.debug( "request for "+bmd+", classifier="+classifier+", type="+type );
if( bmd == null )
throw new IllegalArgumentException("null bmd supplied");
@@ -666,8 +666,8 @@
byte [] res = null;
Quality vq = new Quality( bmd.getVersion() );
- if( LOG.isDebugEnabled() )
- LOG.debug( "quality calculated as "+vq.getQuality() == null ? "null" :vq.getQuality().name() );
+ if( _log.isDebugEnabled() )
+ _log.debug( "quality calculated as "+vq.getQuality() == null ? "null" :vq.getQuality().name() );
if( Quality.SNAPSHOT_QUALITY.equals( vq ) )
{
@@ -679,10 +679,10 @@
ArtifactBasicResults vRes = readVersions( query );
if( Util.isEmpty( vRes ) )
{
- if( LOG.isDebugEnabled() )
- LOG.debug( "no snapshots found - throw exception" );
+ if( _log.isDebugEnabled() )
+ _log.debug( "no snapshots found - throw exception" );
- throw new MetadataReaderException( LANG.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
+ throw new MetadataReaderException( _lang.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
}
@@ -697,10 +697,10 @@
}
else
{
- if( LOG.isDebugEnabled() )
- LOG.debug( "no snapshots found - throw exception" );
+ if( _log.isDebugEnabled() )
+ _log.debug( "no snapshots found - throw exception" );
- throw new MetadataReaderException( LANG.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
+ throw new MetadataReaderException( _lang.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
}
}
catch( Exception e )
@@ -721,8 +721,8 @@
res = rr.readRawData( bmdQuery, classifier, type );
if( res != null )
{
- if( LOG.isDebugEnabled() )
- LOG.debug( bmdQuery+" found in "+rr.getRepository().getServer() );
+ if( _log.isDebugEnabled() )
+ _log.debug( bmdQuery+" found in "+rr.getRepository().getServer() );
if( _eventManager != null )
eventRead.setInfo( eventRead.getInfo() );
@@ -743,8 +743,8 @@
}
}
- if( LOG.isDebugEnabled() )
- LOG.debug( "no data found, returning null" );
+ if( _log.isDebugEnabled() )
+ _log.debug( "no data found, returning null" );
return null;
}
Modified: maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingTestServer.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingTestServer.java?rev=727300&r1=727299&r2=727300&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingTestServer.java (original)
+++ maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/server/AuthenticatingTestServer.java Tue Dec 16 22:44:50 2008
@@ -33,7 +33,7 @@
private static final String __password = "bar";
private static final String __role = "foomeister";
- private void init()
+ public void secure()
{
HashUserRealm realm = new HashUserRealm();
realm.put (__username, __password);
@@ -53,18 +53,25 @@
context.addHandler(securityHandler);
}
- public AuthenticatingTestServer( int port, File localBase, String remotePathFragment )
+ public AuthenticatingTestServer( int port, File localBase, String remotePathFragment, boolean secured )
throws Exception
{
super( port, localBase, remotePathFragment );
- init();
+ if( secured )
+ secure();
+ }
+
+ public AuthenticatingTestServer( int port, File localBase, String remotePathFragment )
+ throws Exception
+ {
+ this( port, localBase, remotePathFragment, true );
}
public AuthenticatingTestServer()
throws Exception
{
super();
- init();
+ secure();
}
public String getUsername()