| -------------------------------------- |
| How To Add A New Component in Archiva: |
| -------------------------------------- |
| |
| 1. Create a project for your component. |
| |
| 2. Declare your class or in this case, consumer as a component as shown in the example below. This |
| should be put at the class level. |
| |
| Ex. |
| @plexus.component role="org.apache.archiva.consumers.KnownRepositoryContentConsumer" |
| role-hint="discover-new-artifact" |
| instantiation-strategy="per-lookup" |
| |
| |
| Legend: |
| ** role : the interface that your class implements |
| ** role-hint : the lookup name of the component (your class/consumer) |
| ** instantiation-strategy : how your class will be instantiated |
| |
| 3. Make sure to add the snipper below in the <build> section of the project's pom. This is needed to |
| generate the components.xml. |
| |
| <plugin> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-maven-plugin</artifactId> |
| <version>1.3.5</version> |
| <executions> |
| <execution> |
| <id>generate</id> |
| <goals> |
| <goal>descriptor</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| 4. Package your project by executing 'mvn clean package' |
| |
| 5. Let's say you are using the apache-archiva-1.0-beta-2-SNAPSHOT-bin.tar.gz to run Archiva. Unpack |
| the binaries then go to bin/linux-x86-32/ (assuming you are running on Linux), then execute |
| './run.sh console'. Then stop or shutdown Archiva after it started. (This is necessary to unpack |
| the war file.) |
| |
| 6. Copy the jar file you created in #3 in apache-archiva-1.0-beta-2-SNAPSHOT/apps/archiva/webapp/lib/ |
| |
| 7. Add the necessary configurations in archiva.xml (in this case, add 'discover-new-artifact' as a |
| <knownContentConsumer>) |
| |
| 8. Start up Archiva again. |