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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac86ed068a512a634033c1c1d15336857f9d3cc4fdc3818e37d339dc80df7814
4
- data.tar.gz: 19553dab1dc41089de60dd030760e362d14335575283f8d3229acfeb018c4615
3
+ metadata.gz: e19aa05da89d8cd2c3786a6b8df6aabdf3a1e350a759d693f157f7aa97403da5
4
+ data.tar.gz: 686c3ec9da22e5d3d6de80c53ba6ff7f98cbf32ae92dc60a91f62dee5849b15b
5
5
  SHA512:
6
- metadata.gz: 014b1551a395518c0da9182cda3d183040af720bb47079c68325597bb44baa251a634c697feacd19fdf20ec53430837a6efbd36bc75f8d8214d44ba4b4a0c7fb
7
- data.tar.gz: 398bc287670e347e178c6e7e84c604866162e1e69733cdc72311ef98832c9a783b8956a14f9695d5a178117dbfb01d260eb5e45d2717fa2997d9233fa6b13724
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
@@ -18,7 +18,7 @@
18
18
  module Gapic
19
19
  module Generator
20
20
  module Cloud
21
- VERSION = "0.8.0"
21
+ VERSION = "0.10.1"
22
22
  end
23
23
  end
24
24
  end
@@ -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" => ":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"
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, Nil]
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.5" }
110
+ deps = { "google-cloud-core" => "~> 1.6" }
111
111
  version_dependencies.each do |version, requirement|
112
- deps["#{name}-#{version}"] = "~> #{requirement}"
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.env_prefix %>_CREDENTIALS=path/to/keyfile.json
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
- 1. `<%= gem.env_prefix %>_CREDENTIALS` - Path to JSON file, or JSON contents
73
- 2. `<%= gem.env_prefix %>_KEYFILE` - Path to JSON file, or JSON contents
74
- 3. `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
75
- 4. `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
76
- 5. `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
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.env_prefix %>_CREDENTIALS"] = "path/to/keyfile.json"
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 placing them in
89
- environment variables. Either on an individual client initialization:
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 configured globally for all clients:
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.env_prefix %>_TEST_PROJECT"] ||
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.env_prefix %>_TEST_KEYFILE"] ||
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.env_prefix %>_TEST_KEYFILE_JSON"] ||
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.env_prefix %>_TEST_PROJECT=test123 <%= gem.env_prefix %>_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
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.env_prefix %>_PROJECT"] = project
80
- ENV["<%= gem.env_prefix %>_TEST_PROJECT"] = project
81
- ENV["<%= gem.env_prefix %>_KEYFILE_JSON"] = keyfile
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.first_non_common_service -%>
48
- <%- method = service&.methods.first -%>
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 = my_create_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+.
@@ -9,6 +9,7 @@ AllCops:
9
9
  - "proto_docs/**/*"
10
10
  - "test/**/*"
11
11
  - "acceptance/**/*"
12
+ - "samples/acceptance/**/*"
12
13
  - "Rakefile"
13
14
 
14
15
  Layout/LineLength:
@@ -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.env_prefix %>_TEST_PROJECT"] ||
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.env_prefix %>_TEST_KEYFILE"] ||
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.env_prefix %>_TEST_KEYFILE_JSON"] ||
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.env_prefix %>_TEST_PROJECT=test123 <%= gem.env_prefix %>_TEST_KEYFILE=/path/to/keyfile.json rake acceptance"
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.env_prefix %>_PROJECT"] = project
80
- ENV["<%= gem.env_prefix %>_TEST_PROJECT"] = project
81
- ENV["<%= gem.env_prefix %>_KEYFILE_JSON"] = keyfile
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
@@ -34,3 +34,7 @@ Metrics/PerceivedComplexity:
34
34
  Naming/FileName:
35
35
  Exclude:
36
36
  - "lib/<%= gem.name %>.rb"
37
+
38
+ Style/BlockDelimiters:
39
+ Exclude:
40
+ - "samples/**/acceptance/*.rb"
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.8.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-06-16 00:00:00.000000000 Z
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.8.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.8.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.6
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!