iron_hammer 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
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
|