Skip to content

Commit fc38e8c

Browse files
committed
[fixup] Shade jctools
1 parent ad8a376 commit fc38e8c

File tree

3 files changed

+56
-8
lines changed

3 files changed

+56
-8
lines changed

core/pom.xml

Lines changed: 56 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,18 @@
191191
<configuration>
192192
<manifestLocation>${project.build.outputDirectory}/META-INF</manifestLocation>
193193
<instructions>
194-
<!-- Don't include JNR packages since some JNR modules are not OSGi bundles -->
195-
<Import-Package>!jnr.*,*</Import-Package>
196-
<Export-Package>com.datastax.oss.driver.*.core.*</Export-Package>
194+
<!-- Don't include JNR packages since some JNR modules are not OSGi bundles, jctools because its shaded.
195+
Import sun.misc as jctools does this. -->
196+
<Import-Package>!jnr.*,!org.jctools.*,sun.misc;resolution:=optional,*</Import-Package>
197+
<!-- Explicitly declare shaded jctools packages since this isn't covered by shade plugin -->
198+
<Export-Package>
199+
com.datastax.oss.driver.*.core.*,
200+
com.datastax.oss.driver.shaded.jctools.util;version="${project.version}";uses:="sun.misc",
201+
com.datastax.oss.driver.shaded.jctools.queues;version="${project.version}";uses:="com.datastax.oss.driver.shaded.jctools.queues.spec",
202+
com.datastax.oss.driver.shaded.jctools.queues.spec;version="${project.version}",
203+
com.datastax.oss.driver.shaded.jctools.queues.atomic;version="${project.version}";uses:="com.datastax.oss.driver.shaded.jctools.queues,com.datastax.oss.driver.shaded.jctools.queues.spec",
204+
com.datastax.oss.driver.shaded.jctools.maps;version="${project.version}"
205+
</Export-Package>
197206
</instructions>
198207
</configuration>
199208
</execution>
@@ -209,13 +218,55 @@
209218
<instructions>
210219
<Bundle-Name>DataStax Java driver for Apache Cassandra(R) - core netty shaded</Bundle-Name>
211220
<!-- Don't include netty since it will be shaded, import javax.security.cert as needed by netty ssl -->
212-
<Import-Package>!jnr.*,!io.netty.*,javax.security.cert,*</Import-Package>
213-
<Export-Package>com.datastax.oss.driver.*.core.*</Export-Package>
221+
<Import-Package>!jnr.*,!org.jctools.*,sun.misc;resolution:=optional,!io.netty.*,javax.security.cert,*
222+
</Import-Package>
223+
<Export-Package>
224+
com.datastax.oss.driver.*.core.*,
225+
com.datastax.oss.driver.shaded.jctools.util;version="${project.version}";uses:="sun.misc",
226+
com.datastax.oss.driver.shaded.jctools.queues;version="${project.version}";uses:="com.datastax.oss.driver.shaded.jctools.queues.spec",
227+
com.datastax.oss.driver.shaded.jctools.queues.spec;version="${project.version}",
228+
com.datastax.oss.driver.shaded.jctools.queues.atomic;version="${project.version}";uses:="com.datastax.oss.driver.shaded.jctools.queues,com.datastax.oss.driver.shaded.jctools.queues.spec",
229+
com.datastax.oss.driver.shaded.jctools.maps;version="${project.version}"
230+
</Export-Package>
214231
</instructions>
215232
</configuration>
216233
</execution>
217234
</executions>
218235
</plugin>
236+
<!-- shade jctools -->
237+
<plugin>
238+
<artifactId>maven-shade-plugin</artifactId>
239+
<executions>
240+
<execution>
241+
<phase>package</phase>
242+
<goals>
243+
<goal>shade</goal>
244+
</goals>
245+
<configuration>
246+
<artifactSet>
247+
<includes>
248+
<include>org.jctools:jctools-core</include>
249+
</includes>
250+
</artifactSet>
251+
<relocations>
252+
<relocation>
253+
<pattern>org.jctools</pattern>
254+
<shadedPattern>com.datastax.oss.driver.shaded.jctools</shadedPattern>
255+
</relocation>
256+
</relocations>
257+
<transformers>
258+
<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
259+
<resources>
260+
<resource>META-INF/maven/org.jctools/jctools-core/pom.properties</resource>
261+
<resource>META-INF/maven/org.jctools/jctools-core/pom.xml</resource>
262+
</resources>
263+
</transformer>
264+
</transformers>
265+
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
266+
</configuration>
267+
</execution>
268+
</executions>
269+
</plugin>
219270
</plugins>
220271
</build>
221272
</project>

integration-tests/pom.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@
126126
<guava.version>${guava.version}</guava.version>
127127
<hdrhistogram.version>${hdrhistogram.version}</hdrhistogram.version>
128128
<jackson.version>${jackson.version}</jackson.version>
129-
<jctools.version>${jctools.version}</jctools.version>
130129
<logback.version>${logback.version}</logback.version>
131130
<lz4.version>${lz4.version}</lz4.version>
132131
<metrics.version>${metrics.version}</metrics.version>
@@ -151,7 +150,6 @@
151150
<guava.version>${guava.version}</guava.version>
152151
<hdrhistogram.version>${hdrhistogram.version}</hdrhistogram.version>
153152
<jackson.version>${jackson.version}</jackson.version>
154-
<jctools.version>${jctools.version}</jctools.version>
155153
<logback.version>${logback.version}</logback.version>
156154
<lz4.version>${lz4.version}</lz4.version>
157155
<metrics.version>${metrics.version}</metrics.version>

integration-tests/src/test/java/com/datastax/oss/driver/osgi/BundleOptions.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public static CompositeOption baseOptions() {
4040
mavenBundle("com.typesafe", "config", getVersion("config.version")),
4141
mavenBundle(
4242
"com.datastax.oss", "native-protocol", getVersion("native-protocol.version")),
43-
mavenBundle("org.jctools", "jctools-core", getVersion("jctools.version")),
4443
logbackBundles(),
4544
systemProperty("logback.configurationFile")
4645
.value("file:" + PathUtils.getBaseDir() + "/src/test/resources/logback-test.xml"),

0 commit comments

Comments
 (0)