Skip to content

Commit 834a713

Browse files
committed
Updates needed to run plc4x 0.13.
Add SPI-Consumer and SPI-Provider headers to wrapped bundles, provided javacan version. The SPI headers are needed to trigger spi-fly, otherwise drivers struggle to see transports. By default initialization of drivers is being made using thread context class loader, hence in many cases it misses necessary META-INF entries. Signed-off-by: Łukasz Dywicki <luke@code-house.org>
1 parent 0cd8307 commit 834a713

File tree

14 files changed

+76
-33
lines changed

14 files changed

+76
-33
lines changed

bundles/org.connectorio.plc4x.extras.decorator.phase/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>bundles</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
</parent>
2828

2929
<artifactId>org.connectorio.plc4x.extras.decorator.phase</artifactId>

bundles/org.connectorio.plc4x.extras.decorator.retry/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>bundles</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
</parent>
2828

2929
<artifactId>org.connectorio.plc4x.extras.decorator.retry</artifactId>

bundles/org.connectorio.plc4x.extras.decorator.throttle/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>bundles</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
</parent>
2828

2929
<artifactId>org.connectorio.plc4x.extras.decorator.throttle</artifactId>

bundles/org.connectorio.plc4x.extras.decorator/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>bundles</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
</parent>
2828

2929
<artifactId>org.connectorio.plc4x.extras.decorator</artifactId>

bundles/org.connectorio.plc4x.extras.osgi.core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>bundles</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
</parent>
2828

2929
<artifactId>org.connectorio.plc4x.extras.osgi.core</artifactId>

bundles/org.connectorio.plc4x.extras.osgi/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>bundles</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
</parent>
2828

2929
<artifactId>org.connectorio.plc4x.extras.osgi</artifactId>

bundles/org.connectorio.plc4x.extras.test/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>bundles</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
</parent>
2828

2929
<artifactId>org.connectorio.plc4x.extras.test</artifactId>

bundles/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>parent</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
<relativePath>../parent/pom.xml</relativePath>
2828
</parent>
2929

@@ -44,4 +44,4 @@
4444
<module>org.connectorio.plc4x.extras.test</module>
4545
</modules>
4646

47-
</project>
47+
</project>

features/org.connectorio.plc4x.extras.feature.decorator/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>features</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
</parent>
2828

2929
<groupId>org.connectorio.plc4x.extras.features</groupId>

features/org.connectorio.plc4x.extras.feature.osgi/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>features</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
</parent>
2828

2929
<groupId>org.connectorio.plc4x.extras.features</groupId>

features/org.connectorio.plc4x.extras.feature.osgi/src/main/feature/feature.xml

Lines changed: 57 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -101,31 +101,68 @@
101101
<bundle>mvn:io.netty/netty-transport-rxtx/4.1.94.Final</bundle>
102102
</feature>
103103

104-
<feature name="plc4j-transport-tcp">
104+
<feature name="plc4j-transport-tcp" version="${plc4x.version}">
105105
<feature prerequisite="true">wrap</feature>
106106
<feature>plc4j-spi</feature>
107-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-transport-tcp/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-transport-tcp&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
107+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-transport-tcp/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-transport-tcp&amp;SPI-Provider=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
108108
</feature>
109109

110-
<feature name="plc4j-transport-serial">
110+
<feature name="plc4j-transport-serial" version="${plc4x.version}">
111111
<feature prerequisite="true">wrap</feature>
112112
<feature>plc4j-netty-serial</feature>
113113
<feature>plc4j-spi</feature>
114114
<bundle>mvn:com.fazecast/jSerialComm/2.10.2</bundle>
115-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-transport-serial/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-transport-serial&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
115+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-transport-serial/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-transport-serial&amp;SPI-Provider=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
116116
</feature>
117117

118-
<feature name="plc4j-transport-can">
118+
<feature name="plc4j-transport-can" version="${plc4x.version}">
119119
<feature prerequisite="true">wrap</feature>
120120
<feature>plc4j-spi</feature>
121-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-transport-can/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-transport-can&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
121+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-transport-can/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-transport-can&amp;SPI-Provider=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
122122
</feature>
123123

