gapic-generator-cloud 0.7.5 → 0.10.0

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: 007f9efc4c38856c37483252e137929a9b9ab8e0f006f1c14dc27d77680481e6
4
- data.tar.gz: 836aa7db448b5bc5a97b2da058725292db5b7116194c59ca329cc680f2be6e22
3
+ metadata.gz: cdd01b2e1cbb064d9d0a4c18dc113577680a2efd59059899173078c48cc2e7bb
4
+ data.tar.gz: f6382c65adff575abe6bc5b05b13c2c6f85b347bd6361c495c1cd26898c7c1b5
5
5
  SHA512:
6
- metadata.gz: e38274e7987f8d0c78ed5387159d2d55722a3b1fef1af83558e6fec5145caabaa7fd5440ee860a6df25988fd69224dec666dd20d9a9912451839663ea140bd2b
7
- data.tar.gz: 2430f381093f70cd6a0d3d4a9e3462cf15111d47392503b553b02e72817e322b9b70a0a4a1c704745623db41874ce9a55b212462fcb36c283f701acfcbdb0ebf
6
+ metadata.gz: 933868ca0d6a3bd897e4a9b083d84c2058ea331d902ed91bb4f8e2d7e6988fb715b6101409d41af713de4936c3149f5f9518d40cdd5bdb1f7be9efcffd96628d
7
+ data.tar.gz: b1618aa9023816b6d198776a47e8f182e6a7f0646c6a2219dcf7733e4295a0ced700a062af9cc987c0746f3551d44984cf4fdffeaea42dcf319e303a6d4e442f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Release History for gapic-generator-cloud
2
2
 
3
+ ### 0.10.0 / 2021-08-09
4
+
5
+ * Includes changes from gapic-generator 0.10.0
6
+
7
+ ### 0.9.2 / 2021-07-07
8
+
9
+ * Includes changes from gapic-generator 0.9.2
10
+ * Disable Style/BlockDelimiters check for sample acceptance tests
11
+ * Flags `--ruby-cloud-generate-standalone-snippets` and `--ruby-cloud-generate-yardoc-snippets` are now recognized
12
+
13
+ ### 0.9.1 / 2021-07-07
14
+
15
+ * Includes changes from gapic-generator 0.9.1
16
+ * Clarify some text in generated authentication docs
17
+
18
+ ### 0.9.0 / 2021-06-29
19
+
20
+ * Includes changes from gapic-generator 0.9.0
21
+
22
+ ### 0.8.0 / 2021-06-16
23
+
24
+ * Includes changes from gapic-generator 0.8.0
25
+
3
26
  ### 0.7.5 / 2021-05-18
4
27
 
5
28
  * Includes changes from gapic-generator 0.7.5
@@ -18,7 +18,7 @@
18
18
  module Gapic
19
19
  module Generator
20
20
  module Cloud
21
- VERSION = "0.7.5"
21
+ VERSION = "0.10.0"
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"
@@ -38,9 +38,16 @@ module Gapic
38
38
  deps
39
39
  end
40
40
 
41
+ ##
42
+ # Whether this gem has a wrapper
43
+ # @return [Boolean]
44
+ def has_wrapper?
45
+ !wrapper_name.nil?
46
+ end
47
+
41
48
  ##
42
49
  # The name of the wrapper gem corresponding to this versioned gem
43
- # @return [String]
50
+ # @return [String, nil]
44
51
  #
45
52
  def wrapper_name
46
53
  return @api.wrapper_gem_name_override if @api.wrapper_gem_name_override?
@@ -62,13 +69,35 @@ module Gapic
62
69
  #
63
70
  def description
64
71
  desc = readme_description
65
- if wrapper_name && !wrapper_name.empty?
72
+ if has_wrapper?
66
73
  desc += " Note that #{name} is a version-specific client library." \
67
74
  " For most uses, we recommend installing the main client library" \
68
75
  " #{wrapper_name} instead. See the readme for more details."
