Added:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java?view=auto&rev=547277
==============================================================================
---
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java
(added)
+++
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java
Thu Jun 14 08:25:42 2007
@@ -0,0 +1,83 @@
+package org.apache.maven.archiva.plugins.dev.testgen;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingException;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * DependencyUtils - common utilities for dependencies.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class DependencyUtils
+{
+ public static Map getManagedVersionMap( MavenProject project,
ArtifactFactory factory ) throws ProjectBuildingException
+ {
+ DependencyManagement dependencyManagement =
project.getDependencyManagement();
+ Map managedVersionMap;
+
+ if ( dependencyManagement != null &&
dependencyManagement.getDependencies() != null )
+ {
+ managedVersionMap = new HashMap();
+
+ for ( Iterator iterator =
dependencyManagement.getDependencies().iterator(); iterator.hasNext(); )
+ {
+ Dependency dependency = (Dependency) iterator.next();
+
+ try
+ {
+ VersionRange versionRange =
VersionRange.createFromVersionSpec( dependency.getVersion() );
+
+ Artifact artifact =
+ factory.createDependencyArtifact(
dependency.getGroupId(), dependency.getArtifactId(),
+ versionRange,
dependency.getType(),
+
dependency.getClassifier(), dependency.getScope() );
+
+ managedVersionMap.put( dependency.getManagementKey(),
artifact );
+ }
+ catch ( InvalidVersionSpecificationException exception )
+ {
+ throw new ProjectBuildingException( project.getId(),
"Unable to parse version '"
+ + dependency.getVersion() + "' for
dependency '" + dependency.getManagementKey()
+ + "': " + exception.getMessage(),
exception );
+ }
+ }
+ }
+ else
+ {
+ managedVersionMap = Collections.EMPTY_MAP;
+ }
+
+ return managedVersionMap;
+ }
+}
Propchange:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/DependencyUtils.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java?view=auto&rev=547277
==============================================================================
---
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java
(added)
+++
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java
Thu Jun 14 08:25:42 2007
@@ -0,0 +1,439 @@
+package org.apache.maven.archiva.plugins.dev.testgen;
+
+/*
+ * 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.
+ */
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.Predicate;
+import org.apache.commons.collections.iterators.EnumerationIterator;
+import
org.apache.maven.archiva.plugins.dev.functors.MatchingDependencyPredicate;
+import org.apache.maven.artifact.InvalidArtifactRTException;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.Exclusion;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Relocation;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.PrintWriter;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+/**
+ * MemoryRepositoryCreator
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class MemoryRepositoryCreator
+ extends AbstractCreator
+{
+ private File outputFile;
+
+ private PrintWriter out;
+
+ private int modelsProcessed = 0;
+
+ public void create( String classPrefix )
+ throws MojoExecutionException
+ {
+ getLog().info( "Generating " + classPrefix + "MemoryRepository.java
..." );
+ getLog().info( "Please be patient, this can take a few minutes ..." );
+
+ modelsProcessed = 0;
+
+ outputFile = new File( outputDir, classPrefix +
"MemoryRepository.java" );
+ try
+ {
+ out = new PrintWriter( outputFile );
+ }
+ catch ( FileNotFoundException e )
+ {
+ throw new MojoExecutionException( "Unable to open file " +
outputFile.getName() + " for output: "
+ + e.getMessage(), e );
+ }
+
+ try
+ {
+ out.println( "package org.apache.maven.archiva.dependency.graph;"
);
+ out.println( "" );
+
+ writeLicense( out );
+
+ // Imports
+ out.println( "import
org.apache.maven.archiva.model.ArchivaProjectModel;" );
+ out.println( "import org.apache.maven.archiva.model.Dependency;" );
+ out.println( "import
org.apache.maven.archiva.model.VersionedReference;" );
+ out.println( "" );
+
+ String projectKey = toKey( project.getModel() );
+
+ writeJavadoc( classPrefix + "MemoryRepository", projectKey );
+
+ // The class itself.
+ out.println( "public class " + classPrefix + "MemoryRepository" );
+ out.println( " extends AbstractMemoryRepository" );
+ out.println( "{" );
+
+ writeTest();
+
+ out.println( "}" );
+ }
+ finally
+ {
+ out.flush();
+ IOUtil.close( out );
+ }
+
+ }
+
+ private void writeJavadoc( String classname, String projectKey )
+ {
+ out.println( "/**" );
+ out.println( " * " + classname );
+ out.println( " * " );
+ out.println( " * MemoryRepository for testing <code>" + projectKey +
"</code>" );
+ out.println( " *" );
+ out.println( " * Generated by
<code>archivadev:generate-dependency-tests</code> plugin" );
+ out.println( " * @version $Id$" );
+ out.println( " */" );
+ }
+
+ private void writeTest()
+ {
+ out.println( " public void initialize()" );
+ out.println( " {" );
+ out.println( " ArchivaProjectModel model;" );
+ out.println( " Dependency dep;" );
+ out.println( "" );
+
+ Set seenModels = new HashSet();
+
+ writeModel( seenModels, project.getModel() );
+
+ getLog().info(
+ "Processing done: Processed " + modelsProcessed + "
models (" + seenModels.size()
+ + " were unique)" );
+
+ out.println( " }" );
+ }
+
+ private void writeModel( Set seenModels, Model model )
+ {
+ String projectKey = toKey( model );
+
+ modelsProcessed++;
+
+ if ( ( modelsProcessed % 100 ) == 0 )
+ {
+ getLog()
+ .info( "Processed " + modelsProcessed + " models (" +
seenModels.size() + " unique) ..." );
+ }
+
+ Relocation relocation = null;
+
+ if ( seenModels.contains( projectKey ) )
+ {
+ return;
+ }
+
+ seenModels.add( projectKey );
+
+ out.println( " model = toModel( \"" + projectKey + "\" );" );
+
+ if ( model.getParent() != null )
+ {
+ String parentKey = toKey( model.getParent() );
+ out.println( " model.setParentProject( toParent( \"" +
parentKey + "\" ) );" );
+ }
+
+ if ( isNotEmpty( model.getDependencies() ) )
+ {
+ Iterator it = model.getDependencies().iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dep = applyDepMan( (Dependency) it.next(), model );
+
+ writeAddDependency( "addDependency", dep );
+ }
+ }
+
+ if ( ( model.getDependencyManagement() != null )
+ && isNotEmpty( model.getDependencyManagement().getDependencies() )
)
+ {
+ Iterator it =
model.getDependencyManagement().getDependencies().iterator();
+ while ( it.hasNext() )
+ {
+ Dependency dep = (Dependency) it.next();
+
+ writeAddDependency( "addDependencyManagement", dep );
+ }
+ }
+
+ if ( isNotEmpty( model.getProperties() ) )
+ {
+ Iterator it = new EnumerationIterator(
model.getProperties().keys() );
+ while ( it.hasNext() )
+ {
+ String key = (String) it.next();
+ String value = model.getProperties().getProperty( key );
+ out.println( " model.addProperty( \"" + key + "\", \"" +
value + "\" );" );
+ }
+ }
+
+ if ( model.getDistributionManagement() != null )
+ {
+ DistributionManagement distMgmt =
model.getDistributionManagement();
+
+ if ( distMgmt.getRelocation() != null )
+ {
+ relocation = distMgmt.getRelocation();
+
+ out.println( " model.setRelocation( new
VersionedReference() );" );
+ if ( StringUtils.isNotEmpty( relocation.getGroupId() ) )
+ {
+ out.println( " model.getRelocation().setGroupId( \""
+ relocation.getGroupId() + "\" );" );
+ }
+ if ( StringUtils.isNotEmpty( relocation.getArtifactId() ) )
+ {
+ out
+ .println( " model.getRelocation().setArtifactId(
\"" + relocation.getArtifactId()
+ + "\" );" );
+ }
+ if ( StringUtils.isNotEmpty( relocation.getVersion() ) )
+ {
+ out.println( " model.getRelocation().setVersion( \""
+ relocation.getVersion() + "\" );" );
+ }
+ }
+ }
+
+ out.println( " addModel( model );" );
+ out.println( "" );
+
+ if ( model.getParent() != null )
+ {
+ Model parentModel = getModel( model.getParent() );
+ writeModel( seenModels, parentModel );
+ }
+
+ if ( relocation != null )
+ {
+ Model relocatedModel = getModel( model, relocation );
+ writeModel( seenModels, relocatedModel );
+ }
+
+ writeModelDependencies( seenModels, projectKey, model );
+ writeModelDependencyManagement( seenModels, projectKey, model );
+ }
+
+ private Model getModel( Model model, Relocation relocation )
+ {
+ String groupId = relocation.getGroupId();
+ String artifactId = relocation.getArtifactId();
+ String version = relocation.getVersion();
+
+ // Set empty groupId.
+ if ( StringUtils.isEmpty( groupId ) )
+ {
+ groupId = model.getGroupId();
+
+ if ( StringUtils.isEmpty( groupId ) )
+ {
+ if ( model.getParent() == null )
+ {
+ throw new IllegalStateException( "BAD POM: GroupId for
relocation in " + toKey( model )
+ + " cannot be determined, as there is no Parent Pom
reference." );
+ }
+
+ groupId = model.getParent().getGroupId();
+ }
+ }
+
+ // Set empty artifactId.
+ if ( StringUtils.isEmpty( artifactId ) )
+ {
+ artifactId = model.getArtifactId();
+
+ if ( StringUtils.isEmpty( artifactId ) )
+ {
+ if ( model.getParent() == null )
+ {
+ throw new IllegalStateException( "BAD POM: ArtifactId for
relocation in " + toKey( model )
+ + " cannot be determined, as there is no Parent Pom
reference." );
+ }
+
+ artifactId = model.getParent().getArtifactId();
+ }
+ }
+
+ // Set empty version.
+ if ( StringUtils.isEmpty( version ) )
+ {
+ version = model.getVersion();
+
+ if ( StringUtils.isEmpty( version ) )
+ {
+ if ( model.getParent() == null )
+ {
+ throw new IllegalStateException( "BAD POM: version for
relocation in " + toKey( model )
+ + " cannot be determined, as there is no Parent Pom
reference." );
+ }
+
+ version = model.getParent().getVersion();
+ }
+ }
+
+ return getModel( groupId, artifactId, version, "pom" );
+ }
+
+ private void writeAddDependency( String addMethod, Dependency dep )
+ {
+ boolean useShortForm = true;
+ String depKey = toKey( dep );
+
+ useShortForm = isEmpty( dep.getExclusions() ) && !dep.isOptional();
+
+ String scopePart = "";
+
+ if ( isNotBlank( dep.getScope() ) )
+ {
+ scopePart = ", \"" + dep.getScope() + "\"";
+ }
+
+ if ( useShortForm )
+ {
+ out.println( " model." + addMethod + "( toDependency( \"" +
depKey + "\"" + scopePart + " ) );" );
+ return;
+ }
+
+ out.println( " dep = toDependency( \"" + depKey + "\"" +
scopePart + " );" );
+
+ if ( isNotEmpty( dep.getExclusions() ) )
+ {
+ Iterator it = dep.getExclusions().iterator();
+ while ( it.hasNext() )
+ {
+ Exclusion exclusion = (Exclusion) it.next();
+ String exkey = toKey( exclusion );
+ out.println( " addExclusion( dep, \"" + exkey + "\" );" );
+ }
+ }
+
+ if ( dep.isOptional() )
+ {
+ out.println( " dep.setOptional( true );" );
+ }
+
+ out.println( " model." + addMethod + "( dep );" );
+ }
+
+ private void writeModelDependencies( Set seenModels, String projectKey,
Model model )
+ {
+ if ( model.getDependencies() == null )
+ {
+ return;
+ }
+
+ Iterator it = model.getDependencies().iterator();
+
+ while ( it.hasNext() )
+ {
+ Dependency dep = applyDepMan( (Dependency) it.next(), model );
+
+ Model rawModel = getModel( dep );
+
+ try
+ {
+ writeModel( seenModels, rawModel );
+ }
+ catch ( InvalidArtifactRTException e )
+ {
+ getLog().error(
+ "Encountered invalid dependency/artifact
during [" + projectKey + "] : "
+ + e.getMessage(), e );
+ throw e;
+ }
+ }
+ }
+
+ private void writeModelDependencyManagement( Set seenModels, String
projectKey, Model model )
+ {
+ if ( model.getDependencyManagement() == null )
+ {
+ return;
+ }
+
+ Iterator it =
model.getDependencyManagement().getDependencies().iterator();
+
+ while ( it.hasNext() )
+ {
+ Dependency dep = (Dependency) it.next();
+
+ Model rawModel = getModel( dep );
+
+ try
+ {
+ writeModel( seenModels, rawModel );
+ }
+ catch ( InvalidArtifactRTException e )
+ {
+ getLog().error(
+ "Encountered invalid dependency/artifact
during [" + projectKey + "] : "
+ + e.getMessage(), e );
+ throw e;
+ }
+ }
+ }
+
+ private Dependency applyDepMan( Dependency dependency, Model model )
+ {
+ if ( model.getDependencyManagement() != null )
+ {
+ if ( model.getDependencyManagement().getDependencies() != null )
+ {
+ // Attempt to find matching dep.
+ Predicate matchingDep = new MatchingDependencyPredicate(
dependency );
+ Dependency depman = (Dependency) CollectionUtils.find(
model.getDependencyManagement()
+ .getDependencies(), matchingDep );
+
+ if ( depman != null )
+ {
+ dependency.setVersion( depman.getVersion() );
+ dependency.setScope( StringUtils.defaultString(
depman.getScope(), dependency.getScope() ) );
+
+ // Found it!
+ return dependency;
+ }
+ }
+ }
+
+ if ( model.getParent() != null )
+ {
+ Model parentModel = getModel( model.getParent() );
+ return applyDepMan( dependency, parentModel );
+ }
+
+ return dependency;
+ }
+}
Propchange:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/testgen/MemoryRepositoryCreator.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java?view=auto&rev=547277
==============================================================================
---
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java
(added)
+++
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java
Thu Jun 14 08:25:42 2007
@@ -0,0 +1,50 @@
+package org.apache.maven.archiva.plugins.dev.utils;
+
+/*
+ * 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.
+ */
+
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ * VariableNames
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class VariableNames
+{
+ public static String toClassName( String raw )
+ {
+ return StringUtils.capitalise( toVariableName( raw ) );
+ }
+
+ public static String toVariableName( String raw )
+ {
+ StringBuffer sb = new StringBuffer();
+
+ String parts[] = StringUtils.split( raw, "-_:." );
+ for ( int i = 0; i < parts.length; i++ )
+ {
+ String part = parts[i];
+ sb.append( StringUtils.capitalise( part ) );
+ }
+
+ return StringUtils.uncapitalise( sb.toString() );
+ }
+}
Propchange:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange:
maven/archiva/trunk/tools/maven-archivadev-plugin/src/main/java/org/apache/maven/archiva/plugins/dev/utils/VariableNames.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: maven/archiva/trunk/tools/pom.xml
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/tools/pom.xml?view=auto&rev=547277
==============================================================================
--- maven/archiva/trunk/tools/pom.xml (added)
+++ maven/archiva/trunk/tools/pom.xml Thu Jun 14 08:25:42 2007
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Copyright 2005-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.
+ -->
+
+<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>
+ <parent>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-parent</artifactId>
+ <version>1.0-alpha-1-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <groupId>org.apache.maven.archiva.tools</groupId>
+ <artifactId>tools-parent</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <name>Archiva Tools :: Parent</name>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>maven-archivadev-plugin</module>
+ </modules>
+</project>
Propchange: maven/archiva/trunk/tools/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/archiva/trunk/tools/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Propchange: maven/archiva/trunk/tools/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml