zotplus-rakehelper 0.0.87 → 0.0.88

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: 5a23df79344e411adaa6bc3d1fbd9b54dd4d44d3
4
- data.tar.gz: 36616bb4f5a9c3c535a5c1540b5de4cd26e15c5e
3
+ metadata.gz: c1d3c412e52fbd3d1eb5937dafb84468a232157a
4
+ data.tar.gz: e9f1789c3ba93cb7b033923fde1b91165f7fdff2
5
5
  SHA512:
6
- metadata.gz: 432aa9dfbdb60464620c1cb624c6ecd380f019c2e76f5814c1f130648609e78bb26dc5c08ad28df32b3ab019e981ba74802340fe2d738ea5f19109ac202894cd
7
- data.tar.gz: f2c34056f06cd56586f92cb77a20b3cc2b66e670bc664997bbe379caaeee26ca95a277afaa00d1c0fc712cbdd7798487d56053e184bc02f17667ae0ebacb359a
6
+ metadata.gz: 3bdf78704e1f84a7a242328e95d2bd84164255f9ae4194c6dbb7a9275a57b88f6786c0e2d85ea18a3e24258f9d68abac08c7ae849c52f68f1ad2869b2c6acca8
7
+ data.tar.gz: 252d9d43cec2dc848c1867c2b202546ddc1d0a63dbbbf2d9c543fe1af6334cd2d7a75d2b1883bc9579b18057f4443e6cfe6289aacbc6657c57253c8d9c879b09
@@ -1,5 +1,5 @@
1
1
  module ZotPlus
2
2
  class RakeHelper
3
- VERSION = "0.0.87"
3
+ VERSION = "0.0.88"
4
4
  end
5
5
  end
@@ -12,6 +12,90 @@ EXTENSION = ID.gsub(/@.*/, '')
12
12
  RELEASE = Nokogiri::XML(File.open('install.rdf')).at('//em:version').inner_text
13
13
  XPI = "zotero-#{EXTENSION}-#{RELEASE}.xpi"
14
14
 
15
+ def makedepend
16
+ scanning = ZIPFILES.dup
17
+ scanned = []
18
+ dependencies={}
19
+ while scanning.length > 0
20
+ target = scanning.pop
21
+ scanned << target
22
+
23
+ next if target == 'Rakefile'
24
+
25
+ sources = []
26
+ case File.extname(target)
27
+ when '.js'
28
+ %w{coffee pegcoffee}.each{|ext|
29
+ src = File.join(File.dirname(target), File.basename(target, File.extname(target)) + ".#{ext}")
30
+ sources << src if File.file?(src)
31
+ }
32
+ if File.file?(target)
33
+ IO.readlines(target).each{|line|
34
+ next unless line =~ /^require\s*\(?\s*'([^'\n]+)'/
35
+ required = $1.strip
36
+ if %w{:constants: :header:}.include?(required)
37
+ required = 'Rakefile'
38
+ else
39
+ required = File.join(File.dirname(target), required)
40
+ end
41
+ scanning << required unless (scanned + scanning).include?(required)
42
+ sources << required
43
+ }
44
+ end
45
+
46
+ when '.json'
47
+ sources << File.join(File.dirname(target), File.basename(target, File.extname(target)) + '.yml')
48
+
49
+ when '.coffee'
50
+ if File.file?(target)
51
+ IO.readlines(target).each{|line|
52
+ next unless line =~ /^require\s*\(?\s*'([^'\n]+)'([^\n]*)/
53
+ required = $1.strip
54
+ if %w{:constants: :header:}.include?(required)
55
+ required = 'Rakefile'
56
+ else
57
+ required = File.join(File.dirname(target), required)
58
+ end
59
+ scanning << required unless (scanned + scanning).include?(required)
60
+ sources << required
61
+ }
62
+ end
63
+
64
+ when '.manifest', '.xul', '.rdf', '.dtd', '.properties', '.pem', '.svg', '.css', '.yml', '.pegcoffee'
65
+ else throw "Unexpected extension for #{target}"
66
+ end
67
+
68
+ sources.each{|source|
69
+ dependencies[source] ||= []
70
+ dependencies[source] << target
71
+ scanning << source unless (scanned + scanning).include?(source)
72
+ }
73
+ end
74
+
75
+ begin
76
+ done = true
77
+ dependencies.each_pair{|dependency, dependants|
78
+ dependants.each{|dep|
79
+ if File.extname(dep) == '.coffee'
80
+ done = false
81
+ dependants.delete(dep)
82
+ dependencies[dep].each{|d|
83
+ dependants << d
84
+ }
85
+ end
86
+ }
87
+ }
88
+ end until done
89
+
90
+ open('.depend.mf', 'w'){|dmf|
91
+ dependencies.each_pair{|dependency, dependants|
92
+ dmf.write("#{dependants.uniq.sort.collect{|d| d.shellescape }.join(' ')} : #{dependency.shellescape}\n")
93
+ }
94
+ }
95
+ end
96
+ makedepend
97
+ import '.depend.mf'
98
+
15
99
  file 'README.md' => ["www/#{EXTENSION}/index.md", 'install.rdf'] do |t|
16
100
  puts "Updating #{t.name}"
17
101
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zotplus-rakehelper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.87
4
+ version: 0.0.88
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emiliano Heyns
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-27 00:00:00.000000000 Z
11
+ date: 2015-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler