Skip to content
This repository was archived by the owner on Sep 16, 2023. It is now read-only.

Commit 710d449

Browse files
feat!: proto/grpc classes moved to com.google.cloud.secretmanager package (#20)
* [CHANGE ME] Re-generated to pick up changes in the API or client library generator. * feat!: remove proto/grpc classes from old package * fix: use new packages in integration test * fix!: allow breaking interface changes for the package rename * chore(lint): fix lint Co-authored-by: Jeff Ching <chingor@google.com>
1 parent 809421d commit 710d449

65 files changed

Lines changed: 2220 additions & 1877 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.

.kokoro/build.sh

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,26 @@ test)
4444
bash .kokoro/coerce_logs.sh
4545
;;
4646
lint)
47-
mvn com.coveo:fmt-maven-plugin:check
47+
mvn \
48+
-Penable-samples \
49+
com.coveo:fmt-maven-plugin:check
4850
;;
4951
javadoc)
5052
mvn javadoc:javadoc javadoc:test-javadoc
5153
;;
5254
integration)
5355
mvn -B ${INTEGRATION_TEST_ARGS} \
56+
-Penable-integration-tests \
57+
-DtrimStackTrace=false \
58+
-Dclirr.skip=true \
59+
-Denforcer.skip=true \
60+
-fae \
61+
verify
62+
bash .kokoro/coerce_logs.sh
63+
;;
64+
samples)
65+
mvn -B \
66+
-Penable-samples \
5467
-DtrimStackTrace=false \
5568
-Dclirr.skip=true \
5669
-Denforcer.skip=true \

.kokoro/continuous/samples.cfg

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
3+
# Configure the docker image for kokoro-trampoline.
4+
env_vars: {
5+
key: "TRAMPOLINE_IMAGE"
6+
value: "gcr.io/cloud-devrel-kokoro-resources/java8"
7+
}
8+
9+
env_vars: {
10+
key: "JOB_TYPE"
11+
value: "samples"
12+
}
13+
14+
env_vars: {
15+
key: "GCLOUD_PROJECT"
16+
value: "gcloud-devel"
17+
}
18+
19+
env_vars: {
20+
key: "GOOGLE_APPLICATION_CREDENTIALS"
21+
value: "keystore/73713_java_it_service_account"
22+
}
23+
24+
before_action {
25+
fetch_keystore {
26+
keystore_resource {
27+
keystore_config_id: 73713
28+
keyname: "java_it_service_account"
29+
}
30+
}
31+
}

.kokoro/nightly/samples.cfg

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
3+
# Configure the docker image for kokoro-trampoline.
4+
env_vars: {
5+
key: "TRAMPOLINE_IMAGE"
6+
value: "gcr.io/cloud-devrel-kokoro-resources/java8"
7+
}
8+
9+
env_vars: {
10+
key: "JOB_TYPE"
11+
value: "samples"
12+
}
13+
14+
env_vars: {
15+
key: "GCLOUD_PROJECT"
16+
value: "gcloud-devel"
17+
}
18+
19+
env_vars: {
20+
key: "GOOGLE_APPLICATION_CREDENTIALS"
21+
value: "keystore/73713_java_it_service_account"
22+
}
23+
24+
before_action {
25+
fetch_keystore {
26+
keystore_resource {
27+
keystore_config_id: 73713
28+
keyname: "java_it_service_account"
29+
}
30+
}
31+
}

.kokoro/presubmit/samples.cfg

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
3+
# Configure the docker image for kokoro-trampoline.
4+
env_vars: {
5+
key: "TRAMPOLINE_IMAGE"
6+
value: "gcr.io/cloud-devrel-kokoro-resources/java8"
7+
}
8+
9+
env_vars: {
10+
key: "JOB_TYPE"
11+
value: "samples"
12+
}
13+
14+
env_vars: {
15+
key: "GCLOUD_PROJECT"
16+
value: "gcloud-devel"
17+
}
18+
19+
env_vars: {
20+
key: "GOOGLE_APPLICATION_CREDENTIALS"
21+
value: "keystore/73713_java_it_service_account"
22+
}
23+
24+
before_action {
25+
fetch_keystore {
26+
keystore_resource {
27+
keystore_config_id: 73713
28+
keyname: "java_it_service_account"
29+
}
30+
}
31+
}

CONTRIBUTING.md

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,106 @@ information on using pull requests.
2525
## Community Guidelines
2626

