Chrononaut-echoe 3

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.
@@ -0,0 +1,25 @@
1
+ # Fixes for Rubyforge 1.0.0 client.rb
2
+
3
+ class RubyForge::Client
4
+ def boundary_data_for(boundary, parameters)
5
+ parameters.sort_by {|k,v| k.to_s }.map { |k,v|
6
+ parameter = "--#{boundary}\r\nContent-Disposition: form-data; name=\"" +
7
+ WEBrick::HTTPUtils.escape_form(k.to_s) + "\""
8
+
9
+ if v.respond_to?(:path)
10
+ parameter += "; filename=\"#{File.basename(v.path)}\"\r\n"
11
+ parameter += "Content-Transfer-Encoding: binary\r\n"
12
+ parameter += "Content-Type: text/plain"
13
+ end
14
+ parameter += "\r\n\r\n"
15
+
16
+ if v.respond_to?(:path)
17
+ parameter += v.read
18
+ elsif
19
+ parameter += v.to_s
20
+ end
21
+
22
+ parameter
23
+ }.join("\r\n") + "\r\n--#{boundary}--\r\n"
24
+ end
25
+ end
@@ -0,0 +1,57 @@
1
+
2
+ class String #:nodoc:
3
+ def uncapitalize #:nodoc:
4
+ "#{self[0..0].downcase}#{self[1..-1]}"
5
+ end
6
+ end
7
+
8
+ class ::Rake::SshDirPublisher # :nodoc:
9
+ attr_reader :host, :remote_dir, :local_dir
10
+ end
11
+
12
+ class Echoe
13
+
14
+ def self.silence
15
+ if !ENV['VERBOSE']
16
+ stdout, stderr = $stdout.clone, $stderr.clone
17
+ $stdout.reopen(File.new('/tmp/stdout.echoe', 'w'))
18
+ $stderr.reopen(File.new('/tmp/stderr.echoe', 'w'))
19
+ begin
20
+ yield
21
+ ensure
22
+ $stdout.reopen(stdout)
23
+ $stderr.reopen(stderr)
24
+ end
25
+ else
26
+ yield
27
+ end
28
+ end
29
+
30
+ end
31
+
32
+ # Redefine instead of chain a Rake task
33
+ # http://www.bigbold.com/snippets/posts/show/2032
34
+
35
+ module Rake
36
+ module TaskManager
37
+ def redefine_task(task_class, *args, &block)
38
+ task_name, deps = resolve_args(args)
39
+ task_name = task_class.scope_name(@scope, task_name)
40
+ deps = [deps] unless deps.respond_to?(:to_ary)
41
+ deps = deps.collect {|d| d.to_s }
42
+ task = @tasks[task_name.to_s] = task_class.new(task_name, self)
43
+ task.application = self
44
+ task.send(:add_comment, @last_comment)
45
+ @last_comment = nil
46
+ task.enhance(deps, &block)
47
+ task
48
+ end
49
+ end
50
+ class Task
51
+ class << self
52
+ def redefine_task(*args, &block)
53
+ Rake.application.redefine_task(self, *args, &block)
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,74 @@
1
+
2
+ ### Platform check regexes
3
+
4
+ module Platform
5
+ def self.windows?
6
+ @windows ||= RUBY_PLATFORM =~ /djgpp|(cyg|ms|bcc)win|mingw/
7
+ !@windows.nil?
8
+ end
9
+
10
+ def self.gcc?
11
+ @gcc ||= RUBY_PLATFORM =~ /mingw/
12
+ !@gcc.nil?
13
+ end
14
+
15
+ def self.msvc?
16
+ @msvc ||= RUBY_PLATFORM =~ /mswin/
17
+ !@msvc.nil?
18
+ end
19
+
20
+ def self.java?
21
+ @java ||= RUBY_PLATFORM =~ /java/
22
+ !@java.nil?
23
+ end
24
+
25
+ def self.rake
26
+ windows? ? 'rake.bat' : 'rake'
27
+ end
28
+
29
+ def self.make
30
+ msvc? ? 'nmake' : 'make'
31
+ end
32
+ end
33
+
34
+ ### Overrides for cross packaging, which Rubygems 0.9.5 doesn't do
35
+
36
+ module Gem
37
+ class Specification
38
+
39
+ alias :old_validate :validate
40
+
41
+ PLATFORM_CROSS_TARGETS = ["aix", "cygwin", "darwin", "freebsd", "hpux", "java", "linux", "mingw", "mswin", "netbsdelf", "openbsd", "solaris", "_platform", "jruby"]
42
+
43
+ def validate
44
+ begin
45
+ old_validate
46
+ rescue Gem::InvalidSpecificationException
47
+ if platform =~ /(#{PLATFORM_CROSS_TARGETS.join("|")})/i
48
+ true
49
+ else
50
+ raise Gem::InvalidSpecificationException, "Unknown package target \"#{platform}\"."
51
+ end
52
+ end
53
+ end
54
+
55
+ end
56
+ end
57
+
58
+ ### Some runtime Echoe hacks
59
+
60
+ $platform = "ruby" # or Gem::PLATFORM::RUBY maybe
61
+
62
+ def reset_target target #:nodoc:
63
+ $platform = target
64
+ Object.send(:remove_const, "RUBY_PLATFORM")
65
+ Object.send(:const_set, "RUBY_PLATFORM", target)
66
+ end
67
+
68
+ if target = ARGV.detect do |arg|
69
+ # Hack to get the platform set before the Rakefile evaluates
70
+ Gem::Specification::PLATFORM_CROSS_TARGETS.include? arg
71
+ end
72
+ reset_target target
73
+ end
74
+
metadata ADDED
@@ -0,0 +1,104 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: Chrononaut-echoe
3
+ version: !ruby/object:Gem::Version
4
+ version: "3"
5
+ platform: ruby
6
+ authors:
7
+ - Evan Weaver
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ date: 2008-08-10 15:00:00 -07:00
12
+ default_executable:
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ type: :runtime
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: "0"
23
+ version:
24
+ - !ruby/object:Gem::Dependency
25
+ name: rubyforge
26
+ type: :runtime
27
+ version_requirement:
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.0.0
33
+ version:
34
+ - !ruby/object:Gem::Dependency
35
+ name: highline
36
+ type: :runtime
37
+ version_requirement:
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: "0"
43
+ version:
44
+ description: A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.
45
+ email: ""
46
+ executables: []
47
+
48
+ extensions: []
49
+
50
+ extra_rdoc_files:
51
+ - CHANGELOG
52
+ - lib/echoe/client.rb
53
+ - lib/echoe/extensions.rb
54
+ - lib/echoe/platform.rb
55
+ - lib/echoe.rb
56
+ - LICENSE
57
+ - README
58
+ - TODO
59
+ files:
60
+ - CHANGELOG
61
+ - lib/echoe/client.rb
62
+ - lib/echoe/extensions.rb
63
+ - lib/echoe/platform.rb
64
+ - lib/echoe.rb
65
+ - LICENSE
66
+ - Manifest
67
+ - MIT-LICENSE
68
+ - Rakefile
69
+ - README
70
+ - TODO
71
+ - echoe.gemspec
72
+ has_rdoc: true
73
+ homepage: http://blog.evanweaver.com/files/doc/fauna/echoe/
74
+ post_install_message:
75
+ rdoc_options:
76
+ - --line-numbers
77
+ - --inline-source
78
+ - --title
79
+ - Echoe
80
+ - --main
81
+ - README
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: "0"
89
+ version:
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: "1.2"
95
+ version:
96
+ requirements: []
97
+
98
+ rubyforge_project: fauna
99
+ rubygems_version: 1.2.0
100
+ signing_key:
101
+ specification_version: 2
102
+ summary: A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.
103
+ test_files: []
104
+