[MRM-1562]Update to Archiva as OSGi compliant application

turn xmlrpc, some plugins as OSGi bundles.
Submitted by Jean Baptiste Onofre.

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1207904 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2011-11-29 15:15:40 +00:00
parent 07a70248eb
commit d6fa8f7ad8
12 changed files with 383 additions and 0 deletions

View File

@ -31,6 +31,7 @@
<properties>
<aopalliance.bundle.version>1.0_5</aopalliance.bundle.version>
<atlassian-xmlrpc-binder-annotations.bundle.version>0.11_1-SNAPSHOT</atlassian-xmlrpc-binder-annotations.bundle.version>
<beanlib.bundle.version>5.0.2beta_1-SNAPSHOT</beanlib.bundle.version>
<cglib.bundle.version>2.2_2</cglib.bundle.version>
<commons-beanutils.bundle.version>1.8.2_2</commons-beanutils.bundle.version>
@ -48,6 +49,7 @@
<jcharset.version>1.0</jcharset.version>
<jcip-annotations.bundle.version>1.0_1-SNAPSHOT</jcip-annotations.bundle.version>
<jdom.bundle.version>1.1_4</jdom.bundle.version>
<joda-time.bundle.version>1.5.2_4</joda-time.bundle.version>
<jsoup.bundle.version>1.5.2_1</jsoup.bundle.version>
<lucene.bundle.version>3.0.3_2</lucene.bundle.version>
<maven.archetype.version>2.1</maven.archetype.version>
@ -64,8 +66,10 @@
<sisu-guava.version>0.9.9</sisu-guava.version>
<stax-utils.bundle.version>20040917_2</stax-utils.bundle.version>
<velocity.bundle.version>1.7_3</velocity.bundle.version>
<xmlrpc-server.bundle.version>3.1.2_1-SNAPSHOT</xmlrpc-server.bundle.version>
<xpp3.bundle.version>1.1.4c_5</xpp3.bundle.version>
<xstream.bundle.version>1.4_1</xstream.bundle.version>
<ws-commons-util.bundle.version>1.0.2_1-SNAPSHOT</ws-commons-util.bundle.version>
</properties>
<build>

View File