124-
<feature name="plc4j-transport-socketcan">
124+
<feature name="javacan" version="${javacan.version}">
125125
<feature prerequisite="true">wrap</feature>
126+
<bundle>wrap:mvn:tel.schich/javacan-core/${javacan.version}$Bundle-SymbolicName=tel.schich.javacan-core</bundle>
127+
</feature>
128+
129+
<feature name="plc4j-javacan" version="${javacan.version}">
130+
<feature>javacan</feature>
131+
<conditional>
132+
<condition>req:osgi.native;filter:="(&amp;(osgi.native.osname=Linux)(osgi.native.processor=x86_32))"</condition>
133+
<bundle>wrap:mvn:tel.schich/javacan-core/${javacan.version}/jar/x86_32$Bundle-SymbolicName=tel.schich.javacan-core-x86_32&amp;Fragment-Host=tel.schich.javacan-core</bundle>
134+
</conditional>
135+
<conditional>
136+
<condition>req:osgi.native;filter:="(&amp;(osgi.native.osname=Linux)(osgi.native.processor=x86_64))"</condition>
137+
<bundle>wrap:mvn:tel.schich/javacan-core/${javacan.version}/jar/x86_64$Bundle-SymbolicName=tel.schich.javacan-core-x86_64&amp;Fragment-Host=tel.schich.javacan-core</bundle>
138+
</conditional>
139+
<conditional>
140+
<condition>req:osgi.native;filter:="(&amp;(osgi.native.osname=Linux)(osgi.native.processor=armv6))"</condition>
141+
<bundle>wrap:mvn:tel.schich/javacan-core/${javacan.version}/jar/armv6$Bundle-SymbolicName=tel.schich.javacan-core-armv6&amp;Fragment-Host=tel.schich.javacan-core</bundle>
142+
</conditional>
143+
<conditional>
144+
<condition>req:osgi.native;filter:="(&amp;(osgi.native.osname=Linux)(osgi.native.processor=armv7))"</condition>
145+
<bundle>wrap:mvn:tel.schich/javacan-core/${javacan.version}/jar/armv7$Bundle-SymbolicName=tel.schich.javacan-core-armv7&amp;Fragment-Host=tel.schich.javacan-core</bundle>
146+
</conditional>
147+
<conditional>
148+
<condition>req:osgi.native;filter:="(&amp;(osgi.native.osname=Linux)(|(osgi.native.processor=AArch64)(osgi.native.processor=armv8)))"</condition>
149+
<bundle>wrap:mvn:tel.schich/javacan-core/${javacan.version}/jar/aarch64$Bundle-SymbolicName=tel.schich.javacan-core-aarch64&amp;Fragment-Host=tel.schich.javacan-core</bundle>
150+
</conditional>
151+
<conditional>
152+
<condition>req:osgi.native;filter:="(&amp;(osgi.native.osname=Linux)(osgi.native.processor=riscv32))"</condition>
153+
<bundle>wrap:mvn:tel.schich/javacan-core/${javacan.version}/jar/riscv32$Bundle-SymbolicName=tel.schich.javacan-core-riscv32&amp;Fragment-Host=tel.schich.javacan-core</bundle>
154+
</conditional>
155+
<conditional>
156+
<condition>req:osgi.native;filter:="(&amp;(osgi.native.osname=Linux)(osgi.native.processor=riscv64))"</condition>
157+
<bundle>wrap:mvn:tel.schich/javacan-core/${javacan.version}/jar/riscv64$Bundle-SymbolicName=tel.schich.javacan-core-riscv64&amp;Fragment-Host=tel.schich.javacan-core</bundle>
158+
</conditional>
159+
</feature>
160+
161+
<feature name="plc4j-transport-socketcan" version="${plc4x.version}">
162+
<feature prerequisite="true">wrap</feature>
163+
<feature>plc4j-javacan</feature>
126164
<feature>plc4j-transport-can</feature>
127-
<bundle>wrap:mvn:tel.schich/javacan-core/3.2.3</bundle>
128-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-transport-socketcan/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-transport-socketcan&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
165+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-transport-socketcan/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-transport-socketcan&amp;SPI-Provider=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
129166
</feature>
130167

131168
<feature name="plc4j-ads-driver" description="Apache PLC4X - ADS driver" version="${plc4x.version}">
@@ -135,7 +172,7 @@
135172
<feature>plc4j-transport-tcp</feature>
136173
<feature>plc4j-transport-serial</feature>
137174

138-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-ads/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-ads&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
175+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-ads/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-ads&amp;SPI-Provider=*&amp;SPI-Consumer=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
139176
<bundle>wrap:mvn:com.github.snksoft/crc/1.0.1</bundle>
140177
</feature>
141178

@@ -145,7 +182,12 @@
145182
<feature>plc4j-api</feature>
146183
<feature>plc4j-transport-can</feature>
147184

