rake-dotnet 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +8 -0
- data/Rakefile.rb +1 -1
- data/lib/rake_dotnet.rb +56 -30
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
=== 0.1.5 / 2009-
|
2
|
+
|
3
|
+
* NEW: RDNPackageTask - generate a named task per package so they can be built individually
|
4
|
+
* NEW: SevenZip - wrapper for extracting an archive
|
5
|
+
* CHANGE: SevenZip - wrapper is more useful ;-)
|
6
|
+
* CHANGE: Harvesters - harvest dumps output into a config-version named directory now
|
7
|
+
(adjusted demo-project to match)
|
8
|
+
|
1
9
|
=== 0.1.4 / 2009-06-23
|
2
10
|
|
3
11
|
* FIX: FxCop - support for running against .exe files instead of just DLLs. Exclude *.vshost.exe by default
|
data/Rakefile.rb
CHANGED
@@ -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.5') 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'
|
data/lib/rake_dotnet.rb
CHANGED
@@ -316,9 +316,10 @@ module Rake
|
|
316
316
|
class HarvestOutputTask < TaskLib
|
317
317
|
def initialize(params={})
|
318
318
|
@src_path = params[:src_path] || File.join(PRODUCT_ROOT, 'src')
|
319
|
-
@target_path = params[:target_path] || File.join(OUT_DIR, 'bin')
|
320
319
|
@deps = params[:deps] || []
|
321
320
|
@configuration = params[:configuration] || CONFIGURATION
|
321
|
+
@version = params[:version] || RDNVERSION
|
322
|
+
@target_path = params[:target_path] || File.join(OUT_DIR, "bin-#{@configuration}-v#{@version}")
|
322
323
|
@glob = params[:glob] || "#{@src_path}/*"
|
323
324
|
|
324
325
|
yield self if block_given?
|
@@ -368,7 +369,9 @@ module Rake
|
|
368
369
|
@src_path = params[:src_path] || File.join(PRODUCT_ROOT, 'src')
|
369
370
|
@target_path = params[:target_path] || OUT_DIR
|
370
371
|
@deps = params[:deps] || []
|
371
|
-
@
|
372
|
+
@configuration = params[:configuration] || CONFIGURATION
|
373
|
+
@version = params[:version] || RDNVERSION
|
374
|
+
@glob = params[:glob] || "**/*.Site"
|
372
375
|
|
373
376
|
yield self if block_given?
|
374
377
|
define
|
@@ -377,25 +380,19 @@ module Rake
|
|
377
380
|
def define
|
378
381
|
out_dir_regex = regexify(@target_path)
|
379
382
|
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
svn = SvnExport.new(src, r.name)
|
385
|
-
svn.export
|
386
|
-
cp_r(File.join(src, 'bin'), r.name)
|
387
|
-
else
|
388
|
-
cp_r src, r.name
|
389
|
-
end
|
383
|
+
# config/version included
|
384
|
+
versioned_regex = /#{out_dir_regex}\/([\w\.-_ ]*Site)-\w+-v\d+\.\d+\.\d+\.\d+\//
|
385
|
+
rule(versioned_regex) do |r|
|
386
|
+
harvest(r.name, versioned_regex)
|
390
387
|
end
|
391
|
-
|
388
|
+
|
392
389
|
desc "Harvest specified web-applications (or all matching #{@src_path}/#{@glob}) to #{@target_path}"
|
393
390
|
task :harvest_webapps,[:web_app_list] => @target_path do |t, args|
|
394
391
|
list = FileList.new("#{@src_path}/#{@glob}")
|
395
392
|
args.with_defaults(:web_app_list => list)
|
396
393
|
args.web_app_list.each do |w|
|
397
394
|
pn = Pathname.new(w)
|
398
|
-
out = File.join(@target_path, pn.basename) + '/'
|
395
|
+
out = File.join(@target_path, "#{pn.basename}-#{@configuration}-v#{@version}") + '/'
|
399
396
|
Rake::FileTask[out].invoke
|
400
397
|
end
|
401
398
|
end
|
@@ -406,6 +403,21 @@ module Rake
|
|
406
403
|
|
407
404
|
self
|
408
405
|
end
|
406
|
+
|
407
|
+
def harvest(path, regex)
|
408
|
+
web_app_name = path.match(regex)[1]
|
409
|
+
src = File.join(@src_path, web_app_name)
|
410
|
+
if (File.exist?("#{src}/.svn"))
|
411
|
+
svn = SvnExport.new(src, path)
|
412
|
+
svn.export
|
413
|
+
cp_r(File.join(src, 'bin'), path)
|
414
|
+
else
|
415
|
+
cp_r src, path
|
416
|
+
end
|
417
|
+
FileList.new("#{path}**/obj").each do |e|
|
418
|
+
rm_rf e if File.exist? e
|
419
|
+
end
|
420
|
+
end
|
409
421
|
end
|
410
422
|
end
|
411
423
|
|
@@ -755,8 +767,8 @@ module Rake
|
|
755
767
|
end
|
756
768
|
end
|
757
769
|
snipped = pkg_root.sub(pkg + '/', '')
|
758
|
-
|
759
|
-
|
770
|
+
sz = SevenZip.new(package_file)
|
771
|
+
chdir pkg_root do
|
760
772
|
sz.run_add
|
761
773
|
end
|
762
774
|
end
|
@@ -766,6 +778,9 @@ module Rake
|
|
766
778
|
desc "Generate zip'd packages for all package-tasks"
|
767
779
|
task :package => [@out_dir, pkg, pkg_root, package_file]
|
768
780
|
|
781
|
+
desc "Generate zip'd package for #{@name}"
|
782
|
+
task "package_#{@name}".to_sym => [@out_dir, pkg, pkg_root, package_file]
|
783
|
+
|
769
784
|
desc "Delete all packages"
|
770
785
|
task :clobber_package do
|
771
786
|
rm_rf pkg
|
@@ -787,18 +802,18 @@ end
|
|
787
802
|
|
788
803
|
|
789
804
|
class SevenZip
|
790
|
-
def initialize(archive_name,
|
805
|
+
def initialize(archive_name, opts={})
|
791
806
|
arch = ENV['PROCESSOR_ARCHITECTURE'] || 'AMD64'
|
792
807
|
bin = arch == 'x86' ? '7za.exe' : '7z.exe'
|
793
|
-
@exe = opts[:sevenzip] || File.join(TOOLS_DIR, '7zip', arch, bin)
|
794
|
-
@archive_name = archive_name
|
795
|
-
@
|
808
|
+
@exe = opts[:sevenzip] || File.expand_path(File.join(TOOLS_DIR, '7zip', arch, bin))
|
809
|
+
@archive_name = File.expand_path(archive_name)
|
810
|
+
@params = opts
|
796
811
|
|
797
812
|
yield self if block_given?
|
798
813
|
end
|
799
814
|
|
800
815
|
def cmd_add
|
801
|
-
"#{exe} a #{
|
816
|
+
"#{exe} a #{archive_name} #{file_names}"
|
802
817
|
end
|
803
818
|
|
804
819
|
def run_add
|
@@ -806,17 +821,32 @@ class SevenZip
|
|
806
821
|
sh cmd_add
|
807
822
|
end
|
808
823
|
|
824
|
+
def cmd_extract
|
825
|
+
"#{exe} x -y #{out_dir} #{archive_name} #{file_names}"
|
826
|
+
end
|
827
|
+
|
828
|
+
def run_extract
|
829
|
+
puts cmd_extract if VERBOSE
|
830
|
+
sh cmd_extract
|
831
|
+
end
|
832
|
+
|
833
|
+
def out_dir
|
834
|
+
od = @params[:out_dir]
|
835
|
+
"-o#{File.expand_path(od)}" unless @params[:out_dir].nil?
|
836
|
+
end
|
837
|
+
|
809
838
|
def archive_name
|
810
839
|
"\"#{@archive_name}\""
|
811
840
|
end
|
812
841
|
|
813
842
|
def file_names
|
814
|
-
|
815
|
-
|
816
|
-
|
843
|
+
fns = @params[:file_names]
|
844
|
+
if fns.is_a? String
|
845
|
+
"\"#{fns}\""
|
846
|
+
elsif fns.is_a? Array
|
817
847
|
list = ''
|
818
|
-
|
819
|
-
list += "\"#{fn}\" "
|
848
|
+
fns.each do |fn|
|
849
|
+
list += "\"#{File.expand_path(fn)}\" "
|
820
850
|
end
|
821
851
|
list.chop
|
822
852
|
end
|
@@ -825,10 +855,6 @@ class SevenZip
|
|
825
855
|
def exe
|
826
856
|
"\"#{@exe}\""
|
827
857
|
end
|
828
|
-
|
829
|
-
def switches
|
830
|
-
|
831
|
-
end
|
832
858
|
end
|
833
859
|
|
834
860
|
|
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.5
|
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-30 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|