fronx-femto-gem-builder 0.1.0

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.
@@ -0,0 +1,56 @@
1
+ = FemtoGemBuilder
2
+
3
+ == Description
4
+
5
+ This gem provides the basic infrastructure for building small gems
6
+ (or "femto gems" as we call them). It is basically a wrapper around
7
+ simple-gem with all dependencies.
8
+
9
+ == Installation
10
+
11
+ sudo gem install femto-gem-builder
12
+
13
+ == Usage
14
+
15
+ * create a fresh gem project:
16
+ simple-gem femto-{class}-{extension_name}
17
+ * write unit tests
18
+ * write tiny amount of code to make your tests pass
19
+ * fill out summary, author, email in the Rakefile
20
+ * create new repository (with the same name as above) on github
21
+ * follow github instructions to connect your local/remote repositories
22
+ * check the option 'RubyGem' on the admin page of your github repository
23
+ * increment the version in version.rb
24
+ * generate gemspec:
25
+ rake github
26
+ * check in and push
27
+
28
+ You will receive a build notification in your github inbox.
29
+ A few minutes later, the gem is available for installation:
30
+ gem sources -a http://gems.github.com
31
+ sudo gem install {your_github_name}-femto-{class}-{extension_name}
32
+
33
+ == License
34
+
35
+ Copyright (c) 2009 Tim Lossen, François Wurmus
36
+
37
+ Permission is hereby granted, free of charge, to any person
38
+ obtaining a copy of this software and associated documentation
39
+ files (the "Software"), to deal in the Software without
40
+ restriction, including without limitation the rights to use,
41
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
42
+ copies of the Software, and to permit persons to whom the
43
+ Software is furnished to do so, subject to the following
44
+ conditions:
45
+
46
+ The above copyright notice and this permission notice shall be
47
+ included in all copies or substantial portions of the Software.
48
+
49
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
50
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
51
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
52
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
53
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
54
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
55
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
56
+ OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,43 @@
1
+ require 'rubygems'
2
+ require 'rake/gempackagetask'
3
+ require 'rake/testtask'
4
+
5
+ require 'lib/femto_gem_builder/version'
6
+
7
+ task :default => :test
8
+
9
+ spec = Gem::Specification.new do |s|
10
+ s.name = 'femto-gem-builder'
11
+ s.version = FemtoGemBuilder::Version.to_s
12
+ s.has_rdoc = true
13
+ s.extra_rdoc_files = %w(README.rdoc)
14
+ s.rdoc_options = %w(--main README.rdoc)
15
+ s.summary = 'This gem provides the basic infrastructure for building small gems ("femto gems").'
16
+ s.author = 'Tim Lossen, François Wurmus'
17
+ s.email = 'tim@lossen.de'
18
+ s.homepage = ''
19
+ s.files = %w(README.rdoc Rakefile) + Dir.glob("{lib,test}/**/*")
20
+ # s.executables = ['femto-gem-builder']
21
+
22
+ s.add_dependency('reagent-simple-gem')
23
+ s.add_dependency('mhennemeyer-matchy')
24
+ s.add_dependency('jeremymcanally-context')
25
+ s.add_dependency('mocha')
26
+ end
27
+
28
+ Rake::GemPackageTask.new(spec) do |pkg|
29
+ pkg.gem_spec = spec
30
+ end
31
+
32
+ Rake::TestTask.new do |t|
33
+ t.libs << 'test'
34
+ t.test_files = FileList["test/**/*_test.rb"]
35
+ t.verbose = true
36
+ end
37
+
38
+ desc 'Generate the gemspec to serve this Gem from Github'
39
+ task :github do
40
+ file = File.dirname(__FILE__) + "/#{spec.name}.gemspec"
41
+ File.open(file, 'w') {|f| f << spec.to_ruby }
42
+ puts "Created gemspec: #{file}"
43
+ end
File without changes
@@ -0,0 +1,13 @@
1
+ module FemtoGemBuilder
2
+ module Version
3
+
4
+ MAJOR = 0
5
+ MINOR = 1
6
+ TINY = 0
7
+
8
+ def self.to_s # :nodoc:
9
+ [MAJOR, MINOR, TINY].join('.')
10
+ end
11
+
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ # http://sneaq.net/textmate-wtf
2
+ $:.reject! { |e| e.include? 'TextMate' }
3
+
4
+ require 'rubygems'
5
+ require 'test/unit'
6
+ require 'matchy'
7
+ require 'context'
8
+ require 'mocha'
9
+
10
+ require File.dirname(__FILE__) + '/../lib/femto_gem_builder'
@@ -0,0 +1,9 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class FemtoGemBuilderTest < Test::Unit::TestCase
4
+
5
+ describe "FemtoGemBuilder" do
6
+ it "does nothing" do; end
7
+ end
8
+
9
+ end
metadata ADDED
@@ -0,0 +1,100 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fronx-femto-gem-builder
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - "Tim Lossen, Fran\xC3\xA7ois Wurmus"
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-02-20 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: reagent-simple-gem
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: mhennemeyer-matchy
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
+ - !ruby/object:Gem::Dependency
36
+ name: jeremymcanally-context
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: mocha
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ description:
56
+ email: tim@lossen.de
57
+ executables: []
58
+
59
+ extensions: []
60
+
61
+ extra_rdoc_files:
62
+ - README.rdoc
63
+ files:
64
+ - README.rdoc
65
+ - Rakefile
66
+ - lib/femto_gem_builder
67
+ - lib/femto_gem_builder/version.rb
68
+ - lib/femto_gem_builder.rb
69
+ - test/test_helper.rb
70
+ - test/unit
71
+ - test/unit/femto_gem_builder_test.rb
72
+ has_rdoc: true
73
+ homepage: ""
74
+ post_install_message:
75
+ rdoc_options:
76
+ - --main
77
+ - README.rdoc
78
+ require_paths:
79
+ - lib
80
+ required_ruby_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: "0"
85
+ version:
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: "0"
91
+ version:
92
+ requirements: []
93
+
94
+ rubyforge_project:
95
+ rubygems_version: 1.2.0
96
+ signing_key:
97
+ specification_version: 2
98
+ summary: This gem provides the basic infrastructure for building small gems ("femto gems").
99
+ test_files: []
100
+