avm-eac_ruby_base1 0.33.1 → 0.33.2
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/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +1 -1
- data/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +1 -1
- data/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +53 -0
- data/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +69 -0
- data/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +8 -50
- data/lib/avm/eac_ruby_base1/version.rb +1 -1
- data/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile +2 -2
- data/template/avm/eac_ruby_base1/source_generators/base/static/spec/rubocop_spec.rb +1 -1
- data/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb +1 -1
- metadata +16 -60
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bfb9953ef8eb61c9805e7ec553a2f7d9337c505b9b0ddb07d82e837cd3c0d928
|
|
4
|
+
data.tar.gz: ecdff3c27a2078416f3a888a0838af86f0fa1d72d05e15b513f572abba624976
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8156b5a96757b7102ed5dbba4ed565b14e9ef4a0b28cbb27f77b5866131fc923a156f18ef2f708f25874f57cdef25784c1b8d66cf2940533713f20d744d9c83f
|
|
7
|
+
data.tar.gz: 6fb495664de6628608090b06d8f87b2520bcdc0a5e0e14840c29acb7f6676aa82cf53f00d1e46bd6b0b44aff3df352ea12297aada2f7ca64765b248433040218
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
|
4
|
+
|
|
5
|
+
module Avm
|
|
6
|
+
module EacRubyBase1
|
|
7
|
+
module Sources
|
|
8
|
+
class GemfileLocal
|
|
9
|
+
class Sibling
|
|
10
|
+
common_constructor :gemfile_local, :source
|
|
11
|
+
delegate :relative_path, to: :source
|
|
12
|
+
|
|
13
|
+
# @return [String]
|
|
14
|
+
def gemspec_relative_path
|
|
15
|
+
source.gemspec_path.relative_path_from(gemfile_local.source.path).to_path
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# @return [String]
|
|
19
|
+
def root_relative_path
|
|
20
|
+
source.path.relative_path_from(gemfile_local.source.path).to_path
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# @return [String]
|
|
24
|
+
def target_content
|
|
25
|
+
"gem '#{source.gem_name}', #{gem_options_content} if #{condition_content}\n"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
protected
|
|
29
|
+
|
|
30
|
+
# @return [String]
|
|
31
|
+
def condition_content
|
|
32
|
+
"::File.directory?('#{gemspec_relative_path}')"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# @return [String]
|
|
36
|
+
def gem_option_path
|
|
37
|
+
["::File.expand_path('", root_relative_path, "', __dir__)"].join
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# @return [String]
|
|
41
|
+
def gem_option_require
|
|
42
|
+
'false'
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# @return [String]
|
|
46
|
+
def gem_options_content
|
|
47
|
+
%w[path require].map { |v| [v, send("gem_option_#{v}")].join(': ') }.join(', ')
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
|
4
|
+
|
|
5
|
+
module Avm
|
|
6
|
+
module EacRubyBase1
|
|
7
|
+
module Sources
|
|
8
|
+
class GemfileLocal
|
|
9
|
+
enable_simple_cache
|
|
10
|
+
common_constructor :source
|
|
11
|
+
|
|
12
|
+
def dependency_sub?(sub)
|
|
13
|
+
sub.is_a?(::Avm::EacRubyBase1::Sources::Base) &&
|
|
14
|
+
sub.gem_name != source.gem_name &&
|
|
15
|
+
source.gemfile_lock_gem_version(sub.gem_name).present?
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# @return [String]
|
|
19
|
+
def target_content
|
|
20
|
+
siblings.map(&:target_content).join
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# @return [Pathname]
|
|
24
|
+
def target_path
|
|
25
|
+
source.path.join('Gemfile.local')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def on_unexisting_gemfile_local
|
|
29
|
+
return yield unless target_path.exist?
|
|
30
|
+
|
|
31
|
+
::EacRubyUtils::Fs::Temp.on_file do |temp_file|
|
|
32
|
+
::FileUtils.cp(target_path, temp_file)
|
|
33
|
+
begin
|
|
34
|
+
::FileUtils.rm_f(target_path)
|
|
35
|
+
yield
|
|
36
|
+
ensure
|
|
37
|
+
::FileUtils.cp(temp_file, target_path)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def run_bundle
|
|
43
|
+
on_unexisting_gemfile_local do
|
|
44
|
+
source.bundle.execute!
|
|
45
|
+
rescue ::RuntimeError
|
|
46
|
+
source.bundle('update').execute!
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# @return [void]
|
|
51
|
+
def write_target_file
|
|
52
|
+
target_path.write(target_content)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
private
|
|
56
|
+
|
|
57
|
+
def siblings_uncached
|
|
58
|
+
source.parent.if_present([]) do |v|
|
|
59
|
+
v.subs.select { |sub| dependency_sub?(sub) }.map do |sub|
|
|
60
|
+
::Avm::EacRubyBase1::Sources::GemfileLocal::Sibling.new(self, sub)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
require_sub __FILE__
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'avm/eac_ruby_base1/sources/gemfile_local'
|
|
3
4
|
require 'eac_cli/core_ext'
|
|
4
5
|
|
|
5
6
|
module Avm
|
|
@@ -11,53 +12,17 @@ module Avm
|
|
|
11
12
|
runner_with :help do
|
|
12
13
|
bool_opt '-w', '--write', 'Write the Gemfile.local file.'
|
|
13
14
|
end
|
|
15
|
+
delegate :siblings, to: :builder
|
|
14
16
|
|
|
15
17
|
def run
|
|
16
18
|
start_banner
|
|
17
|
-
run_bundle
|
|
19
|
+
builder.run_bundle
|
|
18
20
|
siblings_banner
|
|
19
21
|
write_gemfile_local
|
|
20
22
|
end
|
|
21
23
|
|
|
22
24
|
private
|
|
23
25
|
|
|
24
|
-
def gemfile_local_path
|
|
25
|
-
the_source.path.join('Gemfile.local')
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def gemfile_local_content
|
|
29
|
-
siblings.map { |s| sibling_gemfile_local_line(s) }.join
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def on_unexisting_gemfile_local
|
|
33
|
-
return yield unless gemfile_local_path.exist?
|
|
34
|
-
|
|
35
|
-
::EacRubyUtils::Fs::Temp.on_file do |temp_file|
|
|
36
|
-
::FileUtils.cp(gemfile_local_path, temp_file)
|
|
37
|
-
begin
|
|
38
|
-
::FileUtils.rm_f(gemfile_local_path)
|
|
39
|
-
yield
|
|
40
|
-
ensure
|
|
41
|
-
::FileUtils.cp(temp_file, gemfile_local_path)
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def run_bundle
|
|
47
|
-
on_unexisting_gemfile_local do
|
|
48
|
-
the_source.bundle.execute!
|
|
49
|
-
rescue ::RuntimeError
|
|
50
|
-
the_source.bundle('update').execute!
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def sibling_gemfile_local_line(sibling)
|
|
55
|
-
["gem '#{sibling.gem_name}'", # rubocop:disable Style/StringConcatenation
|
|
56
|
-
["path: ::File.expand_path('",
|
|
57
|
-
sibling.path.relative_path_from(the_source.path).to_path, "', __dir__)"].join,
|
|
58
|
-
'require: false'].join(', ') + "\n"
|
|
59
|
-
end
|
|
60
|
-
|
|
61
26
|
def start_banner
|
|
62
27
|
runner_context.call(:source_banner)
|
|
63
28
|
infov 'Parent', the_source.parent
|
|
@@ -73,24 +38,17 @@ module Avm
|
|
|
73
38
|
def write_gemfile_local
|
|
74
39
|
return unless parsed.write?
|
|
75
40
|
|
|
76
|
-
infom "Writing #{
|
|
77
|
-
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
def siblings_uncached
|
|
81
|
-
the_source.parent.if_present([]) do |v|
|
|
82
|
-
v.subs.select { |sub| dependency_sub?(sub) }
|
|
83
|
-
end
|
|
41
|
+
infom "Writing #{builder.target_path}..."
|
|
42
|
+
builder.write_target_file
|
|
84
43
|
end
|
|
85
44
|
|
|
86
45
|
def the_source
|
|
87
46
|
runner_context.call(:source)
|
|
88
47
|
end
|
|
89
48
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
the_source.gemfile_lock_gem_version(sub.gem_name).present?
|
|
49
|
+
# @return [Avm::EacRubyBase1::Sources::GemfileLocal]
|
|
50
|
+
def builder_uncached
|
|
51
|
+
::Avm::EacRubyBase1::Sources::GemfileLocal.new(the_source)
|
|
94
52
|
end
|
|
95
53
|
end
|
|
96
54
|
end
|
|
@@ -4,5 +4,5 @@ source 'https://rubygems.org'
|
|
|
4
4
|
|
|
5
5
|
gemspec
|
|
6
6
|
|
|
7
|
-
local_gemfile =
|
|
8
|
-
eval_gemfile local_gemfile if
|
|
7
|
+
local_gemfile = File.join(File.dirname(__FILE__), 'Gemfile.local')
|
|
8
|
+
eval_gemfile local_gemfile if File.exist?(local_gemfile)
|
metadata
CHANGED
|
@@ -1,137 +1,91 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: avm-eac_ruby_base1
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.33.
|
|
4
|
+
version: 0.33.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Put here the authors
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-05-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: aranha-parsers
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.22'
|
|
20
|
-
type: :runtime
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0.22'
|
|
27
13
|
- !ruby/object:Gem::Dependency
|
|
28
14
|
name: avm
|
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
|
30
16
|
requirements:
|
|
31
17
|
- - "~>"
|
|
32
18
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0.
|
|
19
|
+
version: '0.91'
|
|
34
20
|
type: :runtime
|
|
35
21
|
prerelease: false
|
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
23
|
requirements:
|
|
38
24
|
- - "~>"
|
|
39
25
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0.
|
|
26
|
+
version: '0.91'
|
|
41
27
|
- !ruby/object:Gem::Dependency
|
|
42
28
|
name: avm-eac_generic_base0
|
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
|
44
30
|
requirements:
|
|
45
31
|
- - "~>"
|
|
46
32
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0.
|
|
48
|
-
- - ">="
|
|
49
|
-
- !ruby/object:Gem::Version
|
|
50
|
-
version: 0.12.1
|
|
33
|
+
version: '0.13'
|
|
51
34
|
type: :runtime
|
|
52
35
|
prerelease: false
|
|
53
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
37
|
requirements:
|
|
55
38
|
- - "~>"
|
|
56
39
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: '0.
|
|
58
|
-
- - ">="
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: 0.12.1
|
|
40
|
+
version: '0.13'
|
|
61
41
|
- !ruby/object:Gem::Dependency
|
|
62
42
|
name: eac_envs-http
|
|
63
43
|
requirement: !ruby/object:Gem::Requirement
|
|
64
44
|
requirements:
|
|
65
45
|
- - "~>"
|
|
66
46
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '0.
|
|
47
|
+
version: '0.5'
|
|
68
48
|
- - ">="
|
|
69
49
|
- !ruby/object:Gem::Version
|
|
70
|
-
version: 0.
|
|
50
|
+
version: 0.5.1
|
|
71
51
|
type: :runtime
|
|
72
52
|
prerelease: false
|
|
73
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
74
54
|
requirements:
|
|
75
55
|
- - "~>"
|
|
76
56
|
- !ruby/object:Gem::Version
|
|
77
|
-
version: '0.
|
|
57
|
+
version: '0.5'
|
|
78
58
|
- - ">="
|
|
79
59
|
- !ruby/object:Gem::Version
|
|
80
|
-
version: 0.
|
|
60
|
+
version: 0.5.1
|
|
81
61
|
- !ruby/object:Gem::Dependency
|
|
82
62
|
name: eac_ruby_utils
|
|
83
63
|
requirement: !ruby/object:Gem::Requirement
|
|
84
64
|
requirements:
|
|
85
65
|
- - "~>"
|
|
86
66
|
- !ruby/object:Gem::Version
|
|
87
|
-
version: '0.
|
|
88
|
-
- - ">="
|
|
89
|
-
- !ruby/object:Gem::Version
|
|
90
|
-
version: 0.119.2
|
|
67
|
+
version: '0.122'
|
|
91
68
|
type: :runtime
|
|
92
69
|
prerelease: false
|
|
93
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
94
71
|
requirements:
|
|
95
72
|
- - "~>"
|
|
96
73
|
- !ruby/object:Gem::Version
|
|
97
|
-
version: '0.
|
|
98
|
-
- - ">="
|
|
99
|
-
- !ruby/object:Gem::Version
|
|
100
|
-
version: 0.119.2
|
|
101
|
-
- !ruby/object:Gem::Dependency
|
|
102
|
-
name: aranha-parsers
|
|
103
|
-
requirement: !ruby/object:Gem::Requirement
|
|
104
|
-
requirements:
|
|
105
|
-
- - "~>"
|
|
106
|
-
- !ruby/object:Gem::Version
|
|
107
|
-
version: '0.14'
|
|
108
|
-
- - ">="
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: 0.14.1
|
|
111
|
-
type: :development
|
|
112
|
-
prerelease: false
|
|
113
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - "~>"
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0.14'
|
|
118
|
-
- - ">="
|
|
119
|
-
- !ruby/object:Gem::Version
|
|
120
|
-
version: 0.14.1
|
|
74
|
+
version: '0.122'
|
|
121
75
|
- !ruby/object:Gem::Dependency
|
|
122
76
|
name: eac_ruby_gem_support
|
|
123
77
|
requirement: !ruby/object:Gem::Requirement
|
|
124
78
|
requirements:
|
|
125
79
|
- - "~>"
|
|
126
80
|
- !ruby/object:Gem::Version
|
|
127
|
-
version: '0.
|
|
81
|
+
version: '0.10'
|
|
128
82
|
type: :development
|
|
129
83
|
prerelease: false
|
|
130
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
131
85
|
requirements:
|
|
132
86
|
- - "~>"
|
|
133
87
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: '0.
|
|
88
|
+
version: '0.10'
|
|
135
89
|
description:
|
|
136
90
|
email:
|
|
137
91
|
executables: []
|
|
@@ -200,6 +154,8 @@ files:
|
|
|
200
154
|
- lib/avm/eac_ruby_base1/sources/base/version.rb
|
|
201
155
|
- lib/avm/eac_ruby_base1/sources/base/version_bump.rb
|
|
202
156
|
- lib/avm/eac_ruby_base1/sources/bundle_update.rb
|
|
157
|
+
- lib/avm/eac_ruby_base1/sources/gemfile_local.rb
|
|
158
|
+
- lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb
|
|
203
159
|
- lib/avm/eac_ruby_base1/sources/namespace_replacer.rb
|
|
204
160
|
- lib/avm/eac_ruby_base1/sources/runners.rb
|
|
205
161
|
- lib/avm/eac_ruby_base1/sources/runners/bundle.rb
|