Skip to content
This repository was archived by the owner on Mar 26, 2026. It is now read-only.

Commit 2a7c53e

Browse files
authored
feat: publish shaded jar on maven central (#83)
* feat: publish shaded jar on maven central * fix: fix dependency problems
1 parent 03166fa commit 2a7c53e

1 file changed

Lines changed: 68 additions & 69 deletions

File tree

pom.xml

Lines changed: 68 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -144,13 +144,21 @@
144144
<groupId>com.google.auth</groupId>
145145
<artifactId>google-auth-library-oauth2-http</artifactId>
146146
</dependency>
147+
<dependency>
148+
<groupId>com.google.auth</groupId>
149+
<artifactId>google-auth-library-credentials</artifactId>
150+
</dependency>
147151
<dependency>
148152
<groupId>com.google.cloud</groupId>
149153
<artifactId>google-cloud-core</artifactId>
150154
</dependency>
151155
<dependency>
152-
<groupId>com.google.auth</groupId>
153-
<artifactId>google-auth-library-credentials</artifactId>
156+
<groupId>com.google.api.grpc</groupId>
157+
<artifactId>proto-google-cloud-spanner-v1</artifactId>
158+
</dependency>
159+
<dependency>
160+
<groupId>com.google.api.grpc</groupId>
161+
<artifactId>grpc-google-cloud-spanner-v1</artifactId>
154162
</dependency>
155163

156164
<!-- Test dependencies -->
@@ -243,6 +251,64 @@
243251
</execution>
244252
</executions>
245253
</plugin>
254+
<plugin>
255+
<groupId>org.apache.maven.plugins</groupId>
256+
<artifactId>maven-shade-plugin</artifactId>
257+
<version>3.2.1</version>
258+
<executions>
259+
<execution>
260+
<goals>
261+
<goal>shade</goal>
262+
</goals>
263+
<configuration>
264+
<createSourcesJar>true</createSourcesJar>
265+
<shadeSourcesContent>true</shadeSourcesContent>
266+
<shadedArtifactAttached>true</shadedArtifactAttached>
267+
<shadedClassifierName>single-jar-with-dependencies</shadedClassifierName>
268+
<createDependencyReducedPom>false</createDependencyReducedPom>
269+
<artifactSet>
270+
<includes>
271+
<include>*:*</include>
272+
</includes>
273+
<excludes>
274+
<exclude>java:*</exclude>
275+
<exclude>junit:*</exclude>
276+
</excludes>
277+
</artifactSet>
278+
<transformers>
279+
<transformer
280+
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
281+
<transformer
282+
implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
283+
<resource>META-INF/services</resource>
284+
<file>java.sql.Driver</file>
285+
</transformer>
286+
<transformer
287+
implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
288+
<resource>com.google.cloud.spanner.jdbc</resource>
289+
<file>ClientSideStatements.json</file>
290+
</transformer>
291+
<transformer
292+
implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
293+
<resource>com.google.cloud.spanner.jdbc</resource>
294+
<file>*.sql</file>
295+
</transformer>
296+
<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
297+
<resources>
298+
<resource>META-INF/SIGNINGC.RSA</resource>
299+
<resource>META-INF/SIGNINGC.SF</resource>
300+
<resource>META-INF/DEPENDENCIES</resource>
301+
<resource>META-INF/LICENSE</resource>
302+
<resource>META-INF/LICENSE.txt</resource>
303+
<resource>META-INF/NOTICE</resource>
304+
<resource>META-INF/NOTICE.txt</resource>
305+
</resources>
306+
</transformer>
307+
</transformers>
308+
</configuration>
309+
</execution>
310+
</executions>
311+
</plugin>
246312
</plugins>
247313
<pluginManagement>
248314
<plugins>
@@ -296,73 +362,6 @@
296362
</plugins>
297363
</build>
298364
</profile>
299-
<profile>
300-
<!-- Profile for building a jar containing all dependencies and the
301-
JDBC driver. This jar can then be used with third-party tools that support
302-
generic JDBC drivers to connect to Cloud Spanner databases. -->
303-
<id>build-jdbc-driver</id>
304-
<build>
305-
<plugins>
306-
<plugin>
307-
<groupId>org.apache.maven.plugins</groupId>
308-
<artifactId>maven-shade-plugin</artifactId>
309-
<version>3.2.3</version>
310-
<executions>
311-
<execution>
312-
<goals>
313-
<goal>shade</goal>
314-
</goals>
315-
<configuration>
316-
<createSourcesJar>true</createSourcesJar>
317-
<shadeSourcesContent>true</shadeSourcesContent>
318-
<shadedArtifactAttached>false</shadedArtifactAttached>
319-
<createDependencyReducedPom>false</createDependencyReducedPom>
320-
<artifactSet>
321-
<includes>
322-
<include>*:*</include>
323-
</includes>
324-
<excludes>
325-
<exclude>java:*</exclude>
326-
<exclude>junit:*</exclude>
327-
</excludes>
328-
</artifactSet>
329-
<transformers>
330-
<transformer
331-
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
332-
<transformer
333-
implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
334-
<resource>META-INF/services</resource>
335-
<file>java.sql.Driver</file>
336-
</transformer>
337-
<transformer
338-
implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
339-
<resource>com.google.cloud.spanner.jdbc</resource>
340-
<file>ClientSideStatements.json</file>
341-
</transformer>
342-
<transformer
343-
implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
344-
<resource>com.google.cloud.spanner.jdbc</resource>
345-
<file>*.sql</file>
346-
</transformer>
347-
<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
348-
<resources>
349-
<resource>META-INF/SIGNINGC.RSA</resource>
350-
<resource>META-INF/SIGNINGC.SF</resource>
351-
<resource>META-INF/DEPENDENCIES</resource>
352-
<resource>META-INF/LICENSE</resource>
353-
<resource>META-INF/LICENSE.txt</resource>
354-
<resource>META-INF/NOTICE</resource>
355-
<resource>META-INF/NOTICE.txt</resource>
356-
</resources>
357-
</transformer>
358-
</transformers>
359-
</configuration>
360-
</execution>
361-
</executions>
362-
</plugin>
363-
</plugins>
364-
</build>
365-
</profile>
366365
</profiles>
367366
<reporting>
368367
<plugins>

0 commit comments

Comments
 (0)