eac_tools 0.34.0 → 0.35.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +24 -18
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm/avm.gemspec +1 -1
- data/sub/{avm-tools → avm}/lib/avm/launcher/context/instance_collector.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/context/instance_discovery.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/context/instance_manager/cached_instance.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/context/instance_manager/cached_instances.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/context/instance_manager.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/context/settings.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/context.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/instances/base/cache.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/instances/base.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/instances/error.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/instances/runner_helper.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/instances/settings.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/paths/logical.rb +0 -0
- data/sub/{avm-tools → avm}/lib/avm/launcher/publish/base.rb +2 -5
- data/sub/avm/lib/avm/registry.rb +0 -2
- data/sub/avm/lib/avm/version.rb +1 -1
- data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +1 -1
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +2 -1
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +1 -1
- data/sub/avm-git/Gemfile +8 -0
- data/sub/avm-git/avm-git.gemspec +22 -0
- data/sub/avm-git/lib/avm/git/auto_commit/commit_info.rb +23 -0
- data/sub/avm-git/lib/avm/git/auto_commit/rules/base.rb +39 -0
- data/sub/avm-git/lib/avm/git/auto_commit/rules/last.rb +19 -0
- data/sub/avm-git/lib/avm/git/auto_commit/rules/manual.rb +45 -0
- data/sub/avm-git/lib/avm/git/auto_commit/rules/new.rb +24 -0
- data/sub/avm-git/lib/avm/git/auto_commit/rules/nth.rb +31 -0
- data/sub/avm-git/lib/avm/git/auto_commit/rules/unique.rb +21 -0
- data/sub/avm-git/lib/avm/git/auto_commit/rules.rb +31 -0
- data/sub/avm-git/lib/avm/git/auto_commit_path/ruby.rb +20 -0
- data/sub/avm-git/lib/avm/git/auto_commit_path.rb +28 -0
- data/sub/avm-git/lib/avm/git/commit/class_methods.rb +31 -0
- data/sub/avm-git/lib/avm/git/commit/deploy.rb +38 -0
- data/sub/avm-git/lib/avm/git/commit/deploy_methods.rb +19 -0
- data/sub/avm-git/lib/avm/git/commit/diff_tree_line.rb +32 -0
- data/sub/avm-git/lib/avm/git/commit/file.rb +46 -0
- data/sub/avm-git/lib/avm/git/commit.rb +59 -0
- data/sub/avm-git/lib/avm/git/file_auto_fixup.rb +83 -0
- data/sub/avm-git/lib/avm/git/issue/complete/commits.rb +42 -0
- data/sub/avm-git/lib/avm/git/issue/complete/git_subrepos.rb +23 -0
- data/sub/avm-git/lib/avm/git/issue/complete/local_branch.rb +61 -0
- data/sub/avm-git/lib/avm/git/issue/complete/local_tag.rb +39 -0
- data/sub/avm-git/lib/avm/git/issue/complete/push.rb +60 -0
- data/sub/avm-git/lib/avm/git/issue/complete/remote.rb +33 -0
- data/sub/avm-git/lib/avm/git/issue/complete/test.rb +40 -0
- data/sub/avm-git/lib/avm/git/issue/complete/tracker.rb +28 -0
- data/sub/avm-git/lib/avm/git/issue/complete/validation.rb +39 -0
- data/sub/avm-git/lib/avm/git/issue/complete/validations.rb +53 -0
- data/sub/avm-git/lib/avm/git/issue/complete/working_tree.rb +19 -0
- data/sub/avm-git/lib/avm/git/issue/complete.rb +66 -0
- data/sub/avm-git/lib/avm/git/issue/deliver.rb +56 -0
- data/sub/avm-git/lib/avm/git/issue.rb +11 -0
- data/sub/avm-git/lib/avm/git/organize/reference_update.rb +34 -0
- data/sub/avm-git/lib/avm/git/organize/repository.rb +76 -0
- data/sub/avm-git/lib/avm/git/organize.rb +11 -0
- data/sub/avm-git/lib/avm/git/revision_test.rb +105 -0
- data/sub/avm-git/lib/avm/git/scms/git/change_tracker.rb +35 -0
- data/sub/avm-git/lib/avm/git/scms/git/commit.rb +55 -0
- data/sub/avm-git/lib/avm/git/scms/git.rb +73 -0
- data/sub/avm-git/lib/avm/git/scms/git_subrepo.rb +39 -0
- data/sub/avm-git/lib/avm/git/scms/provider.rb +19 -0
- data/sub/avm-git/lib/avm/git/scms.rb +11 -0
- data/sub/avm-git/lib/avm/git/subrepo_check/parent.rb +51 -0
- data/sub/avm-git/lib/avm/git/subrepo_check/remote.rb +89 -0
- data/sub/avm-git/lib/avm/git/subrepo_check/show_result.rb +32 -0
- data/sub/avm-git/lib/avm/git/subrepo_check.rb +38 -0
- data/sub/avm-git/lib/avm/git/subrepo_checks.rb +59 -0
- data/sub/{avm-tools/lib/avm/launcher → avm-git/lib/avm/git}/vendor/github.rb +1 -1
- data/sub/avm-git/lib/avm/git/vendor.rb +11 -0
- data/sub/avm-git/lib/avm/git/version.rb +7 -0
- data/sub/avm-git/lib/avm/git.rb +11 -0
- data/sub/avm-git/spec/lib/avm/git/auto_commit_path_spec.rb +21 -0
- data/sub/avm-git/spec/lib/avm/git/commit/deploy_spec.rb +93 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec.rb +13 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.source.out +1 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.source.out +1 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.source.out +1 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.source.out +2 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
- data/sub/avm-git/spec/lib/avm/git/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
- data/sub/avm-git/spec/lib/avm/git/commit_spec.rb +56 -0
- data/sub/avm-git/spec/lib/avm/git/scms/git_spec.rb +8 -0
- data/sub/avm-git/spec/lib/avm/git/scms/git_subrepo_spec.rb +8 -0
- data/sub/{avm-tools/spec/lib/avm/launcher → avm-git/spec/lib/avm/git}/vendor/github_spec.rb +4 -4
- data/sub/avm-git/spec/rubocop_spec.rb +3 -0
- data/sub/avm-git/spec/spec_helper.rb +4 -0
- data/sub/avm-tools/avm-tools.gemspec +2 -2
- data/sub/avm-tools/lib/avm/launcher/git/warp_base.rb +2 -2
- data/sub/avm-tools/lib/avm/projects/stereotypes/git_subrepo/warp.rb +2 -2
- data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
- data/sub/eac_docker/eac_docker.gemspec +2 -2
- data/sub/eac_docker/lib/eac_docker/images/templatized.rb +7 -1
- data/sub/eac_docker/lib/eac_docker/version.rb +1 -1
- metadata +97 -23
- data/sub/avm-tools/lib/avm/launcher/vendor.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e7be8c10a31eca92c292ca5a2aff340237809512a2477c04b9212b9a246264d
|
4
|
+
data.tar.gz: 7de8fb83e7fbc7583c0577e5de1a561952b17d1b2768951e6706f645933966bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71a2a76a1b55a74f18f7aa18db4b25c269c8ffff5e397669ff0d8782fe21db1269e2b571dbf1d7b2b0fa70a696e2cccbdf0921d57a329ff62a15de115d8d1bd4
|
7
|
+
data.tar.gz: f5a62fb8592908556546226ff6232eef6b8be3a7d72f87080dd2b31a38cfdb60c724069439037942549b72b319672ebd1af1e06bfb378d526f0a2014c1499318
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
eac_tools (0.
|
5
|
-
avm (~> 0.
|
4
|
+
eac_tools (0.35.0)
|
5
|
+
avm (~> 0.46)
|
6
6
|
avm-eac_asciidoctor_base0 (~> 0.7, >= 0.7.1)
|
7
7
|
avm-eac_generic_base0 (~> 0.5)
|
8
8
|
avm-eac_latex_base0 (~> 0.2, >= 0.2.1)
|
@@ -11,9 +11,9 @@ PATH
|
|
11
11
|
avm-eac_redmine_base0 (~> 0.16)
|
12
12
|
avm-eac_redmine_plugin_base0 (~> 0.3)
|
13
13
|
avm-eac_ruby_base1 (~> 0.22)
|
14
|
-
avm-eac_webapp_base0 (~> 0.9)
|
14
|
+
avm-eac_webapp_base0 (~> 0.9, >= 0.9.1)
|
15
15
|
avm-eac_wordpress_base0 (~> 0.2, >= 0.2.1)
|
16
|
-
avm-tools (~> 0.
|
16
|
+
avm-tools (~> 0.139)
|
17
17
|
eac_ruby_utils (~> 0.104)
|
18
18
|
|
19
19
|
PATH
|
@@ -88,8 +88,8 @@ PATH
|
|
88
88
|
PATH
|
89
89
|
remote: sub/avm-eac_webapp_base0
|
90
90
|
specs:
|
91
|
-
avm-eac_webapp_base0 (0.9.
|
92
|
-
avm (~> 0.
|
91
|
+
avm-eac_webapp_base0 (0.9.1)
|
92
|
+
avm (~> 0.46)
|
93
93
|
avm-eac_generic_base0 (~> 0.5)
|
94
94
|
avm-eac_postgresql_base0 (~> 0.2)
|
95
95
|
avm-eac_ubuntu_base0 (~> 0.3)
|
@@ -113,16 +113,25 @@ PATH
|
|
113
113
|
eac_ruby_utils (~> 0.103)
|
114
114
|
eac_templates (~> 0.3, >= 0.3.2)
|
115
115
|
|
116
|
+
PATH
|
117
|
+
remote: sub/avm-git
|
118
|
+
specs:
|
119
|
+
avm-git (0.5.0)
|
120
|
+
avm (~> 0.46)
|
121
|
+
avm-files (~> 0.4, >= 0.4.1)
|
122
|
+
eac_git (~> 0.12, >= 0.12.3)
|
123
|
+
eac_ruby_utils (~> 0.104)
|
124
|
+
|
116
125
|
PATH
|
117
126
|
remote: sub/avm-tools
|
118
127
|
specs:
|
119
|
-
avm-tools (0.
|
128
|
+
avm-tools (0.139.0)
|
120
129
|
aranha-parsers (~> 0.14, >= 0.14.3)
|
121
|
-
avm (~> 0.
|
130
|
+
avm (~> 0.46)
|
122
131
|
avm-eac_ruby_base1 (~> 0.22)
|
123
132
|
avm-eac_ubuntu_base0 (~> 0.3)
|
124
133
|
avm-files (~> 0.4, >= 0.4.1)
|
125
|
-
avm-git (~> 0.
|
134
|
+
avm-git (~> 0.5)
|
126
135
|
clipboard (~> 1.3, >= 1.3.6)
|
127
136
|
curb (~> 0.9, >= 0.9.11)
|
128
137
|
eac_git (~> 0.12, >= 0.12.3)
|
@@ -134,10 +143,10 @@ PATH
|
|
134
143
|
PATH
|
135
144
|
remote: sub/avm
|
136
145
|
specs:
|
137
|
-
avm (0.
|
146
|
+
avm (0.46.0)
|
138
147
|
eac_cli (~> 0.28)
|
139
148
|
eac_config (~> 0.11, >= 0.11.1)
|
140
|
-
eac_docker (~> 0.
|
149
|
+
eac_docker (~> 0.5)
|
141
150
|
eac_git (~> 0.12, >= 0.12.3)
|
142
151
|
eac_ruby_utils (~> 0.104)
|
143
152
|
eac_templates (~> 0.3, >= 0.3.2)
|
@@ -163,9 +172,9 @@ PATH
|
|
163
172
|
PATH
|
164
173
|
remote: sub/eac_docker
|
165
174
|
specs:
|
166
|
-
eac_docker (0.
|
167
|
-
eac_ruby_utils (~> 0.
|
168
|
-
eac_templates (~> 0.3, >= 0.3.
|
175
|
+
eac_docker (0.5.0)
|
176
|
+
eac_ruby_utils (~> 0.104)
|
177
|
+
eac_templates (~> 0.3, >= 0.3.2)
|
169
178
|
|
170
179
|
PATH
|
171
180
|
remote: sub/eac_fs
|
@@ -230,10 +239,6 @@ GEM
|
|
230
239
|
avm (~> 0.7)
|
231
240
|
eac_ruby_utils (~> 0.77, >= 0.77.1)
|
232
241
|
eac_templates (~> 0.3)
|
233
|
-
avm-git (0.4.0)
|
234
|
-
avm-files (~> 0.1)
|
235
|
-
eac_git (~> 0.11)
|
236
|
-
eac_ruby_utils (~> 0.76)
|
237
242
|
clipboard (1.3.6)
|
238
243
|
colorize (0.8.1)
|
239
244
|
concurrent-ruby (1.1.10)
|
@@ -361,6 +366,7 @@ DEPENDENCIES
|
|
361
366
|
avm-eac_webapp_base0!
|
362
367
|
avm-eac_wordpress_base0!
|
363
368
|
avm-files!
|
369
|
+
avm-git!
|
364
370
|
avm-tools!
|
365
371
|
eac_cli!
|
366
372
|
eac_config!
|
data/lib/eac_tools/version.rb
CHANGED
data/sub/avm/avm.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
|
|
14
14
|
|
15
15
|
s.add_dependency 'eac_cli', '~> 0.28'
|
16
16
|
s.add_dependency 'eac_config', '~> 0.11', '>= 0.11.1'
|
17
|
-
s.add_dependency 'eac_docker', '~> 0.
|
17
|
+
s.add_dependency 'eac_docker', '~> 0.5'
|
18
18
|
s.add_dependency 'eac_git', '~> 0.12', '>= 0.12.3'
|
19
19
|
s.add_dependency 'eac_ruby_utils', '~> 0.104'
|
20
20
|
s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.2'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,16 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'avm/launcher/errors/base'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
4
5
|
|
5
6
|
module Avm
|
6
7
|
module Launcher
|
7
8
|
module Publish
|
8
9
|
class Base
|
9
|
-
|
10
|
-
|
11
|
-
def initialize(instance)
|
12
|
-
@instance = instance
|
13
|
-
end
|
10
|
+
common_constructor :instance
|
14
11
|
|
15
12
|
def run
|
16
13
|
s = check
|
data/sub/avm/lib/avm/registry.rb
CHANGED
data/sub/avm/lib/avm/version.rb
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
|
13
13
|
s.files = Dir['{lib,template}/**/*']
|
14
14
|
|
15
|
-
s.add_dependency 'avm', '~> 0.
|
15
|
+
s.add_dependency 'avm', '~> 0.46'
|
16
16
|
s.add_dependency 'avm-eac_generic_base0', '~> 0.5'
|
17
17
|
s.add_dependency 'avm-eac_postgresql_base0', '~> 0.2'
|
18
18
|
s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.3'
|
@@ -15,7 +15,8 @@ module Avm
|
|
15
15
|
include ::Avm::Entries::Jobs::Base
|
16
16
|
|
17
17
|
def directory_extra_config
|
18
|
-
instance.entry(APACHE_DIRECTORY_EXTRA_CONFIG_KEY).
|
18
|
+
instance.entry(APACHE_DIRECTORY_EXTRA_CONFIG_KEY).optional_value
|
19
|
+
.if_present { |v| " #{v}\n" }
|
19
20
|
end
|
20
21
|
|
21
22
|
def no_ssl_site_content
|
data/sub/avm-git/Gemfile
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.push File.expand_path('lib', __dir__)
|
4
|
+
|
5
|
+
require 'avm/git/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = 'avm-git'
|
9
|
+
s.version = Avm::Git::VERSION
|
10
|
+
s.authors = ['Put here the authors']
|
11
|
+
s.summary = 'Put here de description.'
|
12
|
+
|
13
|
+
s.files = Dir['{lib}/**/*']
|
14
|
+
|
15
|
+
s.add_dependency 'avm', '~> 0.46'
|
16
|
+
s.add_dependency 'avm-files', '~> 0.4', '>= 0.4.1'
|
17
|
+
s.add_dependency 'eac_git', '~> 0.12', '>= 0.12.3'
|
18
|
+
s.add_dependency 'eac_ruby_utils', '~> 0.104'
|
19
|
+
|
20
|
+
s.add_development_dependency 'aranha-parsers', '~> 0.8', '>= 0.8.5'
|
21
|
+
s.add_development_dependency 'eac_ruby_gem_support', '~> 0.4'
|
22
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
module AutoCommit
|
8
|
+
class CommitInfo
|
9
|
+
enable_immutable
|
10
|
+
|
11
|
+
immutable_accessor :fixup, :message
|
12
|
+
|
13
|
+
def git_commit_args
|
14
|
+
r = fixup.if_present([]) { |v| ['--fixup', v.sha1] }
|
15
|
+
r += message.if_present([]) { |v| ['--message', v] }
|
16
|
+
return r if r.any?
|
17
|
+
|
18
|
+
raise 'Argument list is empty'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
module AutoCommit
|
8
|
+
module Rules
|
9
|
+
class Base
|
10
|
+
class << self
|
11
|
+
def keys
|
12
|
+
[long_key, short_key]
|
13
|
+
end
|
14
|
+
|
15
|
+
def long_key
|
16
|
+
name.demodulize.variableize
|
17
|
+
end
|
18
|
+
|
19
|
+
def short_key
|
20
|
+
long_key[0, 1]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def with_file(file)
|
25
|
+
self.class.const_get('WithFile').new(self, file)
|
26
|
+
end
|
27
|
+
|
28
|
+
class WithFile
|
29
|
+
common_constructor :rule, :file
|
30
|
+
|
31
|
+
def new_commit_info
|
32
|
+
::Avm::Git::AutoCommit::CommitInfo.new
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/auto_commit/rules/base'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
module AutoCommit
|
8
|
+
module Rules
|
9
|
+
class Last < ::Avm::Git::AutoCommit::Rules::Base
|
10
|
+
class WithFile < ::Avm::Git::AutoCommit::Rules::Base::WithFile
|
11
|
+
def commit_info
|
12
|
+
file.commits.last.if_present { |v| new_commit_info.fixup(v) }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/auto_commit/rules/base'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
module AutoCommit
|
8
|
+
module Rules
|
9
|
+
class Manual < ::Avm::Git::AutoCommit::Rules::Base
|
10
|
+
class WithFile < ::Avm::Git::AutoCommit::Rules::Base::WithFile
|
11
|
+
enable_speaker
|
12
|
+
|
13
|
+
COMMIT_FORMAT = '%h - %s (%cr)'
|
14
|
+
SKIP_OPTION = 's'
|
15
|
+
|
16
|
+
def commit_info
|
17
|
+
return nil unless file.commits.any?
|
18
|
+
|
19
|
+
commits_banner
|
20
|
+
input('Which commit?', list: commits_by_position).if_present do |v|
|
21
|
+
new_commit_info.fixup(v)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def commits_banner
|
26
|
+
file.commits.each_with_index do |commit, _index|
|
27
|
+
infov " #{commit.position}", format_commit(commit)
|
28
|
+
end
|
29
|
+
infov " #{SKIP_OPTION}", 'skip'
|
30
|
+
end
|
31
|
+
|
32
|
+
def commits_by_position
|
33
|
+
(file.commits.map { |commit| [commit.position.to_s, commit] } + [[SKIP_OPTION, nil]])
|
34
|
+
.to_h
|
35
|
+
end
|
36
|
+
|
37
|
+
def format_commit(commit)
|
38
|
+
commit.format(COMMIT_FORMAT)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/auto_commit/rules/base'
|
4
|
+
require 'avm/git/auto_commit_path'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Git
|
8
|
+
module AutoCommit
|
9
|
+
module Rules
|
10
|
+
class New < ::Avm::Git::AutoCommit::Rules::Base
|
11
|
+
class WithFile < ::Avm::Git::AutoCommit::Rules::Base::WithFile
|
12
|
+
def auto_commit_path
|
13
|
+
::Avm::Git::AutoCommitPath.new(file.git, file.path)
|
14
|
+
end
|
15
|
+
|
16
|
+
def commit_info
|
17
|
+
new_commit_info.message(auto_commit_path.commit_message)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/auto_commit/rules/base'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
module AutoCommit
|
8
|
+
module Rules
|
9
|
+
class Nth < ::Avm::Git::AutoCommit::Rules::Base
|
10
|
+
SHORT_KEY = 't'
|
11
|
+
|
12
|
+
class << self
|
13
|
+
def short_key
|
14
|
+
SHORT_KEY
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
common_constructor :number do
|
19
|
+
self.number = number.to_i
|
20
|
+
end
|
21
|
+
|
22
|
+
class WithFile < ::Avm::Git::AutoCommit::Rules::Base::WithFile
|
23
|
+
def commit_info
|
24
|
+
file.commits(number - 1).if_present { |v| new_commit_info.fixup(v) }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/auto_commit/rules/base'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
module AutoCommit
|
8
|
+
module Rules
|
9
|
+
class Unique < ::Avm::Git::AutoCommit::Rules::Base
|
10
|
+
class WithFile < ::Avm::Git::AutoCommit::Rules::Base::WithFile
|
11
|
+
def commit_info
|
12
|
+
return nil unless file.commits.count == 1
|
13
|
+
|
14
|
+
new_commit_info.fixup(file.commits.first)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
::EacRubyUtils.require_sub __FILE__
|
6
|
+
|
7
|
+
module Avm
|
8
|
+
module Git
|
9
|
+
module AutoCommit
|
10
|
+
module Rules
|
11
|
+
RULES_CLASSES = %w[last manual new nth unique]
|
12
|
+
.map { |key| ::Avm::Git::AutoCommit::Rules.const_get(key.camelcase) }
|
13
|
+
|
14
|
+
class << self
|
15
|
+
def parse(string)
|
16
|
+
parts = string.split(':')
|
17
|
+
|
18
|
+
klass = rule_class_by_key(parts.shift)
|
19
|
+
klass.new(*parts)
|
20
|
+
end
|
21
|
+
|
22
|
+
def rule_class_by_key(key)
|
23
|
+
RULES_CLASSES.find { |klass| klass.keys.include?(key) } ||
|
24
|
+
raise("Rule not find with key \"#{key}\" (Available: " +
|
25
|
+
RULES_CLASSES.flat_map(&:keys).join(', ') + ')')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
class AutoCommitPath
|
8
|
+
module Ruby
|
9
|
+
RUBY_CLASS_NAME_PATTERNS = [%r{lib/((?!.*/lib/).+)\.rb\z}, %r{app/[^/]+/(.+)\.rb\z}].freeze
|
10
|
+
|
11
|
+
def ruby_class_name
|
12
|
+
RUBY_CLASS_NAME_PATTERNS.each do |pattern|
|
13
|
+
pattern.if_match(relative_path.to_path, false) { |m| return m[1].camelize }
|
14
|
+
end
|
15
|
+
nil
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
class AutoCommitPath
|
8
|
+
require_sub __FILE__, include_modules: true
|
9
|
+
common_constructor :git, :path do
|
10
|
+
self.path = path.to_pathname
|
11
|
+
end
|
12
|
+
|
13
|
+
def class_name
|
14
|
+
ruby_class_name || relative_path.to_path
|
15
|
+
end
|
16
|
+
|
17
|
+
def commit_message
|
18
|
+
r = class_name
|
19
|
+
r += ': remove' unless path.file?
|
20
|
+
r + '.'
|
21
|
+
end
|
22
|
+
|
23
|
+
def relative_path
|
24
|
+
path.expand_path.relative_path_from(git.root_path.expand_path)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
class Commit
|
8
|
+
module ClassMethods
|
9
|
+
common_concern
|
10
|
+
|
11
|
+
module ClassMethods
|
12
|
+
def target_url_to_env_path(target_url)
|
13
|
+
uri = ::Addressable::URI.parse(target_url)
|
14
|
+
uri.scheme = 'file' if uri.scheme.blank?
|
15
|
+
[uri_to_env(uri), uri.path]
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def uri_to_env(uri)
|
21
|
+
case uri.scheme
|
22
|
+
when 'file' then ::EacRubyUtils::Envs.local
|
23
|
+
when 'ssh' then ::EacRubyUtils::Envs.ssh(uri)
|
24
|
+
else "Invalid schema \"#{uri.schema}\" (URI: #{uri})"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'addressable'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
require 'avm/files/appendable'
|
6
|
+
require 'avm/files/deploy'
|
7
|
+
|
8
|
+
module Avm
|
9
|
+
module Git
|
10
|
+
class Commit
|
11
|
+
class Deploy
|
12
|
+
include ::Avm::Files::Appendable
|
13
|
+
enable_simple_cache
|
14
|
+
|
15
|
+
attr_reader :build_dir, :commit, :target_env, :target_path
|
16
|
+
|
17
|
+
def initialize(commit, target_env, target_path)
|
18
|
+
@commit = commit
|
19
|
+
@target_env = target_env
|
20
|
+
@target_path = target_path
|
21
|
+
end
|
22
|
+
|
23
|
+
def run
|
24
|
+
fd = ::Avm::Files::Deploy.new(target_env, target_path)
|
25
|
+
fd.append_tar_output_command(git_archive_command)
|
26
|
+
fd.appended.push(*appended)
|
27
|
+
fd.run
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def git_archive_command
|
33
|
+
commit.git.command('archive', '--format=tar', commit.sha1)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Git
|
7
|
+
class Commit
|
8
|
+
module DeployMethods
|
9
|
+
def deploy_to_env_path(target_env, target_path)
|
10
|
+
Deploy.new(self, target_env, target_path)
|
11
|
+
end
|
12
|
+
|
13
|
+
def deploy_to_url(target_url)
|
14
|
+
Deploy.new(self, *self.class.target_url_to_env_path(target_url))
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|