@ -329,4 +329,101 @@
<bundle>mvn:org.apache.archiva/archiva-rss/${project.version}</bundle>
</feature>
<feature name="archiva-security" description="Archiva Security module" version="${project.version}" resolver="(obr)">
<feature>http</feature>
<feature version="${project.version}">archiva-common</feature>
<feature version="${project.version}">archiva-configuration</feature>
<feature version="${project.version}">archiva-security-common</feature>
<bundle>mvn:org.apache.archiva/archiva-security/${project.version}</bundle>
</feature>
<feature name="archiva-webdav" description="Archiva WebDav module" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">archiva-common</feature>
<feature version="${project.version}">archiva-configuration</feature>
<feature>http</feature>
<feature version="${project.version}">archiva-repository-admin-api</feature>
<feature version="${project.version}">archiva-audit</feature>
<feature version="${project.version}">archiva-plexus-bridge</feature>
<feature version="${project.version}">archiva-indexer</feature>
<feature version="${project.version}">archiva-model</feature>
<feature version="${project.version}">archiva-policies</feature>
<feature version="${project.version}">archiva-proxy</feature>
<feature version="${project.version}">archiva-metadata</feature>
<feature version="${project.version}">archiva-scheduler</feature>
<feature version="${project.version}">archiva-security</feature>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-io/${commons-io.bundle.version}</bundle>
<bundle dependency="true">mvn:org.apache.jackrabbit/jackrabbit-util/${jackrabbit.version}</bundle>
<bundle dependency="true">mvn:org.apache.jackrabbit/jackrabbit-webdav/${jackrabbit.version}</bundle>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.joda-time/${joda-time.bundle.version}</bundle>
<bundle>mvn:org.apache.archiva/archiva-webdav/${project.version}</bundle>
</feature>
<feature name="archiva-xmlrpc-api" description="Archiva XML-RPC API module" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">archiva-model</feature>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.atlassian-xmlrpc-binder-annotations/${atlassian-xmlrpc-binder-annotations.bundle.version}</bundle>
<bundle>mvn:org.apache.archiva/archiva-xmlrpc-api/${project.version}</bundle>
</feature>
<feature name="archiva-xmlrpc-security" description="Archiva XML-RPC Security module" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">archiva-security</feature>
<feature version="${project.version}">archiva-xmlrpc-api</feature>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ws-commons-util/${ws-commons-util.bundle.version}</bundle>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlrpc-server/${xmlrpc-server.bundle.version}</bundle>
<bundle>mvn:org.apache.archiva/archiva-xmlrpc-security/${project.version}</bundle>
</feature>
<feature name="archiva-stage-repository-merge" description="Archiva Stage Repository Merge module" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">archiva-common</feature>
<feature version="${project.version}">archiva-configuration</feature>
<feature version="${project.version}">archiva-metadata</feature>
<feature version="${project.version}">archiva-model</feature>
<feature version="${project.version}">archiva-repository-layer</feature>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-io/${commons-io.bundle.version}</bundle>
<bundle>mvn:org.apache.archiva/stage-repository-merge/${project.version}</bundle>
</feature>
<feature name="archiva-xmlrpc-services" description="Archiva XML-RPC Services module" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">archiva-common</feature>
<feature version="${project.version}">archiva-repository-admin-api</feature>
<feature version="${project.version}">archiva-audit</feature>
<feature version="${project.version}">archiva-consumers</feature>
<feature version="${project.version}">archiva-indexer</feature>
<feature version="${project.version}">archiva-metadata</feature>
<feature version="${project.version}">archiva-model</feature>
<feature version="${project.version}">archiva-repository-layer</feature>
<feature version="${project.version}">archiva-scheduler</feature>
<feature version="${project.version}">archiva-stage-repository-merge</feature>
<feature version="${project.version}">archiva-xmlrpc-api</feature>
<feature version="${project.version}">archiva-xmlrpc-security</feature>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-io/${commons-io.bundle.version}</bundle>
<bundle>mvn:org.apache.archiva/archiva-xmlrpc-services/${project.version}</bundle>
</feature>
<feature name="archiva-generic-metadata-support" description="Archiva Generic Metadata Support module" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">archiva-common</feature>
<feature version="${project.version}">archiva-metadata</feature>
<bundle>mvn:org.apache.archiva/generic-metadata-support/${project.version}</bundle>
</feature>
<feature name="archiva-metadata-store-file" description="Archiva Metadata Store File module" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">archiva-common</feature>
<feature version="${project.version}">archiva-configuration</feature>
<feature version="${project.version}">archiva-metadata</feature>
<bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-io/${commons-io.bundle.version}</bundle>
<bundle>mvn:org.apache.archiva/metadata-store-file/${project.version}</bundle>
</feature>
<feature name="archiva-metadata-store-jcr" description="Archiva Metadata Store JCR module" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">archiva-common</feature>
<feature version="${project.version}">archiva-metadata</feature>
<bundle dependency="true">mvn:org.apache.jackrabbit/jackrabbit-jcr-commons/${jackrabbit.version}</bundle>
<bundle dependency="true">mvn:org.apache.jackrabbit/jackrabbit-core/${jackrabbit.version}</bundle>
<bundle>mvn:org.apache.archiva/metadata-store-jcr/${project.version}</bundle>
</feature>
<feature name="archiva-npanday-support" description="Archiva Npanday Support module" version="${project.version}" resolver="(obr)">
<feature version="${project.version}">archiva-maven2-repository</feature>
<bundle>mvn:org.apache.archiva/npanday-support/${project.version}</bundle>
</feature>
</features>

View File

@ -26,6 +26,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>archiva-security</artifactId>
<packaging>bundle</packaging>
<name>Archiva Web :: Security Configuration</name>
<dependencies>
<dependency>
@ -155,6 +156,35 @@
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.security</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.security;version=${project.version};-split-package:=merge-first
</Export-Package>
<Import-Package>
com.google.common.collect,
javax.inject,
javax.servlet.http,
org.apache.archiva.common;version=${project.version},
org.apache.archiva.configuration;version=${project.version},
org.codehaus.plexus.redback.authentication,
org.codehaus.plexus.redback.authorization,
org.codehaus.plexus.redback.policy,
org.codehaus.plexus.redback.rbac,
org.codehaus.plexus.redback.system*,
org.codehaus.plexus.redback.users,
org.codehaus.plexus.redback.role,
org.springframework*;version="[3,4)",
org.slf4j;resolution:=optional
</Import-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>

