Index: continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java =================================================================== --- continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java (revision 239452) +++ continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java (working copy) @@ -46,7 +46,7 @@ File pom = getTestFile( "src/test/repository/maven-builder-helper-1.xml" ); - ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( pom.toURL() ); + ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( pom.toURL(), null, null); assertNotNull( result.getWarnings() ); @@ -77,7 +77,7 @@ File pom = getTestFile( "src/test/repository/maven-builder-helper-2.xml" ); - ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( pom.toURL() ); + ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( pom.toURL(), null, null ); assertNotNull( result.getWarnings() ); @@ -113,7 +113,7 @@ System.setOut( new PrintStream( new ByteArrayOutputStream() ) ); - ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( new URL( url ) ); + ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( new URL( url ), null, null ); System.setOut( ps ); Index: continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenOneContinuumProjectBuilderTest.java =================================================================== --- continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenOneContinuumProjectBuilderTest.java (revision 239452) +++ continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenOneContinuumProjectBuilderTest.java (working copy) @@ -38,7 +38,7 @@ MavenOneContinuumProjectBuilder.ID ); ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( - getTestFile( "src/test/resources/projects/maven-1.pom.xml" ).toURL() ); + getTestFile( "src/test/resources/projects/maven-1.pom.xml" ).toURL(), null, null ); assertNotNull( result.getWarnings() ); Index: continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadata.java =================================================================== --- continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadata.java (revision 239452) +++ continuum-core/src/main/java/org/apache/maven/continuum/core/action/CreateProjectsFromMetadata.java (working copy) @@ -14,6 +14,8 @@ import java.net.URL; import java.util.Map; +import org.codehaus.plexus.formica.util.MungedHttpsURL; + /** * @author Trygve Laugstøl * @version $Id$ @@ -38,19 +40,37 @@ URL url; + ContinuumProjectBuilder projectBuilder = projectBuilderManager.getProjectBuilder( projectBuilderId ); + ContinuumProjectBuildingResult result = null; + try { - url = new URL( u ); + if ( !u.startsWith( "https" ) ) + { + url = new URL( u ); + result = projectBuilder.buildProjectsFromMetadata( url, null, null ); + } + else + { + MungedHttpsURL mungedURL = new MungedHttpsURL( u ); + if ( mungedURL.isValid() ) + { + url = mungedURL.getURL(); + result = projectBuilder.buildProjectsFromMetadata( url, mungedURL.getUsername(), mungedURL + .getPassword() ); + } + else + { + throw new ContinuumException( "'" + u + "' is not a valid secureURL." ); + } + } + } catch ( MalformedURLException e ) { throw new ContinuumException( "'" + u + "' is not a valid URL.", e ); } - ContinuumProjectBuilder projectBuilder = projectBuilderManager.getProjectBuilder( projectBuilderId ); - - ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( url ); - context.put( KEY_PROJECT_BUILDING_RESULT, result ); } } Index: continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java =================================================================== --- continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java (revision 239452) +++ continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilder.java (working copy) @@ -62,7 +62,7 @@ // AbstractContinuumProjectBuilder Implementation // ---------------------------------------------------------------------- - public ContinuumProjectBuildingResult buildProjectsFromMetadata( URL url ) + public ContinuumProjectBuildingResult buildProjectsFromMetadata( URL url, String username, String password ) throws ContinuumProjectBuilderException { // ---------------------------------------------------------------------- @@ -71,7 +71,7 @@ ContinuumProjectBuildingResult result = new ContinuumProjectBuildingResult(); - readModules( url, result, true ); + readModules( url, result, true, username, password ); return result; } @@ -80,7 +80,7 @@ // // ---------------------------------------------------------------------- - private void readModules( URL url, ContinuumProjectBuildingResult result, boolean groupPom ) + private void readModules( URL url, ContinuumProjectBuildingResult result, boolean groupPom, String username, String password ) { MavenProject mavenProject; @@ -88,7 +88,7 @@ { // TODO: this isn't finding parents due to relocating to the URL // TODO: the whole modules resolution is funky - mavenProject = builderHelper.getMavenProject( createMetadataFile( url ) ); + mavenProject = builderHelper.getMavenProject( createMetadataFile( url, username, password ) ); } catch ( MavenBuilderHelperException e ) { @@ -173,7 +173,7 @@ continue; } - readModules( moduleUrl, result, false ); + readModules( moduleUrl, result, false, username, password ); } } Index: continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenOneContinuumProjectBuilder.java =================================================================== --- continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenOneContinuumProjectBuilder.java (revision 239452) +++ continuum-core/src/main/java/org/apache/maven/continuum/project/builder/maven/MavenOneContinuumProjectBuilder.java (working copy) @@ -48,7 +48,7 @@ // ProjectCreator Implementation // ---------------------------------------------------------------------- - public ContinuumProjectBuildingResult buildProjectsFromMetadata( URL url ) + public ContinuumProjectBuildingResult buildProjectsFromMetadata( URL url, String username, String password ) { ContinuumProjectBuildingResult result = new ContinuumProjectBuildingResult(); @@ -56,7 +56,7 @@ try { - pomFile = createMetadataFile( url ); + pomFile = createMetadataFile( url, null, null ); } catch ( IOException e ) { Index: continuum-core/pom.xml =================================================================== --- continuum-core/pom.xml (revision 239452) +++ continuum-core/pom.xml (working copy) @@ -90,7 +90,12 @@ quartz quartz 1.4.5 - + + + plexus + plexus-formica + 1.0-beta-5-SNAPSHOT +