iron_hammer 1.0.0 → 1.0.1
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.
data/Rakefile
CHANGED
@@ -3,14 +3,31 @@ module IronHammer
|
|
3
3
|
module Projects
|
4
4
|
class AssemblyInfo
|
5
5
|
|
6
|
-
def initialize
|
7
|
-
@
|
6
|
+
def initialize filename
|
7
|
+
@filename = filename
|
8
8
|
end
|
9
9
|
|
10
10
|
def version
|
11
|
-
matches =
|
11
|
+
matches = file.match /^\[assembly: AssemblyVersion\("(.*)"\)\]$/
|
12
12
|
matches[1] if matches
|
13
13
|
end
|
14
|
+
|
15
|
+
def version= new_version
|
16
|
+
content = file
|
17
|
+
File.open(@filename, 'w') do |f|
|
18
|
+
content.each_line do |line|
|
19
|
+
line.gsub!(/^(\[assembly: AssemblyVersion\(").*("\)\])$/) do |match|
|
20
|
+
"#{$1}#{new_version}#{$2}"
|
21
|
+
end
|
22
|
+
f << line
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
def file
|
29
|
+
File.read(@filename)
|
30
|
+
end
|
14
31
|
end
|
15
32
|
end
|
16
33
|
end
|
@@ -23,6 +23,10 @@ module IronHammer
|
|
23
23
|
assembly_info.version || '1.0.0.0'
|
24
24
|
end
|
25
25
|
|
26
|
+
def version= new_version
|
27
|
+
assembly_info.version = new_version
|
28
|
+
end
|
29
|
+
|
26
30
|
def deliverables params={}
|
27
31
|
[]
|
28
32
|
end
|
@@ -32,7 +36,7 @@ module IronHammer
|
|
32
36
|
end
|
33
37
|
|
34
38
|
def assembly_info
|
35
|
-
@assembly_info ||= AssemblyInfo.new
|
39
|
+
@assembly_info ||= AssemblyInfo.new(File.join @path, 'Properties', 'AssemblyInfo.cs')
|
36
40
|
end
|
37
41
|
|
38
42
|
def dependencies
|
data/lib/iron_hammer/tasks.rb
CHANGED
@@ -7,7 +7,8 @@ CLEAN.include("ivy*.xml")
|
|
7
7
|
|
8
8
|
|
9
9
|
namespace :iron do
|
10
|
-
|
10
|
+
|
11
|
+
@anvil = Anvil.load_from(ENV['SolutionDir'] || '.')
|
11
12
|
@hammer = Hammer.new(
|
12
13
|
(defined?(VISUAL_STUDIO_PATH) ? {:visual_studio_path => VISUAL_STUDIO_PATH} : {}).merge(
|
13
14
|
:configuration => ENV['Configuration']
|
@@ -68,7 +69,7 @@ namespace :iron do
|
|
68
69
|
end
|
69
70
|
|
70
71
|
desc 'Generates ivy-<project_name>.xml for all projects of the solution'
|
71
|
-
task :generate do
|
72
|
+
task :generate => :update_version do
|
72
73
|
puts "Generating ivy files for projects"
|
73
74
|
@anvil.projects.each do |project|
|
74
75
|
builder = IvyBuilder.new project
|
@@ -76,6 +77,18 @@ namespace :iron do
|
|
76
77
|
end
|
77
78
|
end
|
78
79
|
|
80
|
+
desc 'updates version of AssemblyInfo based on build_number environment variable'
|
81
|
+
task :update_version do
|
82
|
+
@anvil.projects.each do |project|
|
83
|
+
old_version = project.version
|
84
|
+
project.version = old_version.gsub /\.\d+$/, ".#{build_number}"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def build_number
|
89
|
+
ENV['BUILD_NUMBER'] || '0'
|
90
|
+
end
|
91
|
+
|
79
92
|
desc 'Retrieves all project dependencies from ivy repository and modify project csproj to reference them'
|
80
93
|
task :retrieve => [:generate] do
|
81
94
|
@anvil.projects.each do |project|
|
@@ -24,7 +24,8 @@ module IronHammer
|
|
24
24
|
|
25
25
|
xml.dependencies do
|
26
26
|
@project.dependencies.each do |dependency|
|
27
|
-
|
27
|
+
rev = dependency.version.gsub /\.\d+$/, '.+'
|
28
|
+
xml.dependency :org => @organisation, :name => dependency.name, :rev => rev do
|
28
29
|
xml.artifact :type => dependency.extension, :name => dependency.name
|
29
30
|
end
|
30
31
|
end
|
@@ -74,7 +75,7 @@ module IronHammer
|
|
74
75
|
def artifact_for reference
|
75
76
|
dependency = Dependency.from_reference reference
|
76
77
|
libraries_dir = Dir.new('Libraries')
|
77
|
-
libraries_dir.find {|f| f.match "
|
78
|
+
libraries_dir.find {|f| f.match "^#{dependency.name}\\.(dll|exe)"}
|
78
79
|
end
|
79
80
|
end
|
80
81
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iron_hammer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mozair Alves do Carmo Junior
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2010-02-
|
13
|
+
date: 2010-02-08 00:00:00 -02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|