fpm-scriptable 1.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/fpm-script +4 -21
- data/lib/fpm/scriptable.rb +8 -14
- data/lib/fpm/scriptable/app.rb +8 -14
- data/lib/fpm/scriptable/config.rb +0 -3
- data/lib/fpm/scriptable/log.rb +11 -12
- data/lib/fpm/scriptable/script.rb +8 -8
- data/lib/fpm/scriptable/util.rb +12 -12
- data/lib/fpm/scriptable/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7dda735651b1e39ddc8914ed1b8d81df040df757
|
4
|
+
data.tar.gz: bb76ab8965379c1435ef8c603efc3f5cc560cf73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3273b44adbb74ef99e11eaa7c4564908d46ae4e1433e70896c973228c338630ab6a966147e02c67f6c8598b27d203895f21a4b82bfa90bb86088d8f6b3309f7
|
7
|
+
data.tar.gz: 4723d15dc9e4bbb5d20c7ccb7a5d655ac67eafa9c6a18d0738501d9d34b9719d596d899dfbc4eea1395c859a47e3cc80f12dca1e088c621f5d5341d6f7768d61
|
data/bin/fpm-script
CHANGED
@@ -13,25 +13,8 @@
|
|
13
13
|
# See the License for the specific language governing permissions and
|
14
14
|
# limitations under the License.
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
require 'rubygems'
|
17
|
+
$: << File.join(File.dirname(__FILE__), "..", "lib")
|
18
|
+
require 'fpm/scriptable'
|
19
19
|
|
20
|
-
|
21
|
-
if bin_path && bin_path != ""
|
22
|
-
bin_dir = File.dirname(bin_path)
|
23
|
-
end
|
24
|
-
|
25
|
-
if bin_dir && bin_dir != ''
|
26
|
-
app_dir = "#{bin_dir}/.."
|
27
|
-
$:.push "#{app_dir}/lib"
|
28
|
-
else
|
29
|
-
puts 'Error: unable to locate bin directory'
|
30
|
-
exit 1
|
31
|
-
end
|
32
|
-
|
33
|
-
Dir.chdir(app_dir) do
|
34
|
-
require 'fpm/scriptable'
|
35
|
-
end
|
36
|
-
FPM::Scriptable::App.run(app_dir)
|
37
|
-
exit 0
|
20
|
+
exit(FPM::Scriptable::App.run || 0)
|
data/lib/fpm/scriptable.rb
CHANGED
@@ -19,18 +19,12 @@ require 'fpm'
|
|
19
19
|
require 'curb'
|
20
20
|
|
21
21
|
require 'fpm/scriptable/version'
|
22
|
+
require 'fpm/scriptable/app'
|
23
|
+
require 'fpm/scriptable/config'
|
24
|
+
require 'fpm/scriptable/log'
|
25
|
+
require 'fpm/scriptable/util'
|
26
|
+
require 'fpm/scriptable/constants'
|
27
|
+
require 'fpm/scriptable/script'
|
22
28
|
|
23
|
-
|
24
|
-
|
25
|
-
# Core classes
|
26
|
-
autoload :App, "fpm/scriptable/app"
|
27
|
-
autoload :Config, "fpm/scriptable/config"
|
28
|
-
autoload :Log, "fpm/scriptable/log"
|
29
|
-
autoload :Util, "fpm/scriptable/util"
|
30
|
-
autoload :Constants, "fpm/scriptable/constants"
|
31
|
-
autoload :Script, "fpm/scriptable/script"
|
32
|
-
|
33
|
-
# Package type plugins
|
34
|
-
autoload :RPM, "fpm/scriptable/plugin/rpm"
|
35
|
-
end
|
36
|
-
end
|
29
|
+
# Package type plugins
|
30
|
+
require 'fpm/scriptable/plugin/rpm'
|
data/lib/fpm/scriptable/app.rb
CHANGED
@@ -16,7 +16,7 @@ module FPM
|
|
16
16
|
module Scriptable
|
17
17
|
class App
|
18
18
|
|
19
|
-
def self.run
|
19
|
+
def self.run
|
20
20
|
@log = FPM::Scriptable::Log.instance
|
21
21
|
args = FPM::Scriptable::Util.get_args
|
22
22
|
|
@@ -30,31 +30,24 @@ module FPM
|
|
30
30
|
@log.add(level.to_sym, @log.color, STDOUT)
|
31
31
|
end
|
32
32
|
|
33
|
-
@log.show FPM::Scriptable::Util.banner
|
33
|
+
@log.show FPM::Scriptable::Util.banner unless args[:nobanner]
|
34
34
|
|
35
35
|
if args[:help] || args[:h]
|
36
|
-
@log.show FPM::Scriptable::Util.usage, false
|
37
|
-
|
36
|
+
@log.show FPM::Scriptable::Util.usage, false
|
37
|
+
return 1
|
38
38
|
end
|
39
39
|
|
40
40
|
cfg = FPM::Scriptable::Config.instance
|
41
41
|
@config = cfg.config
|
42
|
-
@config.app_dir = app_dir
|
43
42
|
@config.working_dir = Dir.getwd
|
44
43
|
|
45
44
|
script = args[:script]
|
46
45
|
if script.nil?
|
47
46
|
@log.fatal 'FPM::Scriptable::App - No script file was specified'
|
48
|
-
@log.show FPM::Scriptable::Util.usage
|
49
|
-
exit 1
|
47
|
+
@log.show FPM::Scriptable::Util.usage
|
50
48
|
else
|
51
49
|
if script !~ /^\//
|
52
|
-
script = "#{@config.
|
53
|
-
|
54
|
-
if !File.exists? script
|
55
|
-
script = args[:script]
|
56
|
-
script = "#{@config.working_dir}/#{script}"
|
57
|
-
end
|
50
|
+
script = "#{@config.working_dir}/#{script}"
|
58
51
|
end
|
59
52
|
|
60
53
|
@log.debug "FPM::Scriptable::App - Script file path set to: #{script}"
|
@@ -94,7 +87,8 @@ module FPM
|
|
94
87
|
end
|
95
88
|
end
|
96
89
|
|
97
|
-
|
90
|
+
return 1 if @log.has_error
|
91
|
+
return 0
|
98
92
|
end
|
99
93
|
|
100
94
|
end
|
data/lib/fpm/scriptable/log.rb
CHANGED
@@ -17,21 +17,18 @@ module FPM
|
|
17
17
|
class Log
|
18
18
|
include Singleton
|
19
19
|
attr_accessor :quiet, :color
|
20
|
+
attr_reader :has_error
|
20
21
|
|
21
22
|
def initialize
|
22
23
|
@quiet = false
|
23
24
|
@color = true
|
24
25
|
|
25
26
|
@logger = nil
|
27
|
+
@has_error = false
|
26
28
|
end
|
27
29
|
|
28
|
-
def show(msg,quiet=@
|
29
|
-
if msg
|
30
|
-
if @color && in_color
|
31
|
-
msg = "\e[33m#{msg}\e[0m"
|
32
|
-
else
|
33
|
-
msg = "\e[0m#{msg}\e[0m"
|
34
|
-
end
|
30
|
+
def show(msg,quiet=@quiet)
|
31
|
+
if !msg.nil?
|
35
32
|
puts msg unless quiet
|
36
33
|
end
|
37
34
|
end
|
@@ -49,7 +46,7 @@ module FPM
|
|
49
46
|
end
|
50
47
|
|
51
48
|
def info(msg)
|
52
|
-
if msg
|
49
|
+
if !msg.nil?
|
53
50
|
if !@logger.nil?
|
54
51
|
@logger.info msg
|
55
52
|
end
|
@@ -57,7 +54,7 @@ module FPM
|
|
57
54
|
end
|
58
55
|
|
59
56
|
def warn(msg)
|
60
|
-
if msg
|
57
|
+
if !msg.nil?
|
61
58
|
if !@logger.nil?
|
62
59
|
@logger.warn msg
|
63
60
|
end
|
@@ -65,7 +62,7 @@ module FPM
|
|
65
62
|
end
|
66
63
|
|
67
64
|
def debug(msg)
|
68
|
-
if msg
|
65
|
+
if !msg.nil?
|
69
66
|
if !@logger.nil?
|
70
67
|
@logger.debug msg
|
71
68
|
end
|
@@ -73,7 +70,8 @@ module FPM
|
|
73
70
|
end
|
74
71
|
|
75
72
|
def error(msg)
|
76
|
-
|
73
|
+
@has_error = true
|
74
|
+
if !msg.nil?
|
77
75
|
if !@logger.nil?
|
78
76
|
@logger.error msg
|
79
77
|
end
|
@@ -81,7 +79,8 @@ module FPM
|
|
81
79
|
end
|
82
80
|
|
83
81
|
def fatal(msg)
|
84
|
-
|
82
|
+
@has_error = true
|
83
|
+
if !msg.nil?
|
85
84
|
if !@logger.nil?
|
86
85
|
@logger.fatal msg
|
87
86
|
end
|
@@ -52,7 +52,7 @@ module FPM
|
|
52
52
|
@config = FPM::Scriptable::Config.instance.config
|
53
53
|
c = FPM::Scriptable::Constants.instance
|
54
54
|
|
55
|
-
@log.debug 'FPM::Scriptable::
|
55
|
+
@log.debug 'FPM::Scriptable::Script - initializing Script'
|
56
56
|
|
57
57
|
@version = c.script.version
|
58
58
|
@iteration = c.script.iteration
|
@@ -63,11 +63,11 @@ module FPM
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def fpm_obj
|
66
|
-
@log.
|
66
|
+
@log.warn 'FPM::Scriptable::Script - fpm_obj method not implemented in plugin'
|
67
67
|
end
|
68
68
|
|
69
69
|
def fpm_convert
|
70
|
-
@log.
|
70
|
+
@log.warn 'FPM::Scriptable::Script - fpm_convert method not implemented in plugin'
|
71
71
|
end
|
72
72
|
|
73
73
|
def plugin_init
|
@@ -128,7 +128,7 @@ module FPM
|
|
128
128
|
#@fpm.directories +=
|
129
129
|
#@fom.attributes[:excludes]
|
130
130
|
rescue Exception => e
|
131
|
-
log.error "#{e}"
|
131
|
+
@log.error "FPM::Scriptable::Script - #{e}"
|
132
132
|
end
|
133
133
|
|
134
134
|
package = nil
|
@@ -141,20 +141,20 @@ module FPM
|
|
141
141
|
if !overwrite.nil?
|
142
142
|
force = overwrite.to_s.downcase
|
143
143
|
if force == 'true'
|
144
|
-
@log.
|
144
|
+
@log.warn "FPM::Scriptable::Script - overwrite enabled - removing package: #{package.to_s}"
|
145
145
|
FileUtils.rm_f(package.to_s)
|
146
146
|
end
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
150
|
-
@log.info "
|
150
|
+
@log.info "FPM::Scriptable::Script - building package: #{package.to_s}"
|
151
151
|
package.output(package.to_s)
|
152
152
|
end
|
153
153
|
else
|
154
|
-
@log.error '
|
154
|
+
@log.error 'FPM::Scriptable::Script - failed to convert - packaging object is invalid'
|
155
155
|
end
|
156
156
|
rescue Exception => e
|
157
|
-
log.error "#{e}"
|
157
|
+
@log.error "FPM::Scriptable::Script - #{e}"
|
158
158
|
end
|
159
159
|
|
160
160
|
end
|
data/lib/fpm/scriptable/util.rb
CHANGED
@@ -51,17 +51,17 @@ module FPM
|
|
51
51
|
|
52
52
|
def self.usage
|
53
53
|
usage = <<EOF
|
54
|
-
|
55
|
-
Usage:
|
54
|
+
Usage:
|
56
55
|
#{$0} OPTIONS
|
57
56
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
57
|
+
Options:
|
58
|
+
--help Display this help screen
|
59
|
+
--quiet Messages are not displayed to the console
|
60
|
+
--nocolor Turn off colors in console output
|
61
|
+
--log_level <lvl> Log level (info, debug, error)
|
62
|
+
--nobanner Do not show the banner
|
63
63
|
|
64
|
-
|
64
|
+
--script <file> Script to build
|
65
65
|
|
66
66
|
EOF
|
67
67
|
usage
|
@@ -78,11 +78,11 @@ EOF
|
|
78
78
|
|_| | .__/|_| |_| |_| |___/\\___|_| |_| .__/ \\__\\__,_|_.__/|_|\\___|
|
79
79
|
|_| |_|
|
80
80
|
|
81
|
+
#{c.name}
|
82
|
+
Version: #{c.version}
|
83
|
+
Author: #{c.author}
|
84
|
+
Website: #{c.website}
|
81
85
|
|
82
|
-
#{c.name}
|
83
|
-
Version: #{c.version}
|
84
|
-
Author: #{c.author}
|
85
|
-
Website: #{c.website}
|
86
86
|
EOF
|
87
87
|
banner
|
88
88
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fpm-scriptable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ted Elwartowski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curb
|