azdeploy 1.0.29 → 1.0.30
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/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
|