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 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