echoe 3.0.2 → 3.1
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.tar.gz.sig +0 -0
- data/CHANGELOG +3 -0
- data/Manifest +1 -0
- data/Rakefile +1 -1
- data/echoe.gemspec +5 -8
- data/lib/echoe.rb +29 -25
- data/lib/echoe/platform.rb +5 -43
- data/lib/echoe/rubygems.rb +41 -0
- metadata +5 -13
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
data/Rakefile
CHANGED
@@ -7,7 +7,7 @@ Echoe.new('echoe') do |p|
|
|
7
7
|
p.summary = 'A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.'
|
8
8
|
p.url = 'http://blog.evanweaver.com/files/doc/fauna/echoe/'
|
9
9
|
p.docs_host = 'blog.evanweaver.com:~/www/bax/public/files/doc/'
|
10
|
-
p.runtime_dependencies = ['
|
10
|
+
p.runtime_dependencies = ['rubyforge >=1.0.0', 'highline']
|
11
11
|
p.development_dependencies = []
|
12
12
|
p.retain_gemspec = true
|
13
13
|
p.require_signed = true
|
data/echoe.gemspec
CHANGED
@@ -2,22 +2,22 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{echoe}
|
5
|
-
s.version = "3.
|
5
|
+
s.version = "3.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Evan Weaver"]
|
9
9
|
s.cert_chain = ["/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-public_cert.pem"]
|
10
|
-
s.date = %q{
|
10
|
+
s.date = %q{2009-02-03}
|
11
11
|
s.description = %q{A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.}
|
12
12
|
s.email = %q{}
|
13
|
-
s.extra_rdoc_files = ["CHANGELOG", "lib/echoe/client.rb", "lib/echoe/extensions.rb", "lib/echoe/platform.rb", "lib/echoe.rb", "LICENSE", "README", "TODO"]
|
14
|
-
s.files = ["CHANGELOG", "echoe.gemspec", "lib/echoe/client.rb", "lib/echoe/extensions.rb", "lib/echoe/platform.rb", "lib/echoe.rb", "LICENSE", "Manifest", "MIT-LICENSE", "Rakefile", "README", "TODO"]
|
13
|
+
s.extra_rdoc_files = ["CHANGELOG", "lib/echoe/client.rb", "lib/echoe/extensions.rb", "lib/echoe/platform.rb", "lib/echoe/rubygems.rb", "lib/echoe.rb", "LICENSE", "README", "TODO"]
|
14
|
+
s.files = ["CHANGELOG", "echoe.gemspec", "lib/echoe/client.rb", "lib/echoe/extensions.rb", "lib/echoe/platform.rb", "lib/echoe/rubygems.rb", "lib/echoe.rb", "LICENSE", "Manifest", "MIT-LICENSE", "Rakefile", "README", "TODO"]
|
15
15
|
s.has_rdoc = true
|
16
16
|
s.homepage = %q{http://blog.evanweaver.com/files/doc/fauna/echoe/}
|
17
17
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Echoe", "--main", "README"]
|
18
18
|
s.require_paths = ["lib"]
|
19
19
|
s.rubyforge_project = %q{fauna}
|
20
|
-
s.rubygems_version = %q{1.3.
|
20
|
+
s.rubygems_version = %q{1.3.1}
|
21
21
|
s.signing_key = %q{/Users/eweaver/p/configuration/gem_certificates/evan_weaver-original-private_key.pem}
|
22
22
|
s.summary = %q{A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.}
|
23
23
|
|
@@ -26,16 +26,13 @@ Gem::Specification.new do |s|
|
|
26
26
|
s.specification_version = 2
|
27
27
|
|
28
28
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
29
|
-
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
30
29
|
s.add_runtime_dependency(%q<rubyforge>, [">= 1.0.0"])
|
31
30
|
s.add_runtime_dependency(%q<highline>, [">= 0"])
|
32
31
|
else
|
33
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
34
32
|
s.add_dependency(%q<rubyforge>, [">= 1.0.0"])
|
35
33
|
s.add_dependency(%q<highline>, [">= 0"])
|
36
34
|
end
|
37
35
|
else
|
38
|
-
s.add_dependency(%q<rake>, [">= 0"])
|
39
36
|
s.add_dependency(%q<rubyforge>, [">= 1.0.0"])
|
40
37
|
s.add_dependency(%q<highline>, [">= 0"])
|
41
38
|
end
|
data/lib/echoe.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
|
3
|
-
|
2
|
+
$HERE = File.dirname(__FILE__)
|
3
|
+
require "#{$HERE}/echoe/platform"
|
4
|
+
require "#{$HERE}/echoe/extensions"
|
4
5
|
|
5
6
|
require 'rake'
|
6
7
|
require 'rake/clean'
|
@@ -10,22 +11,17 @@ require 'rake/rdoctask'
|
|
10
11
|
require 'rake/testtask'
|
11
12
|
require 'rbconfig'
|
12
13
|
require 'open-uri'
|
13
|
-
require 'highline/import'
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
rescue LoadError
|
18
|
-
end
|
15
|
+
require 'rubygems'
|
16
|
+
require "#{$HERE}/echoe/rubygems"
|
19
17
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
require 'rubyforge'
|
19
|
+
require "#{$HERE}/echoe/client"
|
20
|
+
|
21
|
+
require 'highline/import'
|
24
22
|
|
25
|
-
|
26
|
-
require '
|
27
|
-
require 'echoe/extensions'
|
28
|
-
require 'echoe/client'
|
23
|
+
begin; require 'rcov/rcovtask'; rescue LoadError; end
|
24
|
+
begin; require 'load_multi_rails_rake_tasks'; rescue LoadError; end
|
29
25
|
|
30
26
|
=begin rdoc
|
31
27
|
|
@@ -37,7 +33,7 @@ For example, a simple <tt>Rakefile</tt> might look like this:
|
|
37
33
|
|
38
34
|
Echoe.new("uncapitalizer") do |p|
|
39
35
|
p.author = "Evan Weaver"
|
40
|
-
p.summary = "A library that uncapitalizes strings.
|
36
|
+
p.summary = "A library that uncapitalizes strings."
|
41
37
|
p.url = "http://www.uncapitalizer.com"
|
42
38
|
p.docs_host = "uncapitalizer.com:~/www/files/doc/"
|
43
39
|
p.runtime_dependencies = ["string_tools >=1.4.0"]
|
@@ -151,7 +147,7 @@ class Echoe
|
|
151
147
|
attr_accessor :author, :changes, :clean_pattern, :description, :email, :runtime_dependencies, :development_dependencies, :need_tgz, :need_tar_gz, :need_gem, :need_zip, :rdoc_pattern, :project, :summary, :test_pattern, :url, :version, :docs_host, :rdoc_template, :manifest_name, :install_message, :extension_pattern, :private_key, :certificate_chain, :require_signed, :ruby_version, :platform, :ignore_pattern, :executable_pattern, :changelog, :rcov_options, :gemspec_format
|
152
148
|
|
153
149
|
# best left alone
|
154
|
-
attr_accessor :name, :lib_files, :test_files, :bin_files, :spec, :rdoc_options, :rubyforge_name, :has_rdoc, :include_gemspec, :include_rakefile, :gemspec_name, :retain_gemspec, :rakefile_name, :eval, :files, :changelog_patterns, :rubygems_version, :use_sudo
|
150
|
+
attr_accessor :name, :lib_files, :test_files, :bin_files, :spec, :rdoc_options, :rubyforge_name, :has_rdoc, :include_gemspec, :include_rakefile, :gemspec_name, :retain_gemspec, :rakefile_name, :eval, :files, :changelog_patterns, :rubygems_version, :use_sudo, :gem_bin
|
155
151
|
|
156
152
|
# legacy
|
157
153
|
attr_accessor :extra_deps, :rdoc_files, :extensions, :dependencies
|
@@ -165,7 +161,7 @@ class Echoe
|
|
165
161
|
self.url = ""
|
166
162
|
self.author = ""
|
167
163
|
self.email = ""
|
168
|
-
self.clean_pattern = ["pkg", "doc", 'build/*', '**/coverage', '**/*.o', '**/*.so', '**/*.a', '
|
164
|
+
self.clean_pattern = ["pkg", "doc", 'build/*', '**/coverage', '**/*.o', '**/*.so', '**/*.a', '**/*.log', "{ext,lib}/*.{bundle,so,obj,pdb,lib,def,exp}", "ext/Makefile", "{ext,lib}/**/*.{bundle,so,obj,pdb,lib,def,exp}", "ext/**/Makefile", "pkg", "*.gem", ".config"]
|
169
165
|
self.test_pattern = File.exist?("test/test_all.rb") ? "test/test_all.rb" : ['test/**/test_*.rb', 'test/**/*_test.rb']
|
170
166
|
self.ignore_pattern = /^(pkg|doc)|\.svn|CVS|\.bzr|\.DS|\.git/
|
171
167
|
|
@@ -185,7 +181,8 @@ class Echoe
|
|
185
181
|
self.install_message = nil
|
186
182
|
self.executable_pattern = /^bin\//
|
187
183
|
self.has_rdoc = true
|
188
|
-
self.use_sudo =
|
184
|
+
self.use_sudo = !Platform.windows?
|
185
|
+
self.gem_bin = "gem#{Platform.suffix}"
|
189
186
|
self.rcov_options = []
|
190
187
|
self.rdoc_pattern = /^(lib|bin|tasks|ext)|^README|^CHANGELOG|^TODO|^LICENSE|^COPYING$/
|
191
188
|
|
@@ -198,7 +195,7 @@ class Echoe
|
|
198
195
|
self.rdoc_options += ['--main', readme] if readme
|
199
196
|
|
200
197
|
self.runtime_dependencies = []
|
201
|
-
self.development_dependencies = [
|
198
|
+
self.development_dependencies = [] # These appear to not work at all
|
202
199
|
self.manifest_name = "Manifest"
|
203
200
|
self.extension_pattern = ["ext/**/extconf.rb", "ext/extconf.rb"]
|
204
201
|
self.private_key = ENV['GEM_PRIVATE_KEY']
|
@@ -381,6 +378,13 @@ class Echoe
|
|
381
378
|
pkg.need_tar_gz = @need_tar_gz
|
382
379
|
pkg.need_zip = @need_zip
|
383
380
|
end
|
381
|
+
|
382
|
+
desc "Display Echoe's knowledge of your system"
|
383
|
+
task :details do
|
384
|
+
(self.instance_variables.sort - ['@spec']).each do |var|
|
385
|
+
puts "#{var}: #{instance_variable_get(var).inspect}"
|
386
|
+
end
|
387
|
+
end
|
384
388
|
|
385
389
|
task :build_gemspec do
|
386
390
|
# Construct the gemspec file, if needed.
|
@@ -428,19 +432,19 @@ class Echoe
|
|
428
432
|
|
429
433
|
desc 'Install the gem'
|
430
434
|
task :install => [:clean, :package, :uninstall] do
|
431
|
-
system "#{'sudo' if use_sudo}
|
435
|
+
system "#{'sudo' if use_sudo} #{gem_bin} install pkg/*.gem -P MediumSecurity --no-update-sources"
|
432
436
|
end
|
433
437
|
|
434
438
|
namespace :install do
|
435
439
|
desc 'Install the gem including development dependencies'
|
436
440
|
task :development => [:clean, :package, :uninstall] do
|
437
|
-
system "#{'sudo' if use_sudo}
|
441
|
+
system "#{'sudo' if use_sudo} #{gem_bin} install pkg/*.gem -P MediumSecurity --no-update-sources --development"
|
438
442
|
end
|
439
443
|
end
|
440
444
|
|
441
445
|
desc 'Uninstall the gem'
|
442
446
|
task :uninstall do
|
443
|
-
system "#{'sudo' if use_sudo}
|
447
|
+
system "#{'sudo' if use_sudo} #{gem_bin} uninstall #{name} -a -I -x"
|
444
448
|
end
|
445
449
|
|
446
450
|
desc 'Package and upload the release to Rubyforge'
|
@@ -469,7 +473,7 @@ class Echoe
|
|
469
473
|
(@need_gem ? pkg_gem : nil)].compact
|
470
474
|
|
471
475
|
puts "Releasing #{name} v. #{version}"
|
472
|
-
self.version = self.version.ljust(3)
|
476
|
+
self.version = self.version.to_s.ljust(3)
|
473
477
|
|
474
478
|
rf.add_release project, name, version, *files
|
475
479
|
end
|
@@ -491,7 +495,7 @@ class Echoe
|
|
491
495
|
lib_target = nil
|
492
496
|
Dir.chdir(ext_dir) do
|
493
497
|
ruby File.basename(extension)
|
494
|
-
system(
|
498
|
+
system(RUBY_PLATFORM =~ /win32/ ? 'nmake' : 'make')
|
495
499
|
lib_target = open('Makefile').readlines.grep(/target_prefix = /).first.split('=').last.chomp("\n").strip
|
496
500
|
end
|
497
501
|
Dir["#{ext_dir}/*.#{Config::CONFIG['DLEXT']}"].each do |file|
|
data/lib/echoe/platform.rb
CHANGED
@@ -22,53 +22,15 @@ module Platform
|
|
22
22
|
!@java.nil?
|
23
23
|
end
|
24
24
|
|
25
|
+
def self.suffix
|
26
|
+
@suffix ||= Gem.default_exec_format[2..-1]
|
27
|
+
end
|
28
|
+
|
25
29
|
def self.rake
|
26
|
-
windows? ?
|
30
|
+
windows? ? "rake#{suffix}.bat" : "rake#{suffix}"
|
27
31
|
end
|
28
32
|
|
29
33
|
def self.make
|
30
34
|
msvc? ? 'nmake' : 'make'
|
31
35
|
end
|
32
36
|
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
|
-
|
@@ -0,0 +1,41 @@
|
|
1
|
+
### Overrides for cross packaging, which Rubygems 0.9.5 doesn't do
|
2
|
+
|
3
|
+
module Gem
|
4
|
+
class Specification
|
5
|
+
|
6
|
+
alias :old_validate :validate
|
7
|
+
|
8
|
+
PLATFORM_CROSS_TARGETS = ["aix", "cygwin", "darwin", "freebsd", "hpux", "java", "linux", "mingw", "mswin", "netbsdelf", "openbsd", "solaris", "_platform", "jruby"]
|
9
|
+
|
10
|
+
def validate
|
11
|
+
begin
|
12
|
+
old_validate
|
13
|
+
rescue Gem::InvalidSpecificationException
|
14
|
+
if platform =~ /(#{PLATFORM_CROSS_TARGETS.join("|")})/i
|
15
|
+
true
|
16
|
+
else
|
17
|
+
raise Gem::InvalidSpecificationException, "Unknown package target \"#{platform}\"."
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
### Some runtime Echoe hacks
|
26
|
+
|
27
|
+
$platform = "ruby" # or Gem::PLATFORM::RUBY maybe
|
28
|
+
|
29
|
+
def reset_target target #:nodoc:
|
30
|
+
$platform = target
|
31
|
+
Object.send(:remove_const, "RUBY_PLATFORM")
|
32
|
+
Object.send(:const_set, "RUBY_PLATFORM", target)
|
33
|
+
end
|
34
|
+
|
35
|
+
if target = ARGV.detect do |arg|
|
36
|
+
# Hack to get the platform set before the Rakefile evaluates
|
37
|
+
Gem::Specification::PLATFORM_CROSS_TARGETS.include? arg
|
38
|
+
end
|
39
|
+
reset_target target
|
40
|
+
end
|
41
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: echoe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: "3.1"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Evan Weaver
|
@@ -30,19 +30,9 @@ cert_chain:
|
|
30
30
|
yZ0=
|
31
31
|
-----END CERTIFICATE-----
|
32
32
|
|
33
|
-
date:
|
33
|
+
date: 2009-02-03 00:00:00 -08:00
|
34
34
|
default_executable:
|
35
35
|
dependencies:
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: rake
|
38
|
-
type: :runtime
|
39
|
-
version_requirement:
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
requirements:
|
42
|
-
- - ">="
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: "0"
|
45
|
-
version:
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
37
|
name: rubyforge
|
48
38
|
type: :runtime
|
@@ -74,6 +64,7 @@ extra_rdoc_files:
|
|
74
64
|
- lib/echoe/client.rb
|
75
65
|
- lib/echoe/extensions.rb
|
76
66
|
- lib/echoe/platform.rb
|
67
|
+
- lib/echoe/rubygems.rb
|
77
68
|
- lib/echoe.rb
|
78
69
|
- LICENSE
|
79
70
|
- README
|
@@ -84,6 +75,7 @@ files:
|
|
84
75
|
- lib/echoe/client.rb
|
85
76
|
- lib/echoe/extensions.rb
|
86
77
|
- lib/echoe/platform.rb
|
78
|
+
- lib/echoe/rubygems.rb
|
87
79
|
- lib/echoe.rb
|
88
80
|
- LICENSE
|
89
81
|
- Manifest
|
@@ -118,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
110
|
requirements: []
|
119
111
|
|
120
112
|
rubyforge_project: fauna
|
121
|
-
rubygems_version: 1.3.
|
113
|
+
rubygems_version: 1.3.1
|
122
114
|
signing_key:
|
123
115
|
specification_version: 2
|
124
116
|
summary: A Rubygems packaging tool that provides Rake tasks for documentation, extension compiling, testing, and deployment.
|
metadata.gz.sig
CHANGED
Binary file
|