avm-eac_redmine_base0 0.27.1 → 0.29.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/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +4 -2
- data/lib/avm/eac_redmine_base0/instances/base.rb +2 -2
- data/lib/avm/eac_redmine_base0/instances/docker_image.rb +3 -3
- data/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +1 -1
- data/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +2 -2
- data/lib/avm/eac_redmine_base0/instances/runners/project.rb +1 -1
- data/lib/avm/eac_redmine_base0/sources/base/default_settings.rb +5 -0
- data/lib/avm/eac_redmine_base0/sources/base/update.rb +16 -0
- data/lib/avm/eac_redmine_base0/sources/core_update/bundle_changes.rb +64 -0
- data/lib/avm/eac_redmine_base0/sources/core_update/scm.rb +34 -0
- data/lib/avm/eac_redmine_base0/sources/core_update/source_package.rb +26 -0
- data/lib/avm/eac_redmine_base0/sources/core_update/tempdir.rb +22 -0
- data/lib/avm/eac_redmine_base0/sources/core_update.rb +11 -41
- data/lib/avm/eac_redmine_base0/version.rb +1 -1
- metadata +14 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5097d7b22433940fb8250d0e4b5e4a35bfa108442b3389433e69d16971cd4ed8
|
|
4
|
+
data.tar.gz: 719c3940e5ecec285cc0fc2dab888ad5e1fe65f8ce16f5fc4f568d417e657e37
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 98763b89ab2fcbf1aa03516907a24299c1e93259ffaea03f23cac103e816c5590c3ab990e196861a74fffc3c1e098c7a6ddc8bc5f0ecf6970984944f5a6b8659
|
|
7
|
+
data.tar.gz: c351e33d75239c43a9d6defeb5961bfd63fe9f85ec311cb9f18cfe33b842fe07ac9ab0194967eb22698f0ba6459f096cf6aa0c6d8de592046bda253f3d42e307
|
|
@@ -5,11 +5,13 @@ module Avm
|
|
|
5
5
|
module Instances
|
|
6
6
|
class Base < ::Avm::EacRailsBase1::Instances::Base
|
|
7
7
|
module Nodejs
|
|
8
|
-
DEFAULT_NODEJS_VERSION = '
|
|
8
|
+
DEFAULT_NODEJS_VERSION = '26.6.0'
|
|
9
9
|
NODEJS_VERSION_KEY = 'nodejs.version'
|
|
10
10
|
|
|
11
|
+
# @return [String]
|
|
11
12
|
def auto_install_nodejs_version
|
|
12
|
-
|
|
13
|
+
application.local_source.default_nodejs_version.if_present(&:to_s) ||
|
|
14
|
+
inherited_entry_value(::Avm::Instances::EntryKeys::INSTALL_ID, NODEJS_VERSION_KEY) ||
|
|
13
15
|
DEFAULT_NODEJS_VERSION
|
|
14
16
|
end
|
|
15
17
|
end
|
|
@@ -7,7 +7,7 @@ module Avm
|
|
|
7
7
|
module Instances
|
|
8
8
|
class Base < ::Avm::EacRailsBase1::Instances::Base
|
|
9
9
|
require_sub __FILE__, include_modules: true
|
|
10
|
-
|
|
10
|
+
enable_memoized
|
|
11
11
|
|
|
12
12
|
include ::Avm::EacRubyBase1::Instances::Mixin
|
|
13
13
|
|
|
@@ -52,7 +52,7 @@ module Avm
|
|
|
52
52
|
private
|
|
53
53
|
|
|
54
54
|
# @return [Avm::EacRedmineBase0::Instances::RestApi]
|
|
55
|
-
def
|
|
55
|
+
memoize def rest_api
|
|
56
56
|
url = root_url
|
|
57
57
|
url.query_values = { key: admin_api_key }
|
|
58
58
|
::Avm::EacRedmineBase0::Instances::RestApi.new(url)
|
|
@@ -4,7 +4,7 @@ module Avm
|
|
|
4
4
|
module EacRedmineBase0
|
|
5
5
|
module Instances
|
|
6
6
|
class DockerImage < ::Avm::Instances::DockerImage
|
|
7
|
-
|
|
7
|
+
enable_memoized
|
|
8
8
|
|
|
9
9
|
APACHE_HOST_DOCKERFILE_SUBPATH = 'apache_host_dockerfile'
|
|
10
10
|
APACHE_PATH_DOCKERFILE_SUBPATH = 'apache_path_dockerfile'
|
|
@@ -89,7 +89,7 @@ module Avm
|
|
|
89
89
|
r
|
|
90
90
|
end
|
|
91
91
|
|
|
92
|
-
def
|
|
92
|
+
memoize def git_repo
|
|
93
93
|
::EacGit::Local.new(instance.source_instance.install_path)
|
|
94
94
|
end
|
|
95
95
|
|
|
@@ -97,7 +97,7 @@ module Avm
|
|
|
97
97
|
git_repo.rev_parse('HEAD')
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
-
def
|
|
100
|
+
memoize def redmine_source_path
|
|
101
101
|
r = provide_dir.join(REDMINE_SOURCE_HOST_SUBPATH)
|
|
102
102
|
::FileUtils.rm_rf(r.to_path)
|
|
103
103
|
r.mkpath
|
|
@@ -51,12 +51,12 @@ module Avm
|
|
|
51
51
|
private
|
|
52
52
|
|
|
53
53
|
# @return [String]
|
|
54
|
-
def
|
|
54
|
+
memoize def current_content
|
|
55
55
|
runner_context.call(:wiki_page_content)
|
|
56
56
|
end
|
|
57
57
|
|
|
58
58
|
# @return [String]
|
|
59
|
-
def
|
|
59
|
+
memoize def new_content
|
|
60
60
|
input_content
|
|
61
61
|
end
|
|
62
62
|
end
|
|
@@ -11,6 +11,11 @@ module Avm
|
|
|
11
11
|
INSTALLER_PLUGIN_DEFAULT_SETTINGS_PATH =
|
|
12
12
|
'plugins/redmine_installer/installer/default_settings.sh'
|
|
13
13
|
|
|
14
|
+
# @return [Avm::VersionNumber]
|
|
15
|
+
def default_nodejs_version
|
|
16
|
+
::Avm::VersionNumber.new(default_setting_value('nodejs_version'))
|
|
17
|
+
end
|
|
18
|
+
|
|
14
19
|
# @return [ActiveSupport::Duration]
|
|
15
20
|
def default_passenger_start_timeout
|
|
16
21
|
default_setting_value('passenger_start_timeout').to_i.seconds
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module EacRedmineBase0
|
|
5
|
+
module Sources
|
|
6
|
+
class Base < ::Avm::EacRailsBase1::Sources::Base
|
|
7
|
+
module Update
|
|
8
|
+
# @param changes [Enumerable<Avm::Sources::Change>]
|
|
9
|
+
def update_self_changes_after_subs
|
|
10
|
+
super.grep_v(::Avm::EacRubyBase1::Sources::Update::Changes::RubocopFormat)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module EacRedmineBase0
|
|
5
|
+
module Sources
|
|
6
|
+
class CoreUpdate
|
|
7
|
+
module BundleChanges
|
|
8
|
+
GEMFILE_CONFLICTED_GEMS = %w[rubocop rubocop-rails].freeze
|
|
9
|
+
|
|
10
|
+
# @return [void]
|
|
11
|
+
def bundle_changes
|
|
12
|
+
disable_gemfile_conflicted_gems
|
|
13
|
+
load_subs_from_gemfile
|
|
14
|
+
generate_gemfile_lock
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# @return [void]
|
|
18
|
+
def disable_gemfile_conflicted_gems
|
|
19
|
+
GEMFILE_CONFLICTED_GEMS.each do |gem_name|
|
|
20
|
+
disable_gemfile_gem(gem_name)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# @param gem_name [String]
|
|
25
|
+
# @return [void]
|
|
26
|
+
def disable_gemfile_gem(gem_name)
|
|
27
|
+
source.gemfile_path.write(
|
|
28
|
+
source.gemfile_path.read.gsub(gemfile_gem_line_pattern(gem_name), '\1# \2')
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# @param gem_name [String]
|
|
33
|
+
# @return [Regexp]
|
|
34
|
+
def gemfile_gem_line_pattern(gem_name)
|
|
35
|
+
/^([ \t]*)(gem[ \t]+['"]#{::Regexp.quote(gem_name)}['"].*)$/
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @return [void]
|
|
39
|
+
def generate_gemfile_lock
|
|
40
|
+
source.bundle_update.system!
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @return [void]
|
|
44
|
+
def load_subs_from_gemfile
|
|
45
|
+
source.gemfile_path.write(load_subs_from_gemfile_code, mode: 'a')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# @return [String]
|
|
49
|
+
def load_subs_from_gemfile_code
|
|
50
|
+
<<~'CODE'
|
|
51
|
+
|
|
52
|
+
# Subs
|
|
53
|
+
Dir["#{File.join(__dir__, 'sub')}/*"].each do |dir|
|
|
54
|
+
next unless File.exist?(File.join(dir, "#{File.basename(dir)}.gemspec"))
|
|
55
|
+
|
|
56
|
+
gem File.basename(dir), path: dir, require: false
|
|
57
|
+
end
|
|
58
|
+
CODE
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module EacRedmineBase0
|
|
5
|
+
module Sources
|
|
6
|
+
class CoreUpdate
|
|
7
|
+
module Scm
|
|
8
|
+
enable_memoized
|
|
9
|
+
|
|
10
|
+
# @return [void]
|
|
11
|
+
def git_commit
|
|
12
|
+
if git_repo.dirty?
|
|
13
|
+
infom 'Git commiting...'
|
|
14
|
+
git_repo.command('add', '--', target_path).execute!
|
|
15
|
+
git_repo.command('commit', '-m', git_commit_message, '--', target_path).execute!
|
|
16
|
+
else
|
|
17
|
+
infom 'Nothing to commit'
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# @return [String]
|
|
22
|
+
def git_commit_message
|
|
23
|
+
i18n_translate(__method__, version: version, __locale: source.locale)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @return [EacGit::Local]
|
|
27
|
+
memoize def git_repo
|
|
28
|
+
::EacGit::Local.new(target_path)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module EacRedmineBase0
|
|
5
|
+
module Sources
|
|
6
|
+
class CoreUpdate
|
|
7
|
+
module SourcePackage
|
|
8
|
+
enable_memoized
|
|
9
|
+
|
|
10
|
+
# @return [void]
|
|
11
|
+
def assert_source_package
|
|
12
|
+
infom 'Asserting source package...'
|
|
13
|
+
source_package.assert
|
|
14
|
+
infov 'Package cache path', source_package.path
|
|
15
|
+
infov 'Package size', source_package.path.size
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# @return [EacFs::CachedDownload]
|
|
19
|
+
memoize def source_package
|
|
20
|
+
::EacFs::CachedDownload.new(url, fs_cache)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Avm
|
|
4
|
+
module EacRedmineBase0
|
|
5
|
+
module Sources
|
|
6
|
+
class CoreUpdate
|
|
7
|
+
module Tempdir
|
|
8
|
+
def on_temp_dir
|
|
9
|
+
::EacRubyUtils::Fs::Temp.on_directory do |dir|
|
|
10
|
+
@tempdir = dir
|
|
11
|
+
yield
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
protected
|
|
16
|
+
|
|
17
|
+
attr_accessor :tempdir
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -5,45 +5,36 @@ module Avm
|
|
|
5
5
|
module Sources
|
|
6
6
|
class CoreUpdate
|
|
7
7
|
enable_speaker
|
|
8
|
-
|
|
8
|
+
enable_memoized
|
|
9
9
|
common_constructor :source, :version, :url
|
|
10
10
|
|
|
11
11
|
GITIGNORE_ADD = %w[/public/assets/**/* /config/credentials.* /config/credentials/*
|
|
12
|
-
/config/install.sh /config
|
|
13
|
-
GITIGNORE_DEL = %w[/Gemfile.lock /plugins/* /
|
|
12
|
+
/config/install.sh /config/*.key /log/**/*].freeze
|
|
13
|
+
GITIGNORE_DEL = %w[/Gemfile.lock /plugins/* /themes/* !/themes/README].freeze
|
|
14
14
|
TARGET_KEEP = ::Avm::Sources::Base::Configuration::CONFIGURATION_FILENAMES
|
|
15
15
|
.map { |b| "/#{b}" } + %w[/Gemfile.lock /plugins/*/**
|
|
16
|
-
/
|
|
17
|
-
TARGET_REMOVE =
|
|
16
|
+
/themes/*/** /sub/*/**].freeze
|
|
17
|
+
TARGET_REMOVE = ['/themes/README'].freeze
|
|
18
18
|
|
|
19
19
|
def run
|
|
20
|
-
|
|
21
|
-
@tempdir = dir
|
|
20
|
+
on_temp_dir do
|
|
22
21
|
assert_source_package
|
|
23
22
|
extract_package_to_tempdir
|
|
24
23
|
sync_content
|
|
25
24
|
change_git_ignore
|
|
26
25
|
validate_empty_dir
|
|
26
|
+
bundle_changes
|
|
27
27
|
end
|
|
28
28
|
git_commit
|
|
29
29
|
success 'Done!'
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
def assert_source_package
|
|
33
|
-
infom 'Asserting source package...'
|
|
34
|
-
source_package.assert
|
|
35
|
-
infov 'Package cache path', source_package.path
|
|
36
|
-
infov 'Package size', source_package.path.size
|
|
37
|
-
end
|
|
38
|
-
|
|
39
32
|
def fs_object_id
|
|
40
33
|
[source.path, version].join('_').variableize
|
|
41
34
|
end
|
|
42
35
|
|
|
43
36
|
private
|
|
44
37
|
|
|
45
|
-
attr_reader :tempdir
|
|
46
|
-
|
|
47
38
|
def change_git_ignore
|
|
48
39
|
file = target_path.join('.gitignore')
|
|
49
40
|
file.write(
|
|
@@ -60,34 +51,11 @@ module Avm
|
|
|
60
51
|
).execute!
|
|
61
52
|
end
|
|
62
53
|
|
|
63
|
-
def git_commit
|
|
64
|
-
if git_repo.dirty?
|
|
65
|
-
infom 'Git commiting...'
|
|
66
|
-
git_repo.command('add', '--', target_path).execute!
|
|
67
|
-
git_repo.command('commit', '-m', git_commit_message, '--', target_path).execute!
|
|
68
|
-
else
|
|
69
|
-
infom 'Nothing to commit'
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
def git_commit_message
|
|
74
|
-
i18n_translate(__method__, version: version, __locale: source.locale)
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def git_repo_uncached
|
|
78
|
-
::EacGit::Local.new(target_path)
|
|
79
|
-
end
|
|
80
|
-
|
|
81
54
|
def sync_content
|
|
82
55
|
::Avm::Sync.new(source_path, target_path)
|
|
83
56
|
.add_exclude('/*').add_includes(*target_files_to_remove).move_mode(true).run
|
|
84
57
|
end
|
|
85
58
|
|
|
86
|
-
# @return [EacFs::CachedDownload]
|
|
87
|
-
def source_package_uncached
|
|
88
|
-
::EacFs::CachedDownload.new(url, fs_cache)
|
|
89
|
-
end
|
|
90
|
-
|
|
91
59
|
def validate_empty_dir
|
|
92
60
|
if source_path.children.empty?
|
|
93
61
|
infom 'No content left in source directory'
|
|
@@ -97,7 +65,7 @@ module Avm
|
|
|
97
65
|
end
|
|
98
66
|
end
|
|
99
67
|
|
|
100
|
-
def
|
|
68
|
+
memoize def source_path
|
|
101
69
|
::Pathname.new(tempdir.to_path)
|
|
102
70
|
end
|
|
103
71
|
|
|
@@ -116,9 +84,11 @@ module Avm
|
|
|
116
84
|
TARGET_KEEP.any? { |target_keep| tpath.fnmatch?(target_keep) }
|
|
117
85
|
end
|
|
118
86
|
|
|
119
|
-
def
|
|
87
|
+
memoize def target_path
|
|
120
88
|
source.path
|
|
121
89
|
end
|
|
90
|
+
|
|
91
|
+
require_sub __FILE__, include_modules: true
|
|
122
92
|
end
|
|
123
93
|
end
|
|
124
94
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: avm-eac_redmine_base0
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.29.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Put here the authors
|
|
@@ -15,20 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '0.
|
|
19
|
-
- - ">="
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: 0.102.4
|
|
18
|
+
version: '0.103'
|
|
22
19
|
type: :runtime
|
|
23
20
|
prerelease: false
|
|
24
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
22
|
requirements:
|
|
26
23
|
- - "~>"
|
|
27
24
|
- !ruby/object:Gem::Version
|
|
28
|
-
version: '0.
|
|
29
|
-
- - ">="
|
|
30
|
-
- !ruby/object:Gem::Version
|
|
31
|
-
version: 0.102.4
|
|
25
|
+
version: '0.103'
|
|
32
26
|
- !ruby/object:Gem::Dependency
|
|
33
27
|
name: avm-eac_generic_base0
|
|
34
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -36,6 +30,9 @@ dependencies:
|
|
|
36
30
|
- - "~>"
|
|
37
31
|
- !ruby/object:Gem::Version
|
|
38
32
|
version: '0.16'
|
|
33
|
+
- - ">="
|
|
34
|
+
- !ruby/object:Gem::Version
|
|
35
|
+
version: 0.16.1
|
|
39
36
|
type: :runtime
|
|
40
37
|
prerelease: false
|
|
41
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -43,6 +40,9 @@ dependencies:
|
|
|
43
40
|
- - "~>"
|
|
44
41
|
- !ruby/object:Gem::Version
|
|
45
42
|
version: '0.16'
|
|
43
|
+
- - ">="
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: 0.16.1
|
|
46
46
|
- !ruby/object:Gem::Dependency
|
|
47
47
|
name: avm-eac_rails_base1
|
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -179,7 +179,12 @@ files:
|
|
|
179
179
|
- lib/avm/eac_redmine_base0/instances/runners/project_rename.rb
|
|
180
180
|
- lib/avm/eac_redmine_base0/sources/base.rb
|
|
181
181
|
- lib/avm/eac_redmine_base0/sources/base/default_settings.rb
|
|
182
|
+
- lib/avm/eac_redmine_base0/sources/base/update.rb
|
|
182
183
|
- lib/avm/eac_redmine_base0/sources/core_update.rb
|
|
184
|
+
- lib/avm/eac_redmine_base0/sources/core_update/bundle_changes.rb
|
|
185
|
+
- lib/avm/eac_redmine_base0/sources/core_update/scm.rb
|
|
186
|
+
- lib/avm/eac_redmine_base0/sources/core_update/source_package.rb
|
|
187
|
+
- lib/avm/eac_redmine_base0/sources/core_update/tempdir.rb
|
|
183
188
|
- lib/avm/eac_redmine_base0/sources/runners/core_update.rb
|
|
184
189
|
- lib/avm/eac_redmine_base0/sources/runners/docker.rb
|
|
185
190
|
- lib/avm/eac_redmine_base0/version.rb
|