azdeploy 1.0.29 → 1.0.30
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/azdeploy.gemspec +2 -2
- data/lib/azdeploy.rb +1 -0
- data/lib/build.rb +59 -21
- data/lib/dependency.rb +43 -0
- data/lib/transform.rb +31 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6cfe21fedf88697a8d17753b2367be79579268ee
|
4
|
+
data.tar.gz: f0f40c6f91d5c357dd11882fe9deb0cc51a65644
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 082eb1b7b1dea05ffa673c76fa0598fd32d2dbf8ffce50907a2e3dd00549dc26192349d515f7073ddbb4ae8bb21f907141fe33b7fb66999c0da20f51a5d26806
|
7
|
+
data.tar.gz: 8a77396d729b53ce2bacd24b0aa083afad51b48d2b6cabaf8a9f692de8230f6057d3794df0f965d45133c1acb5f6b95935612fb5b963f2299383521b2409b540
|
data/azdeploy.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'azdeploy'
|
3
|
-
s.version = '1.0.
|
4
|
-
s.date = '2015-
|
3
|
+
s.version = '1.0.30'
|
4
|
+
s.date = '2015-10-04'
|
5
5
|
s.summary = 'Setup and scripting support for .Net project builds'
|
6
6
|
s.description = 'Azure Deployment Gem. Provides easy setup and deployment scripting support for .Net project builds'
|
7
7
|
s.authors = ['Suresh Batta']
|
data/lib/azdeploy.rb
CHANGED
data/lib/build.rb
CHANGED
@@ -99,26 +99,50 @@ def clean_build(msb, solution)
|
|
99
99
|
msb.solution = solution
|
100
100
|
end
|
101
101
|
|
102
|
-
def versioning
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
102
|
+
def versioning project=nil, file=nil
|
103
|
+
if (!project.nil? && !file.nil?)
|
104
|
+
v = SemVer.new
|
105
|
+
path = File.join VERSIONING, file
|
106
|
+
v.load path
|
107
|
+
ver = v
|
108
|
+
commitData = commit_data()
|
109
|
+
# nuget (not full semver 2.0.0-rc.1 support) see http://nuget.codeplex.com/workitem/1796
|
110
|
+
ENV["#{project}_NUGET_VERSION"] = ver.format('%M.%m.%p%s')
|
111
|
+
|
112
|
+
revision = (ENV['BUILD_NUMBER'] || ver.patch).to_i
|
113
|
+
|
114
|
+
# extensible number w/ git hash
|
115
|
+
ENV["#{project}_BUILD_VERSION"] = ver.format('%M.%m.%p%s') + ".#{commitData[0]}"
|
116
|
+
|
117
|
+
# purely M.m.p format
|
118
|
+
ENV["#{project}_FORMAL_VERSION"] = "#{ SemVer.new(ver.major, ver.minor, revision).format '%M.%m.%p'}"
|
119
|
+
else
|
120
|
+
ver = SemVer.find
|
121
|
+
revision = (ENV['BUILD_NUMBER'] || ver.patch).to_i
|
122
|
+
var = SemVer.new(ver.major, ver.minor, revision, ver.special)
|
123
|
+
|
124
|
+
commitData = commit_data()
|
125
|
+
|
126
|
+
# extensible number w/ git hash
|
127
|
+
ENV['BUILD_VERSION'] = $versionMap[:build_version] = ver.format('%M.%m.%p%s') + ".#{commitData[0]}"
|
128
|
+
|
129
|
+
# nuget (not full semver 2.0.0-rc.1 support) see http://nuget.codeplex.com/workitem/1796
|
130
|
+
ENV['NUGET_VERSION'] = $versionMap[:nuget_version] = ver.format('%M.%m.%p%s')
|
131
|
+
|
132
|
+
ENV['PLATFORM_VERSION'] = $versionMap[:platform_version] = Time.new.strftime('%y.%-m.%-d') + ".#{(ENV['BUILD_NUMBER'] || '0')}"
|
133
|
+
|
134
|
+
ENV['PLATFORM_BUILD_VERSION'] = $versionMap[:platform_build_version] = Time.new.strftime('%y.%-m.%-d') + ".#{commitData[0]}"
|
135
|
+
|
136
|
+
ENV['FORMAL_VERSION'] = $versionMap[:formal_version] = "#{ SemVer.new(ver.major, ver.minor, revision).format '%M.%m.%p'}"
|
137
|
+
|
138
|
+
teamcity_build_number
|
139
|
+
end
|
140
|
+
end
|
116
141
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
puts "##teamcity[buildNumber '#{$versionMap[:platform_version]}']" # tell teamcity our decision
|
142
|
+
desc 'Tell teamcity our decision to set the build.number environment variable'
|
143
|
+
def teamcity_build_number
|
144
|
+
platform_version = Time.new.strftime('%y.%-m.%-d') + ".#{(ENV['BUILD_NUMBER'] || '0')}"
|
145
|
+
puts "##teamcity[buildNumber '#{platform_version}']"
|
122
146
|
end
|
123
147
|
|
124
148
|
def set_framework_version(asm)
|
@@ -129,7 +153,7 @@ def set_solution_version(asm)
|
|
129
153
|
set_version asm, $versionMap[:platform_version], $versionMap[:platform_version], $versionMap[:platform_build_version], 'Solution'
|
130
154
|
end
|
131
155
|
|
132
|
-
def set_version(asm, version, file_version, assembly_version, output_file)
|
156
|
+
def set_version(asm, version, file_version, assembly_version, output_file, output_file_src='src')
|
133
157
|
# Assembly file config
|
134
158
|
asm.product_name = PRODUCT
|
135
159
|
asm.description = PRODUCT_DESCRIPTION
|
@@ -139,7 +163,7 @@ def set_version(asm, version, file_version, assembly_version, output_file)
|
|
139
163
|
:ComVisibleAttribute => false,
|
140
164
|
:CLSCompliantAttribute => true
|
141
165
|
asm.copyright = COPYRIGHT
|
142
|
-
asm.output_file = "
|
166
|
+
asm.output_file = "#{output_file_src}/#{output_file}.Version.cs"
|
143
167
|
asm.namespaces 'System', 'System.Reflection', 'System.Runtime.InteropServices'
|
144
168
|
end
|
145
169
|
|
@@ -195,4 +219,18 @@ def copy_runtime_artifacts(package)
|
|
195
219
|
puts source
|
196
220
|
puts dest
|
197
221
|
copy_output_files source, "*.*", dest
|
222
|
+
end
|
223
|
+
|
224
|
+
desc 'Gathers all rake files and runs the task list'
|
225
|
+
def package rake_files_path, task_list
|
226
|
+
if(task_list.nil?)
|
227
|
+
puts "No task to execute"
|
228
|
+
else
|
229
|
+
Dir.glob("#{rake_files_path}/*.rb").each {
|
230
|
+
|r| load r
|
231
|
+
}
|
232
|
+
task_list.each { |eachtask|
|
233
|
+
Rake::Task["#{eachtask}"].invoke
|
234
|
+
}
|
235
|
+
end
|
198
236
|
end
|
data/lib/dependency.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
def auto_add_dependencies(project, nuspec)
|
2
|
+
@Dependencies = Array.new
|
3
|
+
|
4
|
+
each_package_dependency(project) do |package|
|
5
|
+
@Dependencies << package
|
6
|
+
end
|
7
|
+
|
8
|
+
@Dependencies.each do |dep|
|
9
|
+
nuspec.dependency dep.Name, dep.Version
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
def each_package_dependency(project)
|
15
|
+
packages_config = File.join File.dirname(project), 'packages.config'
|
16
|
+
return [] unless File.exists? packages_config
|
17
|
+
|
18
|
+
each_package packages_config do |id, version|
|
19
|
+
yield Dependency.new id, version
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
def each_package(packages_config)
|
25
|
+
xml = File.read packages_config
|
26
|
+
doc = REXML::Document.new xml
|
27
|
+
doc.elements.each 'packages/package' do |package|
|
28
|
+
if block_given?
|
29
|
+
yield package.attributes['id'], package.attributes['version']
|
30
|
+
else
|
31
|
+
"no package block"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class Dependency
|
37
|
+
attr_accessor :Name, :Version
|
38
|
+
|
39
|
+
def initialize(name, version)
|
40
|
+
@Name = name
|
41
|
+
@Version = version
|
42
|
+
end
|
43
|
+
end
|
data/lib/transform.rb
CHANGED
@@ -254,7 +254,33 @@ class Transform
|
|
254
254
|
File.write(file, doc.to_xml)
|
255
255
|
}
|
256
256
|
end
|
257
|
-
|
257
|
+
|
258
|
+
# log level and azure table appender parameters are transformed
|
259
|
+
def transform_log4net
|
260
|
+
config_files = Dir.glob('**/log4net.config')
|
261
|
+
config_files.each{ |file|
|
262
|
+
doc = Nokogiri::XML(File.read(file))
|
263
|
+
|
264
|
+
# azure table name is service name
|
265
|
+
node = doc.at_css 'log4net/appender[@name=AzureTableAppender]/param[@name=TableName]'
|
266
|
+
node['value'] = @service_name if (!node.nil?)
|
267
|
+
|
268
|
+
node = doc.at_css 'log4net/appender[@name=AzureTableAppender]/param[@name=ConnectionString]'
|
269
|
+
log_connstr = ENV["log#{CONNECTIONSTRING}"] || NO_VALUE
|
270
|
+
if log_connstr == NO_VALUE
|
271
|
+
puts "No logging #{CONNECTIONSTRING} found."
|
272
|
+
else
|
273
|
+
node['value'] = log_connstr if (!node.nil?)
|
274
|
+
end
|
275
|
+
|
276
|
+
# log level
|
277
|
+
node = doc.at_css 'log4net/root/level'
|
278
|
+
node['value'] = ENV['loglevel'] if (!node.nil?)
|
279
|
+
|
280
|
+
File.write(file, doc.to_xml)
|
281
|
+
}
|
282
|
+
end
|
283
|
+
|
258
284
|
def remove_paths_from_list(paths_to_exclude, source_list)
|
259
285
|
paths_to_exclude.each { |path|
|
260
286
|
source_list.delete_if { |file|
|
@@ -393,7 +419,10 @@ class Transform
|
|
393
419
|
|
394
420
|
puts 'Transforming Application Insights...'
|
395
421
|
transform_appinsights(paths_to_exclude)
|
396
|
-
|
422
|
+
|
423
|
+
puts 'Transforming log4net config...'
|
424
|
+
transform_log4net
|
425
|
+
|
397
426
|
return true
|
398
427
|
end
|
399
428
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: azdeploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.30
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Suresh Batta
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Azure Deployment Gem. Provides easy setup and deployment scripting support
|
14
14
|
for .Net project builds
|
@@ -20,6 +20,7 @@ files:
|
|
20
20
|
- test/test_azdeploy.rb
|
21
21
|
- lib/azdeploy.rb
|
22
22
|
- lib/build.rb
|
23
|
+
- lib/dependency.rb
|
23
24
|
- lib/install.rb
|
24
25
|
- lib/transform.rb
|
25
26
|
- lib/update.rb
|