sr-mg 0.0.2 → 0.0.3

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.
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