echoe 3.0.2 → 3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|