gapic-generator-cloud 0.7.0 → 0.8.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: c751d7b581655b797aa620a09b6954f79d741075d443ece0938512e6a816a5db
4
- data.tar.gz: dce39d1de70b9426ae427d076bce1150f362c466a49439ca99a73df54176fbf9
3
+ metadata.gz: ac86ed068a512a634033c1c1d15336857f9d3cc4fdc3818e37d339dc80df7814
4
+ data.tar.gz: 19553dab1dc41089de60dd030760e362d14335575283f8d3229acfeb018c4615
5
5
  SHA512:
6
- metadata.gz: 4025efcd6b63862374feaf1b7fc49363cd8d1532d75a27f9246e383018d9cb62936ee6b0b1cb2c57f661a7746b44ecdd6d37189115cf3cb4406d21fd12834577
7
- data.tar.gz: d9f83817a4799b72f615c2c34f47cbe2575aa97059ee9634e33a32880d6e3a0b9788d785515393598c116757044d17d2f5e6c0ce748ba1d16cfcf8f7bd643ef2
6
+ metadata.gz: 014b1551a395518c0da9182cda3d183040af720bb47079c68325597bb44baa251a634c697feacd19fdf20ec53430837a6efbd36bc75f8d8214d44ba4b4a0c7fb
7
+ data.tar.gz: 398bc287670e347e178c6e7e84c604866162e1e69733cdc72311ef98832c9a783b8956a14f9695d5a178117dbfb01d260eb5e45d2717fa2997d9233fa6b13724
data/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # Release History for gapic-generator-cloud
2
2
 
3
+ ### 0.8.0 / 2021-06-16
4
+
5
+ * Includes changes from gapic-generator 0.8.0
6
+
7
+ ### 0.7.5 / 2021-05-18
8
+
9
+ * Includes changes from gapic-generator 0.7.5
10
+
11
+ ### 0.7.4 / 2021-05-07
12
+
13
+ * Includes changes from gapic-generator 0.7.4
14
+
15
+ ### 0.7.3 / 2021-03-24
16
+
17
+ * Includes changes from gapic-generator 0.7.3
18
+ * Gapic metadata file generation is enabled by default for gapic-generator-cloud
19
+
20
+ ### 0.7.2 / 2021-03-05
21
+
22
+ * Disable metrics-related rubocop checks in generated wrapper libraries.
23
+
24
+ ### 0.7.1 / 2021-02-27
25
+
26
+ * Update generated readmes to reflect that Ruby 2.5 or later is now required.
27
+
3
28
  ### 0.7.0 / 2021-02-27
4
29
 
5
30
  * Includes changes from gapic-generator 0.7.0, notably dropping Ruby 2.4 support.
@@ -18,7 +18,7 @@
18
18
  module Gapic
19
19
  module Generator
20
20
  module Cloud
21
- VERSION = "0.7.0"
21
+ VERSION = "0.8.0"
22
22
  end
23
23
  end
24
24
  end
@@ -33,6 +33,11 @@ module Gapic
33
33
  gem_config = api.configuration[:gem] ||= {}
34
34
  gem_config[:homepage] ||= "https://github.com/googleapis/google-cloud-ruby"
35
35
 
36
+ # The gapic metadata generation is disabled by default as per spec.
37
+ # However it should be enabled by default for cloud libraries, otherwise we'll have to
38
+ # enable it in every synth/bazel file.
39
+ api.configuration[:generate_metadata] = true if api.configuration[:generate_metadata].nil?
40
+
36
41
  super
37
42
 
38
43
  # Configure to use prefer Google Cloud templates
@@ -21,9 +21,10 @@ 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"
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"
27
28
  }.freeze
28
29
 
