You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2006/12/13 10:23:29 UTC
svn commit: r486556 - in /maven/continuum/trunk/continuum-notifiers: ./
continuum-notifier-wagon/ continuum-notifier-wagon/src/
continuum-notifier-wagon/src/main/ continuum-notifier-wagon/src/main/java/
continuum-notifier-wagon/src/main/java/org/ conti...
Author: evenisse
Date: Wed Dec 13 01:23:28 2006
New Revision: 486556
URL: http://svn.apache.org/viewvc?view=rev&rev=486556
Log:
[CONTINUUM-1052] Add a new notifier that will deploy the build result to a given url.
Submitted by: Henry S. Isidro
Added:
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/ (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/META-INF/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/META-INF/plexus/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/META-INF/plexus/components.xml (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Context.java (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/MockConfigurationService.java (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Servlet.java (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/ServletServer.java (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/build-output-directory/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/build-output-directory/2/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/build-output-directory/2/1.log.txt (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml (with props)
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/working-directory/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/working-directory/2/
maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/working-directory/2/pom.xml (with props)
Modified:
maven/continuum/trunk/continuum-notifiers/pom.xml
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Dec 13 01:23:28 2006
@@ -0,0 +1,2 @@
+*.iml
+target
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml Wed Dec 13 01:23:28 2006
@@ -0,0 +1,51 @@
+<?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">
+ <parent>
+ <artifactId>continuum-notifiers</artifactId>
+ <groupId>org.apache.maven.continuum</groupId>
+ <version>1.1-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>continuum-notifier-wagon</artifactId>
+ <name>Continuum Wagon Notifier</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-notification</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-core</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.continuum</groupId>
+ <artifactId>continuum-notifier-api</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav</artifactId>
+ <version>1.0-alpha-6</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>it.could</groupId>
+ <artifactId>webdav</artifactId>
+ <version>0.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>4.2.12</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java Wed Dec 13 01:23:28 2006
@@ -0,0 +1,346 @@
+package org.apache.maven.continuum.notification.wagon;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.configuration.ConfigurationException;
+import org.apache.maven.continuum.configuration.ConfigurationService;
+import org.apache.maven.continuum.model.project.BuildDefinition;
+import org.apache.maven.continuum.model.project.BuildResult;
+import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.model.project.ProjectNotifier;
+import org.apache.maven.continuum.notification.AbstractContinuumNotifier;
+import org.apache.maven.continuum.notification.ContinuumNotificationDispatcher;
+import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.Site;
+import org.apache.maven.profiles.DefaultProfileManager;
+import org.apache.maven.profiles.ProfileManager;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.settings.MavenSettingsBuilder;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.wagon.CommandExecutionException;
+import org.apache.maven.wagon.CommandExecutor;
+import org.apache.maven.wagon.ConnectionException;
+import org.apache.maven.wagon.ResourceDoesNotExistException;
+import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.UnsupportedProtocolException;
+import org.apache.maven.wagon.Wagon;
+import org.apache.maven.wagon.authentication.AuthenticationException;
+import org.apache.maven.wagon.authorization.AuthorizationException;
+import org.apache.maven.wagon.observers.Debug;
+import org.apache.maven.wagon.proxy.ProxyInfo;
+import org.apache.maven.wagon.repository.Repository;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.ContextException;
+import org.codehaus.plexus.notification.NotificationException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+/**
+ * @author <a href="mailto:hisidro@exist.com">Henry Isidro</a>
+ * @author <a href="mailto:nramirez@exist.com">Napoleon Esmundo C. Ramirez</a>
+ */
+public class WagonContinuumNotifier
+ extends AbstractContinuumNotifier
+ implements Contextualizable
+{
+ public static final String KEY_BUILD_DEFINITION = "build-definition";
+
+ public static final String BUILD_OUTPUT_FILE_NAME = "buildresult.txt";
+
+ private static final String CONTEXT_MAVEN_PROJECT = "CONTEXT_MAVEN_PROJECT";
+
+ /**
+ * @plexus.requirement
+ */
+ private ConfigurationService configurationService;
+
+ /**
+ * @plexus.requirement
+ */
+ private WagonManager wagonManager;
+
+ /**
+ * @plexus.requirement
+ */
+ private MavenProjectBuilder projectBuilder;
+
+ /**
+ * @plexus.requirement
+ */
+ private MavenSettingsBuilder settingsBuilder;
+
+ /**
+ * @plexus.configuration
+ */
+ private String localRepository;
+
+
+ private Settings settings;
+
+ private ProfileManager profileManager;
+
+ private PlexusContainer container;
+
+
+ public void sendNotification( String source, Set recipients, Map configuration, Map context )
+ throws NotificationException
+ {
+ Project project = (Project) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT );
+
+ ProjectNotifier projectNotifier =
+ (ProjectNotifier) context.get( ContinuumNotificationDispatcher.CONTEXT_PROJECT_NOTIFIER );
+
+ BuildResult build = (BuildResult) context.get( ContinuumNotificationDispatcher.CONTEXT_BUILD );
+
+ BuildDefinition buildDefinition = (BuildDefinition) context.get( KEY_BUILD_DEFINITION );
+
+ // ----------------------------------------------------------------------
+ // If there wasn't any building done, don't notify
+ // ----------------------------------------------------------------------
+ if ( build == null )
+ {
+ return;
+ }
+
+ // ----------------------------------------------------------------------
+ // Deloy build result to given url
+ // ----------------------------------------------------------------------
+ try
+ {
+ /*
+ * acquire the MavenProject associated to the Project in context
+ */
+ MavenProject mavenProject = getMavenProject( project, buildDefinition );
+ configuration.put( CONTEXT_MAVEN_PROJECT, mavenProject );
+
+ if ( source.equals( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE ) )
+ {
+ buildComplete( project, projectNotifier, build, configuration );
+ }
+ }
+ catch ( ContinuumException e )
+ {
+ throw new NotificationException( "Error while notifiying.", e );
+ }
+ }
+
+ private void buildComplete( Project project, ProjectNotifier projectNotifier, BuildResult build, Map configuration )
+ throws ContinuumException
+ {
+ MavenProject mavenProject = (MavenProject) configuration.get( CONTEXT_MAVEN_PROJECT );
+
+ DistributionManagement distributionManagement = mavenProject.getDistributionManagement();
+ if ( distributionManagement == null )
+ {
+ throw new ContinuumException( "Missing distribution management information in the project" );
+ }
+
+ Site site = distributionManagement.getSite();
+ if ( site == null )
+ {
+ throw new ContinuumException( "Missing site information in the distribution management element in the project.." );
+ }
+
+ String url = site.getUrl();
+ String id = site.getId();
+ if ( url == null )
+ {
+ throw new ContinuumException( "The URL to the site is missing in the project descriptor." );
+ }
+
+ Repository repository = new Repository( id, url );
+
+ Wagon wagon;
+ try
+ {
+ wagon = wagonManager.getWagon( repository.getProtocol() );
+ }
+ catch ( UnsupportedProtocolException e )
+ {
+ throw new ContinuumException( "Unsupported protocol: '" + repository.getProtocol() + "'", e );
+ }
+
+ if ( !wagon.supportsDirectoryCopy() )
+ {
+ throw new ContinuumException( "Wagon protocol '" + repository.getProtocol() + "' doesn't support directory copying" );
+ }
+
+ try
+ {
+ if ( getLogger().isDebugEnabled() )
+ {
+ Debug debug = new Debug();
+
+ wagon.addSessionListener( debug );
+ wagon.addTransferListener( debug );
+ }
+
+ ProxyInfo proxyInfo = wagonManager.getProxy( repository.getProtocol() );
+
+ if ( proxyInfo != null )
+ {
+ wagon.connect( repository, wagonManager.getAuthenticationInfo( id ), proxyInfo );
+ }
+ else
+ {
+ wagon.connect( repository, wagonManager.getAuthenticationInfo( id ) );
+ }
+
+ File buildOutputFile = configurationService.getBuildOutputFile( build.getId(), build.getProject().getId() );
+
+ wagon.put( buildOutputFile, BUILD_OUTPUT_FILE_NAME );
+
+ // TODO: current wagon uses zip which will use the umask on remote host instead of honouring our settings
+ // Force group writeable
+ if ( wagon instanceof CommandExecutor )
+ {
+ CommandExecutor exec = (CommandExecutor) wagon;
+ exec.executeCommand( "chmod -Rf g+w " + repository.getBasedir() );
+ }
+ }
+ catch ( ConfigurationException e )
+ {
+ throw new ContinuumException( "Error uploading build results to deployed site.", e );
+ }
+ catch ( ResourceDoesNotExistException e )
+ {
+ throw new ContinuumException( "Error uploading site", e );
+ }
+ catch ( TransferFailedException e )
+ {
+ throw new ContinuumException( "Error uploading site", e );
+ }
+ catch ( AuthorizationException e )
+ {
+ throw new ContinuumException( "Error uploading site", e );
+ }
+ catch ( ConnectionException e )
+ {
+ throw new ContinuumException( "Error uploading site", e );
+ }
+ catch ( AuthenticationException e )
+ {
+ throw new ContinuumException( "Error uploading site", e );
+ }
+ catch ( CommandExecutionException e )
+ {
+ throw new ContinuumException( "Error uploading site", e );
+ }
+ finally
+ {
+ try
+ {
+ wagon.disconnect();
+ }
+ catch ( ConnectionException e )
+ {
+ getLogger().error( "Error disconnecting wagon - ignored", e );
+ }
+ }
+ }
+
+ public void sendNotification( String arg0, Set arg1, Properties arg2 )
+ throws NotificationException
+ {
+ throw new NotificationException( "Not implemented." );
+ }
+
+ private MavenProject getMavenProject( Project project, BuildDefinition buildDefinition )
+ throws ContinuumException
+ {
+ File projectWorkingDir = new File( configurationService.getWorkingDirectory(), Integer.toString( project.getId() ) );
+ File pomFile = new File( projectWorkingDir, buildDefinition.getBuildFile() );
+
+ MavenProject mavenProject = null;
+
+ try
+ {
+ mavenProject = projectBuilder.build( pomFile, getLocalRepository(), getProfileManager( settings ) );
+ }
+ catch ( ProjectBuildingException e )
+ {
+ throw new ContinuumException( "Unable to acquire the MavenProject in " + pomFile.getAbsolutePath(), e);
+ }
+
+ return mavenProject;
+ }
+
+ private Settings getSettings()
+ {
+ if ( settings == null )
+ {
+ try
+ {
+ settings = settingsBuilder.buildSettings();
+ }
+ catch ( IOException e )
+ {
+ getLogger().error( "Failed to get Settings" , e);
+ }
+ catch ( XmlPullParserException e )
+ {
+ getLogger().error( "Failed to get Settings" , e);
+ }
+ }
+
+ return settings;
+ }
+
+ private ArtifactRepository getLocalRepository()
+ {
+ String repo = localRepository;
+
+ if ( getSettings() != null && !StringUtils.isEmpty( getSettings().getLocalRepository() ) )
+ {
+ repo = getSettings().getLocalRepository();
+ }
+
+ return new DefaultArtifactRepository( "local-repository", "file://" + repo, new DefaultRepositoryLayout() );
+ }
+
+ private ProfileManager getProfileManager( Settings settings )
+ {
+ if ( profileManager == null )
+ {
+ profileManager = new DefaultProfileManager( container, getSettings() );
+ }
+
+ return profileManager;
+ }
+
+ public void contextualize( Context context )
+ throws ContextException
+ {
+ container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
+ }
+}
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/java/org/apache/maven/continuum/notification/wagon/WagonContinuumNotifier.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/META-INF/plexus/components.xml?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/META-INF/plexus/components.xml (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/META-INF/plexus/components.xml Wed Dec 13 01:23:28 2006
@@ -0,0 +1,4 @@
+<component-set>
+ <components>
+ </components>
+</component-set>
\ No newline at end of file
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/main/resources/META-INF/plexus/components.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Context.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Context.java?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Context.java (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Context.java Wed Dec 13 01:23:28 2006
@@ -0,0 +1,50 @@
+package org.apache.maven.continuum.wagon;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import java.util.List;
+
+import org.apache.maven.wagon.authentication.AuthenticationInfo;
+
+/**
+ * Context
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ */
+public class Context
+{
+ private String id;
+
+ private AuthenticationInfo authenticationInfo;
+
+ private List servlets;
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public AuthenticationInfo getAuthenticationInfo()
+ {
+ return authenticationInfo;
+ }
+
+ public List getServlets()
+ {
+ return servlets;
+ }
+}
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Context.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Context.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/MockConfigurationService.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/MockConfigurationService.java?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/MockConfigurationService.java (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/MockConfigurationService.java Wed Dec 13 01:23:28 2006
@@ -0,0 +1,170 @@
+package org.apache.maven.continuum.wagon;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import java.io.File;
+import java.util.Map;
+
+import org.apache.maven.continuum.configuration.ConfigurationException;
+import org.apache.maven.continuum.configuration.ConfigurationLoadingException;
+import org.apache.maven.continuum.configuration.ConfigurationService;
+import org.apache.maven.continuum.configuration.ConfigurationStoringException;
+
+/**
+ * Mock class for testing WagonContinuumNotifier's call to ConfigurationService.getBuildOutputFile()
+ *
+ * @author <a href="mailto:nramirez@exist">Napoleon Esmundo C. Ramirez</a>
+ *
+ */
+public class MockConfigurationService implements ConfigurationService
+{
+ private String basedir;
+
+ public MockConfigurationService()
+ {
+ basedir = System.getProperty( "basedir" );
+ }
+
+ public File getBuildOutputDirectory()
+ {
+ return new File( basedir, "src/test/resources" + "/" + "build-output-directory" );
+ }
+
+ public File getBuildOutputFile( int buildId, int projectId )
+ throws ConfigurationException
+ {
+ File dir = new File( getBuildOutputDirectory(), Integer.toString( projectId ) );
+
+ if ( !dir.exists() && !dir.mkdirs() )
+ {
+ throw new ConfigurationException( "Could not make the build output directory: " + "'" + dir.getAbsolutePath() + "'." );
+ }
+
+ return new File( dir, buildId + ".log.txt" );
+ }
+
+ public File getWorkingDirectory()
+ {
+ return new File( basedir, "src/test/resources" + "/" + "working-directory" );
+ }
+
+ public File getApplicationHome()
+ {
+ return null;
+ }
+
+ public boolean isInitialized()
+ {
+ return false;
+ }
+
+ public void setInitialized( boolean initialized )
+ {
+ }
+
+ public String getUrl()
+ {
+ return null;
+ }
+
+ public void setUrl( String url )
+ {
+ }
+
+ public void setBuildOutputDirectory( File buildOutputDirectory )
+ {
+ }
+
+ public void setWorkingDirectory( File workingDirectory )
+ {
+ }
+
+ public File getDeploymentRepositoryDirectory()
+ {
+ return null;
+ }
+
+ public void setDeploymentRepositoryDirectory( File deploymentRepositoryDirectory )
+ {
+ }
+
+ public void setJdks( Map jdks )
+ {
+ }
+
+ public String getCompanyLogo()
+ {
+ return null;
+ }
+
+ public void setCompanyLogo( String companyLogoUrl )
+ {
+ }
+
+ public String getCompanyName()
+ {
+ return null;
+ }
+
+ public void setCompanyName( String companyName )
+ {
+ }
+
+ public String getCompanyUrl()
+ {
+ return null;
+ }
+
+ public void setCompanyUrl( String companyUrl )
+ {
+ }
+
+ public boolean isGuestAccountEnabled()
+ {
+ return false;
+ }
+
+ public void setGuestAccountEnabled( boolean enabled )
+ {
+ }
+
+ public String getBuildOutput( int buildId, int projectId )
+ throws ConfigurationException
+ {
+ return null;
+ }
+
+ public File getFile( String filename )
+ {
+ return null;
+ }
+
+ public boolean isLoaded()
+ {
+ return false;
+ }
+
+ public void load()
+ throws ConfigurationLoadingException
+ {
+ }
+
+ public void store()
+ throws ConfigurationStoringException
+ {
+ }
+}
\ No newline at end of file
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/MockConfigurationService.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/MockConfigurationService.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Servlet.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Servlet.java?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Servlet.java (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Servlet.java Wed Dec 13 01:23:28 2006
@@ -0,0 +1,55 @@
+package org.apache.maven.continuum.wagon;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import java.util.Properties;
+
+/**
+ * Servlet
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ */
+public class Servlet
+{
+ private String id;
+
+ private Properties parameters;
+
+ private String path;
+
+ private String servlet;
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public Properties getParameters()
+ {
+ return parameters;
+ }
+
+ public String getPath()
+ {
+ return path;
+ }
+
+ public String getServlet()
+ {
+ return servlet;
+ }
+}
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Servlet.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/Servlet.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/ServletServer.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/ServletServer.java?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/ServletServer.java (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/ServletServer.java Wed Dec 13 01:23:28 2006
@@ -0,0 +1,149 @@
+package org.apache.maven.continuum.wagon;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.maven.wagon.authentication.AuthenticationInfo;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Startable;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.StartingException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.StoppingException;
+import org.mortbay.http.BasicAuthenticator;
+import org.mortbay.http.HashUserRealm;
+import org.mortbay.http.SecurityConstraint;
+import org.mortbay.http.SocketListener;
+import org.mortbay.http.handler.SecurityHandler;
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.servlet.ServletHolder;
+import org.mortbay.jetty.servlet.ServletHttpContext;
+import org.mortbay.util.MultiException;
+
+/**
+ * Plexus Component to start a Jetty Server with servlet settings.
+ *
+ * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ */
+public class ServletServer
+ implements Initializable, Startable
+{
+ public static final String ROLE = ServletServer.class.getName();
+
+ private Server server;
+
+ private int port;
+
+ private List contexts;
+
+ public void initialize()
+ throws InitializationException
+ {
+ server = new Server();
+
+ SocketListener listener = new SocketListener();
+ listener.setPort( port );
+
+ server.addListener( listener );
+
+ if ( contexts != null )
+ {
+ try
+ {
+ Iterator itcontext = contexts.iterator();
+
+ while ( itcontext.hasNext() )
+ {
+ Context wdc = (Context) itcontext.next();
+
+ ServletHttpContext context = (ServletHttpContext) server.getContext( wdc.getId() );
+
+ initContext( wdc, context );
+ }
+ }
+ catch ( Exception e )
+ {
+ throw new InitializationException( "Unable to initialize.", e );
+ }
+ }
+ }
+
+ private void initContext( Context wdc, ServletHttpContext context )
+ throws ClassNotFoundException, InstantiationException, IllegalAccessException
+ {
+ AuthenticationInfo authenticationInfo = wdc.getAuthenticationInfo();
+ if ( authenticationInfo != null )
+ {
+ HashUserRealm userRealm = new HashUserRealm( "basic" );
+ userRealm.put( authenticationInfo.getUserName(), authenticationInfo.getPassword() );
+ context.getHttpServer().addRealm( userRealm );
+
+ context.setAuthenticator( new BasicAuthenticator() );
+ context.addSecurityConstraint( "/*", new SecurityConstraint( "any", SecurityConstraint.ANY_ROLE ) );
+ context.addHandler( new SecurityHandler() );
+ }
+
+ Iterator itpaths = wdc.getServlets().iterator();
+ while ( itpaths.hasNext() )
+ {
+ Servlet servlet = (Servlet) itpaths.next();
+ initServlet( context, servlet );
+ }
+ }
+
+ private void initServlet( ServletHttpContext context, Servlet path )
+ throws ClassNotFoundException, InstantiationException, IllegalAccessException
+ {
+ ServletHolder servlet = context.addServlet( path.getId(), path.getPath(), path.getServlet() );
+
+ Iterator itparams = path.getParameters().entrySet().iterator();
+ while ( itparams.hasNext() )
+ {
+ Map.Entry entry = (Entry) itparams.next();
+ servlet.setInitParameter( (String) entry.getKey(), (String) entry.getValue() );
+ }
+ }
+
+ public void start()
+ throws StartingException
+ {
+ try
+ {
+ server.start();
+ }
+ catch ( MultiException e )
+ {
+ throw new StartingException( "Error starting the jetty webdav server: ", e );
+ }
+ }
+
+ public void stop()
+ throws StoppingException
+ {
+ try
+ {
+ server.stop();
+ }
+ catch ( InterruptedException e )
+ {
+ throw new StoppingException( "Error stopping the jetty webdav server: ", e );
+ }
+ }
+}
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/ServletServer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/ServletServer.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java Wed Dec 13 01:23:28 2006
@@ -0,0 +1,99 @@
+package org.apache.maven.continuum.wagon;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+
+import org.apache.maven.continuum.model.project.BuildDefinition;
+import org.apache.maven.continuum.model.project.BuildResult;
+import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.notification.ContinuumNotificationDispatcher;
+import org.apache.maven.continuum.notification.wagon.WagonContinuumNotifier;
+import org.apache.maven.continuum.project.ContinuumProjectState;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.notification.notifier.Notifier;
+
+/**
+ * @author <a href="mailto:nramirez@exist">Napoleon Esmundo C. Ramirez</a>
+ */
+public class WagonContinuumNotifierTest
+ extends PlexusTestCase
+{
+ private ServletServer server;
+
+ private Notifier notifier;
+
+ private Project project;
+
+ private BuildResult build;
+
+ private BuildDefinition buildDefinition;
+
+ private Map context;
+
+
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+
+ server = (ServletServer) lookup( ServletServer.ROLE );
+ notifier = (Notifier) lookup( Notifier.ROLE, "wagon" );
+
+ project = new Project();
+ project.setId( 2 );
+
+ build = new BuildResult();
+ build.setId( 1 );
+ build.setProject( project );
+ build.setStartTime( System.currentTimeMillis() );
+ build.setEndTime( System.currentTimeMillis() + 1234567 );
+ build.setState( ContinuumProjectState.OK );
+ build.setTrigger( ContinuumProjectState.TRIGGER_FORCED );
+ build.setExitCode( 0 );
+
+ buildDefinition = new BuildDefinition();
+ buildDefinition.setBuildFile( "pom.xml" );
+
+ context = new HashMap();
+ context.put( ContinuumNotificationDispatcher.CONTEXT_PROJECT, project );
+ context.put( ContinuumNotificationDispatcher.CONTEXT_BUILD, build );
+ context.put( WagonContinuumNotifier.KEY_BUILD_DEFINITION, buildDefinition );
+
+ String basedir = System.getProperty( "basedir" );
+ if ( basedir == null )
+ {
+ throw new Exception( "basedir must be defined" );
+ }
+ }
+
+ public void testSendNotification()
+ throws Exception
+ {
+ notifier.sendNotification( ContinuumNotificationDispatcher.MESSAGE_ID_BUILD_COMPLETE, new HashSet(), new HashMap(), context );
+ }
+
+ protected void tearDown()
+ throws Exception
+ {
+ release( server );
+ }
+
+
+}
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/java/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/build-output-directory/2/1.log.txt
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/build-output-directory/2/1.log.txt?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/build-output-directory/2/1.log.txt (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/build-output-directory/2/1.log.txt Wed Dec 13 01:23:28 2006
@@ -0,0 +1,2 @@
+This is a WagonContinuumNotifier test file expected to be deployed at the url specified in the distributionManagement.site
+section of the pom.
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/build-output-directory/2/1.log.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/build-output-directory/2/1.log.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml Wed Dec 13 01:23:28 2006
@@ -0,0 +1,67 @@
+<plexus>
+ <components>
+ <component>
+ <role>org.apache.maven.continuum.wagon.ServletServer</role>
+ <implementation>org.apache.maven.continuum.wagon.ServletServer</implementation>
+ <configuration>
+ <port>10007</port>
+ <contexts>
+ <context>
+ <id>/dav</id>
+ <servlets>
+ <servlet>
+ <id>LOCALREPO</id>
+ <path>/*</path>
+ <servlet>it.could.webdav.DAVServlet</servlet>
+ <parameters>
+ <property>
+ <name>rootPath</name>
+ <value>${basedir}/target</value>
+ </property>
+ <property>
+ <name>xmlOnly</name>
+ <value>false</value>
+ </property>
+ </parameters>
+ </servlet>
+ </servlets>
+ </context>
+ </contexts>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.codehaus.plexus.notification.notifier.Notifier</role>
+ <role-hint>wagon</role-hint>
+ <implementation>org.apache.maven.continuum.notification.wagon.WagonContinuumNotifier</implementation>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.continuum.configuration.ConfigurationService</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.artifact.manager.WagonManager</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.project.MavenProjectBuilder</role>
+ </requirement>
+ <requirement>
+ <role>org.apache.maven.settings.MavenSettingsBuilder</role>
+ </requirement>
+ </requirements>
+ <configuration>
+ <localRepository>~/.m2/repository</localRepository>
+ </configuration>
+ </component>
+
+ <component>
+ <role>org.apache.maven.continuum.configuration.ConfigurationService</role>
+ <implementation>org.apache.maven.continuum.wagon.MockConfigurationService</implementation>
+ </component>
+
+ <component>
+ <role>org.apache.maven.artifact.manager.WagonManager</role>
+ <implementation>org.apache.maven.artifact.manager.DefaultWagonManager</implementation>
+ </component>
+
+ </components>
+</plexus>
\ No newline at end of file
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/org/apache/maven/continuum/wagon/WagonContinuumNotifierTest.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/working-directory/2/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/working-directory/2/pom.xml?view=auto&rev=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/working-directory/2/pom.xml (added)
+++ maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/working-directory/2/pom.xml Wed Dec 13 01:23:28 2006
@@ -0,0 +1,14 @@
+<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>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <distributionManagement>
+ <site>
+ <id>wagon-notification</id>
+ <name>Wagon Notification</name>
+ <url>dav:http://localhost:10007/dav</url>
+ </site>
+ </distributionManagement>
+</project>
\ No newline at end of file
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/working-directory/2/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/trunk/continuum-notifiers/continuum-notifier-wagon/src/test/resources/working-directory/2/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/continuum/trunk/continuum-notifiers/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-notifiers/pom.xml?view=diff&rev=486556&r1=486555&r2=486556
==============================================================================
--- maven/continuum/trunk/continuum-notifiers/pom.xml (original)
+++ maven/continuum/trunk/continuum-notifiers/pom.xml Wed Dec 13 01:23:28 2006
@@ -13,6 +13,7 @@
<module>continuum-notifier-irc</module>
<module>continuum-notifier-jabber</module>
<module>continuum-notifier-msn</module>
+ <module>continuum-notifier-wagon</module>
</modules>
<dependencies>
<dependency>