Author: cziegeler
Date: Wed Nov 28 10:48:27 2012
New Revision: 1414634

URL: http://svn.apache.org/viewvc?rev=1414634&view=rev
Log:
FELIX-3788 : [SCR MAVEN] specVersion incorrectly determined, depends on class 
order

Modified:
    
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java

Modified: 
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java?rev=1414634&r1=1414633&r2=1414634&view=diff
==============================================================================
--- 
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java
 (original)
+++ 
felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/SCRDescriptorGenerator.java
 Wed Nov 28 10:48:27 2012
@@ -166,12 +166,17 @@ public class SCRDescriptorGenerator {
                     if ( specVersion == null ) {
                         specVersion = 
container.getComponentDescription().getSpecVersion();
                         logger.debug("Setting used spec version to " + 
specVersion);
-                    } else if 
(container.getComponentDescription().getSpecVersion().ordinal() > 
specVersion.ordinal() && this.options.getSpecVersion() != null) {
-                        // if a spec version has been configured and a 
component requires a higher
-                        // version, this is considered an error!
-                        iLog.addError("Component " + container + " requires 
spec version " + container.getComponentDescription().getSpecVersion().name()
-                                        + " but plugin is configured to use 
version " + this.options.getSpecVersion(),
-                                        desc.getSource());
+                    } else if 
(container.getComponentDescription().getSpecVersion().ordinal() > 
specVersion.ordinal() ) {
+                        if ( this.options.getSpecVersion() != null) {
+                            // if a spec version has been configured and a 
component requires a higher
+                            // version, this is considered an error!
+                            iLog.addError("Component " + container + " 
requires spec version " + 
container.getComponentDescription().getSpecVersion().name()
+                                            + " but plugin is configured to 
use version " + this.options.getSpecVersion(),
+                                            desc.getSource());
+                        } else {
+                            specVersion = 
container.getComponentDescription().getSpecVersion();
+                            logger.debug("Setting used spec version to " + 
specVersion);
+                        }
                     }
                 }
                 processedContainers.add(container);


Reply via email to