69
76
  end
70
77
  desc
71
78
  end
79
+
80
+ def cloud_env_prefix
81
+ env_prefix || "GOOGLE_CLOUD"
82
+ end
83
+
84
+ ##
85
+ # Returns a hash of extra generator arguments to be rendered into the
86
+ # repo-metadata.json file.
87
+ #
88
+ def generator_args_for_metadata
89
+ result = {}
90
+ result["ruby-cloud-description"] = description
91
+ result["ruby-cloud-env-prefix"] = env_prefix if env_prefix
92
+ result["ruby-cloud-product-url"] = product_documentation_url if product_documentation_url
93
+ path_overrides = @api.overrides_of(:file_path).map { |k, v| "#{k}=#{v}" }.join ";"
94
+ result["ruby-cloud-path-override"] = path_overrides unless path_overrides.empty?
95
+ namespace_overrides = @api.overrides_of(:namespace).map { |k, v| "#{k}=#{v}" }.join ";"
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?
99
+ result
100
+ end
72
101
  end
73
102
 
74
103
  def self.cloud_gem_presenter api
@@ -106,13 +106,24 @@ module Gapic
106
106
  end
107
107
 
108
108
  def dependencies
109
- deps = { "google-cloud-core" => "~> 1.5" }
110
- version_dependencies.each do |version, requirement|
111
- deps["#{name}-#{version}"] = "~> #{requirement}"
109
+ @dependencies ||= begin
110
+ deps = { "google-cloud-core" => "~> 1.6" }
111
+ version_dependencies.each do |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
122
+ end
123
+ extra_deps = gem_config_dependencies
124
+ deps.merge! extra_deps if extra_deps
125
+ deps
112
126
  end
113
- extra_deps = gem_config :extra_dependencies
114
- deps.merge! extra_deps if extra_deps
115
- deps
116
127
  end
117
128
 
118
129
  def google_cloud_short_name
@@ -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
@@ -6,7 +6,7 @@
6
6
 
7
7
  <%= gem.homepage %>
8
8
 
9
- <%- if gem.wrapper_name -%>
9
+ <%- if gem.has_wrapper? -%>
10
10
  This gem is a _versioned_ client. It provides basic client classes for a
11
11
  specific version of the <%= gem.title %> API. Most users should consider using
12
12
  the main client gem,
@@ -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+.
@@ -18,5 +18,8 @@
18
18
  <%- end -%>
19
19
  "repo": "googleapis/google-cloud-ruby",
20
20
  "requires_billing": <%= !gem.free_tier? %>,
21
+ <%- gem.generator_args_for_metadata.each do |key, val| -%>
22
+ <%= key.inspect %>: <%= val.inspect %>,
23
+ <%- end -%>
21
24
  "library_type": "GAPIC_AUTO"
22
25
  }
@@ -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,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gapic-generator-cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.5
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernest Landrito
8
8
  - Chris Smith
9
9
  - Mike Moore
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-05-18 00:00:00.000000000 Z
13
+ date: 2021-08-09 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.7.5
35
+ version: 0.10.0
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.7.5
42
+ version: 0.10.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: google-style
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +138,7 @@ dependencies:
138
138
  - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: '12.0'
141
- description:
141
+ description:
142
142
  email:
143
143
  - landrito@google.com
144
144
  - quartzmo@gmail.com
@@ -196,7 +196,7 @@ homepage: https://github.com/googleapis/gapic-generator-ruby
196
196
  licenses:
197
197
  - Apache-2.0
198
198
  metadata: {}
199
- post_install_message:
199
+ post_install_message:
200
200
  rdoc_options: []
201
201
  require_paths:
202
202
  - lib
@@ -211,8 +211,8 @@ 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
215
- signing_key:
214
+ rubygems_version: 3.2.22
215
+ signing_key:
216
216
  specification_version: 4
217
217
  summary: An API Client Generator for Ruby in Ruby!
218
218
  test_files: []