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

Commit e675b0a

Browse files
committed
chore: address pr comments and refine readme content
1 parent bc831f1 commit e675b0a

1 file changed

Lines changed: 20 additions & 31 deletions

File tree

google-cloud-bigquery-jdbc/README.MD

Lines changed: 20 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,25 @@ Java idiomatic client for [BigQuery JDBC][product-docs].
1414

1515
If you are using Maven, add this to your pom.xml file:
1616

17-
<!-- {x-version-update-start:google-cloud-bigquery-jdbc:released} -->
18-
1917
```xml
2018
<dependency>
2119
<groupId>com.google.cloud</groupId>
2220
<artifactId>google-cloud-bigquery-jdbc</artifactId>
23-
<version>0.1.0-SNAPSHOT</version>
21+
<version><version></version>
2422
</dependency>
2523
```
2624

2725
If you are using Gradle without BOM, add this to your dependencies:
2826

2927
```Groovy
30-
implementation 'com.google.cloud:google-cloud-bigquery-jdbc:0.1.0-SNAPSHOT'
28+
implementation 'com.google.cloud:google-cloud-bigquery-jdbc:<version>'
3129
```
3230

3331
If you are using SBT, add this to your dependencies:
3432

3533
```Scala
36-
libraryDependencies += "com.google.cloud" % "google-cloud-bigquery-jdbc" % "0.1.0-SNAPSHOT"
34+
libraryDependencies += "com.google.cloud" % "google-cloud-bigquery-jdbc" % "<version>"
3735
```
38-
<!-- {x-version-update-end} -->
3936

4037
## Authentication
4138

@@ -54,8 +51,7 @@ You need to have either Java with Maven installed or Docker. You might want to i
5451
### Setup
5552

5653
`make install` primarily relies on `mvn install` command. All following commands are primarily applicable for the `google-cloud-bigquery-jdbc` project.
57-
58-
`bigquery-external-jdbc-tests` at this moment is independent and has its own configuration.
54+
You can also use `make clean` to clean the project and `make lint` to format the code.
5955

6056
### Running tests
6157

@@ -75,7 +71,7 @@ Example: `make unittest test=BigQueryArrowStructTest`
7571

7672
#### Integration tests
7773

78-
IMPORTANT: Running integration tests will skip unit tests. Primary focus of this command is to run specific set of tests without a lot of overhead.
74+
IMPORTANT: Running integration tests will skip unit tests by default. To include unit tests, run `make integration-test skipSurefire=false`. Primary focus of this command is to run specific set of tests without a lot of overhead.
7975

8076
Majority of Integration tests rely on certain environment variables:
8177

@@ -125,36 +121,26 @@ All Docker commands rely only on `GOOGLE_APPLICATION_CREDENTIALS` env being pres
125121

126122
### Packaging
127123

128-
There are two ways to package Google JDBC Driver: thin jar and jar with all dependencies.
124+
There are a few ways to package the Google JDBC Driver. The output of the packaging commands can be found in the `target` directory.
125+
126+
`make package` or `make docker-package` will create both a thin jar and a zip file with all dependencies.
127+
`make package-all-dependencies` or `make docker-package-all-dependencies` will create a single jar with all dependencies included.
128+
`make package-all-dependencies-shaded` or `make docker-package-all-dependencies-shaded` will create a single shaded jar with all dependencies included.
129129

130130
#### Thin jar
131131

132-
Thin jar can be generated by running `make docker-package`. It generates jar and list of dependencies in format compatible with copying into `pom.xml` file.
132+
The thin jar is created with `make package`. The thin jar is packaged as a zip file with its dependencies listed in a `dependencies.txt` file, compatible with `pom.xml`.
133133

134134
#### All dependencies
135135

136-
Jar with all dependencies can be generated by running `make docker-package-all-dependencies`. Produced jar includes all depenencies and can be used as a standalon jar with tools like R-Studio.
136+
The jar with all dependencies is also created. This jar includes all dependencies and can be used as a standalone jar with tools like R-Studio. You can run `make package-all-dependencies` or `make docker-package-all-dependencies` to build only the jar with all dependencies.
137137

138-
### Custom query tests
138+
#### Shaded Jar
139+
You can also build a shaded jar with all dependencies. This can be done by running `make package-all-dependencies-shaded` or `make docker-package-all-dependencies-shaded`.
139140

140-
Thin client using JDBC driver can be found in 'bigquery-jdbc-test-client' folder. It allows you to run custom queries with custom connection string to generate logs or measure performance.
141+
### Nightly builds
141142

142-
It can be built for Google JDBC drivers or any other JDBC drivers. For other JDBC drivers, you need to specify a version and it will download it.
143-
144-
#### Google test
145-
146-
For Google, you need to build an uber jar following previous steps. When it is ready, you can use these
147-
sample commands to run it:
148-
149-
```
150-
cd bigquery-jdbc-test-client
151-
make docker-package-for-validation JDBC_JAR_PATH=<path-to-uber-jar>
152-
make run QUERY=small
153-
```
154-
155-
### Night builds
156-
157-
Nightly build is running full set of Integration tests and extended Nightly tests that includes some long-running tests (takes 20+ minutes to complete).
143+
The nightly build runs the full set of integration tests, including the `ITBigQueryJDBCTest` and `ITNightlyBigQueryTest` test suites. It also includes some long-running tests (takes 20+ minutes to complete).
158144

159145
Nightly Integration Tests include a step to build a full and thin jars and upload them to Google Storage.
160146

@@ -173,7 +159,10 @@ Cloud Build Pipeline is uploading latest full jar to the internal location for p
173159

174160
We're using [JaCoCo](https://www.eclemma.org/jacoco/) to track Code Coverage. `Makefile` has 2 separate set of commands for unittests and integration tests reports.
175161

176-
You can run `make docker-coverage` and it will produce both results, you can find `jacoco-(unittest|full).zip` file in the root with results.
162+
You can run `make unit-test-coverage` to generate a coverage report for unit tests. The output will be in `jacoco-unittests.zip`.
163+
You can run `make full-coverage` to generate a coverage report for both unit and integration tests. The output will be in `jacoco-full.zip`.
164+
165+
You can also run `make docker-coverage` which will produce both results. You can find `jacoco-unittests.zip` and `jacoco-full.zip` files in the root with results.
177166

178167
## Getting Started
179168

0 commit comments

Comments
 (0)