sr-mg 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.mkd +11 -6
  2. data/lib/mg.rb +26 -3
  3. data/test/mg_test.rb +1 -0
  4. metadata +4 -4
data/README.mkd CHANGED
@@ -1,7 +1,7 @@
1
1
  mg
2
2
  ==
3
3
 
4
- A a minimalist way to create [gems](http://rubygems.org) and publish
4
+ Minimalist way to build [gems](http://rubygems.org) and publish
5
5
  them to [Rubyforge](http://rubyforge.org) using
6
6
  [Rake](http://rake.rubyforge.org).
7
7
 
@@ -11,7 +11,6 @@ Usage
11
11
  In your Rakefile:
12
12
 
13
13
  require "mg"
14
-
15
14
  MG.new("foo.gemspec")
16
15
 
17
16
  The following tasks are now available:
@@ -19,17 +18,23 @@ The following tasks are now available:
19
18
  rake install
20
19
  Build and install as local gem
21
20
 
21
+ rake install:edge
22
+ Build and install edge as a local gem with
23
+ version suffixed by ".999"
24
+
22
25
  rake package
23
- Build gem tarball into dist/
26
+ Build gem and tarball into dist/
27
+
28
+ And if you've specified `rubyforge_project`:
24
29
 
25
30
  rake rubyforge
26
- Publish the current release on Rubyforge
31
+ Publish the current version on Rubyforge
27
32
 
28
33
  rake rubyforge:gem
29
- Publish gem and tarball to rubyforge
34
+ Publish gem and tarball on rubyforge
30
35
 
31
36
  rake rubyforge:git
32
- Push to gitosis@rubyforge.org:foo.git
37
+ Push to gitosis@rubyforge.org:<project name>.git
33
38
 
34
39
  Licence
35
40
  -------
data/lib/mg.rb CHANGED
@@ -44,9 +44,15 @@ class MG < Rake::TaskLib
44
44
  sh "gem install #{package(".gem")}"
45
45
  end
46
46
 
47
- desc "Build gem tarball into dist/"
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")}"
50
+ end
51
+
52
+ desc "Build gem and tarball into dist/"
48
53
  task :package => %w(.gem .tar.gz).map { |ext| package(ext) }
49
54
 
55
+ desc "Build the tarball in dist/"
50
56
  file package(".tar.gz") => "dist/" do |f|
51
57
  sh <<-SH
52
58
  git archive \
@@ -56,17 +62,34 @@ class MG < Rake::TaskLib
56
62
  SH
57
63
  end
58
64
 
65
+ desc "Build the gem in dist/"
59
66
  file package(".gem") => "dist/" do |f|
60
67
  sh "gem build #{name}.gemspec"
61
68
  mv File.basename(f.name), f.name
62
69
  end
63
70
 
71
+ desc "Build the edge gem in dist/"
72
+ file package(".999.gem") => ["dist/", "#{name}.999.gemspec"] do |f|
73
+ sh "gem build #{name}.999.gemspec"
74
+ mv File.basename(f.name), f.name
75
+ end
76
+
77
+ file "#{name}.999.gemspec" 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
+ rm_f f.name
85
+ end
86
+
64
87
  if group
65
- desc "Publish the current release on Rubyforge"
88
+ desc "Publish the current version on Rubyforge"
66
89
  task :rubyforge => ["rubyforge:gem", "rubyforge:tarball", "rubyforge:git"]
67
90
 
68
91
  namespace :rubyforge do
69
- desc "Publish gem and tarball to rubyforge"
92
+ desc "Publish gem and tarball on rubyforge"
70
93
  task :gem => package(".gem") do
71
94
  sh "rubyforge add_release #{group} #{name} #{spec.version} #{package('.gem')}"
72
95
  end
data/test/mg_test.rb CHANGED
@@ -11,6 +11,7 @@ class MGTest < Test::Unit::TestCase
11
11
  assert task_defined?(:package)
12
12
  assert task_defined?("dist/mg-0.0.2.gem")
13
13
  assert task_defined?("dist/mg-0.0.2.tar.gz")
14
+ assert task_defined?("install:edge")
14
15
  assert ! task_defined?(:rubyforge)
15
16
  end
16
17
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sr-mg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Rozet
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-18 00:00:00 -07:00
12
+ date: 2009-05-17 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -22,7 +22,7 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: "0"
24
24
  version:
25
- description:
25
+ description: minimal gem
26
26
  email: simon@rozet.name
27
27
  executables: []
28
28
 
@@ -59,6 +59,6 @@ rubyforge_project:
59
59
  rubygems_version: 1.2.0
60
60
  signing_key:
61
61
  specification_version: 2
62
- summary: Minimalist Gem
62
+ summary: minimal gem
63
63
  test_files:
64
64
  - test/mg_test.rb