gapic-generator-cloud 0.5.1 → 0.6.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 +4 -4
- data/CHANGELOG.md +8 -0
- data/bin/ruby-cloud-docker-entrypoint +4 -2
- data/lib/gapic/generator/cloud/version.rb +1 -1
- data/lib/gapic/generators/cloud_generator.rb +10 -9
- data/lib/gapic/presenters/cloud_gem_presenter.rb +46 -0
- data/lib/gapic/presenters/wrapper_gem_presenter.rb +14 -9
- data/lib/gapic/presenters/wrapper_service_presenter.rb +0 -4
- data/templates/cloud/gem/rakefile.erb +2 -2
- data/templates/cloud/gem/readme.erb +2 -0
- data/templates/cloud/gem/yardopts.erb +2 -0
- data/templates/cloud/wrapper_gem/gemfile.erb +1 -4
- data/templates/cloud/wrapper_gem/gemspec.erb +3 -4
- data/templates/cloud/wrapper_gem/readme.erb +2 -0
- data/templates/cloud/wrapper_gem/rubocop.erb +1 -1
- data/templates/cloud/wrapper_gem/yardopts.erb +2 -0
- metadata +5 -5
- data/templates/cloud/gem/gemspec.erb +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz: '
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '02926a88b55343003c21f8032beb370d1bbdb2ae37ebf88aefe0ddd4d40a69df'
|
4
|
+
data.tar.gz: ced33bd5a212b6bd52a31bb9a49eee2913423a0350bfea48f33d18ced6ca3a83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ceca5878427fafb3b122924851298a99addaa2832ff45eb3219178cbb63e31545a91504909e54c1c05d945a75967c3f98680e4a2dbf0728270269ae5ba18bd1
|
7
|
+
data.tar.gz: 82e55f290ca429d499158c9f33342e3895b06c6de1e2d1d37eee88718561501444f713503279c04d4fb7bd13fbf41d42b98cae4293d6a3edb8940f014057e1a3
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# Release History for gapic-generator-cloud
|
2
2
|
|
3
|
+
### 0.6.0 / 2020-06-02
|
4
|
+
|
5
|
+
* Includes changes from gapic-generator 0.6.0.
|
6
|
+
* Support for clients with generic endpoint and credentials.
|
7
|
+
* Support for adding extra dependencies.
|
8
|
+
* Fix the logic determining whether a wrapper needs a separate entrypoint file.
|
9
|
+
* Disable Metrics/BlockLength check for all sample tests.
|
10
|
+
|
3
11
|
### 0.5.1 / 2020-05-21
|
4
12
|
|
5
13
|
* Includes changes from gapic-generator 0.5.1
|
@@ -21,7 +21,8 @@ require "fileutils"
|
|
21
21
|
# Boolean options may have values "true" or "false" (as strings)
|
22
22
|
bool_option_map = {
|
23
23
|
":gem.:free_tier" => "ruby-cloud-free-tier",
|
24
|
-
":gem.:yard_strict" => "ruby-cloud-yard-strict"
|
24
|
+
":gem.:yard_strict" => "ruby-cloud-yard-strict",
|
25
|
+
":gem.:generic_endpoint" => "ruby-cloud-generic-endpoint"
|
25
26
|
}
|
26
27
|
|
27
28
|
# Value options always take string values.
|
@@ -54,7 +55,8 @@ map_option_map = {
|
|
54
55
|
":common_services" => "ruby-cloud-common-services",
|
55
56
|
":overrides.:file_path" => "ruby-cloud-path-override",
|
56
57
|
":overrides.:namespace" => "ruby-cloud-namespace-override",
|
57
|
-
":overrides.:service" => "ruby-cloud-service-override"
|
58
|
+
":overrides.:service" => "ruby-cloud-service-override",
|
59
|
+
":gem.:extra_dependencies" => "ruby-cloud-extra-dependencies"
|
58
60
|
}
|
59
61
|
|
60
62
|
# A set of files that, if generated, should be removed.
|
@@ -16,6 +16,7 @@
|
|
16
16
|
|
17
17
|
require "gapic/generators/default_generator"
|
18
18
|
require "gapic/presenters"
|
19
|
+
require "gapic/presenters/cloud_gem_presenter"
|
19
20
|
require "gapic/presenters/wrapper_gem_presenter"
|
20
21
|
|
21
22
|
module Gapic
|
@@ -42,19 +43,19 @@ module Gapic
|
|
42
43
|
# @return [Array<
|
43
44
|
# Google::Protobuf::Compiler::CodeGeneratorResponse::File>]
|
44
45
|
# The files that were generated for the API.
|
45
|
-
def generate
|
46
|
+
def generate gem_presenter: nil
|
46
47
|
gem_config = @api.configuration[:gem] ||= {}
|
47
48
|
return generate_wrapper if gem_config[:version_dependencies]
|
48
49
|
|
49
|
-
|
50
|
-
|
51
|
-
cloud_files = []
|
52
|
-
|
53
|
-
gem = Gapic::Presenters.gem_presenter @api
|
50
|
+
gem = gem_presenter || Gapic::Presenters.cloud_gem_presenter(@api)
|
51
|
+
orig_files = super gem_presenter: gem
|
54
52
|
|
55
53
|
# Additional Gem level files
|
56
|
-
cloud_files
|
57
|
-
cloud_files << g("gem/
|
54
|
+
cloud_files = []
|
55
|
+
cloud_files << g("gem/repo-metadata.erb", ".repo-metadata.json", gem: gem)
|
56
|
+
unless gem.services.empty? || gem.generic_endpoint?
|
57
|
+
cloud_files << g("gem/authentication.erb", "AUTHENTICATION.md", gem: gem)
|
58
|
+
end
|
58
59
|
|
59
60
|
format_files cloud_files
|
60
61
|
|
@@ -79,7 +80,7 @@ module Gapic
|
|
79
80
|
files << g("gem/repo-metadata.erb", ".repo-metadata.json", gem: gem)
|
80
81
|
files << g("wrapper_gem/rubocop.erb", ".rubocop.yml", gem: gem)
|
81
82
|
files << g("wrapper_gem/yardopts.erb", ".yardopts", gem: gem)
|
82
|
-
files << g("gem/authentication.erb", "AUTHENTICATION.md", gem: gem)
|
83
|
+
files << g("gem/authentication.erb", "AUTHENTICATION.md", gem: gem) unless gem.generic_endpoint?
|
83
84
|
files << g("gem/changelog.erb", "CHANGELOG.md", gem: gem)
|
84
85
|
files << g("wrapper_gem/gemfile.erb", "Gemfile", gem: gem)
|
85
86
|
files << g("gem/license.erb", "LICENSE.md", gem: gem)
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
require "gapic/presenters"
|
18
|
+
require "gapic/presenters/wrapper_service_presenter"
|
19
|
+
|
20
|
+
module Gapic
|
21
|
+
module Presenters
|
22
|
+
##
|
23
|
+
# A presenter subclass for cloud gems.
|
24
|
+
#
|
25
|
+
class CloudGemPresenter < GemPresenter
|
26
|
+
def license_name
|
27
|
+
"Apache-2.0"
|
28
|
+
end
|
29
|
+
|
30
|
+
def extra_files
|
31
|
+
return ["README.md", "LICENSE.md", ".yardopts"] if generic_endpoint?
|
32
|
+
["README.md", "LICENSE.md", "AUTHENTICATION.md", ".yardopts"]
|
33
|
+
end
|
34
|
+
|
35
|
+
def dependencies
|
36
|
+
deps = super
|
37
|
+
deps["google-cloud-errors"] = "~> 1.0"
|
38
|
+
deps
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.cloud_gem_presenter api
|
43
|
+
CloudGemPresenter.new api
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -22,7 +22,7 @@ module Gapic
|
|
22
22
|
##
|
23
23
|
# A presenter for wrapper gems.
|
24
24
|
#
|
25
|
-
class WrapperGemPresenter <
|
25
|
+
class WrapperGemPresenter < CloudGemPresenter
|
26
26
|
def entrypoint_require
|
27
27
|
namespace_require
|
28
28
|
end
|
@@ -30,7 +30,7 @@ module Gapic
|
|
30
30
|
def services
|
31
31
|
@services ||= begin
|
32
32
|
files = @api.generate_files
|
33
|
-
files.map(&:services).flatten.map { |s| WrapperServicePresenter.new @api, s }
|
33
|
+
files.map(&:services).flatten.map { |s| WrapperServicePresenter.new self, @api, s }
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -51,7 +51,7 @@ module Gapic
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def needs_entrypoint?
|
54
|
-
name !=
|
54
|
+
name != namespace_require
|
55
55
|
end
|
56
56
|
|
57
57
|
def needs_default_config_block?
|
@@ -92,19 +92,24 @@ module Gapic
|
|
92
92
|
gem_config(:version_dependencies).to_s.split(";").map { |str| str.split ":" }
|
93
93
|
end
|
94
94
|
|
95
|
-
def gem_version_dependencies
|
96
|
-
version_dependencies.sort_by { |version, _requirement| version }
|
97
|
-
.map { |version, requirement| ["#{name}-#{version}", requirement] }
|
98
|
-
end
|
99
|
-
|
100
95
|
def versioned_gems
|
101
|
-
|
96
|
+
version_dependencies.map { |version, _requirement| "#{name}-#{version}" }.sort
|
102
97
|
end
|
103
98
|
|
104
99
|
def default_version
|
105
100
|
version_dependencies.first&.first
|
106
101
|
end
|
107
102
|
|
103
|
+
def dependencies
|
104
|
+
deps = { "google-cloud-core" => "~> 1.5" }
|
105
|
+
version_dependencies.each do |version, requirement|
|
106
|
+
deps["#{name}-#{version}"] = "~> #{requirement}"
|
107
|
+
end
|
108
|
+
extra_deps = gem_config :extra_dependencies
|
109
|
+
deps.merge! extra_deps if extra_deps
|
110
|
+
deps
|
111
|
+
end
|
112
|
+
|
108
113
|
def google_cloud_short_name
|
109
114
|
m = /^google-cloud-(.*)$/.match name
|
110
115
|
return nil unless m
|
@@ -23,10 +23,6 @@ module Gapic
|
|
23
23
|
# A presenter for wrapper services.
|
24
24
|
#
|
25
25
|
class WrapperServicePresenter < ServicePresenter
|
26
|
-
def gem
|
27
|
-
WrapperGemPresenter.new @api
|
28
|
-
end
|
29
|
-
|
30
26
|
def factory_method_name
|
31
27
|
@factory_method_name ||= begin
|
32
28
|
method_name = ActiveSupport::Inflector.underscore name
|
@@ -53,7 +53,7 @@ end
|
|
53
53
|
# Acceptance tests
|
54
54
|
desc "Run the <%= gem.name %> acceptance tests."
|
55
55
|
task :acceptance, :project, :keyfile do |t, args|
|
56
|
-
<%- if service -%>
|
56
|
+
<%- if service && !gem.generic_endpoint? -%>
|
57
57
|
project = args[:project]
|
58
58
|
project ||=
|
59
59
|
ENV["<%= gem.env_prefix %>_TEST_PROJECT"] ||
|
@@ -79,8 +79,8 @@ task :acceptance, :project, :keyfile do |t, args|
|
|
79
79
|
ENV["<%= gem.env_prefix %>_PROJECT"] = project
|
80
80
|
ENV["<%= gem.env_prefix %>_TEST_PROJECT"] = project
|
81
81
|
ENV["<%= gem.env_prefix %>_KEYFILE_JSON"] = keyfile
|
82
|
-
<%- end -%>
|
83
82
|
|
83
|
+
<%- end -%>
|
84
84
|
Rake::Task["acceptance:run"].invoke
|
85
85
|
end
|
86
86
|
|
@@ -12,6 +12,7 @@
|
|
12
12
|
$ gem install <%= gem.name %>
|
13
13
|
```
|
14
14
|
|
15
|
+
<%- unless gem.generic_endpoint? -%>
|
15
16
|
## Before You Begin
|
16
17
|
|
17
18
|
In order to use this library, you first need to go through the following steps:
|
@@ -29,6 +30,7 @@ In order to use this library, you first need to go through the following steps:
|
|
29
30
|
<%- end -%>
|
30
31
|
1. {file:AUTHENTICATION.md Set up authentication.}
|
31
32
|
|
33
|
+
<%- end -%>
|
32
34
|
## Quick Start
|
33
35
|
|
34
36
|
<%- if gem.packages? -%>
|
@@ -3,10 +3,7 @@ source "https://rubygems.org"
|
|
3
3
|
|
4
4
|
gemspec
|
5
5
|
|
6
|
-
gem
|
7
|
-
gem "google-cloud-env", path: "../google-cloud-env"
|
8
|
-
gem "google-cloud-errors", path: "../google-cloud-errors"
|
9
|
-
<%- gem.gem_version_dependencies.each do |name, _requirement| -%>
|
6
|
+
<%- gem.versioned_gems.each do |name| -%>
|
10
7
|
gem "<%= name %>", path: "../<%= name %>"
|
11
8
|
<%- end -%>
|
12
9
|
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.description = <%= gem.description.inspect %>
|
14
14
|
gem.summary = <%= gem.summary.inspect %>
|
15
15
|
gem.homepage = <%= gem.homepage.inspect %>
|
16
|
-
gem.license =
|
16
|
+
gem.license = <%= gem.license_name.inspect %>
|
17
17
|
|
18
18
|
gem.platform = Gem::Platform::RUBY
|
19
19
|
|
@@ -23,9 +23,8 @@ Gem::Specification.new do |gem|
|
|
23
23
|
|
24
24
|
gem.required_ruby_version = ">= 2.4"
|
25
25
|
|
26
|
-
gem.
|
27
|
-
|
28
|
-
gem.add_dependency "<%= name %>", "~> <%= requirement %>"
|
26
|
+
<%- gem.dependency_list.each do |name, requirements| -%>
|
27
|
+
gem.add_dependency <%= name.inspect %>, <%= requirements.map { |v| v.inspect }.join ", " %>
|
29
28
|
<%- end -%>
|
30
29
|
|
31
30
|
gem.add_development_dependency "google-style", "~> 1.24.0"
|
@@ -32,6 +32,7 @@ for more usage information.
|
|
32
32
|
$ gem install <%= gem.name %>
|
33
33
|
```
|
34
34
|
|
35
|
+
<%- unless gem.generic_endpoint? -%>
|
35
36
|
In order to use this library, you first need to go through the following steps:
|
36
37
|
|
37
38
|
1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
|
@@ -47,6 +48,7 @@ In order to use this library, you first need to go through the following steps:
|
|
47
48
|
<%- end -%>
|
48
49
|
1. {file:AUTHENTICATION.md Set up authentication.}
|
49
50
|
|
51
|
+
<%- end -%>
|
50
52
|
<%- if gem.migration? %>
|
51
53
|
## Migrating from <%= gem.pre_migration_version %> versions
|
52
54
|
|
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.6.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: 2020-
|
13
|
+
date: 2020-06-02 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.6.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.
|
42
|
+
version: 0.6.0
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: google-style
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,10 +172,10 @@ files:
|
|
172
172
|
- cloud-rubocop.yml
|
173
173
|
- lib/gapic/generator/cloud/version.rb
|
174
174
|
- lib/gapic/generators/cloud_generator.rb
|
175
|
+
- lib/gapic/presenters/cloud_gem_presenter.rb
|
175
176
|
- lib/gapic/presenters/wrapper_gem_presenter.rb
|
176
177
|
- lib/gapic/presenters/wrapper_service_presenter.rb
|
177
178
|
- templates/cloud/gem/authentication.erb
|
178
|
-
- templates/cloud/gem/gemspec.erb
|
179
179
|
- templates/cloud/gem/gitignore.erb
|
180
180
|
- templates/cloud/gem/license.erb
|
181
181
|
- templates/cloud/gem/rakefile.erb
|
@@ -1,40 +0,0 @@
|
|
1
|
-
<%- assert_locals gem -%>
|
2
|
-
# -*- ruby -*-
|
3
|
-
# encoding: utf-8
|
4
|
-
require File.expand_path("lib/<%= gem.version_require %>", __dir__)
|
5
|
-
|
6
|
-
Gem::Specification.new do |gem|
|
7
|
-
gem.name = "<%= gem.name %>"
|
8
|
-
gem.version = <%= gem.version_name_full %>
|
9
|
-
|
10
|
-
gem.authors = <%= gem.authors.inspect %>
|
11
|
-
gem.email = <%= gem.email.inspect %>
|
12
|
-
gem.description = <%= gem.description.inspect %>
|
13
|
-
gem.summary = <%= gem.summary.inspect %>
|
14
|
-
gem.homepage = <%= gem.homepage.inspect %>
|
15
|
-
gem.license = "Apache-2.0"
|
16
|
-
|
17
|
-
gem.platform = Gem::Platform::RUBY
|
18
|
-
|
19
|
-
gem.files = `git ls-files -- lib/*`.split("\n") +
|
20
|
-
`git ls-files -- proto_docs/*`.split("\n") +
|
21
|
-
["README.md", "LICENSE.md", "AUTHENTICATION.md", ".yardopts"]
|
22
|
-
gem.require_paths = ["lib"]
|
23
|
-
|
24
|
-
gem.required_ruby_version = ">= 2.4"
|
25
|
-
|
26
|
-
gem.add_dependency "gapic-common", "~> 0.2"
|
27
|
-
gem.add_dependency "google-cloud-errors", "~> 1.0"
|
28
|
-
<%- if gem.iam_dependency? -%>
|
29
|
-
gem.add_dependency "grpc-google-iam-v1", ">= 0.6.10", "< 2.0"
|
30
|
-
<%- end -%>
|
31
|
-
|
32
|
-
gem.add_development_dependency "google-style", "~> 1.24.0"
|
33
|
-
gem.add_development_dependency "minitest", "~> 5.14"
|
34
|
-
gem.add_development_dependency "minitest-focus", "~> 1.1"
|
35
|
-
gem.add_development_dependency "minitest-rg", "~> 5.2"
|
36
|
-
gem.add_development_dependency "rake", ">= 12.0"
|
37
|
-
gem.add_development_dependency "redcarpet", "~> 3.0"
|
38
|
-
gem.add_development_dependency "simplecov", "~> 0.18"
|
39
|
-
gem.add_development_dependency "yard", "~> 0.9"
|
40
|
-
end
|