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>


Reply via email to