148-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-can/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-can&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
185+
<conditional>
186+
<condition>req:os.name=Linux</condition>
187+
<feature>plc4j-transport-socketcan</feature>
188+
</conditional>
189+
190+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-can/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-can&amp;SPI-Provider=*&amp;SPI-Consumer=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
149191
</feature>
150192

151193
<feature name="plc4j-canopen-driver" description="Apache PLC4X - CANopen driver" version="${plc4x.version}">
@@ -154,7 +196,7 @@
154196
<feature>plc4j-api</feature>
155197
<feature>plc4j-can-driver</feature>
156198

157-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-canopen/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-canopen&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
199+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-canopen/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-canopen&amp;SPI-Provider=*&amp;SPI-Consumer=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
158200
</feature>
159201

160202
<feature name="plc4j-eip-driver" description="Apache PLC4X - Ethernet/IP driver" version="${plc4x.version}">
@@ -163,7 +205,7 @@
163205
<feature>plc4j-api</feature>
164206
<feature>plc4j-transport-tcp</feature>
165207

166-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-eip/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-eip&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
208+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-eip/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-eip&amp;SPI-Provider=*&amp;SPI-Consumer=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
167209
</feature>
168210

169211
<feature name="plc4j-opcua-driver" description="Apache PLC4X - OPCUA driver" version="${plc4x.version}">
@@ -177,7 +219,7 @@
177219
<bundle dependency="true">mvn:org.bouncycastle/bcprov-jdk15on/1.70</bundle>
178220
<bundle dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/1.70</bundle>
179221
<bundle dependency="true">mvn:org.bouncycastle/bcutil-jdk15on/1.70</bundle>
180-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-opcua/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-opcua&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
222+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-opcua/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-opcua&amp;SPI-Provider=*&amp;SPI-Consumer=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
181223
</feature>
182224

183225
<!--
@@ -200,7 +242,7 @@
200242
<feature>plc4j-api</feature>
201243
<feature>plc4j-transport-tcp</feature>
202244
<bundle>mvn:org.json/json/20230618</bundle>
203-
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-s7/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-s7&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
245+
<bundle>wrap:mvn:org.apache.plc4x/plc4j-driver-s7/${plc4x.version}$Bundle-SymbolicName=org.apache.plc4x.plc4j-driver-s7&amp;SPI-Provider=*&amp;SPI-Consumer=*&amp;overwrite=merge&amp;Import-Package=!java,org.slf4j;version=1.7,*</bundle>
204246
</feature>
205247

206248
</features>

features/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x.extras</groupId>
2525
<artifactId>parent</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
<relativePath>../parent/pom.xml</relativePath>
2828
</parent>
2929

@@ -39,4 +39,4 @@
3939
<module>org.connectorio.plc4x.extras.feature.osgi</module>
4040
</modules>
4141

42-
</project>
42+
</project>

parent/pom.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.connectorio.plc4x</groupId>
2525
<artifactId>extras</artifactId>
26-
<version>0.12.1-SNAPSHOT</version>
26+
<version>0.13.0-SNAPSHOT</version>
2727
<relativePath>../pom.xml</relativePath>
2828
</parent>
2929

@@ -35,7 +35,8 @@
3535
<description>Parent for ConnectorIO supplied extensions to Apache PLC4X.</description>
3636

3737
<properties>
38-
<plc4x.version>0.12.0</plc4x.version>
38+
<plc4x.version>0.13.0-connectorio-1</plc4x.version>
39+
<javacan.version>3.2.3</javacan.version>
3940
<karaf.version>4.3.9</karaf.version>
4041

4142
<bucket4j.version>8.3.0</bucket4j.version>

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828

2929
<groupId>org.connectorio.plc4x</groupId>
3030
<artifactId>extras</artifactId>
31-
<version>0.12.1-SNAPSHOT</version>
31+
<version>0.13.0-SNAPSHOT</version>
3232
<packaging>pom</packaging>
3333

3434
<name>ConnectorIO - PLC4X - Extras</name>
3535

3636
<properties>
37-
<project.build.outputTimestamp>1709901300</project.build.outputTimestamp>
37+
<project.build.outputTimestamp>1713958416</project.build.outputTimestamp>
3838
</properties>
3939

4040
<modules>
@@ -111,4 +111,4 @@
111111
</profile>
112112
</profiles>
113113

114-
</project>
114+
</project>

0 commit comments

Comments
 (0)