gpig 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2013 YOURNAME
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ GPig
2
+ ====
3
+
4
+ Usage: gpig <version_file> <git_repo_url>
5
+
6
+ This tool helps with gem development. It allows a developer to quickly develop gems by doing the following:
7
+
8
+ 1. Increments the version of a gem.
9
+ 2. Adds all changed files to the current git repo.
10
+ 3. Commits all those changes to the git repo.
11
+ 4. Pulls any changes from the repo's origin.
12
+ 5. Pushes any changes to the origin.
13
+ 6. Runs gem specific_install to install the gem from the git repo URL.
14
+
15
+ Assumptions:
16
+
17
+ - Your gemspec references a VERSION variable.
18
+ - That VERSION variable is referenced in a version file that you give to gpig.
19
+
20
+ module Gpig
21
+ VERSION = '0.0.1'
22
+ end
23
+
24
+ Example:
25
+
26
+ - Create a new gem.
27
+ - Make a change.
28
+ - Run gpig.
29
+ - Test the new version of your gem.
30
+ - Repeat :)
31
+
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env rake
2
+ begin
3
+ require 'bundler/setup'
4
+ rescue LoadError
5
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ end
data/bin/gpig ADDED
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ def increment_version(vfile)
4
+ str = File.open(vfile).read
5
+ str.gsub!(/\r\n?/, "\n")
6
+ str2 = ""
7
+ str.each_line do |line|
8
+ if (!line.index('VERSION').nil?)
9
+ arr = line.split('=')
10
+ arr = arr[1].gsub('"', '').gsub("'", '').strip.split('.')
11
+ arr[arr.count-1] = arr[arr.count-1].to_i + 1
12
+ v = arr.join('.')
13
+ line = " VERSION = '#{v}'\n"
14
+ end
15
+ str2 << line
16
+ end
17
+ File.open(vfile, 'w') { |file| file.write(str2) }
18
+ end
19
+
20
+ #===============================================================================
21
+
22
+ vfile = ARGV.count > 0 ? ARGV[0] : false
23
+ repo = ARGV.count > 1 ? ARGV[1] : false
24
+
25
+ if (!vfile || !repo || vfile.strip.length == 0 || repo.strip.length == 0)
26
+ puts "Usage: gpig <version_file> <git_repo_url>\n\n"
27
+ exit
28
+ elsif (!File.exists?(vfile))
29
+ puts "Error: the version file you gave doesn't seem to exist.\n";
30
+ exit
31
+ end
32
+
33
+ puts "Modifying the version..."
34
+ increment_version(vfile)
35
+ puts "Adding files to git repo..."
36
+ `git add -A`
37
+ puts "Committing files to git repo..."
38
+ `git commit -m 'More changes'`
39
+ puts "Pulling in any changes..."
40
+ `git pull origin master`
41
+ puts "Pushing in any changes..."
42
+ `git push origin master`
43
+ puts "Installing new version of gem..."
44
+ `gem specific_install -l #{repo}`
45
+ puts "Finished!\n\n"
data/lib/gpig.rb ADDED
@@ -0,0 +1,4 @@
1
+ require "gpig/engine"
2
+
3
+ module Gpig
4
+ end
@@ -0,0 +1,5 @@
1
+
2
+ module Gpig
3
+ class Engine < ::Rails::Engine
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module Gpig
2
+ VERSION = "0.0.1"
3
+ end
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gpig
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - William Barry
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-06-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: specific_install
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ description: A tool to quickly add files to a git repo, push, and then use specific_install
31
+ to install the new gem.
32
+ email:
33
+ - william@nine.is
34
+ executables:
35
+ - gpig
36
+ extensions: []
37
+ extra_rdoc_files: []
38
+ files:
39
+ - bin/gpig
40
+ - lib/gpig/engine.rb
41
+ - lib/gpig/version.rb
42
+ - lib/gpig.rb
43
+ - MIT-LICENSE
44
+ - Rakefile
45
+ - README.md
46
+ homepage: http://github.com/williambarry007/gpig
47
+ licenses: []
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ required_rubygems_version: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ requirements: []
65
+ rubyforge_project:
66
+ rubygems_version: 1.8.25
67
+ signing_key:
68
+ specification_version: 3
69
+ summary: A gem development tool.
70
+ test_files: []