[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
- <knownContentConsumer>simple-artifact-consumer</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