rake-dotnet 0.1.2 → 0.1.3
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/History.txt +5 -0
- data/Manifest.txt +1 -1
- data/{Rakefile → Rakefile.rb} +2 -1
- data/lib/rake_dotnet.rb +38 -18
- metadata +3 -3
data/History.txt
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
=== 0.1.3 / 2009-06-23
|
2
|
+
|
3
|
+
* NEW: MSBuild - support for building VB.NET and WiX projects
|
4
|
+
* NEW: AssemblyInfo - support for generating AssemblyInfo.vb into {project}/My Project/ (which I hope is the by-convention place)
|
5
|
+
|
1
6
|
=== 0.1.2 / 2009
|
2
7
|
|
3
8
|
* NEW: NCover: Generate the full-coverage report
|
data/Manifest.txt
CHANGED
data/{Rakefile → Rakefile.rb}
RENAMED
@@ -5,7 +5,7 @@ require 'hoe'
|
|
5
5
|
require 'Pathname'
|
6
6
|
require 'rake/clean'
|
7
7
|
|
8
|
-
Hoe.new('rake-dotnet', '0.1.
|
8
|
+
Hoe.new('rake-dotnet', '0.1.3') do |p|
|
9
9
|
p.author = 'Peter Mounce'
|
10
10
|
p.description = 'Making a .NET build-automation dev\'s life easier, one angle-bracket at a time'
|
11
11
|
p.email = 'pete@neverrunwithscissors.com'
|
@@ -32,6 +32,7 @@ file generated_library do |f|
|
|
32
32
|
gl.close unless gl.closed?
|
33
33
|
end
|
34
34
|
|
35
|
+
desc 'Generate the concatenated library'
|
35
36
|
task :generate_lib => generated_library
|
36
37
|
|
37
38
|
task :check_manifest => generated_library
|
data/lib/rake_dotnet.rb
CHANGED
@@ -82,6 +82,7 @@ CLEAN.exclude('**/core') # core files are a Ruby/*nix thing - dotNET developers
|
|
82
82
|
CLEAN.include("#{SRC_DIR}/**/obj")
|
83
83
|
CLEAN.include("#{SRC_DIR}/**/bin")
|
84
84
|
CLEAN.include("#{SRC_DIR}/**/AssemblyInfo.cs")
|
85
|
+
CLEAN.include("#{SRC_DIR}/**/AssemblyInfo.vb")
|
85
86
|
CLOBBER.include(OUT_DIR)
|
86
87
|
|
87
88
|
VERBOSE = ENV['VERBOSE'] ? ENV['VERBOSE'] : false
|
@@ -112,14 +113,23 @@ module Rake
|
|
112
113
|
end
|
113
114
|
end
|
114
115
|
|
116
|
+
rule(/#{src_dir_regex}\/[\w\.\d]+\/My Project\/AssemblyInfo.vb/) do |r|
|
117
|
+
dir = Pathname.new(r.name).dirname
|
118
|
+
mkdir_p dir
|
119
|
+
nextdoor = Pathname.new(r.name + '.template')
|
120
|
+
common = Pathname.new(File.join(@src_dir, 'AssemblyInfo.vb.template'))
|
121
|
+
if (nextdoor.exist?)
|
122
|
+
generate(nextdoor, r.name)
|
123
|
+
elsif (common.exist?)
|
124
|
+
generate(common, r.name)
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
115
128
|
desc 'Generate the AssemblyInfo.cs file from the template closest'
|
116
129
|
task :assembly_info do |t|
|
117
|
-
|
118
|
-
|
119
|
-
asm_info
|
120
|
-
if is_project e
|
121
|
-
Rake::FileTask[asm_info].invoke
|
122
|
-
end
|
130
|
+
Pathname.new(@src_dir).entries.each do |e|
|
131
|
+
asm_info = asm_info_to_generate(e)
|
132
|
+
Rake::FileTask[asm_info].invoke unless asm_info.nil?
|
123
133
|
end
|
124
134
|
end
|
125
135
|
|
@@ -136,16 +146,24 @@ module Rake
|
|
136
146
|
of.open('w') { |f| f.puts content }
|
137
147
|
end
|
138
148
|
|
139
|
-
def
|
140
|
-
if (
|
141
|
-
return
|
149
|
+
def asm_info_to_generate pn_entry
|
150
|
+
if (pn_entry == '.' || pn_entry == '..' || pn_entry == '.svn')
|
151
|
+
return nil
|
142
152
|
end
|
143
|
-
if (
|
144
|
-
return
|
153
|
+
if (pn_entry == 'AssemblyInfo.cs.template' || pn_entry == 'AssemblyInfo.vb.template')
|
154
|
+
return nil
|
145
155
|
end
|
146
|
-
|
147
|
-
|
148
|
-
return
|
156
|
+
|
157
|
+
proj = FileList.new("#{@src_dir}/#{pn_entry}/*.*proj").first
|
158
|
+
return nil if proj.nil?
|
159
|
+
|
160
|
+
proj_ext = Pathname.new(proj).extname
|
161
|
+
path = case proj_ext
|
162
|
+
when '.csproj' then File.join(@src_dir, pn_entry, 'Properties', 'AssemblyInfo.cs')
|
163
|
+
when '.vbproj' then File.join(@src_dir, pn_entry, 'My Project', 'AssemblyInfo.vb')
|
164
|
+
else nil
|
165
|
+
end
|
166
|
+
return path
|
149
167
|
end
|
150
168
|
|
151
169
|
def token_replacements
|
@@ -426,11 +444,13 @@ module Rake
|
|
426
444
|
attr_accessor :src_dir, :verbosity, :working_dir
|
427
445
|
|
428
446
|
def initialize(params={})
|
447
|
+
#TODO: Support for arbitrary properties, not just configuration. For example, TreatWarningsAsErrors, WarningLevel.
|
429
448
|
@configuration = params[:configuration] || CONFIGURATION
|
430
449
|
@src_dir = params[:src_dir] || SRC_DIR
|
431
450
|
@verbosity = params[:verbosity] || MSBUILD_VERBOSITY || 'm'
|
432
451
|
@working_dir = params[:working_dir] || '.'
|
433
452
|
@deps = params[:deps] || []
|
453
|
+
@buildable_projects = ['.csproj','.vbproj','.wixproj']
|
434
454
|
|
435
455
|
yield self if block_given?
|
436
456
|
define
|
@@ -441,7 +461,7 @@ module Rake
|
|
441
461
|
rule(/#{src_dir_regex}\/[\w\.]+\/bin\/#{@configuration}\/[\w\.]+\.(?:dll|exe)/) do |r|
|
442
462
|
pn = Pathname.new(r.name)
|
443
463
|
name = pn.basename.to_s.sub('.dll', '')
|
444
|
-
project =
|
464
|
+
project = FileList.new("#{@src_dir}/#{name}/#{name}.*proj").first
|
445
465
|
mb = MsBuild.new(project, {:Configuration => @configuration}, ['Build'], verbosity, @working_dir)
|
446
466
|
mb.run
|
447
467
|
end
|
@@ -450,7 +470,7 @@ module Rake
|
|
450
470
|
rule(/#{src_dir_regex}\/[\w\.]+\/bin\/[\w\.]+\.dll/) do |r|
|
451
471
|
pn = Pathname.new(r.name)
|
452
472
|
name = pn.basename.to_s.sub('.dll', '')
|
453
|
-
project =
|
473
|
+
project = FileList.new("#{@src_dir}/#{name}/#{name}.*proj").first
|
454
474
|
mb = MsBuild.new(project, {:Configuration => @configuration}, ['Build'], verbosity, @working_dir)
|
455
475
|
mb.run
|
456
476
|
end
|
@@ -463,7 +483,7 @@ module Rake
|
|
463
483
|
pn = Pathname.new(p)
|
464
484
|
# TODO: Figure out which type of project we are so we can invoke the correct rule, with the correct output extension
|
465
485
|
dll = File.join(pn.dirname, 'bin', @configuration, pn.basename.sub(pn.extname, '.dll'))
|
466
|
-
|
486
|
+
Rake::FileTask[dll].invoke if @buildable_projects.include?(pn.extname)
|
467
487
|
end
|
468
488
|
end
|
469
489
|
|
@@ -472,7 +492,7 @@ module Rake
|
|
472
492
|
end
|
473
493
|
|
474
494
|
self
|
475
|
-
|
495
|
+
end
|
476
496
|
|
477
497
|
def src_dir_regex
|
478
498
|
regexify(@src_dir)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-dotnet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter MouncePeter Mounce
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-06-
|
12
|
+
date: 2009-06-23 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -47,7 +47,7 @@ files:
|
|
47
47
|
- Manifest.txt
|
48
48
|
- README.markdown
|
49
49
|
- README.txt
|
50
|
-
- Rakefile
|
50
|
+
- Rakefile.rb
|
51
51
|
- lib/rake_dotnet.rb
|
52
52
|
- test/test_rake_dotnet.rb
|
53
53
|
has_rdoc: true
|