a2zdeploy 1.0.12 → 1.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/a2zdeploy.gemspec +1 -1
- data/lib/input_validator.rb +77 -68
- data/lib/proget_api.rb +20 -20
- data/lib/rollback.rb +2 -2
- data/lib/rollbackall.rb +2 -2
- data/lib/upgrade.rb +10 -9
- data/lib/upgradeall.rb +13 -6
- data/lib/version_map.rb +4 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f05346bc3f5cea73f05b1649fa634d19abed1ae
|
4
|
+
data.tar.gz: 535e19fb386f8a297144c6a0dbe3c7247c318297
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3badb1ab50f242f7197975f4caef07829e2ca3d1ad41831ec494e4c1af8662bc3fc3690256fd6f9b6da7313b9fac8fe8e5e834a2dd6818f334f336b931619d8c
|
7
|
+
data.tar.gz: 6fa9b29b513dad46ca02f61f5cbd29ba99442c7bd71a43a8caea4c9c5563b4ed426c48eedf66337b4fa34f11761146e3956705c93b456c9f6eca845c14e07ea5
|
data/Gemfile.lock
CHANGED
data/a2zdeploy.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'a2zdeploy'
|
3
|
-
s.version = '1.0.
|
3
|
+
s.version = '1.0.13'
|
4
4
|
s.date = '2016-02-08'
|
5
5
|
s.summary = 'Given a project dependency chain, updates versions, builds, tests, manages service and cloud settings as well as build environment configuration'
|
6
6
|
s.description = 'Automated Upgrades Gem. Provides version upgrades, build and deployment configuration management'
|
data/lib/input_validator.rb
CHANGED
@@ -26,93 +26,101 @@ class InputValidator
|
|
26
26
|
yield 'Config map must be a non-nil class of type Hashit'
|
27
27
|
end
|
28
28
|
|
29
|
-
node_name = 'manifest'
|
30
|
-
yield @simple_validator.method_exists manifest, 'version_source'
|
31
|
-
yield @simple_validator.method_value_not_nil manifest, 'version_source'
|
32
|
-
yield @simple_validator.method_exists manifest.version_source, 'repo_url'
|
33
|
-
yield @simple_validator.method_value_not_nil_or_empty manifest.version_source, 'repo_url'
|
34
|
-
yield @simple_validator.method_exists manifest.version_source, 'branch'
|
35
|
-
yield @simple_validator.method_value_not_nil_or_empty manifest.version_source, 'branch'
|
36
|
-
yield @simple_validator.method_exists manifest, 'projects'
|
37
|
-
yield @simple_validator.method_value_not_nil manifest, 'projects'
|
29
|
+
@node_name = 'manifest'
|
30
|
+
yield @simple_validator.method_exists manifest, 'version_source'
|
31
|
+
yield @simple_validator.method_value_not_nil manifest, 'version_source'
|
32
|
+
yield @simple_validator.method_exists manifest.version_source, 'repo_url'
|
33
|
+
yield @simple_validator.method_value_not_nil_or_empty manifest.version_source, 'repo_url'
|
34
|
+
yield @simple_validator.method_exists manifest.version_source, 'branch'
|
35
|
+
yield @simple_validator.method_value_not_nil_or_empty manifest.version_source, 'branch'
|
36
|
+
yield @simple_validator.method_exists manifest, 'projects'
|
37
|
+
yield @simple_validator.method_value_not_nil manifest, 'projects'
|
38
38
|
end
|
39
39
|
|
40
40
|
def validate_project_node project
|
41
41
|
|
42
|
-
node_name = 'project'
|
42
|
+
@node_name = 'project'
|
43
43
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
# ensure is_root value's boolean only if the key exists
|
45
|
+
msg = @simple_validator.method_exists project, 'is_root'
|
46
|
+
if msg.nil?
|
47
|
+
msg = @simple_validator.method_value_not_nil_or_empty project, 'is_root'
|
48
|
+
project.metadata.is_root = project.metadata.is_root.downcase == 'y' if msg.nil?
|
49
|
+
else
|
50
|
+
yield msg
|
51
|
+
end
|
49
52
|
|
50
|
-
|
51
|
-
yield @simple_validator.method_exists project
|
52
|
-
yield @simple_validator.
|
53
|
+
# previous and next keys are required, their values are not
|
54
|
+
yield @simple_validator.method_exists project, 'next'
|
55
|
+
yield @simple_validator.method_exists project, 'previous'
|
53
56
|
|
54
|
-
|
55
|
-
yield @simple_validator.
|
57
|
+
@node_name = 'project.metadata'
|
58
|
+
yield @simple_validator.method_exists project.metadata, 'repo_url'
|
59
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata, 'repo_url'
|
56
60
|
|
57
|
-
yield @simple_validator.method_exists project.metadata, '
|
58
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata, '
|
61
|
+
yield @simple_validator.method_exists project.metadata, 'branch'
|
62
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata, 'branch'
|
59
63
|
|
60
|
-
yield @simple_validator.method_exists project.metadata, '
|
61
|
-
|
64
|
+
yield @simple_validator.method_exists project.metadata, 'should_upgrade'
|
65
|
+
msg = @simple_validator.method_value_not_nil_or_empty project.metadata, 'should_upgrade'
|
66
|
+
project.metadata.should_upgrade = project.metadata.should_upgrade.downcase == 'y' if msg.nil?
|
67
|
+
yield msg
|
62
68
|
|
63
|
-
yield @simple_validator.method_exists project.metadata, 'should_publish_nuget'
|
64
|
-
|
69
|
+
yield @simple_validator.method_exists project.metadata, 'should_publish_nuget'
|
70
|
+
msg = @simple_validator.method_value_not_nil_or_empty project.metadata, 'should_publish_nuget'
|
71
|
+
project.metadata.should_publish_nuget = project.metadata.should_publish_nuget.downcase == 'y' if msg.nil?
|
72
|
+
yield msg
|
65
73
|
|
66
|
-
yield @simple_validator.method_exists project.metadata, 'env_vars'
|
67
|
-
yield @simple_validator.method_value_not_nil project.metadata, 'env_vars'
|
74
|
+
yield @simple_validator.method_exists project.metadata, 'env_vars'
|
75
|
+
yield @simple_validator.method_value_not_nil project.metadata, 'env_vars'
|
68
76
|
|
69
|
-
yield @simple_validator.method_exists project.metadata, 'status'
|
70
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata, 'status'
|
77
|
+
yield @simple_validator.method_exists project.metadata, 'status'
|
78
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata, 'status'
|
71
79
|
|
72
|
-
yield @simple_validator.method_exists project.metadata, 'build_configuration_id'
|
73
|
-
yield @simple_validator.method_exists project.metadata, 'build_wait_time_in_secs'
|
80
|
+
yield @simple_validator.method_exists project.metadata, 'build_configuration_id'
|
81
|
+
yield @simple_validator.method_exists project.metadata, 'build_wait_time_in_secs'
|
74
82
|
|
75
|
-
node_name = 'project.metadata.env_vars'
|
76
|
-
yield @simple_validator.method_exists project.metadata.env_vars, 'env'
|
77
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'env'
|
83
|
+
@node_name = 'project.metadata.env_vars'
|
84
|
+
yield @simple_validator.method_exists project.metadata.env_vars, 'env'
|
85
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'env'
|
78
86
|
|
79
|
-
yield @simple_validator.method_exists project.metadata.env_vars, 'service_name'
|
80
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'service_name'
|
87
|
+
yield @simple_validator.method_exists project.metadata.env_vars, 'service_name'
|
88
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'service_name'
|
81
89
|
|
82
90
|
if !@test_mode
|
83
|
-
yield @simple_validator.method_exists project.metadata.env_vars, 'AI_InstrumentationKey'
|
84
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'AI_InstrumentationKey'
|
91
|
+
yield @simple_validator.method_exists project.metadata.env_vars, 'AI_InstrumentationKey'
|
92
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'AI_InstrumentationKey'
|
85
93
|
|
86
|
-
yield @simple_validator.method_exists project.metadata.env_vars, 'AppClientId'
|
87
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'AppClientId'
|
94
|
+
yield @simple_validator.method_exists project.metadata.env_vars, 'AppClientId'
|
95
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'AppClientId'
|
88
96
|
|
89
|
-
yield @simple_validator.method_exists project.metadata.env_vars, 'RuntimePath'
|
90
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'RuntimePath'
|
97
|
+
yield @simple_validator.method_exists project.metadata.env_vars, 'RuntimePath'
|
98
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'RuntimePath'
|
91
99
|
|
92
|
-
yield @simple_validator.method_exists project.metadata.env_vars, 'SettingsAccount'
|
93
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'SettingsAccount'
|
100
|
+
yield @simple_validator.method_exists project.metadata.env_vars, 'SettingsAccount'
|
101
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'SettingsAccount'
|
94
102
|
|
95
|
-
yield @simple_validator.method_exists project.metadata.env_vars, 'SettingsAccountKey'
|
96
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'SettingsAccountKey'
|
103
|
+
yield @simple_validator.method_exists project.metadata.env_vars, 'SettingsAccountKey'
|
104
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'SettingsAccountKey'
|
97
105
|
|
98
|
-
yield @simple_validator.method_exists project.metadata.env_vars, 'unitestconnectionString'
|
99
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'unitestconnectionString'
|
106
|
+
yield @simple_validator.method_exists project.metadata.env_vars, 'unitestconnectionString'
|
107
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'unitestconnectionString'
|
100
108
|
|
101
|
-
yield @simple_validator.method_exists project.metadata.env_vars, 'should_update_settings_connstr'
|
102
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'should_update_settings_connstr'
|
109
|
+
yield @simple_validator.method_exists project.metadata.env_vars, 'should_update_settings_connstr'
|
110
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.env_vars, 'should_update_settings_connstr'
|
103
111
|
end
|
104
112
|
|
105
|
-
node_name = 'project.metadata.semver'
|
106
|
-
yield @simple_validator.method_exists project.metadata, 'semver'
|
107
|
-
yield @simple_validator.method_value_not_nil project.metadata, 'semver'
|
108
|
-
yield @simple_validator.method_exists project.metadata.semver, 'file'
|
109
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.semver, 'file'
|
113
|
+
@node_name = 'project.metadata.semver'
|
114
|
+
yield @simple_validator.method_exists project.metadata, 'semver'
|
115
|
+
yield @simple_validator.method_value_not_nil project.metadata, 'semver'
|
116
|
+
yield @simple_validator.method_exists project.metadata.semver, 'file'
|
117
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.semver, 'file'
|
110
118
|
|
111
|
-
yield @simple_validator.method_exists project.metadata.semver, 'dimension'
|
112
|
-
yield @simple_validator.method_value_not_nil_or_empty project.metadata.semver, 'dimension'
|
119
|
+
yield @simple_validator.method_exists project.metadata.semver, 'dimension'
|
120
|
+
yield @simple_validator.method_value_not_nil_or_empty project.metadata.semver, 'dimension'
|
113
121
|
|
114
|
-
|
115
|
-
|
122
|
+
# location key required not value
|
123
|
+
yield @simple_validator.method_exists project.metadata.semver, 'location'
|
116
124
|
|
117
125
|
end
|
118
126
|
|
@@ -126,35 +134,36 @@ class SimpleValidator
|
|
126
134
|
CANNOT_CONTINUE = '. Cannot continue!'
|
127
135
|
IS_MISSING = ' is missing'
|
128
136
|
|
129
|
-
def method_exists object, method
|
137
|
+
def method_exists object, method
|
130
138
|
begin
|
131
139
|
if !object.respond_to? method
|
132
|
-
"#{
|
140
|
+
"#{@node_name}\'s method: *#{method}*" + IS_MISSING
|
133
141
|
end
|
134
142
|
rescue
|
135
143
|
nil
|
136
144
|
end
|
137
145
|
end
|
138
146
|
|
139
|
-
def method_value_not_nil_or_empty object, method
|
147
|
+
def method_value_not_nil_or_empty object, method
|
140
148
|
begin
|
141
149
|
value = object.send method
|
142
|
-
if value
|
143
|
-
"#{
|
150
|
+
if value.nil? || value.to_s.strip.length == 0
|
151
|
+
"#{@node_name}\'s *#{method}* value is empty or" + IS_MISSING
|
144
152
|
end
|
145
153
|
rescue
|
146
154
|
nil
|
147
155
|
end
|
148
156
|
end
|
149
157
|
|
150
|
-
def method_value_not_nil object, method
|
158
|
+
def method_value_not_nil object, method
|
151
159
|
begin
|
152
160
|
value = object.send method
|
153
|
-
if value
|
154
|
-
"#{
|
161
|
+
if value.nil?
|
162
|
+
"#{@node_name}\'s *#{method}* value" + IS_MISSING
|
155
163
|
end
|
156
164
|
rescue
|
157
165
|
nil
|
158
166
|
end
|
159
167
|
end
|
168
|
+
|
160
169
|
end
|
data/lib/proget_api.rb
CHANGED
@@ -1,28 +1,28 @@
|
|
1
1
|
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
class ProgetApi
|
3
|
+
def is_package_published packageName, packageVersion, timeout
|
4
|
+
packageLocationUri = "http://nuget2.relayhealth.com/nuget/Carnegie/Packages(Id='#{packageName}',Version='#{packageVersion}')"
|
5
|
+
counter = timeout
|
6
|
+
i = 0
|
7
|
+
found = false;
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
while i < counter
|
10
|
+
response = Net::HTTP.get_response(URI packageLocationUri)
|
11
|
+
xmldoc = Nokogiri::XML response.body
|
12
|
+
entry = xmldoc.css "entry id"
|
13
|
+
if entry.to_s.include? packageLocationUri
|
14
|
+
puts "Found #{packageName}-#{packageVersion}"
|
15
|
+
found = true
|
16
|
+
break
|
17
|
+
end
|
18
|
+
sleep 1
|
19
|
+
i += 1
|
16
20
|
end
|
17
|
-
sleep 1
|
18
|
-
i += 1
|
19
|
-
end
|
20
21
|
|
21
|
-
|
22
|
-
puts "Not found #{packageName}-#{packageVersion}"
|
23
|
-
end
|
22
|
+
puts "Not found #{packageName}-#{packageVersion}" if !found
|
24
23
|
|
25
|
-
|
24
|
+
found
|
25
|
+
end
|
26
26
|
end
|
27
27
|
|
28
28
|
# Sample Usage
|
data/lib/rollback.rb
CHANGED
@@ -31,7 +31,7 @@ class RollbackUpgrade
|
|
31
31
|
def create_rollback_tag
|
32
32
|
versioning = SemverVersioning.new
|
33
33
|
semver_file = @config_map.metadata.semver.file
|
34
|
-
if @config_map.metadata.should_publish_nuget
|
34
|
+
if @config_map.metadata.should_publish_nuget && semver_file != nil && semver_file != GlobalConstants::EMPTY
|
35
35
|
semver_file.capitalize
|
36
36
|
ver_tag = versioning.get_current_version @config_map.metadata.semver.location, semver_file
|
37
37
|
return "rollback-#{ver_tag}"
|
@@ -50,7 +50,7 @@ class RollbackUpgrade
|
|
50
50
|
end
|
51
51
|
|
52
52
|
# check hashes for version upgrade commit message
|
53
|
-
if !commit_hashes.any?{ |c_hash| GithubApi.ShowCommitInfoLocal(c_hash).include?
|
53
|
+
if !commit_hashes.any?{ |c_hash| GithubApi.ShowCommitInfoLocal(c_hash).include? Upgrade::VERSION_UPGRADE_COMMIT }
|
54
54
|
puts `No version upgrade commit detected to roll back, aborting rollback.`
|
55
55
|
return false
|
56
56
|
end
|
data/lib/rollbackall.rb
CHANGED
@@ -88,14 +88,14 @@ class RollbackAll
|
|
88
88
|
puts 'IsRollback not set in manifest, aborting rollback.'
|
89
89
|
return false
|
90
90
|
end
|
91
|
-
upgrader =
|
91
|
+
upgrader = Upgrade.new versions_to_update, rollback
|
92
92
|
|
93
93
|
# if changes exist, cycle through dependency tree and kick off upgrades
|
94
94
|
puts GlobalConstants::UPGRADE_PROGRESS + 'Navigating projects...'
|
95
95
|
dep_tree = DependencyTree.new(@manifest['projects'])
|
96
96
|
dep_tree.traverse do |node|
|
97
97
|
|
98
|
-
if node.metadata.should_upgrade
|
98
|
+
if node.metadata.should_upgrade
|
99
99
|
puts "#{GlobalConstants::UPGRADE_PROGRESS} Processing project #{node.project_name}..."
|
100
100
|
|
101
101
|
# validate project node
|
data/lib/upgrade.rb
CHANGED
@@ -4,7 +4,7 @@ Processes upgrade for a C# code repositoryy
|
|
4
4
|
|
5
5
|
=end
|
6
6
|
|
7
|
-
class
|
7
|
+
class Upgrade
|
8
8
|
|
9
9
|
UPGRADE_BRANCH = 'upgrade'
|
10
10
|
BACKUP_BRANCH = 'upgradeBackupDoNotDelete'
|
@@ -33,7 +33,7 @@ class UpgradePackages
|
|
33
33
|
def create_upgrade_tag
|
34
34
|
versioning = SemverVersioning.new
|
35
35
|
semver_file = @config_map.metadata.semver.file
|
36
|
-
if @config_map.metadata.should_publish_nuget
|
36
|
+
if @config_map.metadata.should_publish_nuget && semver_file != nil && semver_file != GlobalConstants::EMPTY
|
37
37
|
semver_file.capitalize
|
38
38
|
ver_tag = versioning.get_current_version @config_map.metadata.semver.location, semver_file
|
39
39
|
return "upgrade-#{ver_tag}"
|
@@ -95,7 +95,7 @@ class UpgradePackages
|
|
95
95
|
# QUESTION: Should this method increment semver even if there is no nuget published?
|
96
96
|
puts GlobalConstants::UPGRADE_PROGRESS + 'Upgrading semver...'
|
97
97
|
semver_inc_done = increment_semver_if_publish is_local_run
|
98
|
-
nuget_targets << Dir.pwd + '/build_artifacts' if @config_map.metadata.should_publish_nuget
|
98
|
+
nuget_targets << Dir.pwd + '/build_artifacts' if @config_map.metadata.should_publish_nuget
|
99
99
|
|
100
100
|
# Tag commit
|
101
101
|
recent_commit_hash = GithubApi.GetRecentCommitHash(@branch)
|
@@ -116,7 +116,8 @@ class UpgradePackages
|
|
116
116
|
|
117
117
|
# update version map with nuget versions after build success
|
118
118
|
if semver_inc_done
|
119
|
-
update_version_map
|
119
|
+
nuget_versions = update_version_map '/build_artifacts/*.nupkg'
|
120
|
+
@versions.merge! nuget_versions
|
120
121
|
puts GlobalConstants::UPGRADE_PROGRESS + 'Semver upgraded. Version map updated.'
|
121
122
|
end
|
122
123
|
|
@@ -290,8 +291,7 @@ class UpgradePackages
|
|
290
291
|
auto_update_semver @config_map.project_name, @config_map.metadata.semver.location, @config_map.metadata.semver.file, @config_map.metadata.semver.dimension
|
291
292
|
return true
|
292
293
|
else
|
293
|
-
|
294
|
-
if should_publish_nuget.eql? 'y'
|
294
|
+
if @config_map.metadata.should_publish_nuget
|
295
295
|
semver_file = @config_map.metadata.semver.file
|
296
296
|
if (semver_file != nil && semver_file != GlobalConstants::EMPTY)
|
297
297
|
semver_file.capitalize
|
@@ -306,8 +306,8 @@ class UpgradePackages
|
|
306
306
|
false
|
307
307
|
end
|
308
308
|
|
309
|
-
def update_version_map
|
310
|
-
path = File.join(Dir.pwd,
|
309
|
+
def update_version_map path
|
310
|
+
path = File.join(Dir.pwd, path)
|
311
311
|
nugets = Dir.glob path
|
312
312
|
nugets.each { |nuget|
|
313
313
|
full_name = File.basename nuget
|
@@ -316,7 +316,8 @@ class UpgradePackages
|
|
316
316
|
dot_pos = full_name.index GlobalConstants::DOT
|
317
317
|
nuget_name = full_name[0..dot_pos-1]
|
318
318
|
nuget_version = full_name[dot_pos+1..full_name.length]
|
319
|
-
|
319
|
+
versions[nuget_name] = nuget_version
|
320
320
|
}
|
321
|
+
versions
|
321
322
|
end
|
322
323
|
end
|
data/lib/upgradeall.rb
CHANGED
@@ -39,7 +39,7 @@ class UpgradeAll
|
|
39
39
|
Dir.chdir GlobalConstants::PARENTDIR
|
40
40
|
end
|
41
41
|
|
42
|
-
def Do input_validator, is_local_run=false
|
42
|
+
def Do input_validator, is_local_run = false
|
43
43
|
|
44
44
|
GithubApi.SetPushDefaultSimple
|
45
45
|
|
@@ -70,8 +70,8 @@ class UpgradeAll
|
|
70
70
|
end
|
71
71
|
raise StandardError, validation_error_message(validation_errors) if validation_errors.length > 0
|
72
72
|
|
73
|
-
nuget_targets =
|
74
|
-
upgrader =
|
73
|
+
nuget_targets = nuget_targets_in_env_if_any
|
74
|
+
upgrader = Upgrade.new versions_to_update
|
75
75
|
|
76
76
|
# if changes exist, cycle through dependency tree and kick off upgrades
|
77
77
|
puts GlobalConstants::UPGRADE_PROGRESS + 'Navigating projects...'
|
@@ -98,14 +98,14 @@ class UpgradeAll
|
|
98
98
|
node_name = node.project_name
|
99
99
|
node_name = GlobalConstants::ROOT if (node.respond_to?('is_root') && node.is_root == 'true')
|
100
100
|
|
101
|
-
# project status
|
101
|
+
# set project status in json
|
102
102
|
if upgrade_status
|
103
103
|
puts GlobalConstants::UPGRADE_PROGRESS + " Upgrade of #{node.project_name} succeeded"
|
104
104
|
@manifest['projects'][node_name]['metadata']['status'] = GlobalConstants::SUCCESS
|
105
105
|
Dir.chdir GlobalConstants::PARENTDIR
|
106
106
|
|
107
107
|
# if publishing nuget package, wait for a minute for publish to finish
|
108
|
-
waitfor node.metadata.build_wait_time_in_secs if node.metadata.should_publish_nuget
|
108
|
+
waitfor node.metadata.build_wait_time_in_secs if node.metadata.should_publish_nuget
|
109
109
|
else
|
110
110
|
# either cycle was unterrupted, a step in upgrade failed or full cycle successfully completed
|
111
111
|
# save the version map and manifest
|
@@ -125,8 +125,15 @@ class UpgradeAll
|
|
125
125
|
true
|
126
126
|
end
|
127
127
|
|
128
|
+
def nuget_targets_in_env_if_any
|
129
|
+
existing_targets = ENV['nuget_targets'] if !ENV['nuget_targets'] != nil || ENV['nuget_targets'] != GlobalConstants::EMPTY
|
130
|
+
target_list = []
|
131
|
+
target_list = existing_targets.split(',') if existing_targets != nil
|
132
|
+
target_list
|
133
|
+
end
|
134
|
+
|
128
135
|
def check_should_upgrade node
|
129
|
-
status = node.metadata.should_upgrade
|
136
|
+
status = node.metadata.should_upgrade
|
130
137
|
puts GlobalConstants::UPGRADE_PROGRESS + " Skipping upgrade for project #{node.project_name}..." if !status
|
131
138
|
status
|
132
139
|
end
|
data/lib/version_map.rb
CHANGED
@@ -50,7 +50,7 @@ class VersionMap
|
|
50
50
|
}
|
51
51
|
}
|
52
52
|
|
53
|
-
if Dir.exist?
|
53
|
+
if Dir.exist? 'versioning'
|
54
54
|
update_platform_multiple_semver_package_versions versions
|
55
55
|
else
|
56
56
|
update_platform_single_semver_package_versions versions
|
@@ -105,13 +105,9 @@ class VersionMap
|
|
105
105
|
|
106
106
|
def get_semver semver
|
107
107
|
ver = load_semver File.join('versioning', semver)
|
108
|
-
|
108
|
+
# remove 'v' at start of string which isn't expected for version spec in .package and .csproj files
|
109
|
+
v = ver.to_s.sub 'v', ''
|
109
110
|
v
|
110
111
|
end
|
111
112
|
|
112
|
-
end
|
113
|
-
|
114
|
-
#puts "test"
|
115
|
-
#vm = VersionMap.new
|
116
|
-
#versions = vm.version_map "http://", "master"
|
117
|
-
#version_map("http://ndhaxpgit01.mckesson.com/Carnegie/RelayHealth.DataPlatform.git", "master")
|
113
|
+
end
|