[MRM-1547] release an archetype to create consumer



git-svn-id: https://svn.apache.org/repos/asf/archiva/sandbox/trunk@1195071 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/archiva-consumer-archetype/pom.xml b/archiva-consumer-archetype/pom.xml
deleted file mode 100644
index 06b9335..0000000
--- a/archiva-consumer-archetype/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ 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.
-  -->
-<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.archiva</groupId>
-    <artifactId>archiva-parent</artifactId>
-    <version>7</version>
-  </parent>
-
-  <groupId>org.apache.archiva</groupId>
-  <artifactId>archiva-consumer-archetype</artifactId>
-  <version>1.4-SNAPSHOT</version>
-  <packaging>maven-archetype</packaging>
-  <name>Archiva Consumers :: Consumers Archetype</name>
-  <description>Simple archetype to create archiva consumers</description>
-  <properties>
-    <archivaVersion>1.4-M2-SNAPSHOT</archivaVersion>
-  </properties>
-
-  <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-    <extensions>
-      <extension>
-        <groupId>org.apache.maven.archetype</groupId>
-        <artifactId>archetype-packaging</artifactId>
-        <version>2.1</version>
-      </extension>
-    </extensions>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-archetype-plugin</artifactId>
-        <version>2.1</version>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/archiva-consumer-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/archiva-consumer-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
deleted file mode 100644
index 4ca7ee9..0000000
--- a/archiva-consumer-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<archetype-descriptor xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
-  name="archiva-consumer-archetype" partial="false">
-
-  <fileSets>
-    <fileSet filtered="true" packaged="true">
-      <directory>src/main/java</directory>
-    </fileSet>
-    <fileSet filtered="true" packaged="true">
-      <directory>src/test/java</directory>
-    </fileSet>
-    <fileSet filtered="true" packaged="false">
-      <directory>src/test/resources</directory>
-    </fileSet>
-  </fileSets>
-</archetype-descriptor>
\ No newline at end of file
diff --git a/archiva-consumer-archetype/src/main/resources/archetype-resources/pom.xml b/archiva-consumer-archetype/src/main/resources/archetype-resources/pom.xml
deleted file mode 100644
index 2bdf33b..0000000
--- a/archiva-consumer-archetype/src/main/resources/archetype-resources/pom.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<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>
-  <version>${version}</version>
-  <packaging>jar</packaging>
-  <name>Simple Archiva Consumer</name>
-  <url>http://maven.apache.org</url>
-  <description>
-    This is a simple consumer component which demonstrates how a
-    component can be plugged in Archiva.
-  </description>
-  <properties>
-    <archiva.version>${archivaVersion}</archiva.version>
-  </properties>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.archiva</groupId>
-      <artifactId>archiva-consumer-api</artifactId>
-      <version>${archiva.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.archiva</groupId>
-      <artifactId>archiva-configuration</artifactId>
-      <version>${archiva.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.archiva</groupId>
-      <artifactId>archiva-repository-layer</artifactId>
-      <version>${archiva.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.archiva</groupId>
-      <artifactId>archiva-indexer</artifactId>
-      <version>${archiva.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <version>2.2</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.9</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>package</id>
-            <phase>package</phase>
-            <configuration>
-              <tasks>
-                <echo>
-                Remember to add the the following to the knownconsumers section in ~/.m2/archiva.xml 
-                 &lt;knownContentConsumer>simple-artifact-consumer&lt;/knownContentConsumer>
-                </echo>
-              </tasks>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <source>1.5</source>
-          <target>1.5</target>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/archiva-consumer-archetype/src/main/resources/archetype-resources/src/main/java/SimpleArtifactConsumer.java b/archiva-consumer-archetype/src/main/resources/archetype-resources/src/main/java/SimpleArtifactConsumer.java
deleted file mode 100644
index 2494eb2..0000000
--- a/archiva-consumer-archetype/src/main/resources/archetype-resources/src/main/java/SimpleArtifactConsumer.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package $package;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import org.apache.archiva.configuration.ArchivaConfiguration;
-import org.apache.archiva.configuration.FileTypes;
-import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
-import org.apache.archiva.consumers.AbstractMonitoredConsumer;
-import org.apache.archiva.consumers.ConsumerException;
-import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
-import org.codehaus.plexus.registry.Registry;
-import org.codehaus.plexus.registry.RegistryListener;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-import org.apache.archiva.admin.model.beans.ManagedRepository;
-
-import javax.annotation.PostConstruct;
-
-/**
- * <code>SimpleArtifactConsumer</code>
- * 
- */
-@Service("knownRepositoryContentConsumer#simple")
-@Scope("prototype")
-public class SimpleArtifactConsumer
-    extends AbstractMonitoredConsumer
-    implements KnownRepositoryContentConsumer, RegistryListener, Initializable
-{
-
-    private Logger log = LoggerFactory.getLogger( SimpleArtifactConsumer.class );
-
-    /**
-     * default-value="simple-artifact-consumer"
-     */
-    private String id = "simple-artifact-consumer";
-
-    /**
-     *
-     */
-    private String description = "Simple consumer to illustrate how to consume the contents of a repository.";
-
-    /**
-     *
-     */
-    @Inject
-    private FileTypes filetypes;
-
-    /**
-     *
-     */
-    @Inject
-    private ArchivaConfiguration configuration;
-
-    private List propertyNameTriggers = new ArrayList();
-
-    private List includes = new ArrayList();
-
-    /** current repository being scanned */
-    private ManagedRepository repository;
-
-    public void beginScan( ManagedRepository repository )
-        throws ConsumerException
-    {
-        this.repository = repository;
-        log.info( "Beginning scan of repository [" + this.repository.getId() + "]" );
-    }
-
-    public void beginScan( ManagedRepository repository, Date whenGathered )
-        throws ConsumerException
-    {
-        this.repository = repository;
-        log.info( "Beginning scan of repository [" + this.repository.getId() + "]" );
-    }
-
-    public void beginScan( ManagedRepository repository, Date whenGathered, boolean executeOnEntireRepo )
-        throws ConsumerException
-    {
-        this.repository = repository;
-        log.info( "Beginning scan of repository [" + this.repository.getId() + "]" );
-    }
-
-    public void processFile( String path )
-        throws ConsumerException
-    {
-        log.info( "Processing entry [" + path + "] from repository [" + this.repository.getId() + "]" );
-    }
-
-    public void processFile( String path, boolean executeOnEntireRepo )
-        throws ConsumerException
-    {
-        log.info( "Processing entry [" + path + "] from repository [" + this.repository.getId() + "]" );
-    }
-
-    public void completeScan()
-    {
-        log.info( "Finished scan of repository [" + this.repository.getId() + "]" );
-    }
-
-    public void completeScan( boolean executeOnEntireRepo )
-    {
-        log.info( "Finished scan of repository [" + this.repository.getId() + "]" );
-    }
-
-
-    /**
-     * Used by archiva to determine if the consumer wishes to process all of a repository's entries or just those that
-     * have been modified since the last scan.
-     * 
-     * @return boolean true if the consumer wishes to process all entries on each scan, false for only those modified
-     *         since the last scan
-     */
-    public boolean isProcessUnmodified()
-    {
-        return super.isProcessUnmodified();
-    }
-
-    public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
-    {
-        if ( propertyNameTriggers.contains( propertyName ) )
-        {
-            initIncludes();
-        }
-    }
-
-    public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )
-    {
-        /* do nothing */
-    }
-
-    private void initIncludes()
-    {
-        includes.clear();
-        includes.addAll( filetypes.getFileTypePatterns( FileTypes.INDEXABLE_CONTENT ) );
-    }
-
-    @PostConstruct
-    public void initialize()
-        throws InitializationException
-    {
-        propertyNameTriggers = new ArrayList();
-        propertyNameTriggers.add( "repositoryScanning" );
-        propertyNameTriggers.add( "fileTypes" );
-        propertyNameTriggers.add( "fileType" );
-        propertyNameTriggers.add( "patterns" );
-        propertyNameTriggers.add( "pattern" );
-
-        configuration.addChangeListener( this );
-
-        initIncludes();
-    }
-
-    public String getId()
-    {
-        return this.id;
-    }
-
-    public String getDescription()
-    {
-        return this.description;
-    }
-
-    public List getExcludes()
-    {
-        return null;
-    }
-
-    public List getIncludes()
-    {
-        return this.includes;
-    }
-
-    public boolean isPermanent()
-    {
-        return false;
-    }
-}
diff --git a/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java b/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
deleted file mode 100644
index bb225fb..0000000
--- a/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package $package;
-
-/*
- * 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 java.io.File;
-
-import org.apache.archiva.admin.model.beans.ManagedRepository;
-import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
-import org.easymock.EasyMock;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import javax.inject.Inject;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.Test;
-import org.springframework.context.ApplicationContext;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import junit.framework.TestCase;
-
-/**
- * <code>SimpleArtifactConsumerTest</code>
- */
-@RunWith( SpringJUnit4ClassRunner.class )
-@ContextConfiguration( locations = {"classpath*:/META-INF/spring-context.xml","classpath:/spring-context.xml"} )
-public class SimpleArtifactConsumerTest
-    extends TestCase
-{
-    @Inject
-    private SimpleArtifactConsumer consumer;
-
-    private File repoDir;
-
-    private ManagedRepository testRepository;
-
-    private Logger log = LoggerFactory.getLogger( SimpleArtifactConsumer.class );
-
-    @Before
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-        String consumerRole = KnownRepositoryContentConsumer.class.getName();
-
-        setUpMockRepository();
-
-    }
-
-
-
-    private void setUpMockRepository()
-    {
-        repoDir = new java.io.File( "target/test-consumer-repo" );
-        repoDir.mkdirs();
-        repoDir.deleteOnExit();
-
-        testRepository = new ManagedRepository();
-        testRepository.setName( "Test-Consumer-Repository" );
-        testRepository.setId( "test-consumer-repository" );
-        testRepository.setLocation( repoDir.getAbsolutePath() );
-    }
-
-    @Test
-    public void testBeginScan()
-        throws Exception
-    {
-        log.info( "Beginning scan of repository [test-consumer-repository]" );
-
-        consumer.beginScan( testRepository );
-
-    }
-
-    @Test
-    public void testProcessFile()
-        throws Exception
-    {
-        consumer.beginScan( testRepository );
-        consumer.processFile( "org/simple/test/testartifact/testartifact/1.0/testartifact-1.0.pom" );
-        consumer.processFile( "org/simple/test/testartifact/testartifact/1.1/testartifact-1.1.pom" );
-    }
-
-}
diff --git a/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/resources/spring-context.xml b/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/resources/spring-context.xml
deleted file mode 100644
index 4a09111..0000000
--- a/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/resources/spring-context.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  ~ 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.
-  -->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
-           http://www.springframework.org/schema/context 
-           http://www.springframework.org/schema/context/spring-context-3.0.xsd"
-       default-lazy-init="true">
-  <context:annotation-config/>
-  <context:component-scan base-package="$package"/>
-
-
-
-</beans>
\ No newline at end of file
diff --git a/archiva-consumer-archetype/src/test/resources/projects/compile/archetype.properties b/archiva-consumer-archetype/src/test/resources/projects/compile/archetype.properties
deleted file mode 100644
index 47890f0..0000000
--- a/archiva-consumer-archetype/src/test/resources/projects/compile/archetype.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-groupId=org.apache.archiva.consumer.its.compile
-artifactId=simple-consumer-compile
-version=1.0-SNAPSHOT
-package=org.apache.archiva.consumer.its
\ No newline at end of file
diff --git a/archiva-consumer-archetype/src/test/resources/projects/compile/goal.txt b/archiva-consumer-archetype/src/test/resources/projects/compile/goal.txt
deleted file mode 100644
index 4a1a71d..0000000
--- a/archiva-consumer-archetype/src/test/resources/projects/compile/goal.txt
+++ /dev/null
@@ -1 +0,0 @@
-verify
\ No newline at end of file