gitver 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +33 -0
  3. data/Rakefile +21 -0
  4. data/bin/gitver +33 -0
  5. metadata +53 -0
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ /pkg
data/README.md ADDED
@@ -0,0 +1,33 @@
1
+ GitVers - Ruby Gem Auto Versioning
2
+ ==================================
3
+
4
+ Usage
5
+ -----
6
+
7
+ I got tired of messing with ruby gem versioning, so
8
+ in my normal fashion I automated it. Now when I want
9
+ to make a ruby gem I do the following.
10
+
11
+ * Create the remote on github (eg: https://github.com/floomby/gemness)
12
+
13
+ ```
14
+ git clone https://github.com/floomby/gemness.git
15
+ cd gemness
16
+ gitvers install
17
+ ```
18
+ * Then edit the Rakefile to suit you needs
19
+ * Code your gem
20
+
21
+ ```
22
+ git add <files>
23
+ git commit -m "Release 1.0.0"
24
+ rake package && gem install pkg/gemness-1.0.0.gem
25
+ ```
26
+
27
+ TODO
28
+ ----
29
+
30
+ * Using the github api to grab the description and
31
+ website for the gem would be neat
32
+ * Add install target to Rakefile
33
+
data/Rakefile ADDED
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'rubygems/package_task'
3
+
4
+ spec = Gem::Specification.new do |gem|
5
+ gem.name = File.basename(`git rev-parse --show-toplevel`).chop
6
+ gem.version = `gitvers version`
7
+
8
+ gem.author = `git config --get user.name`
9
+ gem.email = `git config --get user.email`
10
+ gem.homepage = "https://github.com/floomby/gitver.git"
11
+ gem.summary = "Ruby gem integration with git"
12
+ gem.description = "Does versioning, releasing and testing of rubygems with git"
13
+
14
+ gem.files = `git ls-files`.split($\).select { |f| !(f =~ /templates/) }
15
+
16
+ gem.executables = ["gitver"]
17
+ end
18
+
19
+ Gem::PackageTask.new(spec) do |pkg|
20
+ pkg.gem_spec = spec
21
+ end
data/bin/gitver ADDED
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Simple gem auto versioning with git
4
+
5
+ class GitVer
6
+
7
+ def self.install
8
+ `wget https://raw.githubusercontent.com/floomby/gitver/master/templates/Rakefile`
9
+ end
10
+
11
+ # get the last release
12
+ def self.version
13
+ a = /^[^ ]+ [^ ]+ ([^ ]+)$/.match `git log --oneline -i --grep=^release -1`
14
+ if a
15
+ puts a[1]
16
+ else
17
+ exit 1
18
+ end
19
+ end
20
+
21
+
22
+ end # class GitVer
23
+
24
+ abort "Usage: gitver <install|version>\n" unless ARGV.length == 1
25
+
26
+ case ARGV[0]
27
+ when 'install'
28
+ GitVer.install
29
+ when 'version'
30
+ GitVer.version
31
+ else
32
+ abort "Usage: gitver <install|version>\n"
33
+ end
metadata ADDED
@@ -0,0 +1,53 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gitver
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - ! 'floomby
9
+
10
+ '
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2014-04-22 00:00:00.000000000 Z
15
+ dependencies: []
16
+ description: Does versioning, releasing and testing of rubygems with git
17
+ email: ! 'floomby@nmt.edu
18
+
19
+ '
20
+ executables:
21
+ - gitver
22
+ extensions: []
23
+ extra_rdoc_files: []
24
+ files:
25
+ - .gitignore
26
+ - README.md
27
+ - Rakefile
28
+ - bin/gitver
29
+ homepage: https://github.com/floomby/gitver.git
30
+ licenses: []
31
+ post_install_message:
32
+ rdoc_options: []
33
+ require_paths:
34
+ - lib
35
+ required_ruby_version: !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ required_rubygems_version: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ requirements: []
48
+ rubyforge_project:
49
+ rubygems_version: 1.8.23
50
+ signing_key:
51
+ specification_version: 3
52
+ summary: Ruby gem integration with git
53
+ test_files: []