[zb4osgi-changeset] [scm] ZigBee 4 OSGi repository change: r1141 - in /projects/zb4osgi/trunk: externals/bundles/rxtx/pom.xml zigbee.tester/pax.args

scm-notify at zb4osgi.aaloa.org scm-notify at zb4osgi.aaloa.org
Mon Jan 12 20:52:24 CET 2015


Author: stefano.lenzi
Date: Mon Jan 12 20:52:24 2015
New Revision: 1141

Log:
Fixed loading of 64-bit rxtx on Windows, 32-bit version was loaded regardless of JVM version
Updated zigbee.tester configuration to use latest RXTX bundle


Modified:
    projects/zb4osgi/trunk/externals/bundles/rxtx/pom.xml
    projects/zb4osgi/trunk/zigbee.tester/pax.args

Modified: projects/zb4osgi/trunk/externals/bundles/rxtx/pom.xml
==============================================================================
--- projects/zb4osgi/trunk/externals/bundles/rxtx/pom.xml	(original)
+++ projects/zb4osgi/trunk/externals/bundles/rxtx/pom.xml	Mon Jan 12 20:52:24 2015
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <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.aaloa.zb4osgi</groupId>
     <artifactId>org.aaloa.zb4osgi.pom</artifactId>
@@ -21,7 +21,7 @@
   <packaging>bundle</packaging>
   <name>${pkgArtifactId} Bundle Wrapper</name>
   <description>
-A wrapping of the ${pkgArtifactId} version ${pkgVersion} 
+A wrapping of the ${pkgArtifactId} version ${pkgVersion}
 as OSGi bundle. This bundle includes also the native libraries
 needed by the RXTX software. The native libraries are not present
 on the JAR package of this artifact.
@@ -33,7 +33,7 @@
       <groupId>org.rxtx</groupId>
       <artifactId>${pkgArtifactId}</artifactId>
       <version>${pkgVersion}</version>
-    </dependency>   
+    </dependency>
   </dependencies>
 
   <build>
@@ -48,18 +48,42 @@
             <Bundle-Name>${project.name}</Bundle-Name>
             <Bundle-Description>${project.description}</Bundle-Description>
             <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+            <!--
+            An extract on the algorithm use by OSGi for native loading:
+            A - The match operation is a case insensitive comparison.
+            B -  Only select the native code clauses for which the following expressions all evaluate to true.
+              * osname  ~= [org.osgi.framework.os.name]
+              * processor  ~= [org.osgi.framework.processor]
+              * osversion range includes [org.osgi.framework.os.version] or osversion is not specified
+              * language  ~= [org.osgi.framework.language] or language is not specified
+             C - If a parameter (i.e. osname ) is present multiple times it is evaluated as OR
+             -->
             <Bundle-NativeCode>
-              Windows/i386-mingw32/rxtxSerial.dll; Windows/i386-mingw32/rxtxParallel.dll; osname=win32; processor=x86, 
+              Windows/i386-mingw32/rxtxSerial.dll; Windows/i386-mingw32/rxtxParallel.dll; osname=win32; processor=x86,
+              Windows/win64/rxtxSerial.dll; Windows/win64/rxtxParallel.dll; osname=win32; processor=x86-64,
+              <!--
+              We removed the following line because win64 is not defined on any OSGi specification
               Windows/win64/rxtxSerial.dll; Windows/win64/rxtxParallel.dll; osname=win64; processor=x86-64,
+               -->
+              <!--
+              The following lines seems to break the loading of 64-bit library on some Windows 7 machine running 64 bit JVM
+              NOTE: The error seems to be that win32 is an alias of windows7 regardless of the os architecture
               Windows/i386-mingw32/rxtxSerial.dll; Windows/i386-mingw32/rxtxParallel.dll; osname=win32; processor=x86-64,
+              -->
+              <!--
+              We removed this line because win32 is an alias of "Windows 7" so it is duplication of first clause
               Windows/i386-mingw32/rxtxSerial.dll; Windows/i386-mingw32/rxtxParallel.dll; osname=Windows 7; processor=x86,
+               -->
+              <!--
+              We removed this line because win32 is an alias of "Windows 7" so it is duplication of second clause
               Windows/win64/rxtxSerial.dll; Windows/win64/rxtxParallel.dll; osname=Windows 7; processor=x86-64,
-              Linux/i686-unknown-linux-gnu/librxtxSerial.so; Linux/i686-unknown-linux-gnu/librxtxParallel.so; osname=linux; processor=x86, 
-              Linux/ia64-unknown-linux-gnu/librxtxSerial.so; osname=linux; processor=ia64, 
-              Linux/arm-unknown-linux-gnu/librxtxSerial.so; osname=linux; processor=ARM_le, 
-              Linux/x86_64-unknown-linux-gnu/librxtxSerial.so; osname=linux; processor=x86_64, 
-              Mac_OS_X/librxtxSerial.jnilib; osname=Mac OS X; processor=x86_64, 
-              Solaris/sparc-solaris/sparc32-sun-solaris2.8/librxtxSerial.so; osname=solaris; processor=sparc32, 
+               -->
+              Linux/i686-unknown-linux-gnu/librxtxSerial.so; Linux/i686-unknown-linux-gnu/librxtxParallel.so; osname=linux; processor=x86,
+              Linux/ia64-unknown-linux-gnu/librxtxSerial.so; osname=linux; processor=ia64,
+              Linux/arm-unknown-linux-gnu/librxtxSerial.so; osname=linux; processor=ARM_le,
+              Linux/x86_64-unknown-linux-gnu/librxtxSerial.so; osname=linux; processor=x86_64,
+              Mac_OS_X/librxtxSerial.jnilib; osname=Mac OS X; processor=x86_64,
+              Solaris/sparc-solaris/sparc32-sun-solaris2.8/librxtxSerial.so; osname=solaris; processor=sparc32,
               Solaris/sparc-solaris/sparc64-sun-solaris2.8/librxtxSerial.so; osname=solaris; processor=sparc64
             </Bundle-NativeCode>
             <Export-Package>

Modified: projects/zb4osgi/trunk/zigbee.tester/pax.args
==============================================================================
--- projects/zb4osgi/trunk/zigbee.tester/pax.args	(original)
+++ projects/zb4osgi/trunk/zigbee.tester/pax.args	Mon Jan 12 20:52:24 2015
@@ -18,7 +18,7 @@
 
 
 # ZigBee Stack General Dependencies & Tool
-mvn:org.aaloa.zb4osgi.bundle/org.aaloa.zb4osgi.externals.rxtx
+mvn:org.aaloa.zb4osgi.bundle/org.aaloa.zb4osgi.externals.rxtx/2.1.7-2-SNAPSHOT
 wrap:mvn:net.sf.trove4j/trove4j/2.1.0
 
 # ZigBee Hardware Access Layer 




More information about the Commit mailing list