packmule 0.3.0 → 0.4.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.
data/README.md CHANGED
@@ -19,6 +19,8 @@ Now create a file called `Packfile` in your projects directory and place the fol
19
19
  - badfile.bad
20
20
  - logs/
21
21
  - assets/*.psd
22
+ commands:
23
+ - date > build-date.txt
22
24
 
23
25
  Now all you need to do is run `packmule pack --version 1.0` inside the directory and your
24
26
  your project is packaged into `MyProject-1.0.zip` and `MyProject-1.0.tar.gz`.
@@ -8,5 +8,5 @@
8
8
  #
9
9
 
10
10
  module Packmule
11
- VERSION = "0.3.0"
11
+ VERSION = "0.4.0"
12
12
  end
data/lib/packmule.rb CHANGED
@@ -18,10 +18,10 @@ module Packmule
18
18
  require 'yaml'
19
19
  require 'fileutils'
20
20
  require 'tmpdir'
21
-
21
+
22
22
  tempdir = Dir.mktmpdir
23
23
 
24
- # Read the PackMule file and exit if it doesn't exist
24
+ # Read the Packfile and exit if it doesn't exist
25
25
  puts "Reading the Packfile..."
26
26
  begin
27
27
  config = YAML::load_file('./Packfile')
@@ -36,16 +36,25 @@ module Packmule
36
36
  :formats => config['formats'],
37
37
  :version => options[:version],
38
38
  :ignore => config['ignore'],
39
+ :commands => config['commands']
39
40
  }
40
41
 
42
+ # Any commands?
43
+ if opt[:commands]
44
+ opt[:commands].each do |c|
45
+ # Change to tempdir and run
46
+ `cd #{tempdir}; #{c}`
47
+ end
48
+ end
49
+
41
50
  # Clone directory
42
51
  ::FileUtils.cp_r './', tempdir
43
-
52
+
44
53
  # Remove ignored files and directories
45
54
  opt[:ignore].each do |badness|
46
55
  ::FileUtils.rm_rf Dir["#{tempdir}/#{badness}"], :secure => true
47
56
  end
48
-
57
+
49
58
  # Archive the directory
50
59
  Packmule::Archiver.create({
51
60
  :filename => opt[:filename],
@@ -53,7 +62,7 @@ module Packmule
53
62
  :ignore => opt[:ignore],
54
63
  :dir => tempdir
55
64
  })
56
-
65
+
57
66
  # Cleanup
58
67
  FileUtils.remove_entry_secure tempdir
59
68
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packmule
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-25 00:00:00.000000000 Z
12
+ date: 2012-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: shebang
16
- requirement: &70195365902560 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70195365902560
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rubyzip
27
- requirement: &70195365902140 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,7 +37,12 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70195365902140
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  description: Packmule makes packaging projects into archives easier than ever.
37
47
  email:
38
48
  - nrx@nirix.net
@@ -72,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
82
  version: '0'
73
83
  requirements: []
74
84
  rubyforge_project:
75
- rubygems_version: 1.8.11
85
+ rubygems_version: 1.8.24
76
86
  signing_key:
77
87
  specification_version: 3
78
88
  summary: Project packaging made easy.