packmule 0.4.2 → 0.6.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.
- checksums.yaml +4 -4
- data/lib/packmule/archiver/tar.rb +46 -0
- data/lib/packmule/archiver/zip.rb +40 -0
- data/lib/packmule/archiver.rb +1 -64
- data/lib/packmule/version.rb +2 -3
- data/lib/packmule.rb +37 -14
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81e1d991a86d90119bfd798b3a29268c1eb7de79
|
4
|
+
data.tar.gz: ea62707723e6c582dec71692d119fbb55cc6c80f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 597733286d6eab9d3f542befa137b3eed9f1383ac22afdee4e4768d6ca419b4b9b76ef22052528181ac29a371ea8947dc913c05b2a3f6b6f54c39fd21e92c6fb
|
7
|
+
data.tar.gz: c095e0bf099c6840fab02a944720663a92eb4737df992061ace525cc3077ba0532aefb7d15dad6dc2ff682175dea869d9689df4cf47d5ab46eca954391f15e61
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#
|
2
|
+
# Packmule
|
3
|
+
# Copyright (c) 2012-2015 Nirix
|
4
|
+
# https://github.com/nirix
|
5
|
+
#
|
6
|
+
# Packmule is released under
|
7
|
+
# the GNU GPL v3 only license.
|
8
|
+
#
|
9
|
+
|
10
|
+
module Packmule
|
11
|
+
module Archiver
|
12
|
+
##
|
13
|
+
# Tar
|
14
|
+
class Tar
|
15
|
+
##
|
16
|
+
# Creates the tar file, like a BOSS!
|
17
|
+
def self.create(options)
|
18
|
+
options = {:gzip => false, :bzip => false}.merge(options)
|
19
|
+
filename = "#{options[:filename]}.tar" + (options[:gzip] ? '.gz' : (options[:bzip] ? '.bz2' : ''))
|
20
|
+
|
21
|
+
# Make sure it doesn't exist..
|
22
|
+
if ::FileTest.exists? "./#{filename}"
|
23
|
+
puts "#{filename} already exists, skipping"
|
24
|
+
return false
|
25
|
+
end
|
26
|
+
|
27
|
+
if options[:gzip] == true
|
28
|
+
# Tar and gzip like a boss
|
29
|
+
`tar czf #{filename} -C #{options[:dir]} ./`
|
30
|
+
elsif options[:bzip] == true
|
31
|
+
# Bzippit
|
32
|
+
`tar cfj #{filename} -C #{options[:dir]} ./`
|
33
|
+
else
|
34
|
+
# Totally boss taring code, yo
|
35
|
+
`tar cf #{filename} -C #{options[:dir]} ./`
|
36
|
+
end
|
37
|
+
|
38
|
+
if ::FileTest.exists? "./#{filename}"
|
39
|
+
puts " - #{filename} created"
|
40
|
+
end
|
41
|
+
|
42
|
+
return true
|
43
|
+
end # self.create
|
44
|
+
end # Tar
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#
|
2
|
+
# Packmule
|
3
|
+
# Copyright (c) 2012-2015 Nirix
|
4
|
+
# https://github.com/nirix
|
5
|
+
#
|
6
|
+
# Packmule is released under
|
7
|
+
# the GNU GPL v3 only license.
|
8
|
+
#
|
9
|
+
|
10
|
+
module Packmule
|
11
|
+
module Archiver
|
12
|
+
##
|
13
|
+
# Zipper
|
14
|
+
class Zip
|
15
|
+
##
|
16
|
+
# Zips the stuff
|
17
|
+
def self.create(options)
|
18
|
+
# Make sure the archive doesn't exist..
|
19
|
+
if ::FileTest.exists? "./#{options[:filename]}.zip"
|
20
|
+
puts "#{options[:filename]}.zip already exists, skipping"
|
21
|
+
return false
|
22
|
+
end
|
23
|
+
|
24
|
+
# Get the needed Zip stuff
|
25
|
+
gem 'rubyzip'
|
26
|
+
require 'zip'
|
27
|
+
|
28
|
+
# Create the archive
|
29
|
+
::Zip::File.open("./#{options[:filename]}.zip", 'w') do |z|
|
30
|
+
Dir["#{options[:dir]}/**/**"].each do |file|
|
31
|
+
z.add(file.sub("#{options[:dir]}/", ''), file) if not options[:ignore].include?(file.sub("#{options[:dir]}/", ''))
|
32
|
+
end # Dir
|
33
|
+
end # Zip block
|
34
|
+
|
35
|
+
puts " - #{options[:filename]}.zip created"
|
36
|
+
return true
|
37
|
+
end # self.create
|
38
|
+
end # Zip
|
39
|
+
end
|
40
|
+
end
|
data/lib/packmule/archiver.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Packmule
|
3
|
-
# Copyright (c) 2012 Nirix
|
4
|
-
# All Rights Reserved
|
3
|
+
# Copyright (c) 2012-2015 Nirix
|
5
4
|
# https://github.com/nirix
|
6
5
|
#
|
7
6
|
# Packmule is released under
|
@@ -34,67 +33,5 @@ module Packmule
|
|
34
33
|
|
35
34
|
puts "Done creating archives"
|
36
35
|
end
|
37
|
-
|
38
|
-
##
|
39
|
-
# Zipper
|
40
|
-
class Zip
|
41
|
-
##
|
42
|
-
# Zips the stuff
|
43
|
-
def self.create(options)
|
44
|
-
# Make sure the archive doesn't exist..
|
45
|
-
if ::FileTest.exists? "./#{options[:filename]}.zip"
|
46
|
-
puts "#{options[:filename]}.zip already exists, skipping"
|
47
|
-
return false
|
48
|
-
end
|
49
|
-
|
50
|
-
# Get the needed Zip stuff
|
51
|
-
gem 'rubyzip'
|
52
|
-
require 'zip'
|
53
|
-
|
54
|
-
# Create the archive
|
55
|
-
::Zip::File.open("./#{options[:filename]}.zip", 'w') do |z|
|
56
|
-
Dir["#{options[:dir]}/**/**"].each do |file|
|
57
|
-
z.add(file.sub("#{options[:dir]}/", ''), file) if not options[:ignore].include?(file.sub("#{options[:dir]}/", ''))
|
58
|
-
end # Dir
|
59
|
-
end # Zip block
|
60
|
-
|
61
|
-
puts " - #{options[:filename]}.zip created"
|
62
|
-
return true
|
63
|
-
end # self.create
|
64
|
-
end # Zip class
|
65
|
-
|
66
|
-
##
|
67
|
-
# Tar
|
68
|
-
class Tar
|
69
|
-
##
|
70
|
-
# Creates the tar file, like a BOSS!
|
71
|
-
def self.create(options)
|
72
|
-
options = {:gzip => false, :bzip => false}.merge(options)
|
73
|
-
filename = "#{options[:filename]}.tar" + (options[:gzip] ? '.gz' : (options[:bzip] ? '.bz2' : ''))
|
74
|
-
|
75
|
-
# Make sure it doesn't exist..
|
76
|
-
if ::FileTest.exists? "./#{filename}"
|
77
|
-
puts "#{filename} already exists, skipping"
|
78
|
-
return false
|
79
|
-
end
|
80
|
-
|
81
|
-
if options[:gzip] == true
|
82
|
-
# Tar and gzip like a boss
|
83
|
-
`tar czf #{filename} -C #{options[:dir]} ./`
|
84
|
-
elsif options[:bzip] == true
|
85
|
-
# Bzippit
|
86
|
-
`tar cfj #{filename} -C #{options[:dir]} ./`
|
87
|
-
else
|
88
|
-
# Totally boss taring code, yo
|
89
|
-
`tar cf #{filename} -C #{options[:dir]} ./`
|
90
|
-
end
|
91
|
-
|
92
|
-
if ::FileTest.exists? "./#{filename}"
|
93
|
-
puts " - #{filename} created"
|
94
|
-
end
|
95
|
-
|
96
|
-
return true
|
97
|
-
end # self.create
|
98
|
-
end # Tar
|
99
36
|
end # Archiver
|
100
37
|
end
|
data/lib/packmule/version.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Packmule
|
3
|
-
# Copyright (c) 2012 Nirix
|
4
|
-
# All Rights Reserved
|
3
|
+
# Copyright (c) 2012-2015 Nirix
|
5
4
|
# https://github.com/nirix
|
6
5
|
#
|
7
6
|
# Packmule is released under
|
@@ -9,5 +8,5 @@
|
|
9
8
|
#
|
10
9
|
|
11
10
|
module Packmule
|
12
|
-
VERSION = "0.
|
11
|
+
VERSION = "0.6.0"
|
13
12
|
end
|
data/lib/packmule.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Packmule
|
3
|
-
# Copyright (c) 2012 Nirix
|
4
|
-
# All Rights Reserved
|
3
|
+
# Copyright (c) 2012-2015 Nirix
|
5
4
|
# https://github.com/nirix
|
6
5
|
#
|
7
6
|
# Packmule is released under
|
@@ -10,6 +9,8 @@
|
|
10
9
|
|
11
10
|
require "packmule/version"
|
12
11
|
require "packmule/archiver"
|
12
|
+
require "packmule/archiver/zip"
|
13
|
+
require "packmule/archiver/tar"
|
13
14
|
|
14
15
|
module Packmule
|
15
16
|
##
|
@@ -24,12 +25,7 @@ module Packmule
|
|
24
25
|
|
25
26
|
# Read the Packfile and exit if it doesn't exist
|
26
27
|
puts "Reading the Packfile..."
|
27
|
-
|
28
|
-
config = YAML::load_file('./Packfile')
|
29
|
-
rescue
|
30
|
-
puts "No Packfile found, stopping"
|
31
|
-
exit;
|
32
|
-
end
|
28
|
+
config = self.read_packfile
|
33
29
|
|
34
30
|
# Options
|
35
31
|
opt = {
|
@@ -45,15 +41,12 @@ module Packmule
|
|
45
41
|
|
46
42
|
# Any commands?
|
47
43
|
if opt[:commands]
|
48
|
-
opt[:commands]
|
49
|
-
# Change to tempdir and run
|
50
|
-
`cd #{tempdir}; #{c}`
|
51
|
-
end
|
44
|
+
self.run_commands tempdir, opt[:commands]
|
52
45
|
end
|
53
46
|
|
54
47
|
# Remove ignored files and directories
|
55
|
-
opt[:ignore]
|
56
|
-
|
48
|
+
if opt[:ignore]
|
49
|
+
self.remove_files tempdir, opt[:ignore]
|
57
50
|
end
|
58
51
|
|
59
52
|
# Archive the directory
|
@@ -70,4 +63,34 @@ module Packmule
|
|
70
63
|
puts "Packaging complete"
|
71
64
|
exit
|
72
65
|
end
|
66
|
+
|
67
|
+
##
|
68
|
+
# Reads configuration from the `Packfile`
|
69
|
+
def self.read_packfile
|
70
|
+
begin
|
71
|
+
config = YAML::load_file('./Packfile')
|
72
|
+
rescue
|
73
|
+
puts "No Packfile found, stopping"
|
74
|
+
exit;
|
75
|
+
end
|
76
|
+
|
77
|
+
return config
|
78
|
+
end
|
79
|
+
|
80
|
+
##
|
81
|
+
# Runs the specified commands in the specified directory.
|
82
|
+
def self.run_commands(dir, commands)
|
83
|
+
commands.each do |c|
|
84
|
+
# Change to tempdir and run
|
85
|
+
`cd #{dir}; #{c}`
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
##
|
90
|
+
# Removes the specified files from the specified directory.
|
91
|
+
def self.remove_files(dir, files)
|
92
|
+
files.each do |file|
|
93
|
+
::FileUtils.rm_rf Dir["#{dir}/#{file}"], :secure => true
|
94
|
+
end
|
95
|
+
end
|
73
96
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packmule
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jack Polgar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shebang
|
@@ -54,6 +54,8 @@ files:
|
|
54
54
|
- bin/packmule
|
55
55
|
- lib/packmule.rb
|
56
56
|
- lib/packmule/archiver.rb
|
57
|
+
- lib/packmule/archiver/tar.rb
|
58
|
+
- lib/packmule/archiver/zip.rb
|
57
59
|
- lib/packmule/cli.rb
|
58
60
|
- lib/packmule/version.rb
|
59
61
|
- packmule.gemspec
|
@@ -76,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
78
|
version: '0'
|
77
79
|
requirements: []
|
78
80
|
rubyforge_project:
|
79
|
-
rubygems_version: 2.
|
81
|
+
rubygems_version: 2.4.5
|
80
82
|
signing_key:
|
81
83
|
specification_version: 4
|
82
84
|
summary: Project packaging made easy.
|