dev_tasks 0.0.108 → 0.0.109

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,5 @@
1
1
  require_relative './color.rb'
2
+ require_relative './msbuild.rb'
2
3
 
3
4
  class Build < Array
4
5
 
@@ -8,16 +9,24 @@ class Build < Array
8
9
  self.add "gem build #{f}"
9
10
  }
10
11
  # .sln builds, `"C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe" "MySolution.sln"
12
+ msbuild=MSBuild.new
11
13
  Dir.glob('*.sln'){|f|
12
- if File.exist? Build.msbuild
13
- self.add "\"#{Build.msbuild}\" \"#{f}\" /nologo /p:Configuration=Release /p:Platform=\"Any CPU\""
14
+ vs_version=MSBuild.get_vs_version(f)
15
+ if File.exist? msbuild[vs_version]
16
+ MSBuild.get_configurations(f).each{ |configuration|
17
+ MSBuild.get_platforms(f).each{|platform|
18
+ self.add "\"#{msbuild[vs_version]}\" \"#{f}\" /nologo /p:Configuration=#{configuration} /p:Platform=\"#{platform}\""
19
+ }
20
+ #self.add "\"#{msbuild[vs_version]}\" \"#{f}\" /nologo /p:Configuration=#{configuration} /p:Platform=\"Any CPU\""
21
+ }
22
+ #self.add "\"#{msbuild[vs_version]}\" \"#{f}\" /nologo /p:Configuration=Release /p:Platform=\"Any CPU\""
14
23
  end
15
24
  }
16
25
  end
17
26
 
18
- def self.msbuild
19
- "C:\\Program Files (x86)\\MSBuild\\12.0\\bin\\msbuild.exe"
20
- end
27
+ #def self.msbuild
28
+ # "C:\\Program Files (x86)\\MSBuild\\12.0\\bin\\msbuild.exe"
29
+ #end
21
30
 
22
31
  def add command
23
32
  self << command if(!include?(command))
@@ -95,7 +95,7 @@ class Environment < Hash
95
95
  def self.execute(cmd)
96
96
  timer=Timer.new
97
97
  puts "executing " + cmd
98
- puts `#{cmd}`
98
+ puts `#{Envircmd}`
99
99
  puts timer.elapsed_str
100
100
  end
101
101
  end
@@ -0,0 +1,41 @@
1
+ require_relative './color.rb'
2
+
3
+ # Visual Studio 2008 version 9.0, solution format version 10.00
4
+ # Visual Studio 2010 version 10.0, solution format version 11.00
5
+ # Visual Studio 2012 version 11.0, solution format version 12.00
6
+ # Visual Studio 2013 version 12.0, solution format version 12.00
7
+ class MSBuild < Hash
8
+
9
+ def initialize
10
+ self[:vs9]="C:\\Windows\\Microsoft.NET\\Framework\\v3.5\\msbuild.exe"
11
+ self[:vs12]="C:\\Program Files (x86)\\MSBuild\\12.0\\bin\\msbuild.exe"
12
+ end
13
+
14
+ def self.get_vs_version(sln_filename)
15
+ sln_text=File.read(sln_filename)
16
+ sln_text.scan(/Format Version 10.00/).each{|m|
17
+ return :vs9
18
+ }
19
+ return :vs12
20
+ end
21
+
22
+ def self.get_configurations(sln_filename)
23
+ configs=Array.new
24
+ sln_text=File.read(sln_filename)
25
+ sln_text.scan(/= ([\w]+)\|/).each{|m|
26
+ c=m.first.to_s
27
+ configs << c if !configs.include?(c)
28
+ }
29
+ return configs
30
+ end
31
+
32
+ def self.get_platforms(sln_filename)
33
+ platforms=Array.new
34
+ sln_text=File.read(sln_filename)
35
+ sln_text.scan(/= [\w]+\|([\w]+)/).each{|m|
36
+ p=m.first.to_s
37
+ platforms << p if !platforms.include?(p)
38
+ }
39
+ return platforms
40
+ end
41
+ end
@@ -1 +1 @@
1
- {"name":"dev_tasks","version":"0.0.108"}
1
+ {"name":"dev_tasks","version":"0.0.109"}
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dev_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.108
4
+ version: 0.0.109
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Lou Parslow
@@ -13,71 +14,81 @@ dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: term-ansicolor
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: json
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rspec
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: json
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
- - - '>='
83
+ - - ! '>='
74
84
  - !ruby/object:Gem::Version
75
85
  version: '0'
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
- - - '>='
91
+ - - ! '>='
81
92
  - !ruby/object:Gem::Version
82
93
  version: '0'
83
94
  description: defines rake tasks for ruby and C# projects
@@ -96,6 +107,7 @@ files:
96
107
  - lib/dependencies.rb
97
108
  - lib/dev_tasks.rb
98
109
  - lib/environment.rb
110
+ - lib/msbuild.rb
99
111
  - lib/publish.rb
100
112
  - lib/pull.rb
101
113
  - lib/push.rb
@@ -120,26 +132,26 @@ files:
120
132
  homepage: http://rubygems.org/gems/dev_tasks
121
133
  licenses:
122
134
  - Apache 2.0
123
- metadata: {}
124
135
  post_install_message:
125
136
  rdoc_options: []
126
137
  require_paths:
127
138
  - lib
128
139
  required_ruby_version: !ruby/object:Gem::Requirement
140
+ none: false
129
141
  requirements:
130
- - - '>='
142
+ - - ! '>='
131
143
  - !ruby/object:Gem::Version
132
144
  version: '0'
133
145
  required_rubygems_version: !ruby/object:Gem::Requirement
146
+ none: false
134
147
  requirements:
135
- - - '>='
148
+ - - ! '>='
136
149
  - !ruby/object:Gem::Version
137
150
  version: '0'
138
151
  requirements: []
139
152
  rubyforge_project:
140
- rubygems_version: 2.0.3
153
+ rubygems_version: 1.8.28
141
154
  signing_key:
142
- specification_version: 4
155
+ specification_version: 3
143
156
  summary: development rake tasks
144
157
  test_files: []
145
- has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 249926c0daaa61c9cb632da22b6b373e37137a69
4
- data.tar.gz: f9b2372833fd6e36541f639ba3874cb12d1c4ef8
5
- SHA512:
6
- metadata.gz: d792f77163d0e202479161459685f98362049d8311cab7cb37d74069d1ff1ce635ac84e9173e52aa70a6cb941ba2ee8d47390f2d3fb0f8b1313edac77621c821
7
- data.tar.gz: cc7b564ed846cd3bb3de195629806e11ca8152111e9a52302d859d3cf6d45f937cf31c3d6b2aa06c9521eb474b7b1f386be83587a1bdf102918f3801c0b9729e