gapic-generator-cloud 0.8.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -0
- data/lib/gapic/generator/cloud/version.rb +1 -1
- data/lib/gapic/generators/cloud_generator_parameters.rb +8 -4
- data/lib/gapic/presenters/cloud_gem_presenter.rb +8 -2
- data/lib/gapic/presenters/wrapper_gem_presenter.rb +11 -2
- data/templates/cloud/gem/authentication.erb +13 -11
- data/templates/cloud/gem/rakefile.erb +7 -7
- data/templates/cloud/gem/readme.erb +5 -3
- data/templates/cloud/gem/rubocop.erb +1 -0
- data/templates/cloud/service/client/_credentials.erb +4 -0
- data/templates/cloud/wrapper_gem/rakefile.erb +7 -7
- data/templates/cloud/wrapper_gem/rubocop.erb +4 -0
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e19aa05da89d8cd2c3786a6b8df6aabdf3a1e350a759d693f157f7aa97403da5
|
|
4
|
+
data.tar.gz: 686c3ec9da22e5d3d6de80c53ba6ff7f98cbf32ae92dc60a91f62dee5849b15b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5040c06a7e04e7d8a1f020bfe3332495ad1c346966237d14e813442b58416ff332eb955443191328c68b0ee35de907f0587d5b821d6015d86b7ce11dd96747cf
|
|
7
|
+
data.tar.gz: 36d887e5fd2669fe1220f8a57816b1f06efd3a100ff18c9882458bfd57d364a618d8e76be2b514adf1596af1a6554f416fe38881767b98e8b9d7909bffb5bdd9
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Release History for gapic-generator-cloud
|
|
2
2
|
|
|
3
|
+
### 0.10.1 / 2021-08-27
|
|
4
|
+
|
|
5
|
+
* Includes changes from gapic-generator 0.10.1
|
|
6
|
+
|
|
7
|
+
### 0.10.0 / 2021-08-09
|
|
8
|
+
|
|
9
|
+
* Includes changes from gapic-generator 0.10.0
|
|
10
|
+
|
|
11
|
+
### 0.9.2 / 2021-07-07
|
|
12
|
+
|
|
13
|
+
* Includes changes from gapic-generator 0.9.2
|
|
14
|
+
* Disable Style/BlockDelimiters check for sample acceptance tests
|
|
15
|
+
* Flags `--ruby-cloud-generate-standalone-snippets` and `--ruby-cloud-generate-yardoc-snippets` are now recognized
|
|
16
|
+
|
|
17
|
+
### 0.9.1 / 2021-07-07
|
|
18
|
+
|
|
19
|
+
* Includes changes from gapic-generator 0.9.1
|
|
20
|
+
* Clarify some text in generated authentication docs
|
|
21
|
+
|
|
22
|
+
### 0.9.0 / 2021-06-29
|
|
23
|
+
|
|
24
|
+
* Includes changes from gapic-generator 0.9.0
|
|
25
|
+
|
|
3
26
|
### 0.8.0 / 2021-06-16
|
|
4
27
|
|
|
5
28
|
* Includes changes from gapic-generator 0.8.0
|
|
@@ -21,10 +21,12 @@ module Gapic
|
|
|
21
21
|
# Contains the cloud generator's parameters
|
|
22
22
|
module CloudGeneratorParameters
|
|
23
23
|
BOOL_PARAMETERS_ALIASES = {
|
|
24
|
-
"ruby-cloud-free-tier"
|
|
25
|
-
"ruby-cloud-yard-strict"
|
|
26
|
-
"ruby-cloud-generic-endpoint"
|
|
27
|
-
"ruby-cloud-generate-metadata"
|
|
24
|
+
"ruby-cloud-free-tier" => ":gem.:free_tier",
|
|
25
|
+
"ruby-cloud-yard-strict" => ":gem.:yard_strict",
|
|
26
|
+
"ruby-cloud-generic-endpoint" => ":gem.:generic_endpoint",
|
|
27
|
+
"ruby-cloud-generate-metadata" => ":generate_metadata",
|
|
28
|
+
"ruby-cloud-generate-standalone-snippets" => ":generate_standalone_snippets",
|
|
29
|
+
"ruby-cloud-generate-yardoc-snippets" => ":generate_yardoc_snippets"
|
|
28
30
|
}.freeze
|
|
29
31
|
|
|
30
32
|
STRING_PARAMETERS_ALIASES = {
|
|
@@ -42,6 +44,8 @@ module Gapic
|
|
|
42
44
|
"ruby-cloud-api-id" => ":gem.:api_id",
|
|
43
45
|
"ruby-cloud-api-shortname" => ":gem.:api_shortname",
|
|
44
46
|
"ruby-cloud-factory-method-suffix" => ":gem.:factory_method_suffix",
|
|
47
|
+
"ruby-cloud-quick-start-service" => ":gem.:quick_start_service",
|
|
48
|
+
"ruby-cloud-quick-start-method" => ":gem.:quick_start_method",
|
|
45
49
|
"ruby-cloud-default-service-host" => ":defaults.:service.:default_host",
|
|
46
50
|
"ruby-cloud-grpc-service-config" => "grpc_service_config",
|
|
47
51
|
"ruby-cloud-wrapper-gem-override" => ":overrides.:wrapper_gem_name"
|
|
@@ -47,7 +47,7 @@ module Gapic
|
|
|
47
47
|
|
|
48
48
|
##
|
|
49
49
|
# The name of the wrapper gem corresponding to this versioned gem
|
|
50
|
-
# @return [String,
|
|
50
|
+
# @return [String, nil]
|
|
51
51
|
#
|
|
52
52
|
def wrapper_name
|
|
53
53
|
return @api.wrapper_gem_name_override if @api.wrapper_gem_name_override?
|
|
@@ -77,6 +77,10 @@ module Gapic
|
|
|
77
77
|
desc
|
|
78
78
|
end
|
|
79
79
|
|
|
80
|
+
def cloud_env_prefix
|
|
81
|
+
env_prefix || "GOOGLE_CLOUD"
|
|
82
|
+
end
|
|
83
|
+
|
|
80
84
|
##
|
|
81
85
|
# Returns a hash of extra generator arguments to be rendered into the
|
|
82
86
|
# repo-metadata.json file.
|
|
@@ -84,12 +88,14 @@ module Gapic
|
|
|
84
88
|
def generator_args_for_metadata
|
|
85
89
|
result = {}
|
|
86
90
|
result["ruby-cloud-description"] = description
|
|
87
|
-
result["ruby-cloud-env-prefix"] = env_prefix
|
|
91
|
+
result["ruby-cloud-env-prefix"] = env_prefix if env_prefix
|
|
88
92
|
result["ruby-cloud-product-url"] = product_documentation_url if product_documentation_url
|
|
89
93
|
path_overrides = @api.overrides_of(:file_path).map { |k, v| "#{k}=#{v}" }.join ";"
|
|
90
94
|
result["ruby-cloud-path-override"] = path_overrides unless path_overrides.empty?
|
|
91
95
|
namespace_overrides = @api.overrides_of(:namespace).map { |k, v| "#{k}=#{v}" }.join ";"
|
|
92
96
|
result["ruby-cloud-namespace-override"] = namespace_overrides unless namespace_overrides.empty?
|
|
97
|
+
service_overrides = @api.overrides_of(:service).map { |k, v| "#{k}=#{v}" }.join ";"
|
|
98
|
+
result["ruby-cloud-service-override"] = service_overrides unless service_overrides.empty?
|
|
93
99
|
result
|
|
94
100
|
end
|
|
95
101
|
end
|
|
@@ -107,9 +107,18 @@ module Gapic
|
|
|
107
107
|
|
|
108
108
|
def dependencies
|
|
109
109
|
@dependencies ||= begin
|
|
110
|
-
deps = { "google-cloud-core" => "~> 1.
|
|
110
|
+
deps = { "google-cloud-core" => "~> 1.6" }
|
|
111
111
|
version_dependencies.each do |version, requirement|
|
|
112
|
-
|
|
112
|
+
# For pre-release dependencies on versioned clients, support both
|
|
113
|
+
# 0.x and 1.x versions to ease the transition to 1.0 (GA) releases
|
|
114
|
+
# for those dependencies. (Note the 0.x->1.0 transition is
|
|
115
|
+
# generally not breaking.)
|
|
116
|
+
deps["#{name}-#{version}"] =
|
|
117
|
+
if requirement.start_with? "0."
|
|
118
|
+
[">= #{requirement}", "< 2.a"]
|
|
119
|
+
else
|
|
120
|
+
"~> #{requirement}"
|
|
121
|
+
end
|
|
113
122
|
end
|
|
114
123
|
extra_deps = gem_config_dependencies
|
|
115
124
|
deps.merge! extra_deps if extra_deps
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<%- assert_locals gem -%>
|
|
2
|
-
<%- service = gem.first_non_common_service -%>
|
|
2
|
+
<%- service = gem.first_non_common_service.usable_service_presenter -%>
|
|
3
3
|
<%- assert_locals service -%>
|
|
4
4
|
# Authentication
|
|
5
5
|
|
|
@@ -22,7 +22,7 @@ during development.
|
|
|
22
22
|
2. Set the [environment variable](#environment-variables).
|
|
23
23
|
|
|
24
24
|
```sh
|
|
25
|
-
export <%= gem.
|
|
25
|
+
export <%= gem.cloud_env_prefix %>_CREDENTIALS=path/to/keyfile.json
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
3. Initialize the client.
|
|
@@ -69,24 +69,26 @@ The environment variables that <%= gem.name %>
|
|
|
69
69
|
checks for credentials are configured on the service Credentials class (such as
|
|
70
70
|
<%= service.credentials_class_xref %>):
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
72
|
+
<%- if gem.env_prefix -%>
|
|
73
|
+
* `<%= gem.env_prefix %>_CREDENTIALS` - Path to JSON file, or JSON contents
|
|
74
|
+
* `<%= gem.env_prefix %>_KEYFILE` - Path to JSON file, or JSON contents
|
|
75
|
+
<%- end -%>
|
|
76
|
+
* `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
|
|
77
|
+
* `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
|
|
78
|
+
* `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
|
|
77
79
|
|
|
78
80
|
```ruby
|
|
79
81
|
require "<%= gem.entrypoint_require %>"
|
|
80
82
|
|
|
81
|
-
ENV["<%= gem.
|
|
83
|
+
ENV["<%= gem.cloud_env_prefix %>_CREDENTIALS"] = "path/to/keyfile.json"
|
|
82
84
|
|
|
83
85
|
client = <%= service.create_client_call %>
|
|
84
86
|
```
|
|
85
87
|
|
|
86
88
|
### Configuration
|
|
87
89
|
|
|
88
|
-
The **Credentials JSON** can be configured instead of
|
|
89
|
-
environment
|
|
90
|
+
The path to the **Credentials JSON** file can be configured instead of storing
|
|
91
|
+
it in an environment variable. Either on an individual client initialization:
|
|
90
92
|
|
|
91
93
|
```ruby
|
|
92
94
|
require "<%= gem.entrypoint_require %>"
|
|
@@ -96,7 +98,7 @@ client = <%= service.create_client_call %> do |config|
|
|
|
96
98
|
end
|
|
97
99
|
```
|
|
98
100
|
|
|
99
|
-
Or
|
|
101
|
+
Or globally for all clients:
|
|
100
102
|
|
|
101
103
|
```ruby
|
|
102
104
|
require "<%= gem.entrypoint_require %>"
|
|
@@ -56,29 +56,29 @@ task :acceptance, :project, :keyfile do |t, args|
|
|
|
56
56
|
<%- if service && !gem.generic_endpoint? -%>
|
|
57
57
|
project = args[:project]
|
|
58
58
|
project ||=
|
|
59
|
-
ENV["<%= gem.
|
|
59
|
+
ENV["<%= gem.cloud_env_prefix %>_TEST_PROJECT"] ||
|
|
60
60
|
ENV["GCLOUD_TEST_PROJECT"]
|
|
61
61
|
keyfile = args[:keyfile]
|
|
62
62
|
keyfile ||=
|
|
63
|
-
ENV["<%= gem.
|
|
63
|
+
ENV["<%= gem.cloud_env_prefix %>_TEST_KEYFILE"] ||
|
|
64
64
|
ENV["GCLOUD_TEST_KEYFILE"]
|
|
65
65
|
if keyfile
|
|
66
66
|
keyfile = File.read keyfile
|
|
67
67
|
else
|
|
68
68
|
keyfile ||=
|
|
69
|
-
ENV["<%= gem.
|
|
69
|
+
ENV["<%= gem.cloud_env_prefix %>_TEST_KEYFILE_JSON"] ||
|
|
70
70
|
ENV["GCLOUD_TEST_KEYFILE_JSON"]
|
|
71
71
|
end
|
|
72
72
|
if project.nil? || keyfile.nil?
|
|
73
|
-
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or <%= gem.
|
|
73
|
+
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or <%= gem.cloud_env_prefix %>_TEST_PROJECT=test123 <%= gem.cloud_env_prefix %>_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
|
|
74
74
|
end
|
|
75
75
|
require "<%= service.credentials_require %>"
|
|
76
76
|
<%= service.credentials_name_full %>.env_vars.each do |path|
|
|
77
77
|
ENV[path] = nil
|
|
78
78
|
end
|
|
79
|
-
ENV["<%= gem.
|
|
80
|
-
ENV["<%= gem.
|
|
81
|
-
ENV["<%= gem.
|
|
79
|
+
ENV["<%= gem.cloud_env_prefix %>_PROJECT"] = project
|
|
80
|
+
ENV["<%= gem.cloud_env_prefix %>_TEST_PROJECT"] = project
|
|
81
|
+
ENV["<%= gem.cloud_env_prefix %>_KEYFILE_JSON"] = keyfile
|
|
82
82
|
|
|
83
83
|
<%- end -%>
|
|
84
84
|
Rake::Task["acceptance:run"].invoke
|
|
@@ -44,12 +44,12 @@ In order to use this library, you first need to go through the following steps:
|
|
|
44
44
|
<%- if gem.packages? -%>
|
|
45
45
|
```ruby
|
|
46
46
|
require "<%= gem.entrypoint_require %>"
|
|
47
|
-
<%- service = gem.
|
|
48
|
-
<%- method = service&.
|
|
47
|
+
<%- service = gem.quick_start_service.usable_service_presenter -%>
|
|
48
|
+
<%- method = service&.quick_start_method -%>
|
|
49
49
|
<%- if service && method -%>
|
|
50
50
|
|
|
51
51
|
client = <%= service.create_client_call %>
|
|
52
|
-
request =
|
|
52
|
+
request = <%= method.request_type %>.new # (request fields as keyword arguments...)
|
|
53
53
|
response = client.<%= method.name %> request
|
|
54
54
|
<%- end -%>
|
|
55
55
|
```
|
|
@@ -65,6 +65,7 @@ See also the [Product Documentation](<%= gem.product_documentation_url %>)
|
|
|
65
65
|
for general usage information.
|
|
66
66
|
|
|
67
67
|
<%- end -%>
|
|
68
|
+
<%- if gem.show_grpc_logging_docs? -%>
|
|
68
69
|
## Enabling Logging
|
|
69
70
|
|
|
70
71
|
To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
|
|
@@ -91,6 +92,7 @@ module GRPC
|
|
|
91
92
|
end
|
|
92
93
|
```
|
|
93
94
|
|
|
95
|
+
<%- end -%>
|
|
94
96
|
## Supported Ruby Versions
|
|
95
97
|
|
|
96
98
|
This library is supported on Ruby 2.5+.
|
|
@@ -13,13 +13,17 @@ class <%= service.credentials_name %> < ::Google::Auth::Credentials
|
|
|
13
13
|
]
|
|
14
14
|
<%- end -%>
|
|
15
15
|
self.env_vars = [
|
|
16
|
+
<%- if service.gem.env_prefix -%>
|
|
16
17
|
"<%= service.gem.env_prefix %>_CREDENTIALS",
|
|
17
18
|
"<%= service.gem.env_prefix %>_KEYFILE",
|
|
19
|
+
<%- end -%>
|
|
18
20
|
"GOOGLE_CLOUD_CREDENTIALS",
|
|
19
21
|
"GOOGLE_CLOUD_KEYFILE",
|
|
20
22
|
"GCLOUD_KEYFILE",
|
|
23
|
+
<%- if service.gem.env_prefix -%>
|
|
21
24
|
"<%= service.gem.env_prefix %>_CREDENTIALS_JSON",
|
|
22
25
|
"<%= service.gem.env_prefix %>_KEYFILE_JSON",
|
|
26
|
+
<%- end -%>
|
|
23
27
|
"GOOGLE_CLOUD_CREDENTIALS_JSON",
|
|
24
28
|
"GOOGLE_CLOUD_KEYFILE_JSON",
|
|
25
29
|
"GCLOUD_KEYFILE_JSON"
|
|
@@ -56,29 +56,29 @@ desc "Run the <%= gem.name %> acceptance tests."
|
|
|
56
56
|
task :acceptance, :project, :keyfile do |t, args|
|
|
57
57
|
project = args[:project]
|
|
58
58
|
project ||=
|
|
59
|
-
ENV["<%= gem.
|
|
59
|
+
ENV["<%= gem.cloud_env_prefix %>_TEST_PROJECT"] ||
|
|
60
60
|
ENV["GCLOUD_TEST_PROJECT"]
|
|
61
61
|
keyfile = args[:keyfile]
|
|
62
62
|
keyfile ||=
|
|
63
|
-
ENV["<%= gem.
|
|
63
|
+
ENV["<%= gem.cloud_env_prefix %>_TEST_KEYFILE"] ||
|
|
64
64
|
ENV["GCLOUD_TEST_KEYFILE"]
|
|
65
65
|
if keyfile
|
|
66
66
|
keyfile = File.read keyfile
|
|
67
67
|
else
|
|
68
68
|
keyfile ||=
|
|
69
|
-
ENV["<%= gem.
|
|
69
|
+
ENV["<%= gem.cloud_env_prefix %>_TEST_KEYFILE_JSON"] ||
|
|
70
70
|
ENV["GCLOUD_TEST_KEYFILE_JSON"]
|
|
71
71
|
end
|
|
72
72
|
if project.nil? || keyfile.nil?
|
|
73
|
-
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or <%= gem.
|
|
73
|
+
fail "You must provide a project and keyfile. e.g. rake acceptance[test123, /path/to/keyfile.json] or <%= gem.cloud_env_prefix %>_TEST_PROJECT=test123 <%= gem.cloud_env_prefix %>_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
|
|
74
74
|
end
|
|
75
75
|
require "<%= service.credentials_require %>"
|
|
76
76
|
<%= service.credentials_name_full %>.env_vars.each do |path|
|
|
77
77
|
ENV[path] = nil
|
|
78
78
|
end
|
|
79
|
-
ENV["<%= gem.
|
|
80
|
-
ENV["<%= gem.
|
|
81
|
-
ENV["<%= gem.
|
|
79
|
+
ENV["<%= gem.cloud_env_prefix %>_PROJECT"] = project
|
|
80
|
+
ENV["<%= gem.cloud_env_prefix %>_TEST_PROJECT"] = project
|
|
81
|
+
ENV["<%= gem.cloud_env_prefix %>_KEYFILE_JSON"] = keyfile
|
|
82
82
|
|
|
83
83
|
Rake::Task["acceptance:run"].invoke
|
|
84
84
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gapic-generator-cloud
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.10.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ernest Landrito
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2021-
|
|
13
|
+
date: 2021-08-27 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: actionpack
|
|
@@ -32,14 +32,14 @@ dependencies:
|
|
|
32
32
|
requirements:
|
|
33
33
|
- - '='
|
|
34
34
|
- !ruby/object:Gem::Version
|
|
35
|
-
version: 0.
|
|
35
|
+
version: 0.10.1
|
|
36
36
|
type: :runtime
|
|
37
37
|
prerelease: false
|
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
39
39
|
requirements:
|
|
40
40
|
- - '='
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: 0.
|
|
42
|
+
version: 0.10.1
|
|
43
43
|
- !ruby/object:Gem::Dependency
|
|
44
44
|
name: google-style
|
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -211,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
211
211
|
- !ruby/object:Gem::Version
|
|
212
212
|
version: '0'
|
|
213
213
|
requirements: []
|
|
214
|
-
rubygems_version: 3.1.
|
|
214
|
+
rubygems_version: 3.1.2
|
|
215
215
|
signing_key:
|
|
216
216
|
specification_version: 4
|
|
217
217
|
summary: An API Client Generator for Ruby in Ruby!
|