dev_tasks 0.0.33 → 0.0.34

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4249d898f3f655e115d83bbc99395e84dd56be6
4
- data.tar.gz: 958832d8c1463c0f4962b5d9cf001b583e0f88d3
3
+ metadata.gz: 23a98457c480a7ce7cef8540ac4f523297e9d4ba
4
+ data.tar.gz: 2d3cba361183a0bb22ac5a4126a55db863aa9b7c
5
5
  SHA512:
6
- metadata.gz: a31f8a599324fa3bf6dec518303faedacc6d9bec6ed902f89980d8bfcd57f1a639ad74a5e504ebcdf4eb7d5d86968554d38644847c7ebfded560ef459a07b9c9
7
- data.tar.gz: a3daf7ee50ce894a1bced60a40253305bf40b03115062b30378f140d987e0ee8821540e043b1fe59e2899dece8c891afc9341122289699675759e7863e05f71b
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 < Hash
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
- self[spec.name]="#{spec.name}-#{spec.version.to_s}.gem"
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[assemblyName]=cs_dll
20
+ self << cs_dll if(!self.include?(cs_dll))
20
21
 
21
22
  # add in file dependencies
22
- deps = Dependencies.get_dependencies_from_file p
23
- if(!deps.nil? && deps.has_key?(:file))
24
- deps[:file].each {|d|
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
- initialize_ruby_dependencies
5
- initialize_csharp_dependencies
17
+ discover
6
18
  end
7
19
 
8
- def initialize_ruby_dependencies
9
- ruby_deps = Array.new
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
- text=File.read(f)
12
- text.scan(/require '([\w\/]+)/).each{|r|
13
- ruby_deps << r.first.to_s if !ruby_deps.include? r
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 ruby_deps.length > 0
17
- ruby_deps = ruby_deps.sort
18
- self["ruby"]=ruby_deps
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 initialize_csharp_dependencies
23
- cs_dep_hash=Hash.new
24
- #includes = Array.new
25
- #hints = Array.new
26
- Dir.glob("**/*.csproj").each{|f|
27
- #cs_proj_dep = Dependencies.get_dependencies_from_file f
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
- cs_deps = Hash.new
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.get_dependencies_from_file filename
57
- cs_dep_hash=Hash.new
58
- text=File.read(filename)
59
- text.scan(/<Reference Include="([\w\.-]+)"/).each{|r|
60
- cs_dep_hash[r.first.to_s]=r.first.to_s if !cs_dep_hash.has_key? r.first.to_s
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
- cs_deps = Hash.new
70
- cs_dep_hash.each do |include,hint|
71
- if(include==hint)
72
- cs_deps[:system]=Array.new if !cs_deps.has_key?(:system)
73
- cs_deps[:system]<< hint
74
- else
75
- cs_deps[:file]=Array.new if !cs_deps.has_key?(:file)
76
- cs_deps[:file] << hint
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
@@ -28,7 +28,6 @@ class Environment < Hash
28
28
 
29
29
  def self.context
30
30
  dir =Environment.working_directory.gsub(Environment.dev_root + '/','')
31
- puts "dir=" + dir
32
31
  return dir.split('/').first
33
32
  end
34
33
 
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 {|k,v|
10
+ artifacts.each {|artifact|
11
11
  dest_dir = Environment.dev_root + "/dep/" + Environment.relative_directory + '/' + Environment.branch
12
- dest = dest_dir + "/" + v
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('#{v}','#{dest}')%>"
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.33"}
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 --pattern="**/*.spec"'
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dev_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.33
4
+ version: 0.0.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lou Parslow