mg 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/README.mkd +3 -18
- data/lib/mg.rb +1 -51
- metadata +5 -12
data/README.mkd
CHANGED
@@ -2,8 +2,8 @@ mg
|
|
2
2
|
==
|
3
3
|
|
4
4
|
Minimalist way to build [gems](http://rubygems.org) and publish them to
|
5
|
-
[
|
6
|
-
|
5
|
+
[Gemcutter](http://gemcutter.org) using [Rake](http://rake.rubyforge.org).
|
6
|
+
Also build tarballs.
|
7
7
|
|
8
8
|
Usage
|
9
9
|
-----
|
@@ -11,7 +11,7 @@ Usage
|
|
11
11
|
In your Rakefile:
|
12
12
|
|
13
13
|
require "mg"
|
14
|
-
MG.new("
|
14
|
+
MG.new("project.gemspec")
|
15
15
|
|
16
16
|
The following tasks are now available:
|
17
17
|
|
@@ -21,24 +21,9 @@ The following tasks are now available:
|
|
21
21
|
rake install
|
22
22
|
Build and install as local gem
|
23
23
|
|
24
|
-
rake install:edge
|
25
|
-
Build and install edge as a local gem with
|
26
|
-
version suffixed by ".999"
|
27
|
-
|
28
24
|
rake package
|
29
25
|
Build gem and tarball into dist/
|
30
26
|
|
31
|
-
And if you've specified `rubyforge_project`:
|
32
|
-
|
33
|
-
rake rubyforge
|
34
|
-
Publish the current version on Rubyforge
|
35
|
-
|
36
|
-
rake rubyforge:gem
|
37
|
-
Publish gem and tarball on rubyforge
|
38
|
-
|
39
|
-
rake rubyforge:git
|
40
|
-
Push to gitosis@rubyforge.org:<project name>.git
|
41
|
-
|
42
27
|
Licence
|
43
28
|
-------
|
44
29
|
|
data/lib/mg.rb
CHANGED
@@ -15,18 +15,10 @@ class MG < Rake::TaskLib
|
|
15
15
|
spec.name
|
16
16
|
end
|
17
17
|
|
18
|
-
def group
|
19
|
-
spec.rubyforge_project
|
20
|
-
end
|
21
|
-
|
22
|
-
# Load the gemspec using the same limitations as github
|
23
18
|
def spec
|
24
19
|
@spec ||= begin
|
25
20
|
require "rubygems/specification"
|
26
|
-
|
27
|
-
spec = nil
|
28
|
-
Thread.new { spec = eval("$SAFE = 3\n#{data}") }.join
|
29
|
-
spec
|
21
|
+
eval File.read(gemspec)
|
30
22
|
end
|
31
23
|
end
|
32
24
|
|
@@ -44,11 +36,6 @@ class MG < Rake::TaskLib
|
|
44
36
|
sh "gem install #{package(".gem")}"
|
45
37
|
end
|
46
38
|
|
47
|
-
desc "Build and install edge as a local gem"
|
48
|
-
task :"install:edge" => package(".999.gem") do
|
49
|
-
sh "gem install #{package(".999.gem")}#{" --development" if ENV["HACK"]}"
|
50
|
-
end
|
51
|
-
|
52
39
|
desc "Build gem and tarball into dist/"
|
53
40
|
task :package => %w(.gem .tar.gz).map { |ext| package(ext) }
|
54
41
|
|
@@ -68,46 +55,9 @@ class MG < Rake::TaskLib
|
|
68
55
|
mv File.basename(f.name), f.name
|
69
56
|
end
|
70
57
|
|
71
|
-
desc "Build the edge gem in dist/"
|
72
|
-
file package(".999.gem") => package(".999.gemspec") do |f|
|
73
|
-
sh "gem build #{package(".999.gemspec")}"
|
74
|
-
mv File.basename(f.name), f.name
|
75
|
-
end
|
76
|
-
|
77
|
-
file package(".999.gemspec") => "dist/" do |f|
|
78
|
-
File.open(f.name, "w") { |dest|
|
79
|
-
dest << File.read("#{name}.gemspec").
|
80
|
-
gsub(/version\s*=\s*['"](.*?)['"]/) { |m|
|
81
|
-
"version = \"#{spec.version}.999\";"
|
82
|
-
}
|
83
|
-
}
|
84
|
-
end
|
85
|
-
|
86
58
|
desc "Push the gem to gemcutter"
|
87
59
|
task :gemcutter => package(".gem") do
|
88
60
|
sh "gem push #{package(".gem")}"
|
89
61
|
end
|
90
|
-
|
91
|
-
if group
|
92
|
-
desc "Publish the current version on Rubyforge"
|
93
|
-
task :rubyforge => ["rubyforge:gem", "rubyforge:tarball", "rubyforge:git"]
|
94
|
-
|
95
|
-
namespace :rubyforge do
|
96
|
-
desc "Publish gem to rubyforge"
|
97
|
-
task :gem => package(".gem") do
|
98
|
-
sh "rubyforge add_release #{group} #{name} #{spec.version} #{package('.gem')}"
|
99
|
-
end
|
100
|
-
|
101
|
-
desc "Publish tarball to rubyforge"
|
102
|
-
task :tarball => package(".tar.gz") do
|
103
|
-
sh "rubyforge add_file #{group} #{name} #{spec.version} #{package('.tar.gz')}"
|
104
|
-
end
|
105
|
-
|
106
|
-
desc "Push to gitosis@rubyforge.org:#{name}.git"
|
107
|
-
task :git do
|
108
|
-
sh "git push gitosis@rubyforge.org:#{name}.git master"
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
112
62
|
end
|
113
63
|
end
|
metadata
CHANGED
@@ -1,15 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Ryan Tomayko
|
7
8
|
- Simon Rozet
|
9
|
+
- Nicolas Sanguinetti
|
10
|
+
- Chris Wanstrath
|
8
11
|
autorequire:
|
9
12
|
bindir: bin
|
10
13
|
cert_chain: []
|
11
14
|
|
12
|
-
date:
|
15
|
+
date: 2010-01-22 00:00:00 +01:00
|
13
16
|
default_executable:
|
14
17
|
dependencies:
|
15
18
|
- !ruby/object:Gem::Dependency
|
@@ -22,16 +25,6 @@ dependencies:
|
|
22
25
|
- !ruby/object:Gem::Version
|
23
26
|
version: "0"
|
24
27
|
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: rubyforge
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: "0"
|
34
|
-
version:
|
35
28
|
description: minimal gem
|
36
29
|
email: simon@rozet.name
|
37
30
|
executables: []
|