View File

@ -27,6 +27,7 @@
</parent>
<artifactId>archiva-webdav</artifactId>
<packaging>bundle</packaging>
<name>Archiva Web :: WebDAV</name>
<properties>
@ -188,6 +189,50 @@
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.webdav</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.webdav*;version=${project.version};-split-package:=merge-first
</Export-Package>
<Import-Package>
javax.annotation,
javax.inject,
javax.servlet*,
org.apache.archiva.admin.model*;version=${project.version},
org.apache.archiva.audit;version=${project.version},
org.apache.archiva.common.plexusbridge;version=${project.version},
org.apache.archiva.common.utils;version=${project.version},
org.apache.archiva.configuration;version=${project.version},
org.apache.archiva.indexer.*;version=${project.version},
org.apache.archiva.model;version=${project.version},
org.apache.archiva.policies;version=${project.version},
org.apache.archiva.proxy;version=${project.version},
org.apache.archiva.repository*;version=${project.version},
org.apache.archiva.scheduler*;version=${project.version},
org.apache.archiva.security;version=${project.version},
org.apache.commons.io;version="[1.4,2)",
org.apache.commons.lang;version="[2.4,3)",
org.apache.jackrabbit.util;version="[2.3,3)",
org.apache.jackrabbit.webdav*;version="[2.3,3)",
org.joda.time*;version="[1.5,2)",
org.springframework*;version="[3,4)",
org.apache.maven.index*,
org.apache.maven.model*,
org.codehaus.plexus.digest,
org.codehaus.plexus.redback.*,
org.codehaus.plexus.taskqueue,
org.codehaus.plexus.util*,
org.codehaus.redback.integration.filter.authentication,
org.slf4j;resolution:=optional
</Import-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>

View File

@ -25,6 +25,7 @@
<version>1.4-M2-SNAPSHOT</version>
</parent>
<artifactId>archiva-xmlrpc-api</artifactId>
<packaging>bundle</packaging>
<name>Archiva Web :: XML-RPC API</name>
<dependencies>
<dependency>
@ -44,4 +45,25 @@
<artifactId>atlassian-xmlrpc-binder-annotations</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.web.xmlrpc.api</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.web.xmlrpc.api*;version=${project.version};-split-package:=merge-first
</Export-Package>
<Import-Package>
org.apache.archiva.admin.model;version=${project.version},
com.atlassian.xmlrpc;version="[0.11,1)"
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -26,6 +26,7 @@
<version>1.4-M2-SNAPSHOT</version>
</parent>
<artifactId>archiva-xmlrpc-security</artifactId>
<packaging>bundle</packaging>
<name>Archiva Web :: XML-RPC Security</name>
<dependencies>
<dependency>
@ -136,6 +137,30 @@
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.web.xmlrpc.security</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.web.xmlrpc.security;version=${project.version};-split-package:=merge-first
</Export-Package>
<Import-Package>
org.apache.archiva.security;version=${project.version},
org.apache.xmlrpc;version="[3,4)",
org.apache.xmlrpc.common;version="[3,4)",
org.apache.xmlrpc.server;version="[3,4)",
org.codehaus.plexus.redback.authentication,
org.codehaus.plexus.redback.authorization,
org.codehaus.plexus.redback.policy,
org.codehaus.plexus.redback.system,
org.codehaus.plexus.redback.users
</Import-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>

View File

@ -26,6 +26,7 @@
<version>1.4-M2-SNAPSHOT</version>
</parent>
<artifactId>archiva-xmlrpc-services</artifactId>
<packaging>bundle</packaging>
<name>Archiva Web :: XML-RPC Services</name>
<dependencies>
<dependency>
@ -149,6 +150,38 @@
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.web.xmlrpc.services</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.web.xmlrpc.services;version=${project.version};-split-package:=merge-first
</Export-Package>
<Import-Package>
org.apache.archiva.admin.model*;version=${project.version},
org.apache.archiva.audit;version=${project.version},
org.apache.archiva.consumers;version=${project.version},
org.apache.archiva.indexer*;version=${project.version},
org.apache.archiva.metadata*;version=${project.version},
org.apache.archiva.model;version=${project.version},
org.apache.archiva.repository*;version=${project.version},
org.apache.archiva.scheduler.repository;version=${project.version},
org.apache.archiva.stagerepository.merge;version=${project.version},
org.apache.archiva.web.xmlrpc.api*;version=${project.version},
org.apache.archiva.web.xmlrpc.security;version=${project.version},
org.apache.commons.io;version="[1.4,2)",
org.apache.commons.lang;version="[2.4,3)",
org.codehaus.plexus.redback.users,
org.slf4j;resolution:=optional
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>

