avm-eac_redmine_base0 0.6.1 → 0.7.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: 78cfe0d0e1e905781b984e7f1dd600f1af6dda60ebd943916bfc7d96028043f5
4
- data.tar.gz: 656b5bfa50a161dd988a5c635fd55d0387c7da7790d713d309824acd2d775e1b
3
+ metadata.gz: 9696d77e08ae4b3e1430ee69b85ee2815ff93d563968d2d209ece83a959f187b
4
+ data.tar.gz: 7120f0c052f9082e9fdb39b6992788676bffae4a568f30f8a7f23d7281076aae
5
5
  SHA512:
6
- metadata.gz: 198533a73af424b5361681656fcae181841121aa5292a641845eb513a0a867b27f9e8df1bf7dfc350e3fd36095f925dea51f7fd5ecaabde83b5eea94912ef65c
7
- data.tar.gz: 729a950bab775decbe4cd13813474c68e4f0ac207c999a5ff4940dd7cc5ec060926999997d954fa1779f2e8432a437b10031f380bad26f0d6060d8427f4c7e1e
6
+ metadata.gz: 153593e33012649c55762807fb2a1595218da50324b53a2c20630afe4ce1c5886b064738611d4e0c7ae92ae5632a8ee30770929767f442ae1484ad06ad8007f9
7
+ data.tar.gz: ccf1eb4978f51c5429cc8c1c6a5921509099aa3016735e1ad00b22b7da6f0fcde10cd0f2fc06f421ef6825bab6f7af8164529288d7fdefe20d9b56f68bad4300
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/eac_redmine_base0/core_update'
4
+ require 'avm/sources/base/configuration'
4
5
  require 'avm/sync'
5
6
  require 'eac_fs/cached_download'
6
7
  require 'eac_ruby_utils/core_ext'
@@ -10,11 +11,13 @@ module Avm
10
11
  class CoreUpdate
11
12
  enable_speaker
12
13
  enable_simple_cache
13
- common_constructor :instance, :version, :url
14
+ common_constructor :source, :version, :url
14
15
 
15
- GITIGNORE_ADD = %w[/public/assets/**/* /config/install.sh /log/**/*].freeze
16
+ GITIGNORE_ADD = %w[/public/assets/**/* /config/install.sh /config/secrets_key.txt
17
+ /log/**/*].freeze
16
18
  GITIGNORE_DEL = %w[/Gemfile.lock /plugins/* /public/themes/*].freeze
17
- TARGET_KEEP = %w[/Gemfile.lock].freeze
19
+ TARGET_KEEP = ::Avm::Sources::Base::Configuration::CONFIGURATION_FILENAMES
20
+ .map { |b| "/#{b}" } + %w[/Gemfile.lock].freeze
18
21
 
19
22
  def run
20
23
  ::EacRubyUtils::Fs::Temp.on_directory do |dir|
@@ -37,7 +40,7 @@ module Avm
37
40
  end
38
41
 
39
42
  def fs_object_id
40
- [instance.id, version].join('_').variableize
43
+ [source.path, version].join('_').variableize
41
44
  end
42
45
 
43
46
  private
@@ -71,7 +74,7 @@ module Avm
71
74
  end
72
75
 
73
76
  def git_commit_message
74
- "Core: update to #{version}."
77
+ i18n_translate(__method__, version: version, __locale: source.locale)
75
78
  end
76
79
 
77
80
  def git_repo_uncached
@@ -108,7 +111,7 @@ module Avm
108
111
  end
109
112
 
110
113
  def target_path_uncached
111
- instance.read_entry('fs_path').to_pathname
114
+ source.path
112
115
  end
113
116
  end
114
117
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/eac_rails_base1/sources/base'
4
+ require 'avm/eac_redmine_base0/sources/runners'
4
5
  require 'eac_ruby_utils/core_ext'
5
6
 
6
7
  module Avm
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_redmine_base0/core_update'
4
+ require 'eac_cli/core_ext'
5
+ require 'avm/eac_rails_base1/sources/base'
6
+ require 'avm/eac_redmine_base0/sources/runners'
7
+ require 'eac_ruby_utils/core_ext'
8
+
9
+ module Avm
10
+ module EacRedmineBase0
11
+ module Sources
12
+ module Runners
13
+ class CoreUpdate
14
+ runner_with :help do
15
+ arg_opt '-u', '--url', 'Core\'s package URL.'
16
+ arg_opt '-v', '--version', 'Core\'s version.'
17
+ desc 'Update instance\' core.'
18
+ end
19
+
20
+ def run
21
+ start_banner
22
+ validate
23
+ update
24
+ end
25
+
26
+ private
27
+
28
+ def start_banner
29
+ infov 'URL', url
30
+ infov 'Version', version
31
+ end
32
+
33
+ def update
34
+ ::Avm::EacRedmineBase0::CoreUpdate.new(runner_context.call(:subject), version, url).run
35
+ end
36
+
37
+ def url
38
+ parsed.url || url_by_version
39
+ end
40
+
41
+ def url_by_version
42
+ parsed.version.if_present do |v|
43
+ "https://www.redmine.org/releases/redmine-#{v}.tar.gz"
44
+ end
45
+ end
46
+
47
+ def validate
48
+ %w[url version].each do |attr|
49
+ fatal_error "\"#{attr}\" is blank. See avaiable options." if send(attr).blank?
50
+ end
51
+ end
52
+
53
+ def version
54
+ parsed.version || version_by_url
55
+ end
56
+
57
+ def version_by_url
58
+ parsed.url.if_present do |v|
59
+ /(\d+.\d+.\d+)/.if_match(v, false) { |m| m[1] }
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRedmineBase0
7
+ module Sources
8
+ module Runners
9
+ require_sub __FILE__
10
+ end
11
+ end
12
+ end
13
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRedmineBase0
5
- VERSION = '0.6.1'
5
+ VERSION = '0.7.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-eac_redmine_base0
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
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: 2022-07-02 00:00:00.000000000 Z
11
+ date: 2022-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm-eac_rails_base1
@@ -123,6 +123,8 @@ files:
123
123
  - lib/avm/eac_redmine_base0/instances/docker_image.rb
124
124
  - lib/avm/eac_redmine_base0/rest_api.rb
125
125
  - lib/avm/eac_redmine_base0/sources/base.rb
126
+ - lib/avm/eac_redmine_base0/sources/runners.rb
127
+ - lib/avm/eac_redmine_base0/sources/runners/core_update.rb
126
128
  - lib/avm/eac_redmine_base0/version.rb
127
129
  - template/avm/eac_redmine_base0/deploy/config/install.sh.template
128
130
  - template/avm/eac_redmine_base0/deploy/config/secrets.yml