rsanheim-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,102 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rsanheim-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
+
12
+ date: 2008-07-04 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
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
+ version_requirement:
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 1.0.0
32
+ version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: highline
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: "0"
41
+ version:
42
+ description: A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.
43
+ email: ""
44
+ executables: []
45
+
46
+ extensions: []
47
+
48
+ extra_rdoc_files:
49
+ - CHANGELOG
50
+ - lib/echoe/client.rb
51
+ - lib/echoe/extensions.rb
52
+ - lib/echoe/platform.rb
53
+ - lib/echoe.rb
54
+ - LICENSE
55
+ - README
56
+ - TODO
57
+ files:
58
+ - CHANGELOG
59
+ - lib/echoe/client.rb
60
+ - lib/echoe/extensions.rb
61
+ - lib/echoe/platform.rb
62
+ - lib/echoe.rb
63
+ - LICENSE
64
+ - Manifest
65
+ - MIT-LICENSE
66
+ - Rakefile
67
+ - README
68
+ - TODO
69
+ - echoe.gemspec
70
+ has_rdoc: true
71
+ homepage: http://blog.evanweaver.com/files/doc/fauna/echoe/
72
+ post_install_message:
73
+ rdoc_options:
74
+ - --line-numbers
75
+ - --inline-source
76
+ - --title
77
+ - Echoe
78
+ - --main
79
+ - README
80
+ require_paths:
81
+ - lib
82
+ required_ruby_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: "0"
87
+ version:
88
+ required_rubygems_version: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "="
91
+ - !ruby/object:Gem::Version
92
+ version: "1.2"
93
+ version:
94
+ requirements: []
95
+
96
+ rubyforge_project: fauna
97
+ rubygems_version: 1.2.0
98
+ signing_key:
99
+ specification_version: 2
100
+ summary: A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.
101
+ test_files: []
102
+