2727
This project follows
28-
[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
28+
[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/).
29+
30+
## Building the project
31+
32+
To build, package, and run all unit tests run the command
33+
34+
```
35+
mvn clean verify
36+
```
37+
38+
### Running Integration tests
39+
40+
To include integration tests when building the project, you need access to
41+
a GCP Project with a valid service account.
42+
43+
For instructions on how to generate a service account and corresponding
44+
credentials JSON see: [Creating a Service Account][1].
45+
46+
Then run the following to build, package, run all unit tests and run all
47+
integration tests.
48+
49+
```bash
50+
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service/account.json
51+
mvn -Penable-integration-tests clean verify
52+
```
53+
54+
## Code Samples
55+
56+
Code Samples must be bundled in separate Maven modules, and guarded by a
57+
Maven profile with the name `enable-samples`.
58+
59+
The samples must be separate from the primary project for a few reasons:
60+
1. Primary projects have a minimum Java version of Java 7 whereas samples have
61+
a minimum Java version of Java 8. Due to this we need the ability to
62+
selectively exclude samples from a build run.
63+
2. Many code samples depend on external GCP services and need
64+
credentials to access the service.
65+
3. Code samples are not released as Maven artifacts and must be excluded from
66+
release builds.
67+
68+
### Building
69+
70+
```bash
71+
mvn -Penable-samples clean verify
72+
```
73+
74+
Some samples require access to GCP services and require a service account:
75+
76+
```bash
77+
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service/account.json
78+
mvn -Penable-samples clean verify
79+
```
80+
81+
### Profile Config
82+
83+
1. To add samples in a profile to your Maven project, add the following to your
84+
`pom.xml`
85+
86+
```xml
87+
<project>
88+
[...]
89+
<profiles>
90+
<profile>
91+
<id>enable-samples</id>
92+
<modules>
93+
<module>sample</module>
94+
</modules>
95+
</profile>
96+
</profiles>
97+
[...]
98+
</project>
99+
```
100+
101+
2. [Activate](#profile-activation) the profile.
102+
3. Define your samples in a normal Maven project in the `samples/` directory
103+
104+
### Profile Activation
105+
106+
To include code samples when building and testing the project, enable the
107+
`enable-samples` Maven profile.
108+
109+
#### Command line
110+
111+
To activate the Maven profile on the command line add `-Penable-samples` to your
112+
Maven command.
113+
114+
#### Maven `settings.xml`
115+
116+
To activate the Maven profile in your `~/.m2/settings.xml` add an entry of
117+
`enable-samples` following the instructions in [Active Profiles][2].
118+
119+
This method has the benefit of applying to all projects you build (and is
120+
respected by IntelliJ IDEA) and is recommended if you are going to be
121+
contributing samples to several projects.
122+
123+
#### IntelliJ IDEA
124+
125+
To activate the Maven Profile inside IntelliJ IDEA, follow the instructions in
126+
[Activate Maven profiles][3] to activate `enable-samples`.
127+
128+
[1]: https://cloud.google.com/docs/authentication/getting-started#creating_a_service_account
129+
[2]: https://maven.apache.org/settings.html#Active_Profiles
130+
[3]: https://www.jetbrains.com/help/idea/work-with-maven-profiles.html#activate_maven_profiles

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@ If you are using Maven, add this to your pom.xml file
1919
<dependency>
2020
<groupId>com.google.cloud</groupId>
2121
<artifactId>google-cloud-secretmanager</artifactId>
22-
<version>0.0.0</version>
22+
<version>0.102.0-beta</version>
2323
</dependency>
2424
```
2525
If you are using Gradle, add this to your dependencies
2626
```Groovy
27-
compile 'com.google.cloud:google-cloud-secretmanager:0.0.0'
27+
compile 'com.google.cloud:google-cloud-secretmanager:0.102.0-beta'
2828
```
2929
If you are using SBT, add this to your dependencies
3030
```Scala
31-
libraryDependencies += "com.google.cloud" % "google-cloud-secretmanager" % "0.0.0"
31+
libraryDependencies += "com.google.cloud" % "google-cloud-secretmanager" % "0.102.0-beta"
3232
```
3333
[//]: # ({x-version-update-end})
3434

@@ -101,7 +101,7 @@ Java 8 OSX | [![Kokoro CI][kokoro-badge-image-3]][kokoro-badge-link-3]
101101
Java 8 Windows | [![Kokoro CI][kokoro-badge-image-4]][kokoro-badge-link-4]
102102
Java 11 | [![Kokoro CI][kokoro-badge-image-5]][kokoro-badge-link-5]
103103

104-
[api-reference]: https://cloud.google.com/solutions/secrets-management/
104+
[api-reference]:
105105
[product-docs]: https://cloud.google.com/solutions/secrets-management/
106106
[javadocs]: https://googleapis.dev/java/java-secretmanager/latest
107107
[kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-secretmanager/java7.svg
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!-- see http://www.mojohaus.org/clirr-maven-plugin/examples/ignored-differences.html -->
3+
<differences>
4+
<difference>
5+
<differenceType>7005</differenceType>
6+
<className>com/google/cloud/secretmanager/v1beta1/SecretManagerServiceClient*</className>
7+
<method>* *(*com.google.cloud.secrets.v1beta1*)</method>
8+
<to>* *(*com.google.cloud.secretmanager.v1beta1*)</to>
9+
</difference>
10+
<difference>
11+
<differenceType>7006</differenceType>
12+
<className>com/google/cloud/secretmanager/v1beta1/SecretManagerServiceClient</className>
13+
<method>com.google.cloud.secrets.v1beta1.* *(*)</method>
14+
<to>com.google.cloud.secretmanager.v1beta1.*</to>
15+
</difference>
16+
</differences>

google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta1/SecretManagerServiceClient.java

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,6 @@
2727
import com.google.api.gax.rpc.UnaryCallable;
2828
import com.google.cloud.secretmanager.v1beta1.stub.SecretManagerServiceStub;
2929
import com.google.cloud.secretmanager.v1beta1.stub.SecretManagerServiceStubSettings;
30-
import com.google.cloud.secrets.v1beta1.AccessSecretVersionRequest;
31-
import com.google.cloud.secrets.v1beta1.AccessSecretVersionResponse;
32-
import com.google.cloud.secrets.v1beta1.AddSecretVersionRequest;
33-
import com.google.cloud.secrets.v1beta1.CreateSecretRequest;
34-
import com.google.cloud.secrets.v1beta1.DeleteSecretRequest;
35-
import com.google.cloud.secrets.v1beta1.DestroySecretVersionRequest;
36-
import com.google.cloud.secrets.v1beta1.DisableSecretVersionRequest;
37-
import com.google.cloud.secrets.v1beta1.EnableSecretVersionRequest;
38-
import com.google.cloud.secrets.v1beta1.GetSecretRequest;
39-
import com.google.cloud.secrets.v1beta1.GetSecretVersionRequest;
40-
import com.google.cloud.secrets.v1beta1.ListSecretVersionsRequest;
41-
import com.google.cloud.secrets.v1beta1.ListSecretVersionsResponse;
42-
import com.google.cloud.secrets.v1beta1.ListSecretsRequest;
43-
import com.google.cloud.secrets.v1beta1.ListSecretsResponse;
44-
import com.google.cloud.secrets.v1beta1.ProjectName;
45-
import com.google.cloud.secrets.v1beta1.Secret;
46-
import com.google.cloud.secrets.v1beta1.SecretName;
47-
import com.google.cloud.secrets.v1beta1.SecretPayload;
48-
import com.google.cloud.secrets.v1beta1.SecretVersion;
49-
import com.google.cloud.secrets.v1beta1.SecretVersionName;
50-
import com.google.cloud.secrets.v1beta1.UpdateSecretRequest;
5130
import com.google.common.util.concurrent.MoreExecutors;
5231
import com.google.iam.v1.GetIamPolicyRequest;
5332
import com.google.iam.v1.Policy;

google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta1/SecretManagerServiceSettings.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,6 @@
3030
import com.google.api.gax.rpc.TransportChannelProvider;
3131
import com.google.api.gax.rpc.UnaryCallSettings;
3232
import com.google.cloud.secretmanager.v1beta1.stub.SecretManagerServiceStubSettings;
33-
import com.google.cloud.secrets.v1beta1.AccessSecretVersionRequest;
34-
import com.google.cloud.secrets.v1beta1.AccessSecretVersionResponse;
35-
import com.google.cloud.secrets.v1beta1.AddSecretVersionRequest;
36-
import com.google.cloud.secrets.v1beta1.CreateSecretRequest;
37-
import com.google.cloud.secrets.v1beta1.DeleteSecretRequest;
38-
import com.google.cloud.secrets.v1beta1.DestroySecretVersionRequest;
39-
import com.google.cloud.secrets.v1beta1.DisableSecretVersionRequest;
40-
import com.google.cloud.secrets.v1beta1.EnableSecretVersionRequest;
41-
import com.google.cloud.secrets.v1beta1.GetSecretRequest;
42-
import com.google.cloud.secrets.v1beta1.GetSecretVersionRequest;
43-
import com.google.cloud.secrets.v1beta1.ListSecretVersionsRequest;
44-
import com.google.cloud.secrets.v1beta1.ListSecretVersionsResponse;
45-
import com.google.cloud.secrets.v1beta1.ListSecretsRequest;
46-
import com.google.cloud.secrets.v1beta1.ListSecretsResponse;
47-
import com.google.cloud.secrets.v1beta1.Secret;
48-
import com.google.cloud.secrets.v1beta1.SecretVersion;
49-
import com.google.cloud.secrets.v1beta1.UpdateSecretRequest;
5033
import com.google.iam.v1.GetIamPolicyRequest;
5134
import com.google.iam.v1.Policy;
5235
import com.google.iam.v1.SetIamPolicyRequest;

google-cloud-secretmanager/src/main/java/com/google/cloud/secretmanager/v1beta1/stub/GrpcSecretManagerServiceStub.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,23 @@
2626
import com.google.api.gax.rpc.ClientContext;
2727
import com.google.api.gax.rpc.RequestParamsExtractor;
2828
import com.google.api.gax.rpc.UnaryCallable;
29-
import com.google.cloud.secrets.v1beta1.AccessSecretVersionRequest;
30-
import com.google.cloud.secrets.v1beta1.AccessSecretVersionResponse;
31-
import com.google.cloud.secrets.v1beta1.AddSecretVersionRequest;
32-
import com.google.cloud.secrets.v1beta1.CreateSecretRequest;
33-
import com.google.cloud.secrets.v1beta1.DeleteSecretRequest;
34-
import com.google.cloud.secrets.v1beta1.DestroySecretVersionRequest;
35-
import com.google.cloud.secrets.v1beta1.DisableSecretVersionRequest;
36-
import com.google.cloud.secrets.v1beta1.EnableSecretVersionRequest;
37-
import com.google.cloud.secrets.v1beta1.GetSecretRequest;
38-
import com.google.cloud.secrets.v1beta1.GetSecretVersionRequest;
39-
import com.google.cloud.secrets.v1beta1.ListSecretVersionsRequest;
40-
import com.google.cloud.secrets.v1beta1.ListSecretVersionsResponse;
41-
import com.google.cloud.secrets.v1beta1.ListSecretsRequest;
42-
import com.google.cloud.secrets.v1beta1.ListSecretsResponse;
43-
import com.google.cloud.secrets.v1beta1.Secret;
44-
import com.google.cloud.secrets.v1beta1.SecretVersion;
45-
import com.google.cloud.secrets.v1beta1.UpdateSecretRequest;
29+
import com.google.cloud.secretmanager.v1beta1.AccessSecretVersionRequest;
30+
import com.google.cloud.secretmanager.v1beta1.AccessSecretVersionResponse;
31+
import com.google.cloud.secretmanager.v1beta1.AddSecretVersionRequest;
32+
import com.google.cloud.secretmanager.v1beta1.CreateSecretRequest;
33+
import com.google.cloud.secretmanager.v1beta1.DeleteSecretRequest;
34+
import com.google.cloud.secretmanager.v1beta1.DestroySecretVersionRequest;
35+
import com.google.cloud.secretmanager.v1beta1.DisableSecretVersionRequest;
36+
import com.google.cloud.secretmanager.v1beta1.EnableSecretVersionRequest;
37+
import com.google.cloud.secretmanager.v1beta1.GetSecretRequest;
38+
import com.google.cloud.secretmanager.v1beta1.GetSecretVersionRequest;
39+
import com.google.cloud.secretmanager.v1beta1.ListSecretVersionsRequest;
40+
import com.google.cloud.secretmanager.v1beta1.ListSecretVersionsResponse;
41+
import com.google.cloud.secretmanager.v1beta1.ListSecretsRequest;
42+
import com.google.cloud.secretmanager.v1beta1.ListSecretsResponse;
43+
import com.google.cloud.secretmanager.v1beta1.Secret;
44+
import com.google.cloud.secretmanager.v1beta1.SecretVersion;
45+
import com.google.cloud.secretmanager.v1beta1.UpdateSecretRequest;
4646
import com.google.common.collect.ImmutableMap;
4747
import com.google.iam.v1.GetIamPolicyRequest;
4848
import com.google.iam.v1.Policy;

0 commit comments

Comments
 (0)