You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ja...@apache.org on 2015/11/24 12:06:57 UTC
svn commit: r1716104 - in /felix/trunk/deploymentadmin: ./ autoconf/
autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/
autoconf/src/test/java/org/apache/felix/deployment/rp/autoconf/
deploymentadmin/ itest/ testbundles/
Author: jawi
Date: Tue Nov 24 11:06:57 2015
New Revision: 1716104
URL: http://svn.apache.org/viewvc?rev=1716104&view=rev
Log:
Minor fixes and updates:
- bumped Felix DM and MetaType to latest versions;
- use correct version of Felix parent POM (to solve compilation problems when running Maven from the command line);
- made the AutoConf processor a little more verbose when it stumbles upon wrong resource definitions.
Modified:
felix/trunk/deploymentadmin/autoconf/pom.xml
felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java
felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/ObjectClassDefinitionImpl.java
felix/trunk/deploymentadmin/autoconf/src/test/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessorTest.java
felix/trunk/deploymentadmin/deploymentadmin/pom.xml
felix/trunk/deploymentadmin/itest/pom.xml
felix/trunk/deploymentadmin/pom.xml
felix/trunk/deploymentadmin/testbundles/pom.xml
Modified: felix/trunk/deploymentadmin/autoconf/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/deploymentadmin/autoconf/pom.xml?rev=1716104&r1=1716103&r2=1716104&view=diff
==============================================================================
--- felix/trunk/deploymentadmin/autoconf/pom.xml (original)
+++ felix/trunk/deploymentadmin/autoconf/pom.xml Tue Nov 24 11:06:57 2015
@@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.felix</groupId>
<artifactId>felix-parent</artifactId>
- <version>1.2.0</version>
+ <version>3</version>
<relativePath>../../pom/pom.xml</relativePath>
</parent>
<properties>
@@ -46,18 +46,17 @@
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>org.apache.felix.dependencymanager</artifactId>
- <version>3.1.0</version>
- <scope>provided</scope>
+ <version>4.1.1</version>
</dependency>
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>org.apache.felix.deploymentadmin</artifactId>
- <version>0.9.4</version>
+ <version>0.9.6</version>
</dependency>
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>org.apache.felix.metatype</artifactId>
- <version>1.0.6</version>
+ <version>1.1.2</version>
</dependency>
</dependencies>
<build>
Modified: felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java
URL: http://svn.apache.org/viewvc/felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java?rev=1716104&r1=1716103&r2=1716104&view=diff
==============================================================================
--- felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java (original)
+++ felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java Tue Nov 24 11:06:57 2015
@@ -62,6 +62,7 @@ import org.osgi.service.metatype.MetaTyp
import org.osgi.service.metatype.ObjectClassDefinition;
public class AutoConfResourceProcessor implements ResourceProcessor, EventHandler {
+ private static final int CODE_OTHER_ERROR = ResourceProcessorException.CODE_OTHER_ERROR;
private static final String LOCATION_PREFIX = "osgi-dp:";
public static final String CONFIGURATION_ADMIN_FILTER_ATTRIBUTE = "filter";
@@ -74,7 +75,7 @@ public class AutoConfResourceProcessor i
private Component m_component;
- private final Object LOCK = new Object(); // protects the members below
+ private final Object m_lock = new Object(); // protects the members below
private DeploymentSession m_session = null;
private final Map m_toBeInstalled = new HashMap(); // Map<String, List<AutoConfResource>>
@@ -92,14 +93,14 @@ public class AutoConfResourceProcessor i
public void begin(DeploymentSession session) {
m_log.log(LogService.LOG_DEBUG, "beginning session " + session);
- synchronized (LOCK) {
+ synchronized (m_lock) {
if (m_session != null) {
throw new IllegalArgumentException("Trying to begin new deployment session while already in one.");
}
if (session == null) {
throw new IllegalArgumentException("Trying to begin new deployment session with a null session.");
}
- if (m_toBeInstalled.size() > 0 || m_toBeDeleted.size() > 0 || m_configurationAdminTasks.size() > 0 || m_postCommitTasks.size() > 0 || m_component != null) {
+ if (!m_toBeInstalled.isEmpty() || !m_toBeDeleted.isEmpty() || !m_configurationAdminTasks.isEmpty() || !m_postCommitTasks.isEmpty() || m_component != null) {
throw new IllegalStateException("State not reset correctly at start of session.");
}
m_session = session;
@@ -109,9 +110,9 @@ public class AutoConfResourceProcessor i
public void process(String name, InputStream stream) throws ResourceProcessorException {
m_log.log(LogService.LOG_DEBUG, "processing " + name);
// initial validation
- synchronized (LOCK) {
+ synchronized (m_lock) {
if (m_session == null) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Can not process resource without a Deployment Session");
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Can not process resource without a Deployment Session");
}
}
MetaDataReader reader = new MetaDataReader();
@@ -120,10 +121,10 @@ public class AutoConfResourceProcessor i
data = reader.parse(stream);
}
catch (IOException e) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Unable to process resource.", e);
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Unable to process resource.", e);
}
if (data == null) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Supplied configuration is not conform the metatype xml specification.");
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Supplied configuration is not conform the metatype xml specification.");
}
// process resources
String filter = null;
@@ -135,8 +136,8 @@ public class AutoConfResourceProcessor i
if (!m_toBeInstalled.containsKey(name)) {
m_toBeInstalled.put(name, new ArrayList());
}
- Map designates = data.getDesignates();
- if (designates == null) {
+ List designates = data.getDesignates();
+ if (designates == null || designates.isEmpty()) {
// if there are no designates, there's nothing to process
m_log.log(LogService.LOG_INFO, "No designates found in the resource, so there's nothing to process.");
return;
@@ -145,24 +146,24 @@ public class AutoConfResourceProcessor i
if (localOcds == null) {
localOcds = Collections.EMPTY_MAP;
}
- Iterator i = designates.keySet().iterator();
+ Iterator i = designates.iterator();
while (i.hasNext()) {
- Designate designate = (Designate) designates.get(i.next());
+ Designate designate = (Designate) i.next();
// check object
if (designate.getObject() == null) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Designate Object child missing or invalid");
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Designate Object child missing or invalid");
}
// check attributes
if (designate.getObject().getAttributes() == null || designate.getObject().getAttributes().size() == 0) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Object Attributes child missing or invalid");
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Object Attributes child missing or invalid");
}
// check ocdRef
String ocdRef = designate.getObject().getOcdRef();
if (ocdRef == null || "".equals(ocdRef)) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Object ocdRef attribute missing or invalid");
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Object ocdRef attribute missing or invalid");
}
// determine OCD
@@ -171,7 +172,7 @@ public class AutoConfResourceProcessor i
// ask meta type service for matching OCD if no local OCD has been defined
ocd = (localOcd != null) ? new ObjectClassDefinitionImpl(localOcd) : getMetaTypeOCD(data, designate);
if (ocd == null) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "No Object Class Definition found with id=" + ocdRef);
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "No Object Class Definition found with id=" + ocdRef);
}
// determine configuration data based on the values and their type definition
Dictionary dict = getProperties(designate, ocd);
@@ -187,9 +188,9 @@ public class AutoConfResourceProcessor i
public void dropped(String name) throws ResourceProcessorException {
m_log.log(LogService.LOG_DEBUG, "dropped " + name);
- synchronized (LOCK) {
+ synchronized (m_lock) {
if (m_session == null) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Can not process resource without a Deployment Session");
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Can not process resource without a Deployment Session");
}
}
try {
@@ -200,16 +201,16 @@ public class AutoConfResourceProcessor i
((List) m_toBeDeleted.get(name)).addAll(resources);
}
catch (IOException ioe) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Unable to drop resource: " + name, ioe);
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Unable to drop resource: " + name, ioe);
}
m_log.log(LogService.LOG_DEBUG, "dropped " + name + " done");
}
public void dropAllResources() throws ResourceProcessorException {
m_log.log(LogService.LOG_DEBUG, "drop all resources");
- synchronized (LOCK) {
+ synchronized (m_lock) {
if (m_session == null) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Can not drop all resources without a Deployment Session");
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Can not drop all resources without a Deployment Session");
}
}
@@ -221,7 +222,7 @@ public class AutoConfResourceProcessor i
}
}
else {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Unable to drop resources, data area is not accessible");
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Unable to drop resources, data area is not accessible");
}
m_log.log(LogService.LOG_DEBUG, "drop all resources done");
}
@@ -231,9 +232,9 @@ public class AutoConfResourceProcessor i
public void prepare() throws ResourceProcessorException {
m_log.log(LogService.LOG_DEBUG, "prepare");
- synchronized (LOCK) {
+ synchronized (m_lock) {
if (m_session == null) {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Can not process resource without a Deployment Session");
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Can not process resource without a Deployment Session");
}
}
try {
@@ -416,7 +417,7 @@ public class AutoConfResourceProcessor i
break;
}
else {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Could not match attribute to it's definition: adref=" + adRef);
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Could not match attribute to it's definition: adref=" + adRef);
}
}
properties.put(adRef, value);
@@ -429,7 +430,7 @@ public class AutoConfResourceProcessor i
properties = null;
break;
} else {
- throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Could not find attribute definition: adref=" + adRef);
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Could not find attribute definition: adref=" + adRef);
}
}
}
@@ -500,10 +501,10 @@ public class AutoConfResourceProcessor i
*
* @param attribute The attribute containing value(s)
* @param ad The attribute definition
- * @return An <code>Object</code> reflecting what was specified in the attribute and it's definition or <code>null</code> if
- * the value did not match it's definition.
+ * @return An <code>Object</code> reflecting what was specified in the attribute and it's definition or <code>null</code> if the value did not match it's definition.
+ * @throws ResourceProcessorException in case we're unable to parse the value of an attribute.
*/
- private Object getValue(Attribute attribute, AttributeDefinition ad) {
+ private Object getValue(Attribute attribute, AttributeDefinition ad) throws ResourceProcessorException {
if (attribute == null || ad == null || !attribute.getAdRef().equals(ad.getID())) {
// wrong attribute or definition
return null;
@@ -532,7 +533,7 @@ public class AutoConfResourceProcessor i
typedContent[i] = new Character(charArray[0]);
}
else {
- return null;
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Unable to parse value for definition: adref=" + ad.getID());
}
break;
case AttributeDefinition.DOUBLE:
@@ -561,12 +562,12 @@ public class AutoConfResourceProcessor i
break;
default:
// unsupported type
- return null;
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Unsupported value-type for definition: adref=" + ad.getID());
}
}
}
catch (NumberFormatException nfe) {
- return null;
+ throw new ResourceProcessorException(CODE_OTHER_ERROR, "Unable to parse value for definition: adref=" + ad.getID());
}
// verify cardinality of value(s)
Modified: felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/ObjectClassDefinitionImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/ObjectClassDefinitionImpl.java?rev=1716104&r1=1716103&r2=1716104&view=diff
==============================================================================
--- felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/ObjectClassDefinitionImpl.java (original)
+++ felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/ObjectClassDefinitionImpl.java Tue Nov 24 11:06:57 2015
@@ -64,7 +64,6 @@ public class ObjectClassDefinitionImpl i
}
public InputStream getIcon(int size) throws IOException {
- // TODO Auto-generated method stub
return null;
}
@@ -79,5 +78,4 @@ public class ObjectClassDefinitionImpl i
public String getName() {
return m_ocd.getName();
}
-
}
Modified: felix/trunk/deploymentadmin/autoconf/src/test/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessorTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/deploymentadmin/autoconf/src/test/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessorTest.java?rev=1716104&r1=1716103&r2=1716104&view=diff
==============================================================================
--- felix/trunk/deploymentadmin/autoconf/src/test/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessorTest.java (original)
+++ felix/trunk/deploymentadmin/autoconf/src/test/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessorTest.java Tue Nov 24 11:06:57 2015
@@ -37,6 +37,7 @@ import org.osgi.service.cm.Configuration
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.deploymentadmin.DeploymentPackage;
import org.osgi.service.deploymentadmin.spi.DeploymentSession;
+import org.osgi.service.deploymentadmin.spi.ResourceProcessorException;
import org.osgi.service.log.LogService;
public class AutoConfResourceProcessorTest extends TestCase {
@@ -295,6 +296,73 @@ public class AutoConfResourceProcessorTe
Utils.removeDirectoryWithContent(tempDir);
}
+ /** Go through a simple session, containing two empty configurations. */
+ public void testMissingMandatoryValueInConfig() throws Throwable {
+ AutoConfResourceProcessor p = new AutoConfResourceProcessor();
+ Logger logger = new Logger();
+ Utils.configureObject(p, LogService.class, logger);
+ BundleContext mockBC = (BundleContext) Utils.createMockObjectAdapter(BundleContext.class, new Object() {
+ public Filter createFilter(String condition) {
+ return (Filter) Utils.createMockObjectAdapter(Filter.class, new Object() {
+ public boolean match(ServiceReference ref) {
+ Object id = ref.getProperty("id");
+ if (id != null && id.equals(Integer.valueOf(42))) {
+ return true;
+ }
+ return false;
+ }
+ public void remove(Component service) {
+ }
+ });
+ }
+ });
+ Utils.configureObject(p, BundleContext.class, mockBC);
+ Utils.configureObject(p, DependencyManager.class, new DependencyManager(mockBC) {
+ public void remove(Component service) {
+ }
+ });
+ File tempDir = File.createTempFile("persistence", "dir");
+ tempDir.delete();
+ tempDir.mkdirs();
+
+ System.out.println("Temporary dir: " + tempDir);
+
+ Utils.configureObject(p, PersistencyManager.class, new PersistencyManager(tempDir));
+ Session s = new Session();
+ p.begin(s);
+ Utils.configureObject(p, Component.class, Utils.createMockObjectAdapter(Component.class, new Object() {
+ public DependencyManager getDependencyManager() {
+ return new DependencyManager((BundleContext) Utils.createNullObject(BundleContext.class));
+ }
+ }));
+
+ String config =
+ "<MetaData xmlns:metatype='http://www.osgi.org/xmlns/metatype/v1.1.0' filter='(id=42)'>\n" +
+ " <OCD name='ocd' id='ocd'>\n" +
+ " <AD id='name' type='Integer' />\n" +
+ " </OCD>\n" +
+ " <Designate pid='simple' bundle='osgi-dp:location'>\n" +
+ " <Object ocdref='ocd'>\n" +
+ " <Attribute adref='name'>\n" +
+ " <Value><![CDATA[]]></Value>\n" +
+ " </Attribute>\n" +
+ " </Object>\n" +
+ " </Designate>\n" +
+ "</MetaData>\n";
+
+ try
+ {
+ p.process("missing-value", new ByteArrayInputStream(config.getBytes()));
+ fail("Expected ResourceProcessorException for missing value!");
+ }
+ catch (ResourceProcessorException e)
+ {
+ // Ok; expected...
+ assertEquals("Unable to parse value for definition: adref=name", e.getMessage());
+ }
+ Utils.removeDirectoryWithContent(tempDir);
+ }
+
private static class ConfigurationImpl implements Configuration {
private String m_bundleLocation = "osgi-dp:location";
private Dictionary m_properties;
Modified: felix/trunk/deploymentadmin/deploymentadmin/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/deploymentadmin/deploymentadmin/pom.xml?rev=1716104&r1=1716103&r2=1716104&view=diff
==============================================================================
--- felix/trunk/deploymentadmin/deploymentadmin/pom.xml (original)
+++ felix/trunk/deploymentadmin/deploymentadmin/pom.xml Tue Nov 24 11:06:57 2015
@@ -1,89 +1,91 @@
<?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.felix</groupId>
- <artifactId>felix-parent</artifactId>
- <version>1.2.0</version>
- <relativePath>../../pom/pom.xml</relativePath>
- </parent>
- <properties>
- <osgi.version>4.2.0</osgi.version>
- </properties>
- <name>Apache Felix Deployment Admin</name>
- <artifactId>org.apache.felix.deploymentadmin</artifactId>
- <version>0.9.8-SNAPSHOT</version>
- <packaging>bundle</packaging>
- <dependencies>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <version>${osgi.version}</version>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <version>${osgi.version}</version>
- </dependency>
- <dependency>
- <groupId>${pom.groupId}</groupId>
- <artifactId>org.apache.felix.dependencymanager</artifactId>
- <version>3.1.0</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
- <build>
- <resources>
- <resource>
- <directory>.</directory>
- <targetPath>META-INF</targetPath>
- <includes>
- <include>LICENSE*</include>
- <include>NOTICE*</include>
- <include>DEPENDENCIES*</include>
- <include>*.txt</include>
- </includes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.3.4</version>
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Bundle-SymbolicName>org.apache.felix.deploymentadmin</Bundle-SymbolicName>
- <Bundle-Activator>org.apache.felix.deploymentadmin.Activator</Bundle-Activator>
- <Bundle-Name>Apache Felix Deployment Admin</Bundle-Name>
- <Bundle-Description>A bundle that implements the Deployment Admin.</Bundle-Description>
- <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
- <Private-Package>org.apache.felix.deploymentadmin.*</Private-Package>
- <Export-Package>org.osgi.service.deploymentadmin;version="1.1",
- org.osgi.service.deploymentadmin.spi;version="1.0"</Export-Package>
- <Import-Package>org.osgi.service.deploymentadmin;version="[1.1,2.0)",
- org.osgi.service.deploymentadmin.spi;version="[1.0,2.0)",*</Import-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
+<!-- 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.felix</groupId>
+ <artifactId>felix-parent</artifactId>
+ <version>3</version>
+ <relativePath>../../pom/pom.xml</relativePath>
+ </parent>
+ <properties>
+ <osgi.version>4.2.0</osgi.version>
+ </properties>
+ <name>Apache Felix Deployment Admin</name>
+ <artifactId>org.apache.felix.deploymentadmin</artifactId>
+ <version>0.9.8-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>${osgi.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <version>${osgi.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${pom.groupId}</groupId>
+ <artifactId>org.apache.felix.dependencymanager</artifactId>
+ <version>4.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <resources>
+ <resource>
+ <directory>.</directory>
+ <targetPath>META-INF</targetPath>
+ <includes>
+ <include>LICENSE*</include>
+ <include>NOTICE*</include>
+ <include>DEPENDENCIES*</include>
+ <include>*.txt</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>2.3.4</version>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>org.apache.felix.deploymentadmin</Bundle-SymbolicName>
+ <Bundle-Activator>org.apache.felix.deploymentadmin.Activator</Bundle-Activator>
+ <Bundle-Name>Apache Felix Deployment Admin</Bundle-Name>
+ <Bundle-Description>A bundle that implements the Deployment Admin.</Bundle-Description>
+ <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
+ <Private-Package>org.apache.felix.deploymentadmin.*</Private-Package>
+ <Export-Package>org.osgi.service.deploymentadmin;version="1.1",
+ org.osgi.service.deploymentadmin.spi;version="1.0"</Export-Package>
+ <Import-Package>org.osgi.service.deploymentadmin;version="[1.1,2.0)",
+ org.osgi.service.deploymentadmin.spi;version="[1.0,2.0)",*</Import-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
Modified: felix/trunk/deploymentadmin/itest/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/deploymentadmin/itest/pom.xml?rev=1716104&r1=1716103&r2=1716104&view=diff
==============================================================================
--- felix/trunk/deploymentadmin/itest/pom.xml (original)
+++ felix/trunk/deploymentadmin/itest/pom.xml Tue Nov 24 11:06:57 2015
@@ -15,7 +15,7 @@
<parent>
<groupId>org.apache.felix</groupId>
<artifactId>felix-parent</artifactId>
- <version>1.2.0</version>
+ <version>3</version>
<relativePath>../../pom/pom.xml</relativePath>
</parent>
<properties>
Modified: felix/trunk/deploymentadmin/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/deploymentadmin/pom.xml?rev=1716104&r1=1716103&r2=1716104&view=diff
==============================================================================
--- felix/trunk/deploymentadmin/pom.xml (original)
+++ felix/trunk/deploymentadmin/pom.xml Tue Nov 24 11:06:57 2015
@@ -22,8 +22,8 @@ under the License.
<parent>
<groupId>org.apache.felix</groupId>
<artifactId>felix-parent</artifactId>
- <version>1.2.0</version>
- <relativePath>../../pom/pom.xml</relativePath>
+ <version>3</version>
+ <relativePath>../pom/pom.xml</relativePath>
</parent>
<packaging>pom</packaging>
<name>Apache Felix Deployment Admin Subproject</name>
Modified: felix/trunk/deploymentadmin/testbundles/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/deploymentadmin/testbundles/pom.xml?rev=1716104&r1=1716103&r2=1716104&view=diff
==============================================================================
--- felix/trunk/deploymentadmin/testbundles/pom.xml (original)
+++ felix/trunk/deploymentadmin/testbundles/pom.xml Tue Nov 24 11:06:57 2015
@@ -15,7 +15,7 @@
<parent>
<groupId>org.apache.felix</groupId>
<artifactId>felix-parent</artifactId>
- <version>1.2.0</version>
+ <version>3</version>
<relativePath>../../pom/pom.xml</relativePath>
</parent>
<properties>