29
30
  STRING_PARAMETERS_ALIASES = {
@@ -42,11 +43,13 @@ module Gapic
42
43
  "ruby-cloud-api-shortname" => ":gem.:api_shortname",
43
44
  "ruby-cloud-factory-method-suffix" => ":gem.:factory_method_suffix",
44
45
  "ruby-cloud-default-service-host" => ":defaults.:service.:default_host",
45
- "ruby-cloud-grpc-service-config" => "grpc_service_config"
46
+ "ruby-cloud-grpc-service-config" => "grpc_service_config",
47
+ "ruby-cloud-wrapper-gem-override" => ":overrides.:wrapper_gem_name"
46
48
  }.freeze
47
49
 
48
50
  ARRAY_PARAMETERS_ALIASES = {
49
- "ruby-cloud-default-oauth-scopes" => ":defaults.:service.:oauth_scopes"
51
+ "ruby-cloud-default-oauth-scopes" => ":defaults.:service.:oauth_scopes",
52
+ "ruby-cloud-generate-transports" => ":transports"
50
53
  }.freeze
51
54
 
52
55
  MAP_PARAMETERS_ALIASES = {
@@ -38,11 +38,20 @@ 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
53
+ return @api.wrapper_gem_name_override if @api.wrapper_gem_name_override?
54
+
46
55
  minfo = /^(.+)-v\d\w*$/.match name
47
56
  minfo ? minfo[1] : nil
48
57
  end
@@ -60,13 +69,29 @@ module Gapic
60
69
  #
61
70
  def description
62
71
  desc = readme_description
63
- if wrapper_name
72
+ if has_wrapper?
64
73
  desc += " Note that #{name} is a version-specific client library." \
65
74
  " For most uses, we recommend installing the main client library" \
66
75
  " #{wrapper_name} instead. See the readme for more details."
67
76
  end
68
77
  desc
69
78
  end
79
+
80
+ ##
81
+ # Returns a hash of extra generator arguments to be rendered into the
82
+ # repo-metadata.json file.
83
+ #
84
+ def generator_args_for_metadata
85
+ result = {}
86
+ result["ruby-cloud-description"] = description
87
+ result["ruby-cloud-env-prefix"] = env_prefix
88
+ result["ruby-cloud-product-url"] = product_documentation_url if product_documentation_url
89
+ path_overrides = @api.overrides_of(:file_path).map { |k, v| "#{k}=#{v}" }.join ";"
90
+ result["ruby-cloud-path-override"] = path_overrides unless path_overrides.empty?
91
+ namespace_overrides = @api.overrides_of(:namespace).map { |k, v| "#{k}=#{v}" }.join ";"
92
+ result["ruby-cloud-namespace-override"] = namespace_overrides unless namespace_overrides.empty?
93
+ result
94
+ end
70
95
  end
71
96
 
72
97
  def self.cloud_gem_presenter api
@@ -106,13 +106,15 @@ 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.5" }
111
+ version_dependencies.each do |version, requirement|
112
+ deps["#{name}-#{version}"] = "~> #{requirement}"
113
+ end
114
+ extra_deps = gem_config_dependencies
115
+ deps.merge! extra_deps if extra_deps
116
+ deps
112
117
  end
113
- extra_deps = gem_config :extra_dependencies
114
- deps.merge! extra_deps if extra_deps
115
- deps
116
118
  end
117
119
 
118
120
  def google_cloud_short_name
@@ -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,
@@ -36,7 +36,7 @@ In order to use this library, you first need to go through the following steps:
36
36
  <%- if gem.api_id -%>
37
37
  1. [Enable the API.](https://console.cloud.google.com/apis/library/<%= gem.api_id %>)
38
38
  <%- end -%>
39
- 1. {file:AUTHENTICATION.md Set up authentication.}
39
+ 1. [Set up authentication.](AUTHENTICATION.md)
40
40
 
41
41
  <%- end -%>
42
42
  ## Quick Start
@@ -93,11 +93,11 @@ end
93
93
 
94
94
  ## Supported Ruby Versions
95
95
 
96
- This library is supported on Ruby 2.4+.
96
+ This library is supported on Ruby 2.5+.
97
97
 
98
98
  Google provides official support for Ruby versions that are actively supported
99
99
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
100
- in security maintenance, and not end of life. Currently, this means Ruby 2.4
100
+ in security maintenance, and not end of life. Currently, this means Ruby 2.5
101
101
  and later. Older versions of Ruby _may_ still work, but are unsupported and not
102
102
  recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
103
103
  about the Ruby support schedule.
@@ -17,5 +17,9 @@
17
17
  "product_documentation": "<%= gem.product_documentation_url %>",
18
18
  <%- end -%>
19
19
  "repo": "googleapis/google-cloud-ruby",
20
- "requires_billing": <%= !gem.free_tier? %>
20
+ "requires_billing": <%= !gem.free_tier? %>,
21
+ <%- gem.generator_args_for_metadata.each do |key, val| -%>
22
+ <%= key.inspect %>: <%= val.inspect %>,
23
+ <%- end -%>
24
+ "library_type": "GAPIC_AUTO"
21
25
  }
@@ -0,0 +1,4 @@
1
+ <%- assert_locals method -%>
2
+ rescue ::Faraday::Error => e
3
+ gapic_error = ::Gapic::Rest::Error.wrap_faraday_error e
4
+ raise ::Google::Cloud::Error.from_error(gapic_error)
@@ -0,0 +1,2 @@
1
+ <%- assert_locals method -%>
2
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
@@ -88,11 +88,11 @@ end
88
88
 
89
89
  ## Supported Ruby Versions
90
90
 
91
- This library is supported on Ruby 2.4+.
91
+ This library is supported on Ruby 2.5+.
92
92
 
93
93
  Google provides official support for Ruby versions that are actively supported
94
94
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
95
- in security maintenance, and not end of life. Currently, this means Ruby 2.4
95
+ in security maintenance, and not end of life. Currently, this means Ruby 2.5
96
96
  and later. Older versions of Ruby _may_ still work, but are unsupported and not
97
97
  recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
98
98
  about the Ruby support schedule.
@@ -13,10 +13,23 @@ Bundler/OrderedGems:
13
13
  Enabled: false
14
14
  Documentation:
15
15
  Enabled: false
16
-
16
+ Layout/LineLength:
17
+ Enabled: false
17
18
  Metrics/BlockLength:
18
19
  Exclude:
19
20
  - "samples/**/acceptance/*.rb"
21
+ Metrics/AbcSize:
22
+ Enabled: false
23
+ Metrics/ClassLength:
24
+ Enabled: false
25
+ Metrics/CyclomaticComplexity:
26
+ Enabled: false
27
+ Metrics/MethodLength:
28
+ Enabled: false
29
+ Metrics/ModuleLength:
30
+ Enabled: false
31
+ Metrics/PerceivedComplexity:
32
+ Enabled: false
20
33
 
21
34
  Naming/FileName:
22
35
  Exclude:
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.7.0
4
+ version: 0.8.0
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-02-27 00:00:00.000000000 Z
13
+ date: 2021-06-16 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.0
35
+ version: 0.8.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.0
42
+ version: 0.8.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: google-style
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -177,6 +177,8 @@ files:
177
177
  - templates/cloud/service/client/_self_configure.erb
178
178
  - templates/cloud/service/client/method/def/_rescue.erb
179
179
  - templates/cloud/service/client/method/docs/_error.erb
180
+ - templates/cloud/service/rest/client/method/def/_rescue.erb
181
+ - templates/cloud/service/rest/client/method/docs/_error.erb
180
182
  - templates/cloud/shared/_license.erb
181
183
  - templates/cloud/wrapper_gem/_main.erb
182
184
  - templates/cloud/wrapper_gem/client_test.erb
@@ -209,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
211
  - !ruby/object:Gem::Version
210
212
  version: '0'
211
213
  requirements: []
212
- rubygems_version: 3.2.11
214
+ rubygems_version: 3.1.6
213
215
  signing_key:
214
216
  specification_version: 4
215
217
  summary: An API Client Generator for Ruby in Ruby!