You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ol...@apache.org on 2008/03/27 01:12:20 UTC
svn commit: r641653 - in /continuum/branches/continuum-spring:
continuum-commons/
continuum-commons/src/main/java/org/apache/maven/continuum/utils/
continuum-core/
continuum-core/src/main/java/org/apache/maven/continuum/execution/
continuum-core/src/te...
Author: olamy
Date: Wed Mar 26 17:12:17 2008
New Revision: 641653
URL: http://svn.apache.org/viewvc?rev=641653&view=rev
Log:
continuum now works with plexus-spring
Added:
continuum/branches/continuum-spring/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java (with props)
Modified:
continuum/branches/continuum-spring/continuum-commons/pom.xml
continuum/branches/continuum-spring/continuum-core/pom.xml
continuum/branches/continuum-spring/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java
continuum/branches/continuum-spring/continuum-core/src/test-projects/timeout/pom.xml
continuum/branches/continuum-spring/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java
continuum/branches/continuum-spring/continuum-core/src/test/resources/log4j.properties
continuum/branches/continuum-spring/continuum-core/src/test/resources/org/apache/maven/continuum/DefaultContinuumTest.xml
continuum/branches/continuum-spring/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
Modified: continuum/branches/continuum-spring/continuum-commons/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-spring/continuum-commons/pom.xml?rev=641653&r1=641652&r2=641653&view=diff
==============================================================================
--- continuum/branches/continuum-spring/continuum-commons/pom.xml (original)
+++ continuum/branches/continuum-spring/continuum-commons/pom.xml Wed Mar 26 17:12:17 2008
@@ -50,7 +50,12 @@
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-spring</artifactId>
<scope>test</scope>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<plugins>
Added: continuum/branches/continuum-spring/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-spring/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java?rev=641653&view=auto
==============================================================================
--- continuum/branches/continuum-spring/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java (added)
+++ continuum/branches/continuum-spring/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java Wed Mar 26 17:12:17 2008
@@ -0,0 +1,564 @@
+/*
+ * 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.
+ */
+package org.apache.maven.continuum.utils;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.oro.text.perl.Perl5Util;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.configuration.PlexusConfigurationException;
+import org.codehaus.plexus.formica.validation.AbstractValidator;
+import org.codehaus.plexus.formica.validation.util.Flags;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Configurable;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ * @author <a href="mailto:olamy@apache.org">olamy</a>
+ * @since 27 mars 2008
+ * @version $Id$
+ * @plexus.component
+ * role-hint="continuumUrl"
+ */
+public class ContinuumUrlValidator
+ extends AbstractValidator
+ implements Configurable
+{
+ /**
+ * Allows all validly formatted schemes to pass validation instead of
+ * supplying a set of valid schemes.
+ */
+ public static final int ALLOW_ALL_SCHEMES = 1 << 0;
+
+ /**
+ * Allow two slashes in the path component of the URL.
+ */
+ public static final int ALLOW_2_SLASHES = 1 << 1;
+
+ /**
+ * Enabling this options disallows any URL fragments.
+ */
+ public static final int NO_FRAGMENTS = 1 << 2;
+
+ private static final String ALPHA_CHARS = "a-zA-Z";
+
+ private static final String ALPHA_NUMERIC_CHARS = ALPHA_CHARS + "\\d";
+
+ private static final String SPECIAL_CHARS = ";/@&=,.?:+$";
+
+ private static final String VALID_CHARS = "[^\\s" + SPECIAL_CHARS + "]";
+
+ private static final String SCHEME_CHARS = ALPHA_CHARS;
+
+ // Drop numeric, and "+-." for now
+ private static final String AUTHORITY_CHARS = ALPHA_NUMERIC_CHARS + "\\-\\.";
+
+ private static final String ATOM = VALID_CHARS + '+';
+
+ /**
+ * This expression derived/taken from the BNF for URI (RFC2396).
+ */
+ private static final String URL_PATTERN = "/^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/";
+
+ // 12 3 4 5 6 7 8 9
+
+ /**
+ * Schema/Protocol (ie. http:, ftp:, file:, etc).
+ */
+ private static final int PARSE_URL_SCHEME = 2;
+
+ /**
+ * Includes hostname/ip and port number.
+ */
+ private static final int PARSE_URL_AUTHORITY = 4;
+
+ private static final int PARSE_URL_PATH = 5;
+
+ private static final int PARSE_URL_QUERY = 7;
+
+ private static final int PARSE_URL_FRAGMENT = 9;
+
+ /**
+ * Protocol (ie. http:, ftp:,https:).
+ */
+ private static final String SCHEME_PATTERN = "/^[" + SCHEME_CHARS + "]/";
+
+ private static final String AUTHORITY_PATTERN = "/^([" + AUTHORITY_CHARS + "]*)(:\\d*)?(.*)?/";
+
+ // 1 2 3 4
+
+ private static final int PARSE_AUTHORITY_HOST_IP = 1;
+
+ private static final int PARSE_AUTHORITY_PORT = 2;
+
+ /**
+ * Should always be empty.
+ */
+ private static final int PARSE_AUTHORITY_EXTRA = 3;
+
+ private static final String PATH_PATTERN = "/^(/[-\\w:@&?=+,.!/~*'%$_;]*)?$/";
+
+ private static final String QUERY_PATTERN = "/^(.*)$/";
+
+ private static final String LEGAL_ASCII_PATTERN = "/^[\\000-\\177]+$/";
+
+ private static final String IP_V4_DOMAIN_PATTERN = "/^(\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})$/";
+
+ private static final String DOMAIN_PATTERN = "/^" + ATOM + "(\\." + ATOM + ")*$/";
+
+ private static final String PORT_PATTERN = "/^:(\\d{1,5})$/";
+
+ private static final String ATOM_PATTERN = "/(" + ATOM + ")/";
+
+ private static final String ALPHA_PATTERN = "/^[" + ALPHA_CHARS + "]/";
+
+ /**
+ * Holds the set of current validation options.
+ */
+ private Flags options = null;
+
+ /**
+ * The set of schemes that are allowed to be in a URL.
+ */
+ private Set<String> allowedSchemes = new HashSet<String>();
+
+ /**
+ * If no schemes are provided, default to this set.
+ */
+ protected String[] defaultSchemes = { "http", "https", "ftp" };
+
+ /**
+ * Create a UrlValidator with default properties.
+ */
+ public ContinuumUrlValidator()
+ {
+ this( null );
+ }
+
+ /**
+ * Behavior of validation is modified by passing in several strings options:
+ * @param schemes Pass in one or more url schemes to consider valid, passing in
+ * a null will default to "http,https,ftp" being valid.
+ * If a non-null schemes is specified then all valid schemes must
+ * be specified. Setting the ALLOW_ALL_SCHEMES option will
+ * ignore the contents of schemes.
+ */
+ public ContinuumUrlValidator( String[] schemes )
+ {
+ this( schemes, 0 );
+ }
+
+ /**
+ * Initialize a UrlValidator with the given validation options.
+ * @param options The options should be set using the public constants declared in
+ * this class. To set multiple options you simply add them together. For example,
+ * ALLOW_2_SLASHES + NO_FRAGMENTS enables both of those options.
+ */
+ public ContinuumUrlValidator( int options )
+ {
+ this( null, options );
+ }
+
+ /**
+ * Behavour of validation is modified by passing in options:
+ * @param schemes The set of valid schemes.
+ * @param options The options should be set using the public constants declared in
+ * this class. To set multiple options you simply add them together. For example,
+ * ALLOW_2_SLASHES + NO_FRAGMENTS enables both of those options.
+ */
+ public ContinuumUrlValidator( String[] schemes, int options )
+ {
+ this.options = new Flags( options );
+
+ if ( this.options.isOn( ALLOW_ALL_SCHEMES ) )
+ {
+ return;
+ }
+
+ if ( schemes == null && this.allowedSchemes.isEmpty() )
+ {
+ schemes = this.defaultSchemes;
+ }
+
+ this.allowedSchemes.addAll( Arrays.asList( schemes ) );
+ }
+
+ /**
+ * <p>Checks if a field has a valid url address.</p>
+ *
+ * @param value The value validation is being performed on. A <code>null</code>
+ * value is considered invalid.
+ * @return true if the url is valid.
+ */
+ public boolean validate( String value )
+ {
+ return isValid( value );
+ }
+
+ /**
+ * <p>Checks if a field has a valid url address.</p>
+ *
+ * @param value The value validation is being performed on. A <code>null</code>
+ * value is considered valid.
+ * @return true if the url is valid.
+ */
+ public boolean isValid( String value )
+ {
+ if ( StringUtils.isEmpty( value ) )
+ {
+ return true;
+ }
+
+ value = replace( value, " ", "%20" );
+
+ Perl5Util matchUrlPat = new Perl5Util();
+ Perl5Util matchAsciiPat = new Perl5Util();
+
+ if ( !matchAsciiPat.match( LEGAL_ASCII_PATTERN, value ) )
+ {
+ return false;
+ }
+
+ // Check the whole url address structure
+ if ( !matchUrlPat.match( URL_PATTERN, value ) )
+ {
+ return false;
+ }
+
+ String scheme = matchUrlPat.group( PARSE_URL_SCHEME );
+
+ if ( !isValidScheme( scheme ) )
+ {
+ return false;
+ }
+
+ if ( !"file".equals( scheme ) )
+ {
+ String authority = matchUrlPat.group( PARSE_URL_AUTHORITY );
+
+ if ( authority.indexOf( "@" ) != -1 )
+ {
+ String userPassword = authority.substring( 0, authority.indexOf( "@" ) );
+
+ authority = authority.substring( authority.indexOf( "@" ) + 1 );
+
+ if ( userPassword.indexOf( ":" ) == -1 ||
+ userPassword.indexOf( ":" ) == 0 ||
+ userPassword.indexOf( ":" ) == userPassword.length() - 1 )
+ {
+ return false;
+ }
+ }
+
+ if ( !isValidAuthority( authority ) )
+ {
+ return false;
+ }
+
+ if ( !isValidQuery( matchUrlPat.group( PARSE_URL_QUERY ) ) )
+ {
+ return false;
+ }
+
+ if ( !isValidFragment( matchUrlPat.group( PARSE_URL_FRAGMENT ) ) )
+ {
+ return false;
+ }
+ }
+
+ if ( !isValidPath( matchUrlPat.group( PARSE_URL_PATH ) ) )
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Validate scheme. If schemes[] was initialized to a non null,
+ * then only those scheme's are allowed. Note this is slightly different
+ * than for the constructor.
+ * @param scheme The scheme to validate. A <code>null</code> value is considered
+ * invalid.
+ * @return true if valid.
+ */
+ protected boolean isValidScheme( String scheme )
+ {
+ if ( scheme == null )
+ {
+ return false;
+ }
+
+ Perl5Util schemeMatcher = new Perl5Util();
+ if ( !schemeMatcher.match( SCHEME_PATTERN, scheme ) )
+ {
+ return false;
+ }
+
+ if ( this.options.isOff( ALLOW_ALL_SCHEMES ) )
+ {
+
+ if ( !this.allowedSchemes.contains( scheme ) )
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns true if the authority is properly formatted. An authority is the combination
+ * of hostname and port. A <code>null</code> authority value is considered invalid.
+ */
+ protected boolean isValidAuthority( String authority )
+ {
+ if ( authority == null )
+ {
+ return false;
+ }
+
+ Perl5Util authorityMatcher = new Perl5Util();
+ Perl5Util matchIPV4Pat = new Perl5Util();
+
+ if ( !authorityMatcher.match( AUTHORITY_PATTERN, authority ) )
+ {
+ return false;
+ }
+
+ boolean ipV4Address = false;
+ boolean hostname = false;
+ // check if authority is IP address or hostname
+ String hostIP = authorityMatcher.group( PARSE_AUTHORITY_HOST_IP );
+ ipV4Address = matchIPV4Pat.match( IP_V4_DOMAIN_PATTERN, hostIP );
+
+ if ( ipV4Address )
+ {
+ // this is an IP address so check components
+ for ( int i = 1; i <= 4; i++ )
+ {
+ String ipSegment = matchIPV4Pat.group( i );
+ if ( ipSegment == null || ipSegment.length() <= 0 )
+ {
+ return false;
+ }
+
+ try
+ {
+ if ( Integer.parseInt( ipSegment ) > 255 )
+ {
+ return false;
+ }
+ }
+ catch ( NumberFormatException e )
+ {
+ return false;
+ }
+
+ }
+ }
+ else
+ {
+ // Domain is hostname name
+ Perl5Util domainMatcher = new Perl5Util();
+ hostname = domainMatcher.match( DOMAIN_PATTERN, hostIP );
+ }
+
+ //rightmost hostname will never start with a digit.
+ if ( hostname )
+ {
+ String[] domainSegment = new String[10];
+ boolean match = true;
+ int segmentCount = 0;
+ int segmentLength = 0;
+ Perl5Util atomMatcher = new Perl5Util();
+
+ while ( match )
+ {
+ match = atomMatcher.match( ATOM_PATTERN, hostIP );
+ if ( match )
+ {
+ domainSegment[segmentCount] = atomMatcher.group( 1 );
+ segmentLength = domainSegment[segmentCount].length() + 1;
+ hostIP = ( segmentLength >= hostIP.length() ) ? "" : hostIP.substring( segmentLength );
+
+ segmentCount++;
+ }
+ }
+ String topLevel = domainSegment[segmentCount - 1];
+ // don't check toplevel when we have only a server name like localhost
+ if ( segmentCount != 1 && (topLevel.length() < 2 ) )
+ {
+ return false;
+ }
+
+ // First letter of top level must be a alpha
+ Perl5Util alphaMatcher = new Perl5Util();
+ if ( !alphaMatcher.match( ALPHA_PATTERN, topLevel.substring( 0, 1 ) ) )
+ {
+ return false;
+ }
+ }
+
+ if ( !hostname && !ipV4Address )
+ {
+ return false;
+ }
+
+ String port = authorityMatcher.group( PARSE_AUTHORITY_PORT );
+ if ( port != null )
+ {
+ Perl5Util portMatcher = new Perl5Util();
+ if ( !portMatcher.match( PORT_PATTERN, port ) )
+ {
+ return false;
+ }
+ }
+
+ String extra = authorityMatcher.group( PARSE_AUTHORITY_EXTRA );
+ if ( !isBlankOrNull( extra ) )
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns true if the path is valid. A <code>null</code> value is considered invalid.
+ */
+ protected boolean isValidPath( String path )
+ {
+ if ( path == null )
+ {
+ return false;
+ }
+
+ Perl5Util pathMatcher = new Perl5Util();
+
+ if ( !pathMatcher.match( PATH_PATTERN, path ) )
+ {
+ return false;
+ }
+
+ int slash2Count = countToken( "//", path );
+ if ( this.options.isOff( ALLOW_2_SLASHES ) && ( slash2Count > 0 ) )
+ {
+ return false;
+ }
+
+ int slashCount = countToken( "/", path );
+ int dot2Count = countToken( "..", path );
+ if ( dot2Count > 0 )
+ {
+ if ( ( slashCount - slash2Count - 1 ) <= dot2Count )
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Returns true if the query is null or it's a properly formatted query string.
+ */
+ protected boolean isValidQuery( String query )
+ {
+ if ( query == null )
+ {
+ return true;
+ }
+
+ Perl5Util queryMatcher = new Perl5Util();
+ return queryMatcher.match( QUERY_PATTERN, query );
+ }
+
+ /**
+ * Returns true if the given fragment is null or fragments are allowed.
+ */
+ protected boolean isValidFragment( String fragment )
+ {
+ if ( fragment == null )
+ {
+ return true;
+ }
+
+ return this.options.isOff( NO_FRAGMENTS );
+ }
+
+ /**
+ * Returns the number of times the token appears in the target.
+ */
+ protected int countToken( String token, String target )
+ {
+ int tokenIndex = 0;
+ int count = 0;
+ while ( tokenIndex != -1 )
+ {
+ tokenIndex = target.indexOf( token, tokenIndex );
+ if ( tokenIndex > -1 )
+ {
+ tokenIndex++;
+ count++;
+ }
+ }
+ return count;
+ }
+
+ private static boolean isBlankOrNull( String value )
+ {
+ return ( ( value == null ) || ( value.trim().length() == 0 ) );
+ }
+
+ public static String replace( String text, String repl, String with )
+ {
+ if ( text == null || repl == null || with == null || repl.length() == 0 )
+ {
+ return text;
+ }
+
+ StringBuffer buf = new StringBuffer( text.length() );
+ int start = 0, end = 0;
+ while ( ( end = text.indexOf( repl, start ) ) != -1 )
+ {
+ buf.append( text.substring( start, end ) ).append( with );
+ start = end + repl.length();
+ }
+
+ buf.append( text.substring( start ) );
+ return buf.toString();
+ }
+
+ public void configure( PlexusConfiguration plexusConfiguration )
+ throws PlexusConfigurationException
+ {
+ PlexusConfiguration allowedSchemesElement = plexusConfiguration.getChild( "allowedSchemes" );
+ if ( allowedSchemesElement != null )
+ {
+ PlexusConfiguration[] allowedSchemeElements = allowedSchemesElement.getChildren( "allowedScheme" );
+ for ( int i = 0, size = allowedSchemeElements.length; i < size; i++ )
+ {
+ this.allowedSchemes.add( allowedSchemeElements[i].getValue() );
+ }
+ }
+ }
+
+}
Propchange: continuum/branches/continuum-spring/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-spring/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: continuum/branches/continuum-spring/continuum-commons/src/main/java/org/apache/maven/continuum/utils/ContinuumUrlValidator.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Wed Mar 26 17:12:17 2008
@@ -0,0 +1 @@
+URL HeadURL Author LastChangedBy Date LastChangedDate Rev Revision LastChangedRevision Id
Modified: continuum/branches/continuum-spring/continuum-core/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-spring/continuum-core/pom.xml?rev=641653&r1=641652&r2=641653&view=diff
==============================================================================
--- continuum/branches/continuum-spring/continuum-core/pom.xml (original)
+++ continuum/branches/continuum-spring/continuum-core/pom.xml Wed Mar 26 17:12:17 2008
@@ -207,6 +207,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
</dependency>
</dependencies>
<build>
@@ -265,6 +266,10 @@
<name>M2_HOME</name>
<value>${maven.home}</value>
</property>
+ <property>
+ <name>plexus.home</name>
+ <value>${project.build.directory}/plexus</value>
+ </property>
</systemProperties>
</configuration>
</plugin>
@@ -287,4 +292,4 @@
</build>
</profile>
</profiles>
-</project>
\ No newline at end of file
+</project>
Modified: continuum/branches/continuum-spring/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-spring/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java?rev=641653&r1=641652&r2=641653&view=diff
==============================================================================
--- continuum/branches/continuum-spring/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java (original)
+++ continuum/branches/continuum-spring/continuum-core/src/main/java/org/apache/maven/continuum/execution/AbstractBuildExecutor.java Wed Mar 26 17:12:17 2008
@@ -334,4 +334,9 @@
{
this.resolveExecutable = resolveExecutable;
}
+
+ public void setExecutableResolver( ExecutableResolver executableResolver )
+ {
+ this.executableResolver = executableResolver;
+ }
}
Modified: continuum/branches/continuum-spring/continuum-core/src/test-projects/timeout/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-spring/continuum-core/src/test-projects/timeout/pom.xml?rev=641653&r1=641652&r2=641653&view=diff
==============================================================================
--- continuum/branches/continuum-spring/continuum-core/src/test-projects/timeout/pom.xml (original)
+++ continuum/branches/continuum-spring/continuum-core/src/test-projects/timeout/pom.xml Wed Mar 26 17:12:17 2008
@@ -24,7 +24,7 @@
<version>1.0-SNAPSHOT</version>
<name>Continuum Timeout test</name>
<scm>
- <connection>scm:svn:https://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-core/src/test-projects/timeout</connection>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/continuum/trunk/continuum-core/src/test-projects/timeout</connection>
</scm>
<dependencies>
<dependency>
Modified: continuum/branches/continuum-spring/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-spring/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java?rev=641653&r1=641652&r2=641653&view=diff
==============================================================================
--- continuum/branches/continuum-spring/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java (original)
+++ continuum/branches/continuum-spring/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java Wed Mar 26 17:12:17 2008
@@ -34,7 +34,6 @@
import org.apache.maven.continuum.model.project.ProjectGroup;
import org.apache.maven.continuum.model.project.ProjectNotifier;
import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.taskqueue.TaskQueue;
import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
Modified: continuum/branches/continuum-spring/continuum-core/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-spring/continuum-core/src/test/resources/log4j.properties?rev=641653&r1=641652&r2=641653&view=diff
==============================================================================
--- continuum/branches/continuum-spring/continuum-core/src/test/resources/log4j.properties (original)
+++ continuum/branches/continuum-spring/continuum-core/src/test/resources/log4j.properties Wed Mar 26 17:12:17 2008
@@ -44,3 +44,7 @@
#log4j.category.JPOX.Enhancer.Parser=DEBUG, console
#log4j.category.JPOX.Enhancer=DEBUG, console
#log4j.category.JPOX.SchemaTool=DEBUG, console
+
+#quiet spring loading :-)
+log4j.logger.org.springframework.beans.factory.xml.XmlBeanDefinitionReader=ERROR
+log4j.logger.org.springframework.beans.factory.support.DefaultListableBeanFactory=ERROR
Modified: continuum/branches/continuum-spring/continuum-core/src/test/resources/org/apache/maven/continuum/DefaultContinuumTest.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-spring/continuum-core/src/test/resources/org/apache/maven/continuum/DefaultContinuumTest.xml?rev=641653&r1=641652&r2=641653&view=diff
==============================================================================
--- continuum/branches/continuum-spring/continuum-core/src/test/resources/org/apache/maven/continuum/DefaultContinuumTest.xml (original)
+++ continuum/branches/continuum-spring/continuum-core/src/test/resources/org/apache/maven/continuum/DefaultContinuumTest.xml Wed Mar 26 17:12:17 2008
@@ -55,7 +55,7 @@
<component>
<role>org.codehaus.plexus.formica.validation.Validator</role>
<role-hint>url</role-hint>
- <implementation>org.codehaus.plexus.formica.validation.UrlValidator</implementation>
+ <implementation>org.apache.maven.continuum.utils.ContinuumUrlValidator</implementation>
<configuration>
<allowedSchemes>
<allowedScheme>http</allowedScheme>
Modified: continuum/branches/continuum-spring/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-spring/continuum-webapp/src/main/resources/META-INF/plexus/application.xml?rev=641653&r1=641652&r2=641653&view=diff
==============================================================================
--- continuum/branches/continuum-spring/continuum-webapp/src/main/resources/META-INF/plexus/application.xml (original)
+++ continuum/branches/continuum-spring/continuum-webapp/src/main/resources/META-INF/plexus/application.xml Wed Mar 26 17:12:17 2008
@@ -18,6 +18,8 @@
~ under the License.
-->
<plexus>
+ <!--
+ Not supported with plexus-spring
<load-on-start>
<component>
<role>org.apache.maven.continuum.Continuum</role>
@@ -43,7 +45,7 @@
<role-hint>rollback-release</role-hint>
</component>
</load-on-start>
-
+ -->
<components>
<component>
<role>org.codehaus.plexus.registry.Registry</role>
@@ -270,7 +272,7 @@
<component>
<role>org.codehaus.plexus.formica.validation.Validator</role>
<role-hint>url</role-hint>
- <implementation>org.codehaus.plexus.formica.validation.UrlValidator</implementation>
+ <implementation>org.apache.maven.continuum.utils.ContinuumUrlValidator</implementation>
<configuration>
<allowedSchemes>
<allowedScheme>http</allowedScheme>