gapic-generator-cloud 0.7.5 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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: []