Skip to content

Commit d50ca42

Browse files
authored
refactor: use Connection API in client lib (googleapis#133)
* refactor: use Connection API in client lib The generic Connection API has been moved to the client library. The JDBC driver still contained its own copy of this API. This change removes this own API and instead uses the one in the client library. * deps: remove unused dependencies * deps: revert to libraries-bom 5.2.0 * deps: exclude grpc-api to prevent version conflicts * deps: more exclusions * fix: exclude dependency to prevent conflicts
1 parent 5ecf353 commit d50ca42

128 files changed

Lines changed: 353 additions & 29422 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!-- see http://www.mojohaus.org/clirr-maven-plugin/examples/ignored-differences.html -->
3+
<differences>
4+
5+
<!-- Use generic Connection API in client library. -->
6+
<difference>
7+
<differenceType>7012</differenceType>
8+
<className>com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection</className>
9+
<method>void addTransactionRetryListener(com.google.cloud.spanner.connection.TransactionRetryListener)</method>
10+
</difference>
11+
<difference>
12+
<differenceType>7012</differenceType>
13+
<className>com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection</className>
14+
<method>boolean removeTransactionRetryListener(com.google.cloud.spanner.connection.TransactionRetryListener)</method>
15+
</difference>
16+
<difference>
17+
<differenceType>7012</differenceType>
18+
<className>com/google/cloud/spanner/jdbc/CloudSpannerJdbcConnection</className>
19+
<method>java.util.Iterator getTransactionRetryListenersFromConnection()</method>
20+
</difference>
21+
<difference>
22+
<differenceType>8001</differenceType>
23+
<className>com/google/cloud/spanner/jdbc/ConnectionOptions$Builder</className>
24+
</difference>
25+
<difference>
26+
<differenceType>8001</differenceType>
27+
<className>com/google/cloud/spanner/jdbc/ConnectionOptions$ConnectionProperty</className>
28+
</difference>
29+
<difference>
30+
<differenceType>8001</differenceType>
31+
<className>com/google/cloud/spanner/jdbc/StatementResult$ClientSideStatementType</className>
32+
</difference>
33+
<difference>
34+
<differenceType>8001</differenceType>
35+
<className>com/google/cloud/spanner/jdbc/StatementResult$ResultType</className>
36+
</difference>
37+
<difference>
38+
<differenceType>8001</differenceType>
39+
<className>com/google/cloud/spanner/jdbc/UnitOfWork$Type</className>
40+
</difference>
41+
<difference>
42+
<differenceType>8001</differenceType>
43+
<className>com/google/cloud/spanner/jdbc/UnitOfWork$UnitOfWorkState</className>
44+
</difference>
45+
</differences>

java-spanner-jdbc/pom.xml

Lines changed: 46 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -58,225 +58,128 @@
5858
</licenses>
5959
<properties>
6060
<site.installationModule>google-cloud-spanner-jdbc</site.installationModule>
61-
<grpc.version>1.29.0</grpc.version>
62-
<api-client.version>1.30.9</api-client.version>
63-
<google.core.version>1.93.4</google.core.version>
64-
<gax.version>1.56.0</gax.version>
65-
<http-client-bom.version>1.34.2</http-client-bom.version>
66-
<guava.version>29.0-android</guava.version>
6761
<junit.version>4.13</junit.version>
68-
<google.common-protos.version>1.18.0</google.common-protos.version>
69-
<protobuf.version>3.11.4</protobuf.version>
62+
<spanner.test.version>1.53.0</spanner.test.version>
63+
<findbugs.version>3.0.2</findbugs.version>
7064
<threeten.version>1.4.4</threeten.version>
71-
<google.api-common.version>1.9.0</google.api-common.version>
72-
<spanner.version>1.52.0</spanner.version>
65+
<truth.version>1.0.1</truth.version>
66+
<mockito.version>1.10.19</mockito.version>
7367
<hamcrest.version>2.2</hamcrest.version>
74-
<error-prone.version>2.3.4</error-prone.version>
75-
<google.auth.version>0.20.0</google.auth.version>
7668
</properties>
7769

7870
<dependencyManagement>
7971
<dependencies>
80-
<dependency>
81-
<groupId>io.grpc</groupId>
82-
<artifactId>grpc-bom</artifactId>
83-
<version>${grpc.version}</version>
84-
<type>pom</type>
85-
<scope>import</scope>
86-
</dependency>
87-
<dependency>
88-
<groupId>com.google.api-client</groupId>
89-
<artifactId>google-api-client-bom</artifactId>
90-
<version>${api-client.version}</version>
91-
<type>pom</type>
92-
<scope>import</scope>
93-
</dependency>
9472
<dependency>
9573
<groupId>com.google.cloud</groupId>
96-
<artifactId>google-cloud-core-bom</artifactId>
97-
<version>${google.core.version}</version>
74+
<artifactId>libraries-bom</artifactId>
75+
<version>5.3.0</version>
9876
<type>pom</type>
9977
<scope>import</scope>
10078
</dependency>
101-
<dependency>
102-
<groupId>com.google.api</groupId>
103-
<artifactId>gax-bom</artifactId>
104-
<version>${gax.version}</version>
105-
<type>pom</type>
106-
<scope>import</scope>
107-
</dependency>
108-
<dependency>
109-
<groupId>com.google.http-client</groupId>
110-
<artifactId>google-http-client-bom</artifactId>
111-
<version>${http-client-bom.version}</version>
112-
<type>pom</type>
113-
<scope>import</scope>
114-
</dependency>
115-
<dependency>
116-
<groupId>com.google.guava</groupId>
117-
<artifactId>guava-bom</artifactId>
118-
<version>${guava.version}</version>
119-
<type>pom</type>
120-
<scope>import</scope>
121-
</dependency>
122-
<dependency>
123-
<groupId>com.google.auth</groupId>
124-
<artifactId>google-auth-library-bom</artifactId>
125-
<version>${google.auth.version}</version>
126-
<type>pom</type>
127-
<scope>import</scope>
128-
</dependency>
129-
<dependency>
130-
<groupId>com.google.errorprone</groupId>
131-
<artifactId>error_prone_annotations</artifactId>
132-
<version>${error-prone.version}</version>
133-
</dependency>
134-
<dependency>
135-
<groupId>com.google.protobuf</groupId>
136-
<artifactId>protobuf-java</artifactId>
137-
<version>${protobuf.version}</version>
138-
</dependency>
139-
<dependency>
140-
<groupId>org.hamcrest</groupId>
141-
<artifactId>hamcrest-core</artifactId>
142-
<version>${hamcrest.version}</version>
143-
<scope>test</scope>
144-
</dependency>
14579
</dependencies>
14680
</dependencyManagement>
147-
14881
<dependencies>
82+
<dependency>
83+
<groupId>io.grpc</groupId>
84+
<artifactId>grpc-api</artifactId>
85+
</dependency>
86+
<dependency>
87+
<groupId>com.google.cloud</groupId>
88+
<artifactId>google-cloud-core-grpc</artifactId>
89+
</dependency>
14990
<dependency>
15091
<groupId>com.google.api.grpc</groupId>
15192
<artifactId>proto-google-common-protos</artifactId>
152-
<version>${google.common-protos.version}</version>
15393
</dependency>
15494
<dependency>
15595
<groupId>com.google.cloud</groupId>
15696
<artifactId>google-cloud-spanner</artifactId>
157-
<version>${spanner.version}</version>
97+
<!-- Excluded to prevent version conflicts -->
98+
<exclusions>
99+
<exclusion>
100+
<groupId>io.grpc</groupId>
101+
<artifactId>grpc-api</artifactId>
102+
</exclusion>
103+
<exclusion>
104+
<groupId>com.google.cloud</groupId>
105+
<artifactId>google-cloud-core-grpc</artifactId>
106+
</exclusion>
107+
</exclusions>
108+
</dependency>
109+
<dependency>
110+
<groupId>com.google.api.grpc</groupId>
111+
<artifactId>proto-google-cloud-spanner-v1</artifactId>
158112
</dependency>
159113
<dependency>
160114
<groupId>com.google.protobuf</groupId>
161115
<artifactId>protobuf-java</artifactId>
162-
<version>${protobuf.version}</version>
163116
</dependency>
164117
<dependency>
165118
<groupId>com.google.guava</groupId>
166119
<artifactId>guava</artifactId>
167-
<version>${guava.version}</version>
168-
</dependency>
169-
<dependency>
170-
<groupId>com.google.api</groupId>
171-
<artifactId>gax</artifactId>
172-
<version>${gax.version}</version>
173120
</dependency>
174121
<dependency>
175122
<groupId>org.threeten</groupId>
176123
<artifactId>threetenbp</artifactId>
177124
<version>${threeten.version}</version>
178125
</dependency>
179-
<dependency>
180-
<groupId>io.grpc</groupId>
181-
<artifactId>grpc-api</artifactId>
182-
<version>${grpc.version}</version>
183-
</dependency>
184126
<dependency>
185127
<groupId>io.grpc</groupId>
186128
<artifactId>grpc-netty-shaded</artifactId>
187-
<version>${grpc.version}</version>
188129
</dependency>
189130
<dependency>
190131
<groupId>com.google.api</groupId>
191132
<artifactId>api-common</artifactId>
192-
<version>${google.api-common.version}</version>
193133
</dependency>
194134
<dependency>
195135
<groupId>com.google.code.findbugs</groupId>
196136
<artifactId>jsr305</artifactId>
197-
<version>3.0.2</version>
137+
<version>${findbugs.version}</version>
198138
</dependency>
199139
<dependency>
200140
<groupId>com.google.http-client</groupId>
201141
<artifactId>google-http-client</artifactId>
202-
<version>${http-client-bom.version}</version>
203142
</dependency>
204143
<dependency>
205144
<groupId>com.google.auth</groupId>
206145
<artifactId>google-auth-library-oauth2-http</artifactId>
207-
<version>${google.auth.version}</version>
208146
</dependency>
209147
<dependency>
210148
<groupId>com.google.cloud</groupId>
211149
<artifactId>google-cloud-core</artifactId>
212-
<version>${google.core.version}</version>
213-
</dependency>
214-
<dependency>
215-
<groupId>com.google.code.gson</groupId>
216-
<artifactId>gson</artifactId>
217-
<version>2.8.6</version>
218150
</dependency>
219151
<dependency>
220152
<groupId>com.google.auth</groupId>
221153
<artifactId>google-auth-library-credentials</artifactId>
222-
<version>${google.auth.version}</version>
223-
</dependency>
224-
<dependency>
225-
<groupId>org.apache.commons</groupId>
226-
<artifactId>commons-lang3</artifactId>
227-
<version>3.5</version>
228-
</dependency>
229-
<dependency>
230-
<groupId>com.google.api.grpc</groupId>
231-
<artifactId>proto-google-cloud-spanner-v1</artifactId>
232-
<version>${spanner.version}</version>
233-
</dependency>
234-
<dependency>
235-
<groupId>com.google.api.grpc</groupId>
236-
<artifactId>proto-google-cloud-spanner-admin-database-v1</artifactId>
237-
<version>${spanner.version}</version>
238-
</dependency>
239-
<dependency>
240-
<groupId>com.google.protobuf</groupId>
241-
<artifactId>protobuf-java-util</artifactId>
242-
<version>${protobuf.version}</version>
243154
</dependency>
244155

156+
<!-- Test dependencies -->
245157
<dependency>
246158
<groupId>com.google.cloud</groupId>
247159
<artifactId>google-cloud-spanner</artifactId>
248-
<version>${spanner.version}</version>
160+
<version>${spanner.test.version}</version>
249161
<type>test-jar</type>
250162
<scope>test</scope>
251163
</dependency>
252164
<dependency>
253165
<groupId>com.google.api.grpc</groupId>
254166
<artifactId>grpc-google-cloud-spanner-v1</artifactId>
255-
<version>${spanner.version}</version>
256167
<scope>test</scope>
257168
</dependency>
258169
<dependency>
259170
<groupId>com.google.api.grpc</groupId>
260171
<artifactId>grpc-google-cloud-spanner-admin-instance-v1</artifactId>
261-
<version>${spanner.version}</version>
262172
<scope>test</scope>
263173
</dependency>
264174
<dependency>
265175
<groupId>com.google.api.grpc</groupId>
266176
<artifactId>grpc-google-cloud-spanner-admin-database-v1</artifactId>
267-
<version>${spanner.version}</version>
268177
<scope>test</scope>
269178
</dependency>
270179
<dependency>
271180
<groupId>com.google.truth</groupId>
272181
<artifactId>truth</artifactId>
273-
<version>1.0.1</version>
274-
<scope>test</scope>
275-
</dependency>
276-
<dependency>
277-
<groupId>org.mockito</groupId>
278-
<artifactId>mockito-core</artifactId>
279-
<version>1.10.19</version>
182+
<version>${truth.version}</version>
280183
<scope>test</scope>
281184
</dependency>
282185
<dependency>
@@ -285,6 +188,18 @@
285188
<version>${hamcrest.version}</version>
286189
<scope>test</scope>
287190
</dependency>
191+
<dependency>
192+
<groupId>org.mockito</groupId>
193+
<artifactId>mockito-core</artifactId>
194+
<version>${mockito.version}</version>
195+
<scope>test</scope>
196+
<exclusions>
197+
<exclusion>
198+
<groupId>org.hamcrest</groupId>
199+
<artifactId>hamcrest-core</artifactId>
200+
</exclusion>
201+
</exclusions>
202+
</dependency>
288203
<dependency>
289204
<groupId>junit</groupId>
290205
<artifactId>junit</artifactId>
@@ -294,7 +209,6 @@
294209
<dependency>
295210
<groupId>com.google.api</groupId>
296211
<artifactId>gax-grpc</artifactId>
297-
<version>${gax.version}</version>
298212
<classifier>testlib</classifier>
299213
<scope>test</scope>
300214
</dependency>
@@ -304,7 +218,6 @@
304218
<plugin>
305219
<groupId>org.apache.maven.plugins</groupId>
306220
<artifactId>maven-surefire-plugin</artifactId>
307-
<version>3.0.0-M4</version>
308221
<configuration>
309222
<excludedGroups>com.google.cloud.spanner.IntegrationTest</excludedGroups>
310223
<reportNameSuffix>sponge_log</reportNameSuffix>
@@ -313,7 +226,6 @@
313226
<plugin>
314227
<groupId>org.apache.maven.plugins</groupId>
315228
<artifactId>maven-failsafe-plugin</artifactId>
316-
<version>3.0.0-M4</version>
317229
<configuration>
318230
<systemPropertyVariables>
319231
<spanner.testenv.config.class>com.google.cloud.spanner.GceTestEnvConfig</spanner.testenv.config.class>
@@ -340,6 +252,7 @@
340252
<configuration>
341253
<ignoredUnusedDeclaredDependencies>
342254
<ignoredDependency>com.google.api:gax-grpc</ignoredDependency>
255+
<ignoredDependency>com.google.cloud:google-cloud-core-grpc</ignoredDependency>
343256
<ignoredDependency>com.google.api.grpc:grpc-google-cloud-spanner-v1</ignoredDependency>
344257
<ignoredDependency>com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1</ignoredDependency>
345258
<ignoredDependency>com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1</ignoredDependency>

0 commit comments

Comments
 (0)