echoe 1.1 → 1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +6 -0
- data/{LICENSE.txt → LICENSE} +0 -0
- data/Manifest +8 -0
- data/{README.txt → README} +5 -2
- data/Rakefile +9 -8
- data/lib/echoe.rb +20 -10
- metadata +13 -13
- data/History.txt +0 -90
- data/Manifest.txt +0 -8
data/CHANGELOG
ADDED
data/{LICENSE.txt → LICENSE}
RENAMED
File without changes
|
data/Manifest
ADDED
data/{README.txt → README}
RENAMED
@@ -4,7 +4,7 @@ echoe
|
|
4
4
|
|
5
5
|
== DESCRIPTION:
|
6
6
|
|
7
|
-
|
7
|
+
Echoe is a simple packaging tool for working with rubygems. It
|
8
8
|
generates all the usual tasks for projects including rdoc generation,
|
9
9
|
testing, packaging, and deployment.
|
10
10
|
|
@@ -30,11 +30,14 @@ Tasks Provided:
|
|
30
30
|
* test_deps - Show which test files fail when run alone.
|
31
31
|
* uninstall - Uninstall the package.
|
32
32
|
|
33
|
-
|
33
|
+
First, see the Rakefile used to distribute Echoe itself. Also see the class rdoc for
|
34
|
+
help.
|
34
35
|
|
35
36
|
== DIFFERENCES FROM HOE:
|
36
37
|
|
37
38
|
* Removes unnecessary meta-dependency on self in created gems
|
39
|
+
* Better error reporting
|
40
|
+
* Can auto-generate the Manifest
|
38
41
|
|
39
42
|
== FEATURES/PROBLEMS:
|
40
43
|
|
data/Rakefile
CHANGED
@@ -1,14 +1,15 @@
|
|
1
|
-
# -*- ruby -*-
|
2
1
|
|
3
|
-
require '
|
2
|
+
require 'lib/echoe'
|
4
3
|
|
5
|
-
Echoe.new("echoe",
|
4
|
+
Echoe.new("echoe", `cat CHANGELOG`[/^([\d\.]+)\. /, 1]) do |p|
|
6
5
|
p.name = "echoe"
|
7
6
|
p.rubyforge_name = "fauna"
|
8
|
-
p.summary = "Echoe
|
9
|
-
p.description =
|
10
|
-
|
11
|
-
|
7
|
+
p.summary = "Echoe is a simple packaging tool for working with rubygems."
|
8
|
+
p.description = "Echoe is a simple packaging tool for working with rubygems. It
|
9
|
+
generates all the usual tasks for projects including rdoc generation,
|
10
|
+
testing, packaging, and deployment."
|
11
|
+
p.url = "http://blog.evanweaver.com/articles/2007/01/10/if-you-dont-want-to-hoe-echoe"
|
12
|
+
p.changes = `cat CHANGELOG`[/^([\d\.]+\. .*)/, 1]
|
13
|
+
p.extra_deps = [['rake'], ['rubyforge', '>= 0.4.0']]
|
12
14
|
end
|
13
15
|
|
14
|
-
# vim: syntax=Ruby
|
data/lib/echoe.rb
CHANGED
@@ -35,6 +35,7 @@ require 'rbconfig'
|
|
35
35
|
# * announce - Generate email announcement file and post to rubyforge.
|
36
36
|
# * audit - Run ZenTest against the package
|
37
37
|
# * check_manifest - Verify the manifest
|
38
|
+
# * build_manifest - Build a manifest from your current tree
|
38
39
|
# * clean - Clean up all the extras
|
39
40
|
# * debug_gem - Show information about the gem.
|
40
41
|
# * default - Run the default tasks
|
@@ -89,7 +90,6 @@ require 'rbconfig'
|
|
89
90
|
# * RUBY_FLAGS - Used to specify flags to ruby [has smart default].
|
90
91
|
|
91
92
|
class Echoe
|
92
|
-
VERSION = '1.1'
|
93
93
|
|
94
94
|
rubyprefix = Config::CONFIG['prefix']
|
95
95
|
sitelibdir = Config::CONFIG['sitelibdir']
|
@@ -105,7 +105,6 @@ class Echoe
|
|
105
105
|
"-w -I#{%w(lib ext bin test).join(File::PATH_SEPARATOR)}" +
|
106
106
|
(RUBY_DEBUG ? " #{RUBY_DEBUG}" : '')
|
107
107
|
FILTER = ENV['FILTER'] # for tests (eg FILTER="-n test_blah")
|
108
|
-
|
109
108
|
attr_accessor :author, :bin_files, :changes, :clean_globs, :description, :email, :extra_deps, :lib_files, :name, :need_tar, :need_tar_gz, :need_zip, :rdoc_pattern, :rubyforge_name, :spec, :spec_extras, :summary, :test_files, :test_globs, :url, :version, :tar_extension #, :tar_separator, :zip_separator
|
110
109
|
|
111
110
|
def initialize(name, version)
|
@@ -131,13 +130,6 @@ class Echoe
|
|
131
130
|
# self.tar_separator = "." # separator choice is buried in rake/packagetask, bah
|
132
131
|
# self.zip_separator = "."
|
133
132
|
|
134
|
-
if name == 'echoe' then
|
135
|
-
extra_deps << ['rake']
|
136
|
-
extra_deps << ['rubyforge', '>= 0.4.0']
|
137
|
-
else
|
138
|
-
# extra_deps << ['echoe', ">= #{VERSION}"]
|
139
|
-
end
|
140
|
-
|
141
133
|
yield self if block_given?
|
142
134
|
|
143
135
|
define_tasks
|
@@ -193,7 +185,11 @@ class Echoe
|
|
193
185
|
|
194
186
|
manifest = "Manifest"
|
195
187
|
manifest += ".txt" if File.exist? "Manifest.txt"
|
196
|
-
|
188
|
+
begin
|
189
|
+
s.files = File.read(manifest).split
|
190
|
+
rescue Errno::ENOENT
|
191
|
+
$stderr.puts "Missing Manifest. You can build one with\n$ rake build_manifest"
|
192
|
+
end
|
197
193
|
s.executables = s.files.grep(/bin/) { |f| File.basename(f) }
|
198
194
|
|
199
195
|
s.bindir = "bin"
|
@@ -417,6 +413,20 @@ class Echoe
|
|
417
413
|
rm f
|
418
414
|
end
|
419
415
|
|
416
|
+
desc "Build a Manifest from your current tree"
|
417
|
+
task :build_manifest do
|
418
|
+
files = []
|
419
|
+
find_files = proc { |dir|
|
420
|
+
Dir["#{dir}/**"].each do |file|
|
421
|
+
File.directory?(file) ? find_files[file] : files << file
|
422
|
+
end
|
423
|
+
}
|
424
|
+
manifest = File.exist?("./Manifest.txt") ? "./Manifest.txt" : "./Manifest"
|
425
|
+
find_files['.']
|
426
|
+
files = (files << manifest).uniq
|
427
|
+
File.open(manifest, 'w').puts files
|
428
|
+
puts files
|
429
|
+
end
|
420
430
|
end # end define
|
421
431
|
|
422
432
|
def announcement
|
metadata
CHANGED
@@ -3,15 +3,15 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: echoe
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: "1.
|
7
|
-
date: 2007-
|
8
|
-
summary: Echoe
|
6
|
+
version: "1.2"
|
7
|
+
date: 2007-04-30 00:00:00 -04:00
|
8
|
+
summary: Echoe is a simple packaging tool for working with rubygems.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: ""
|
12
|
-
homepage:
|
12
|
+
homepage: http://blog.evanweaver.com/articles/2007/01/10/if-you-dont-want-to-hoe-echoe
|
13
13
|
rubyforge_project: fauna
|
14
|
-
description:
|
14
|
+
description: Echoe is a simple packaging tool for working with rubygems. It generates all the usual tasks for projects including rdoc generation, testing, packaging, and deployment.
|
15
15
|
autorequire:
|
16
16
|
default_executable:
|
17
17
|
bindir: bin
|
@@ -29,14 +29,14 @@ post_install_message:
|
|
29
29
|
authors:
|
30
30
|
- ""
|
31
31
|
files:
|
32
|
-
-
|
33
|
-
-
|
34
|
-
- README
|
35
|
-
-
|
36
|
-
-
|
37
|
-
-
|
38
|
-
-
|
39
|
-
-
|
32
|
+
- ./CHANGELOG
|
33
|
+
- ./LICENSE
|
34
|
+
- ./README
|
35
|
+
- ./Rakefile
|
36
|
+
- ./bin/echoe
|
37
|
+
- ./lib/echoe.rb
|
38
|
+
- ./test/test_echoe.rb
|
39
|
+
- ./Manifest
|
40
40
|
test_files:
|
41
41
|
- test/test_echoe.rb
|
42
42
|
rdoc_options: []
|
data/History.txt
DELETED
@@ -1,90 +0,0 @@
|
|
1
|
-
= 1.0.0 2007-01-10
|
2
|
-
|
3
|
-
* Echoe fork to remove unecessary meta-dependency on self in output gems
|
4
|
-
|
5
|
-
= 1.1.6 2006-11-29
|
6
|
-
|
7
|
-
* Fix release to work correctly with need_zip and need_tar.
|
8
|
-
|
9
|
-
= 1.1.5 2006-11-29
|
10
|
-
|
11
|
-
* Reduced check_manifest dependencies to just diff for windows.
|
12
|
-
* Don't use default author in summary, description or changes.
|
13
|
-
|
14
|
-
= 1.1.4 2006-11-12
|
15
|
-
|
16
|
-
* Added need_tar and need_zip to customize package requirements. Stupid windoze.
|
17
|
-
* Extended spec_extras to take procs as values. Passes in named parameter.
|
18
|
-
* Removed test from require_paths. I thought I already parameterized this. :/
|
19
|
-
|
20
|
-
= 1.1.3 2006-11-09
|
21
|
-
|
22
|
-
* Added test_deps, now you can automatically discover test dependency ommisions.
|
23
|
-
* Added ext support! Build C extensions with hoe!
|
24
|
-
* Gemspec uses test_all.rb or result of test_globs. Tweak those tests.
|
25
|
-
* Now uses https to login to rubyforge. Rubyforge crackers beware!
|
26
|
-
* Fixed doco and automated updating of it.
|
27
|
-
* Added rdoc_pattern. Go doco go!
|
28
|
-
|
29
|
-
= 1.1.2 2006-10-22
|
30
|
-
|
31
|
-
* Added -d and -t flags to sow to make dev or trunk subdirs for p4 and svn projects.
|
32
|
-
* Added install_gem to further test gem builds.
|
33
|
-
* Added test_globs to customize your test file list.
|
34
|
-
* Removed demo.rb from clean_globs. I'm torn on this one.
|
35
|
-
* Fixed bug in install rule.
|
36
|
-
|
37
|
-
= 1.1.1 2006-10-11
|
38
|
-
|
39
|
-
* Fixed minor problem with subject of email.
|
40
|
-
* Fixed problem in test.
|
41
|
-
|
42
|
-
= 1.1.0 2006-10-04
|
43
|
-
|
44
|
-
* Added sow, a command-line tool for quickly creating new projects.
|
45
|
-
* Added check_manifest task
|
46
|
-
|
47
|
-
= 1.0.5 2006-10-03
|
48
|
-
|
49
|
-
* Doco cleanup.
|
50
|
-
* Removed Manifest.txt from rdoc and added title.
|
51
|
-
* Added changeset support.
|
52
|
-
* Added spec_extras for easy gemspec attribute setting.
|
53
|
-
* Added release_notes, changeset setting for releases.
|
54
|
-
* Added paragraphs_of utility method.
|
55
|
-
* Added email and rubyforge news announcement tasks.
|
56
|
-
* Url attribute may now be an array of urls.
|
57
|
-
|
58
|
-
= 1.0.4 2006-09-23
|
59
|
-
|
60
|
-
* Damnit... I messed up. There is no rubygems gem to be dependent upon. Duh.
|
61
|
-
|
62
|
-
= 1.0.3 2006-09-23
|
63
|
-
|
64
|
-
* Added debug_gem rule.
|
65
|
-
* Added lots of doco.
|
66
|
-
* Added proper deps to hoe for other's gems, and rake/rubyforge/rubygems for hoe.
|
67
|
-
* Added ridocs to generate ri locally for testing.
|
68
|
-
* Added support for multiple authors.
|
69
|
-
* Fixed include paths.
|
70
|
-
* Rdoc now includes any top level .txt files.
|
71
|
-
* Renamed deploy to release.
|
72
|
-
* Renamed upload to publish_docs.
|
73
|
-
* publish_docs is now smart about subprojects and missing subdirectories.
|
74
|
-
|
75
|
-
= 1.0.2 2006-09-20
|
76
|
-
|
77
|
-
* Wee little tests.
|
78
|
-
* Fixed up gemspec's require_paths.
|
79
|
-
|
80
|
-
= 1.0.1 2006-09-20
|
81
|
-
|
82
|
-
* Finally got deployment straightened out. Maybe. Some might be on rubyforge.org.
|
83
|
-
* Added default description and summary.
|
84
|
-
* Added dependency mechanism.
|
85
|
-
* Improved gemspec debugging.
|
86
|
-
* Swapped gem with tgz in deploy... we'd rather screw up on tgz
|
87
|
-
|
88
|
-
= 1.0.0 2006-09-19
|
89
|
-
|
90
|
-
* Birthday!
|