dev_tasks 0.0.33 → 0.0.34
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/artifacts.rb +8 -14
- data/lib/dependencies.rb +50 -68
- data/lib/dev_tasks.rb +1 -1
- data/lib/environment.rb +0 -1
- data/lib/publish.rb +3 -3
- data/lib/spec.json +1 -1
- data/lib/test.rb +1 -1
- data/lib/upgrade.rb +0 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23a98457c480a7ce7cef8540ac4f523297e9d4ba
|
4
|
+
data.tar.gz: 2d3cba361183a0bb22ac5a4126a55db863aa9b7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f3c65ef3d772edc925ca44a6415de4bbdfc000b625dc25ba2a7e55741e3ee8aedb6e07a1a892938bfdc98dbacad4792e7d6b0b1f0483c683b1cc70f3113d55b
|
7
|
+
data.tar.gz: 05f68fdd7f2b52e280581ff6b90d79b51270d3368325bf4b9dcf1036ce8e1c312d728a5daf1efce498dbe88364c83af32dd5f630b3fd3913b7e8c33f7c9525ae
|
data/lib/artifacts.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
require_relative('./dependencies.rb')
|
2
2
|
|
3
|
-
class Artifacts <
|
3
|
+
class Artifacts < Array
|
4
4
|
def initialize
|
5
5
|
# gem, dev_tasks-0.0.7.gem
|
6
6
|
Dir.glob('*.gemspec') {|f|
|
7
7
|
spec=Gem::Specification.load(f)
|
8
|
-
|
8
|
+
artifact="#{spec.name}-#{spec.version.to_s}.gem"
|
9
|
+
self << artifact if(!self.include?(artifact))
|
9
10
|
}
|
10
11
|
|
11
12
|
# C# dll, bin/Net4.0/QcNet.dll
|
@@ -16,20 +17,13 @@ class Artifacts < Hash
|
|
16
17
|
outputPath=text[/Release[.\w\W]+<OutputPath>([\w\.\\]+)</,1]
|
17
18
|
if(!assemblyName.nil? && !outputPath.nil? && !assemblyName.include?("Test"))
|
18
19
|
cs_dll = "#{outputPath}\\#{assemblyName}.dll".gsub("\\\\","\\").gsub('/','\\').gsub('\\','/')
|
19
|
-
self
|
20
|
+
self << cs_dll if(!self.include?(cs_dll))
|
20
21
|
|
21
22
|
# add in file dependencies
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
# d include to directory from which it was referenced, Visual Studio copies this to
|
27
|
-
# the location of cs_dll
|
28
|
-
cs_dll_dep=d.gsub(File.dirname(d),File.dirname(cs_dll)).gsub('\\','/')
|
29
|
-
name=d.gsub('\\','/').split('/').last.gsub('.dll','')
|
30
|
-
self["#{assemblyName} #{name}"] = cs_dll_dep
|
31
|
-
}
|
32
|
-
end
|
23
|
+
Dependencies.csharp_file_dependencies(File.read(p)).each{|dep|
|
24
|
+
cs_dll_dep=d.gsub(File.dirname(dep),File.dirname(cs_dll)).gsub('\\','/')
|
25
|
+
self << cs_dll_dep if(!self.include?(cs_dll_dep))
|
26
|
+
}
|
33
27
|
end
|
34
28
|
}
|
35
29
|
end
|
data/lib/dependencies.rb
CHANGED
@@ -1,86 +1,68 @@
|
|
1
|
+
# The discover method defines the following keys as appropriate:
|
2
|
+
# :ruby a string array of discovered require statements
|
3
|
+
# for example,
|
4
|
+
# given rb file containing
|
5
|
+
# require 'json'
|
6
|
+
# require 'yaml'
|
7
|
+
# the resulting dependies would be
|
8
|
+
# dep[:ruby]=['json','yaml']
|
9
|
+
#
|
10
|
+
# C# dependencies are returned as a hash, as they are seperated into
|
11
|
+
# two groups, :system and :file
|
12
|
+
#
|
13
|
+
#
|
1
14
|
class Dependencies < Hash
|
2
15
|
|
3
16
|
def initialize
|
4
|
-
|
5
|
-
initialize_csharp_dependencies
|
17
|
+
discover
|
6
18
|
end
|
7
19
|
|
8
|
-
def
|
9
|
-
ruby_deps
|
20
|
+
def discover
|
21
|
+
ruby_deps=Array.new
|
22
|
+
cs_system_deps=Array.new
|
23
|
+
cs_file_deps=Array.new
|
10
24
|
Dir.glob("**/*.rb").each{|f|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
25
|
+
text=File.read(f)
|
26
|
+
ruby_deps.zip(Dependencies.ruby_dependencies(text)).flatten.compact
|
27
|
+
cs_system_deps.zip(Dependencies.csharp_system_dependencies(text)).flatten.compact
|
28
|
+
cs_file_deps.zip(Dependencies.csharp_file_dependencies(text)).flatten.compact
|
15
29
|
}
|
16
|
-
if
|
17
|
-
|
18
|
-
self["
|
30
|
+
self[:ruby]=ruby_deps.sort if(ruby_deps.length>0)
|
31
|
+
if(cs_system_deps.length > 0 || cs_file_deps.length > 0)
|
32
|
+
self["C#"]=Hash.new
|
33
|
+
self["C#"][:system]=cs_system_deps.sort if(cs_system_deps.length > 0)
|
34
|
+
self["C#"][:file]=cs_file_deps.sort if(cs_file_deps.length > 0)
|
19
35
|
end
|
20
36
|
end
|
21
37
|
|
22
|
-
def
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
text=File.read(f)
|
29
|
-
text.scan(/<Reference Include="([\w\.-]+)"/).each{|r|
|
30
|
-
cs_dep_hash[r.first.to_s]=r.first.to_s if !cs_dep_hash.has_key? r.first.to_s
|
31
|
-
}
|
32
|
-
text.scan(/<HintPath>([\w\.\\\s-]+)</).each{|r|
|
33
|
-
hint = r.first.to_s
|
34
|
-
include = hint.split('\\').last
|
35
|
-
cs_dep_hash.delete include.gsub(".dll","")
|
36
|
-
cs_dep_hash[include]=hint
|
37
|
-
}
|
38
|
+
def self.ruby_dependencies source
|
39
|
+
deps=Array.new
|
40
|
+
deps=Array.new
|
41
|
+
source.scan(/require '([\w\/]+)/).each{|m|
|
42
|
+
dep=m.first.to_s
|
43
|
+
deps << dep if(!deps.include?(dep))
|
38
44
|
}
|
39
|
-
|
40
|
-
cs_dep_hash.each do |include,hint|
|
41
|
-
if(include==hint)
|
42
|
-
cs_deps[:system]=Array.new if !cs_deps.has_key?(:system)
|
43
|
-
cs_deps[:system]<< hint
|
44
|
-
else
|
45
|
-
cs_deps[:file]=Array.new if !cs_deps.has_key?(:file)
|
46
|
-
cs_deps[:file] << hint
|
47
|
-
end
|
48
|
-
end
|
49
|
-
if cs_deps.length > 0
|
50
|
-
cs_deps[:system]=cs_deps[:system].sort# = cs_deps.sort
|
51
|
-
cs_deps[:file]=cs_deps[:file]
|
52
|
-
self["C#"]=cs_deps
|
53
|
-
end
|
45
|
+
deps
|
54
46
|
end
|
55
47
|
|
56
|
-
def self.
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
text.scan(/<HintPath>([\w\.\\\s-]+)</).each{|r|
|
63
|
-
hint = r.first.to_s
|
64
|
-
include = hint.split('\\').last
|
65
|
-
cs_dep_hash.delete include.gsub(".dll","")
|
66
|
-
cs_dep_hash[include]=hint
|
48
|
+
def self.csharp_system_dependencies source
|
49
|
+
deps=Array.new
|
50
|
+
deps=Array.new
|
51
|
+
source.scan(/<Reference Include="([\w\.-]+)"[\s]+\//).each{|m|
|
52
|
+
dep=m.first.to_s
|
53
|
+
deps << dep if(!deps.include?(dep))
|
67
54
|
}
|
55
|
+
deps
|
56
|
+
end
|
68
57
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
end
|
78
|
-
end
|
79
|
-
if cs_deps.length > 0
|
80
|
-
cs_deps[:system]=cs_deps[:system].sort
|
81
|
-
cs_deps[:file]=cs_deps[:file]
|
82
|
-
end
|
83
|
-
cs_deps
|
58
|
+
def self.csharp_file_dependencies source
|
59
|
+
deps=Array.new
|
60
|
+
deps=Array.new
|
61
|
+
source.scan(/<HintPath>([\w\.\\\s-]+)</).each{|m|
|
62
|
+
dep=m.first.to_s
|
63
|
+
deps << dep if(!deps.include?(dep))
|
64
|
+
}
|
65
|
+
deps
|
84
66
|
end
|
85
67
|
|
86
68
|
def show
|
data/lib/dev_tasks.rb
CHANGED
@@ -18,7 +18,7 @@ class DevTasks < Hash
|
|
18
18
|
#hash = JSON.parse File.read("#{File.dirname(__FILE__)}/spec.json")
|
19
19
|
#self[:dev_tasks_gem]=JSON.parse File.read("#{File.dirname(__FILE__)}/spec.json")
|
20
20
|
|
21
|
-
self[:name]=Rake.application.original_dir.split('/').last
|
21
|
+
self[:name]=pwd.split('/').last#Rake.application.original_dir.split('/').last
|
22
22
|
self[:scm]=Environment.scm
|
23
23
|
self[:branch]=Environment.branch
|
24
24
|
self[:relative_directory]=Environment.relative_directory
|
data/lib/environment.rb
CHANGED
data/lib/publish.rb
CHANGED
@@ -7,12 +7,12 @@ class Publish < Array
|
|
7
7
|
def initialize
|
8
8
|
if(Environment.scm=='git')
|
9
9
|
artifacts=Artifacts.new
|
10
|
-
artifacts.each {|
|
10
|
+
artifacts.each {|artifact|
|
11
11
|
dest_dir = Environment.dev_root + "/dep/" + Environment.relative_directory + '/' + Environment.branch
|
12
|
-
dest = dest_dir + "/" +
|
12
|
+
dest = dest_dir + "/" + artifact
|
13
13
|
dest_dir=File.dirname(dest)
|
14
14
|
self.add "<%FileUtils.mkdir_p('#{dest_dir}')%>" if (!Dir.exists?(dest_dir))
|
15
|
-
self.add "<%FileUtils.cp('#{
|
15
|
+
self.add "<%FileUtils.cp('#{artifact}','#{dest}')%>"
|
16
16
|
}
|
17
17
|
end
|
18
18
|
end
|
data/lib/spec.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"dev_tasks","version":"0.0.
|
1
|
+
{"name":"dev_tasks","version":"0.0.34"}
|
data/lib/test.rb
CHANGED
@@ -3,7 +3,7 @@ class Test < Array
|
|
3
3
|
def initialize
|
4
4
|
# rspec tests, 'rspec --pattern="**/*.spec"'
|
5
5
|
if(Dir.glob("**/*spec.rb").length > 0)
|
6
|
-
self.add 'rspec
|
6
|
+
self.add 'rspec'
|
7
7
|
end
|
8
8
|
# nunit tests, 'nunit-console.exe "C::\\Projects\\MyProjects\\bin\\Release\\MyLib.Test.dll"'
|
9
9
|
if File.exist? Test.nunit_console
|
data/lib/upgrade.rb
CHANGED
@@ -3,12 +3,9 @@ require_relative('./environment.rb')
|
|
3
3
|
class Upgrade < Array
|
4
4
|
|
5
5
|
def initialize
|
6
|
-
puts "Upgrade discovery"
|
7
6
|
if(Environment.scm=='git' && Environment.branch=='develop')
|
8
7
|
Dir.glob('dep/**/*.dll').each {|f|
|
9
8
|
src=Environment.dev_root + "/" + f
|
10
|
-
puts "source: " + src
|
11
|
-
puts " dest: " + f + " " + File.mtime(f).to_s
|
12
9
|
if(File.exist?(src) && File.mtime(src) > File.mtime(f))
|
13
10
|
self.add "<%FileUtils.cp('#{src}','#{f}')%>"
|
14
11
|
end
|