autotest-fsevent 0.1.1 → 0.1.2
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.
- data/History.txt +9 -0
- data/Manifest.txt +2 -1
- data/PostInstall.txt +6 -12
- data/README.rdoc +29 -0
- data/Rakefile +21 -22
- data/autotest-fsevent.gemspec +50 -0
- data/fsevent/{fsevent_sleep → darwin/fsevent_sleep} +0 -0
- data/lib/autotest-fsevent.rb +2 -2
- data/lib/autotest/fsevent.rb +18 -4
- data/script/console +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +14 -32
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
== 0.1.2 2009-10-04
|
2
|
+
|
3
|
+
* 1 major improvement
|
4
|
+
* Compatibility with Mac OS X 10.6
|
5
|
+
* 3 minor improvement
|
6
|
+
* Reset the postinstall text color to previous
|
7
|
+
* Prepare for multi-platform extension
|
8
|
+
* Patch wait_for_changes to prevent fallback to polling (Darrick Wiebe)
|
9
|
+
|
1
10
|
== 0.1.1 2009-06-02
|
2
11
|
|
3
12
|
* 1 major improvement
|
data/Manifest.txt
CHANGED
data/PostInstall.txt
CHANGED
@@ -1,14 +1,8 @@
|
|
1
|
+
In order to use autotest-fsevent, the following line has to be added to
|
2
|
+
your ~/.autotest file:
|
1
3
|
|
2
|
-
|
3
|
-
| |
|
4
|
-
| In order to use autotest-fsevent, the following line has to be added |
|
5
|
-
| *after* all other requires in your ~/.autotest file: |
|
6
|
-
| |
|
7
|
-
| require 'autotest/fsevent' |
|
8
|
-
| |
|
9
|
-
| For more information, feedback and bug submissions, please visit: |
|
10
|
-
| |
|
11
|
-
| See http://www.bitcetera.com/products/mac-fsevent |
|
12
|
-
| |
|
13
|
-
+--------------------------------------------------------------------------+
|
4
|
+
require 'autotest/fsevent'
|
14
5
|
|
6
|
+
For more information, feedback and bug submissions, please visit:
|
7
|
+
|
8
|
+
http://www.bitcetera.com/products/autotest-fsevent
|
data/README.rdoc
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
= Autotest FSEvent
|
2
2
|
|
3
|
+
* Author: Sven Schwyn (http://www.bitcetera.com)
|
3
4
|
* Homepage: http://www.bitcetera.com/products/autotest-fsevent
|
4
5
|
* Issues and forum: https://forge.bitcetera.com/projects/show/autotest-fsevent
|
5
6
|
|
@@ -33,6 +34,34 @@ file:
|
|
33
34
|
|
34
35
|
require 'autotest/fsevent'
|
35
36
|
|
37
|
+
== DEVELOPMENT:
|
38
|
+
|
39
|
+
You can install the bleeding edge version as follows:
|
40
|
+
|
41
|
+
sudo gem uninstall autotest-fsevent
|
42
|
+
sudo gem install svoop-autotest-fsevent --source http://gems.github.com
|
43
|
+
|
44
|
+
Bleeding-edge gems contains a fourth version digit group (e.g. the .8 in
|
45
|
+
0.1.5.8) to make sure Github builds the gem whenever new code is committed.
|
46
|
+
If there is no fourth version digit group, the edge version is identical
|
47
|
+
to the stable version from Rubyforge.
|
48
|
+
|
49
|
+
Please submit issues on:
|
50
|
+
|
51
|
+
https://forge.bitcetera.com/projects/show/autotest-fsevent
|
52
|
+
|
53
|
+
To contribute code, fork the project on Github, add your code and submit a
|
54
|
+
pull request:
|
55
|
+
|
56
|
+
http://github.com/guides/fork-a-project-and-submit-your-modifications
|
57
|
+
|
58
|
+
== CONTRIBUTIONS:
|
59
|
+
|
60
|
+
Thanks to the following folks who have contributed to this project:
|
61
|
+
|
62
|
+
* Harry Vangberg
|
63
|
+
* Darrick Wiebe
|
64
|
+
|
36
65
|
== LICENSE:
|
37
66
|
|
38
67
|
(The MIT License)
|
data/Rakefile
CHANGED
@@ -1,28 +1,27 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
|
3
|
-
require
|
1
|
+
require 'rubygems'
|
2
|
+
gem 'hoe', '>= 2.1.0'
|
3
|
+
require 'hoe'
|
4
|
+
require 'fileutils'
|
5
|
+
require './lib/autotest-fsevent'
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
p.description = %q{ZenTest's autotest relies on filesystem polling to detect modifications in source code files. This is expensive for the CPU, harddrive and battery - and unnecesary on Mac OS X 10.5 or higher which comes with the very efficient FSEvent core service for this purpose. This gem teaches autotest how to use FSEvent.}
|
9
|
-
p.url = %q{http://www.bitcetera.com/products/autotest-fsevent}
|
10
|
-
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
11
|
-
p.post_install_message = File.read('PostInstall.txt')
|
12
|
-
p.rubyforge_name = p.name
|
13
|
-
p.extra_deps = [
|
14
|
-
['ZenTest','>= 4.0.0'],
|
15
|
-
['sys-uname', '>= 0.8.3'],
|
16
|
-
]
|
17
|
-
p.extra_dev_deps = [
|
18
|
-
['newgem', ">= #{::Newgem::VERSION}"]
|
19
|
-
]
|
7
|
+
Hoe.plugin :newgem
|
8
|
+
# Hoe.plugin :website
|
9
|
+
# Hoe.plugin :cucumberfeatures
|
20
10
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
11
|
+
$hoe = Hoe.spec 'autotest-fsevent' do
|
12
|
+
self.developer 'Sven Schwyn', 'ruby@bitcetera.com'
|
13
|
+
self.summary = %q{Use FSEvent (on Mac OS X 10.5 or higher) instead of filesystem polling.}
|
14
|
+
self.description = %q{ZenTest's autotest relies on filesystem polling to detect modifications in source code files. This is expensive for the CPU, harddrive and battery - and unnecesary on Mac OS X 10.5 or higher which comes with the very efficient FSEvent core service for this purpose. This gem teaches autotest how to use FSEvent.}
|
15
|
+
self.url = %q{http://www.bitcetera.com/products/autotest-fsevent}
|
16
|
+
self.post_install_message = "\n\e[1;32m" + File.read('PostInstall.txt') + "\e[0m\n"
|
17
|
+
self.rubyforge_name = self.name
|
18
|
+
self.extra_deps = [
|
19
|
+
['ZenTest','>= 4.1.3'],
|
20
|
+
['sys-uname', '>= 0.8.3'],
|
21
|
+
]
|
25
22
|
end
|
26
23
|
|
27
24
|
require 'newgem/tasks'
|
28
25
|
Dir['tasks/**/*.rake'].each { |t| load t }
|
26
|
+
|
27
|
+
task :default => [:spec]
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{autotest-fsevent}
|
5
|
+
s.version = "0.1.2"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Sven Schwyn"]
|
9
|
+
s.date = %q{2009-10-04}
|
10
|
+
s.description = %q{ZenTest's autotest relies on filesystem polling to detect modifications in source code files. This is expensive for the CPU, harddrive and battery - and unnecesary on Mac OS X 10.5 or higher which comes with the very efficient FSEvent core service for this purpose. This gem teaches autotest how to use FSEvent.}
|
11
|
+
s.email = ["ruby@bitcetera.com"]
|
12
|
+
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt"]
|
13
|
+
s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "autotest-fsevent.gemspec", "fsevent/darwin/fsevent_sleep", "lib/autotest-fsevent.rb", "lib/autotest/fsevent.rb", "script/console", "script/destroy", "script/generate", "spec/autotest-fsevent_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "tasks/rspec.rake"]
|
14
|
+
s.homepage = %q{http://www.bitcetera.com/products/autotest-fsevent}
|
15
|
+
s.post_install_message = %q{
|
16
|
+
[1;32mIn order to use autotest-fsevent, the following line has to be added to
|
17
|
+
your ~/.autotest file:
|
18
|
+
|
19
|
+
require 'autotest/fsevent'
|
20
|
+
|
21
|
+
For more information, feedback and bug submissions, please visit:
|
22
|
+
|
23
|
+
http://www.bitcetera.com/products/autotest-fsevent
|
24
|
+
[0m
|
25
|
+
}
|
26
|
+
s.rdoc_options = ["--main", "README.rdoc"]
|
27
|
+
s.require_paths = ["lib"]
|
28
|
+
s.rubyforge_project = %q{autotest-fsevent}
|
29
|
+
s.rubygems_version = %q{1.3.5}
|
30
|
+
s.summary = %q{Use FSEvent (on Mac OS X 10.5 or higher) instead of filesystem polling.}
|
31
|
+
|
32
|
+
if s.respond_to? :specification_version then
|
33
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
34
|
+
s.specification_version = 3
|
35
|
+
|
36
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
37
|
+
s.add_runtime_dependency(%q<ZenTest>, [">= 4.1.3"])
|
38
|
+
s.add_runtime_dependency(%q<sys-uname>, [">= 0.8.3"])
|
39
|
+
s.add_development_dependency(%q<hoe>, [">= 2.3.3"])
|
40
|
+
else
|
41
|
+
s.add_dependency(%q<ZenTest>, [">= 4.1.3"])
|
42
|
+
s.add_dependency(%q<sys-uname>, [">= 0.8.3"])
|
43
|
+
s.add_dependency(%q<hoe>, [">= 2.3.3"])
|
44
|
+
end
|
45
|
+
else
|
46
|
+
s.add_dependency(%q<ZenTest>, [">= 4.1.3"])
|
47
|
+
s.add_dependency(%q<sys-uname>, [">= 0.8.3"])
|
48
|
+
s.add_dependency(%q<hoe>, [">= 2.3.3"])
|
49
|
+
end
|
50
|
+
end
|
Binary file
|
data/lib/autotest-fsevent.rb
CHANGED
data/lib/autotest/fsevent.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'autotest'
|
3
3
|
require 'sys/uname'
|
4
|
+
|
4
5
|
include Sys
|
5
6
|
|
6
7
|
##
|
@@ -14,17 +15,30 @@ include Sys
|
|
14
15
|
# require 'autotest/fsevent'
|
15
16
|
module Autotest::FSEvent
|
16
17
|
|
17
|
-
GEM_PATH = File.expand_path(File.join(File.dirname(__FILE__), '
|
18
|
+
GEM_PATH = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
|
18
19
|
|
19
20
|
##
|
20
21
|
# Use FSEvent if possible
|
21
|
-
Autotest.add_hook :waiting do
|
22
|
-
if Uname.sysname == 'Darwin' && Uname.release.to_i >= 9
|
23
|
-
`#{File.join(GEM_PATH, 'fsevent', 'fsevent_sleep')} '#{Dir.pwd}' 2>&1`
|
22
|
+
Autotest.add_hook :waiting do
|
23
|
+
if (Uname.sysname == 'Darwin' && Uname.release.to_i >= 9) || %w(Linux).include?(Uname.sysname)
|
24
|
+
`#{File.join(GEM_PATH, 'fsevent', Uname.sysname.downcase, 'fsevent_sleep')} '#{Dir.pwd}' 2>&1`
|
24
25
|
else
|
25
26
|
puts
|
26
27
|
puts "autotest-fsevent: platform #{Uname.sysname} #{Uname.release} is not supported"
|
27
28
|
end
|
28
29
|
end
|
29
30
|
|
31
|
+
##
|
32
|
+
# Add waiting hook to prevent fallback to polling after ignored files have changed
|
33
|
+
Autotest.add_hook :initialize do
|
34
|
+
class ::Autotest
|
35
|
+
def wait_for_changes
|
36
|
+
begin
|
37
|
+
hook :waiting
|
38
|
+
Kernel.sleep self.sleep
|
39
|
+
end until find_files_to_test
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
30
44
|
end
|
data/script/console
CHANGED
@@ -5,6 +5,6 @@ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
|
5
5
|
libs = " -r irb/completion"
|
6
6
|
# Perhaps use a console_lib to store any extra methods I may want available in the cosole
|
7
7
|
# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
|
8
|
-
libs << " -r #{File.dirname(__FILE__) + '/../lib/autotest
|
8
|
+
libs << " -r #{File.dirname(__FILE__) + '/../lib/autotest/fsevent.rb'}"
|
9
9
|
puts "Loading autotest-fsevent gem"
|
10
10
|
exec "#{irb} #{libs} --simple-prompt"
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autotest-fsevent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sven Schwyn
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-10-04 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 4.
|
23
|
+
version: 4.1.3
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sys-uname
|
@@ -32,16 +32,6 @@ dependencies:
|
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 0.8.3
|
34
34
|
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: newgem
|
37
|
-
type: :development
|
38
|
-
version_requirement:
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 1.4.1
|
44
|
-
version:
|
45
35
|
- !ruby/object:Gem::Dependency
|
46
36
|
name: hoe
|
47
37
|
type: :development
|
@@ -50,7 +40,7 @@ dependencies:
|
|
50
40
|
requirements:
|
51
41
|
- - ">="
|
52
42
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
43
|
+
version: 2.3.3
|
54
44
|
version:
|
55
45
|
description: ZenTest's autotest relies on filesystem polling to detect modifications in source code files. This is expensive for the CPU, harddrive and battery - and unnecesary on Mac OS X 10.5 or higher which comes with the very efficient FSEvent core service for this purpose. This gem teaches autotest how to use FSEvent.
|
56
46
|
email:
|
@@ -63,14 +53,14 @@ extra_rdoc_files:
|
|
63
53
|
- History.txt
|
64
54
|
- Manifest.txt
|
65
55
|
- PostInstall.txt
|
66
|
-
- README.rdoc
|
67
56
|
files:
|
68
57
|
- History.txt
|
69
58
|
- Manifest.txt
|
70
59
|
- PostInstall.txt
|
71
60
|
- README.rdoc
|
72
61
|
- Rakefile
|
73
|
-
- fsevent
|
62
|
+
- autotest-fsevent.gemspec
|
63
|
+
- fsevent/darwin/fsevent_sleep
|
74
64
|
- lib/autotest-fsevent.rb
|
75
65
|
- lib/autotest/fsevent.rb
|
76
66
|
- script/console
|
@@ -84,21 +74,13 @@ has_rdoc: true
|
|
84
74
|
homepage: http://www.bitcetera.com/products/autotest-fsevent
|
85
75
|
licenses: []
|
86
76
|
|
87
|
-
post_install_message:
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
| require 'autotest/fsevent' |
|
95
|
-
| |
|
96
|
-
| For more information, feedback and bug submissions, please visit: |
|
97
|
-
| |
|
98
|
-
| See http://www.bitcetera.com/products/mac-fsevent |
|
99
|
-
| |
|
100
|
-
+--------------------------------------------------------------------------+
|
101
|
-
|
77
|
+
post_install_message: "\n\
|
78
|
+
\e[1;32mIn order to use autotest-fsevent, the following line has to be added to\n\
|
79
|
+
your ~/.autotest file:\n\n\
|
80
|
+
require 'autotest/fsevent'\n\n\
|
81
|
+
For more information, feedback and bug submissions, please visit:\n\n\
|
82
|
+
http://www.bitcetera.com/products/autotest-fsevent\n\
|
83
|
+
\e[0m\n"
|
102
84
|
rdoc_options:
|
103
85
|
- --main
|
104
86
|
- README.rdoc
|
@@ -119,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
101
|
requirements: []
|
120
102
|
|
121
103
|
rubyforge_project: autotest-fsevent
|
122
|
-
rubygems_version: 1.3.
|
104
|
+
rubygems_version: 1.3.5
|
123
105
|
signing_key:
|
124
106
|
specification_version: 3
|
125
107
|
summary: Use FSEvent (on Mac OS X 10.5 or higher) instead of filesystem polling.
|