View File

@ -25,6 +25,7 @@
<version>1.4-M2-SNAPSHOT</version>
</parent>
<artifactId>generic-metadata-support</artifactId>
<packaging>bundle</packaging>
<name>Archiva Core Plugins :: Generic Metadata Support</name>
<dependencies>
<dependency>
@ -41,4 +42,25 @@
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.metadata.generic</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.metadata.generic;version=${project.version};-split-package:=merge-first
</Export-Package>
<Import-Package>
org.apache.archiva.metadata.model;version=${project.version},
org.springframework*;version="[3,4)"
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -25,6 +25,7 @@
<version>1.4-M2-SNAPSHOT</version>
</parent>
<artifactId>metadata-store-file</artifactId>
<packaging>bundle</packaging>
<name>Archiva Core Plugins :: File System Backed Metadata Repository</name>
<dependencies>
<dependency>
@ -70,4 +71,32 @@
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.metadata.repository.file</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.metadata.repository.file;version=${project.version};-split-package:=merge-first
</Export-Package>
<Import-Package>
javax.annotation,
javax.inject,
org.apache.archiva.configuration;version=${project.version},
org.apache.archiva.metadata.model;version=${project.version},
org.apache.archiva.metadata.repository;version=${project.version},
org.apache.commons.io;version="[1.4,2)",
org.apache.commons.lang;version="[2.4,3)",
org.springframework*;version="[3,4)",
org.slf4j;resolution:=optional
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -26,6 +26,7 @@
<version>1.4-M2-SNAPSHOT</version>
</parent>
<artifactId>metadata-store-jcr</artifactId>
<packaging>bundle</packaging>
<name>Archiva Core Plugins :: JCR Storage for Metadata</name>
<dependencies>
<dependency>
@ -80,5 +81,34 @@
<filtering>true</filtering>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.metadata.repository.jcr</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.metadata.repository.jcr;version=${project.version};-split-package:=merge-first
</Export-Package>
<Import-Package>
javax.annotation,
javax.inject,
javax.jcr,
javax.jcr.nodetype,
javax.jcr.query,
org.apache.archiva.metadata.model;version=${project.version},
org.apache.archiva.metadata.repository;version=${project.version},
org.apache.commons.lang;version="[2.4,3)",
org.apache.jackrabbit.commons;version="[2.3,3)",
org.apache.jackrabbit.core.config;version="[2.3,3)",
org.springframework*;version="[3,4)",
org.slf4j;resolution:=optional
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -26,6 +26,7 @@
<version>1.4-M2-SNAPSHOT</version>
</parent>
<artifactId>npanday-support</artifactId>
<packaging>bundle</packaging>
<name>Archiva Core Plugins :: NPanday Support for Archiva</name>
<dependencies>
<dependency>
@ -37,4 +38,25 @@
<artifactId>spring-context</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.plugins.npanday</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.plugins.npanday;version=${project.version};-split-package:=merge-first
</Export-Package>
<Import-Package>
org.apache.archiva.metadata.repository.storage.maven2;version=${project.version},
org.springframework*;version="[3,4)"
</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -26,6 +26,7 @@
</parent>
<groupId>org.apache.archiva</groupId>
<artifactId>stage-repository-merge</artifactId>
<packaging>bundle</packaging>
<name>Archiva Core Plugins :: Stage Repository Merge</name>
<dependencies>
@ -72,6 +73,29 @@
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Bundle-SymbolicName>org.apache.archiva.stagerepository.merge</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>
org.apache.archiva.stagerepository.merge;version=${project.version}
</Export-Package>
<Import-Package>
javax.inject,
org.apache.archiva.common.utils;version=${project.version},
org.apache.archiva.configuration;version=${project.version},
org.apache.archiva.metadata.*;version=${project.version},
org.apache.archiva.model;version=${project.version},
org.apache.archiva.repository*;version=${project.version},
org.apache.commons.io;version="[1.4,2)",
org.springframework*;version="[3,4)"
</Import-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>