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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 577e6b70f95834a7d24aa816fa7ed7141e7a0806
4
- data.tar.gz: 506256fdb43fd91ed937053d497785f4411d8ac8
3
+ metadata.gz: 6cfe21fedf88697a8d17753b2367be79579268ee
4
+ data.tar.gz: f0f40c6f91d5c357dd11882fe9deb0cc51a65644
5
5
  SHA512:
6
- metadata.gz: c8017ab9b4213b17ff6079edaf61a064f49845e4a3fbb08a47439915060bc8ad587e850123d049429c903d035766928272912e93e3fb06abb2060c61b2c5e6a7
7
- data.tar.gz: c149f2975f1b0ac28b4312bc819ab98b9f9b0bb88c3d5481b816327f5d806b722e740bc0bc6d65301fa3b90ca4aa2c07737be62c7355b8f84afa684c52a5d340
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.29'
4
- s.date = '2015-09-29'
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
@@ -1,6 +1,7 @@
1
1
  require_relative 'install.rb'
2
2
  require_relative 'transform.rb'
3
3
  require_relative 'build.rb'
4
+ require_relative 'dependency.rb'
4
5
 
5
6
  # installation
6
7
  installers = [
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
- ver = SemVer.find
104
- revision = (ENV['BUILD_NUMBER'] || ver.patch).to_i
105
- var = SemVer.new(ver.major, ver.minor, revision, ver.special)
106
-
107
- commitData = commit_data()
108
-
109
- # extensible number w/ git hash
110
- ENV['BUILD_VERSION'] = $versionMap[:build_version] = ver.format('%M.%m.%p%s') + ".#{commitData[0]}"
111
-
112
- # nuget (not full semver 2.0.0-rc.1 support) see http://nuget.codeplex.com/workitem/1796
113
- ENV['NUGET_VERSION'] = $versionMap[:nuget_version] = ver.format('%M.%m.%p%s')
114
-
115
- ENV['PLATFORM_VERSION'] = $versionMap[:platform_version] = Time.new.strftime('%y.%-m.%-d') + ".#{(ENV['BUILD_NUMBER'] || '0')}"
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
- ENV['PLATFORM_BUILD_VERSION'] = $versionMap[:platform_build_version] = Time.new.strftime('%y.%-m.%-d') + ".#{commitData[0]}"
118
-
119
- # purely M.m.p format
120
- ENV['FORMAL_VERSION'] = $versionMap[:formal_version] = "#{ SemVer.new(ver.major, ver.minor, revision).format '%M.%m.%p'}"
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 = "src/#{output_file}Version.cs"
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.29
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-09-29 00:00:00.000000000 Z
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