packmule 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/bin/packmule ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'packmule'
4
+ require 'packmule/version'
5
+ require 'packmule/cli'
6
+
7
+ Shebang.run
@@ -0,0 +1,77 @@
1
+ #
2
+ # PackMule
3
+ # Copyright (c) 2012 Nirix
4
+ # All Rights Reserved
5
+ #
6
+
7
+ require 'shebang'
8
+
9
+ module PackMule
10
+ module CLI
11
+ module Commands
12
+ class Default < ::Shebang::Command
13
+ command :default
14
+ banner 'PackMule makes packaging project archives easy.'
15
+ usage 'packmule [command] [options]'
16
+
17
+ o :v, :version, 'Shows PackMules version', :method => :_version
18
+ o :p, :pack, 'Packs the project, example: packmule pack --ver 1.2.3-beta', :method => :pack
19
+ o :nil, :ver, 'Package archive version', :type => String, :default => ''
20
+
21
+ def index
22
+ help
23
+ end
24
+
25
+ ##
26
+ # Displays the gem version.
27
+ def _version
28
+ puts PackMule::VERSION
29
+ exit
30
+ end
31
+
32
+ ##
33
+ # Packs the project according to the PackMule file.
34
+ def pack
35
+ require 'yaml'
36
+
37
+ # Read the PackMule file and exit if it doesn't exist
38
+ puts "Reading PackMule file..."
39
+ begin
40
+ config = YAML::load_file('./PackMule')
41
+ rescue
42
+ puts "No PackMule file found, stopping"
43
+ exit;
44
+ end
45
+
46
+ # Create the archive name
47
+ archive_name = config['package-as'] + (option(:ver) != '' ? '-' + option(:ver) : '')
48
+
49
+ # Check the format, currently only .zip
50
+ if config['format'] == 'zip'
51
+ # Make sure the archive doesn't exist..
52
+ if FileTest.exists? "./#{archive_name}.zip"
53
+ puts "#{archive_name}.zip already exists, stopping"
54
+ exit
55
+ end
56
+
57
+ # Get the needed Zip stuff
58
+ puts "Creating zip archive"
59
+ gem 'rubyzip'
60
+ require 'zip/zip'
61
+ require 'zip/zipfilesystem'
62
+
63
+ # Create the archive
64
+ Zip::ZipFile.open("./#{archive_name}.zip", 'w') do |z|
65
+ Dir["./**/**"].each do |file|
66
+ z.add(file.sub("./", ''), file) if not config['ignore'].include?(file.sub('./', ''))
67
+ end # Dir
68
+ end # Zip
69
+ end # format == zip
70
+
71
+ puts "Done, #{archive_name} created"
72
+ exit
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,8 @@
1
+ #
2
+ # PackMule
3
+ # Copyright (c) 2012 Nirix
4
+ # All Rights Reserved
5
+ #
6
+ module PackMule
7
+ VERSION = "0.1.0"
8
+ end
data/lib/packmule.rb ADDED
@@ -0,0 +1,8 @@
1
+ #
2
+ # PackMule
3
+ # Copyright (c) 2012 Nirix
4
+ # All Rights Reserved
5
+ #
6
+ module PackMule
7
+ # Nothing to see here... yet
8
+ end #PackMule
data/packmule.gemspec ADDED
@@ -0,0 +1,15 @@
1
+ require File.expand_path('../lib/packmule/version', __FILE__)
2
+ Gem::Specification.new do |s|
3
+ s.name = 'packmule'
4
+ s.version = PackMule::VERSION
5
+ s.summary = "A project packager."
6
+ s.description = "PackMule makes packaging projects into archives easier than ever."
7
+ s.author = ["Jack Polgar"]
8
+ s.email = 'nrx@nirix.net'
9
+ s.files = `git ls-files`.split("\n").sort
10
+ s.executables = ['packmule']
11
+ s.homepage = 'http://github.com/nirix/packmule'
12
+
13
+ s.required_ruby_version = '>= 1.9.2'
14
+ s.add_dependency 'shebang'
15
+ end
metadata ADDED
@@ -0,0 +1,61 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: packmule
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Jack Polgar
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-04-08 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: shebang
16
+ requirement: &22738032 !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: *22738032
25
+ description: PackMule makes packaging projects into archives easier than ever.
26
+ email: nrx@nirix.net
27
+ executables:
28
+ - packmule
29
+ extensions: []
30
+ extra_rdoc_files: []
31
+ files:
32
+ - bin/packmule
33
+ - lib/packmule.rb
34
+ - lib/packmule/cli.rb
35
+ - lib/packmule/version.rb
36
+ - packmule.gemspec
37
+ homepage: http://github.com/nirix/packmule
38
+ licenses: []
39
+ post_install_message:
40
+ rdoc_options: []
41
+ require_paths:
42
+ - lib
43
+ required_ruby_version: !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ! '>='
47
+ - !ruby/object:Gem::Version
48
+ version: 1.9.2
49
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ requirements: []
56
+ rubyforge_project:
57
+ rubygems_version: 1.8.7
58
+ signing_key:
59
+ specification_version: 3
60
+ summary: A project packager.
61
+ test_files: []