[MRM-1651] Improve OSGi statements by defining version ranges

git-svn-id: https://svn.apache.org/repos/asf/archiva/redback/redback-components/trunk@1368818 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..68f0b3e
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,97 @@
+<?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.redback.components</groupId>
+    <artifactId>redback-components</artifactId>
+    <version>2.0-SNAPSHOT</version>
+    <relativePath>../redback-components-parent/pom.xml</relativePath>
+  </parent>
+
+  <groupId>org.apache.archiva.redback</groupId>
+  <artifactId>redback-components</artifactId>
+  <packaging>pom</packaging>
+  <name>Redback :: Components :: Karaf features</name>
+
+  <properties>
+    <commons-lang.version>2.6</commons-lang.version>
+    <javax-inject.bundle.version>1_1</javax-inject.bundle.version>
+  </properties>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+        <includes>
+          <include>**/*</include>
+        </includes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <configuration>
+          <useDefaultDelimiters>false</useDefaultDelimiters>
+          <delimiters>
+            <delimiter>${*}</delimiter>
+          </delimiters>
+        </configuration>
+        <executions>
+          <execution>
+            <id>filter</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>resources</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <version>1.7</version>
+        <executions>
+          <execution>
+            <id>attach-artifact</id>
+            <phase>package</phase>
+            <goals>
+              <goal>attach-artifact</goal>
+            </goals>
+            <configuration>
+              <artifacts>
+                <artifact>
+                  <file>target/classes/features.xml</file>
+                  <type>xml</type>
+                  <classifier>features</classifier>
+                </artifact>
+              </artifacts>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
\ No newline at end of file
diff --git a/src/main/resources/features.xml b/src/main/resources/features.xml
new file mode 100644
index 0000000..cb00240
--- /dev/null
+++ b/src/main/resources/features.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+   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.
+-->
+<features name="redback-components-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">
+
+  <feature name="redback-spring-apacheds" version="${project.version}" resolver="(obr)">
+    <!-- Require ApacheDS bundle -->
+    <bundle>mvn:org.apache.archiva.redback.components/spring-apacheds/${project.version}</bundle>
+  </feature>
+
+  <feature name="redback-cache-api" version="${project.version}" resolver="(obr)">
+    <feature>spring</feature>
+    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/${javax-inject.bundle.version}</bundle>
+    <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang.version}</bundle>
+    <bundle>mvn:org.apache.archiva.redback.components.cache/spring-cache-api/${project.version}</bundle>
+  </feature>
+
+  <feature name="redback-cache-ehcache" version="${project.version}" resolver="(obr)">
+    <feature version="${project.version}">redback-cache-api</feature>
+    <!-- Require ehcache bundle -->
+    <bundle>mvn:org.apache.archiva.redback.components.cache/spring-cache-ehcache/${project.version}</bundle>
+  </feature>
+
+  <feature name="redback-cache-hashmap" version="${project.version}" resolver="(obr)">
+    <feature version="${project.version}">redback-cache-api</feature>
+    <bundle>mvn:org.apache.archiva.redback.components.cache/spring-cache-hashmap/${project.version}</bundle>
+  </feature>
+
+  <feature name="redback-cache-oscache" version="${project.version}" resolver="(obr)">
+    <feature version="${project.version}">redback-cache-api</feature>
+    <!-- Require oscache bundle -->
+    <bundle>mvn:org.apache.archiva.redback.components.cache/spring-cache-oscache/${project.version}</bundle>
+  </feature>
+
+  <feature name="redback-spring-jdo2" version="${project.version}" resolver="(obr)">
+    <!-- javax.jdo2 bundle require -->
+    <bundle>mvn:org.apache.archiva.redback.components/spring-jdo2/${project.version}</bundle>
+  </feature>
+
+  <feature name="redback-spring-quartz" version="${project.version}" resolver="(obr)">
+    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/${javax-inject.bundle.version}</bundle>
+    <bundle>mvn:org.apache.archiva.redback.components/spring-quartz/${project.version}</bundle>
+  </feature>
+
+</features>
\ No newline at end of file