alpha_omega 1.2.1 → 1.3.1
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/VERSION +1 -1
- data/bin/{alpha_omega → ao} +1 -1
- data/lib/alpha_omega/config/deploy.rb +4 -0
- data/lib/alpha_omega/config/deploy_challenge.rb +19 -0
- data/lib/alpha_omega/config/deploy_localhost.rb +29 -0
- data/lib/alpha_omega/config/deploy_notify.rb +85 -0
- data/lib/alpha_omega/config/deploy_ssh.rb +11 -0
- data/lib/alpha_omega/deploy.rb +14 -40
- data/lib/alpha_omega/utils.rb +22 -18
- data/libexec/_ao +194 -0
- data/{sbin → libexec}/_bump +0 -0
- data/{sbin → libexec}/_jason +19 -27
- data/{sbin → libexec}/_log4sh +0 -0
- data/{sbin → libexec}/_meat +19 -27
- data/{sbin → libexec}/_prime +1 -1
- data/{sbin → libexec}/_shflags +0 -0
- data/{sbin → libexec}/_shunit +0 -0
- data/{sbin → libexec}/_sub +18 -3
- data/{sbin → libexec}/_treadstone +1 -1
- data/{sbin → libexec}/_versions +0 -0
- data/{sbin/ao → libexec/aoh} +3 -3
- data/libexec/aoh-activate +22 -0
- data/libexec/aoh-check +23 -0
- data/libexec/aoh-compare +23 -0
- data/libexec/aoh-debug +23 -0
- data/libexec/aoh-deploy +22 -0
- data/libexec/aoh-dist +23 -0
- data/libexec/{ao-dna → aoh-dna} +10 -12
- data/libexec/aoh-hosts +24 -0
- data/libexec/{ao-lock → aoh-lock} +11 -11
- data/libexec/aoh-migrate +23 -0
- data/libexec/aoh-proxy +74 -0
- data/libexec/aoh-release +23 -0
- data/libexec/aoh-remote +37 -0
- data/libexec/aoh-restart +23 -0
- data/libexec/aoh-rollback +23 -0
- data/libexec/aoh-shell +23 -0
- data/libexec/aoh-stage +22 -0
- data/libexec/aoh-task +24 -0
- data/libexec/{ao-unlock → aoh-unlock} +11 -11
- data/libexec/build +1 -1
- data/libexec/build-gem +1 -1
- data/libexec/bump +1 -1
- data/libexec/edit-gem +1 -1
- data/libexec/local-helper +24 -0
- data/libexec/publish +1 -1
- data/libexec/publish-gem +1 -1
- data/libexec/stub-prepare +3 -7
- data/{libexec/ao-shell → sbin/activate} +4 -7
- data/{libexec/ao → sbin/aoh} +3 -3
- data/{libexec/ao-deploy → sbin/aoh-stub} +4 -7
- data/sbin/bump +15 -0
- data/sbin/check +20 -0
- data/sbin/compare +20 -0
- data/sbin/debug +20 -0
- data/sbin/deploy +20 -0
- data/sbin/dist +20 -0
- data/sbin/dna +20 -0
- data/sbin/hosts +20 -0
- data/sbin/local-helper +15 -0
- data/sbin/lock +20 -0
- data/sbin/migrate +20 -0
- data/sbin/proxy +20 -0
- data/sbin/release +20 -0
- data/sbin/remote +20 -0
- data/sbin/remote-helper +81 -0
- data/sbin/restart +20 -0
- data/sbin/rollback +20 -0
- data/sbin/shell +20 -0
- data/sbin/stage +20 -0
- data/sbin/stub +3 -3
- data/sbin/task +20 -0
- data/sbin/unlock +20 -0
- metadata +157 -120
- data/libexec/ao-activate +0 -23
- data/libexec/ao-build +0 -23
- data/libexec/ao-check +0 -23
- data/libexec/ao-compare +0 -23
- data/libexec/ao-cook +0 -23
- data/libexec/ao-debug +0 -28
- data/libexec/ao-dist +0 -23
- data/libexec/ao-hosts +0 -28
- data/libexec/ao-migrate +0 -23
- data/libexec/ao-plan +0 -23
- data/libexec/ao-release +0 -23
- data/libexec/ao-restart +0 -23
- data/libexec/ao-rollback +0 -23
- data/libexec/ao-stage +0 -23
- data/libexec/ao-task +0 -24
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ local-helper -- resets environment for another bundle exec
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/
|
8
|
+
#/ local-helper command args ...
|
9
|
+
|
10
|
+
# figure out the project root under which bin, lib live
|
11
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
12
|
+
|
13
|
+
# load a jason bourne library
|
14
|
+
source "$shome/libexec/_treadstone"
|
15
|
+
|
16
|
+
# entry point
|
17
|
+
function main {
|
18
|
+
unset GEM_HOME BUNDLE_GEMFILE RUBYOPT
|
19
|
+
|
20
|
+
bundle check 2>&1 >/dev/null || { bundle install --quiet --local --path vendor/bundle || bundle check > /dev/null; }
|
21
|
+
exec bundle exec "$@"
|
22
|
+
}
|
23
|
+
|
24
|
+
require sub "$BASH_SOURCE" "$@"
|
data/libexec/publish
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
11
|
|
12
12
|
# load a jason bourne library
|
13
|
-
source "$shome/
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
14
|
|
15
15
|
# define command line options:
|
16
16
|
DEFINE_boolean "private" "$FLAGS_TRUE" "push to a local, private geminabox"
|
data/libexec/publish-gem
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
11
|
|
12
12
|
# load a jason bourne library
|
13
|
-
source "$shome/
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
14
|
|
15
15
|
# define command line options:
|
16
16
|
DEFINE_boolean "private" "$FLAGS_TRUE" "push to a local, private geminabox"
|
data/libexec/stub-prepare
CHANGED
@@ -10,9 +10,7 @@
|
|
10
10
|
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
11
|
|
12
12
|
# load a jason bourne library
|
13
|
-
source "$shome/
|
14
|
-
|
15
|
-
# parse the command-line
|
13
|
+
source "$shome/libexec/_treadstone"
|
16
14
|
|
17
15
|
# entry point
|
18
16
|
function main {
|
@@ -24,10 +22,8 @@ function main {
|
|
24
22
|
local dollar='$'
|
25
23
|
local nm_command="$1"; shift
|
26
24
|
|
27
|
-
ln -
|
28
|
-
|
29
|
-
echo arguments are ${dollar}@"
|
30
|
-
EOF
|
25
|
+
ln -nfsv stub "$shome/bin/$nm_command"
|
26
|
+
cp "$0" "$shome/libexec/$nm_command"
|
31
27
|
chmod 755 "$shome/libexec/$nm_command"
|
32
28
|
|
33
29
|
logger_info "$nm_command is stubbed at bin/$nm_command"
|
@@ -1,23 +1,20 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
#/ NAME
|
4
|
-
#/
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
5
|
#/
|
6
6
|
#/ SYNOPSIS
|
7
|
-
#/
|
7
|
+
#/ aoh-sub
|
8
8
|
|
9
9
|
# figure out the project root under which bin, lib live
|
10
10
|
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
11
|
|
12
12
|
# load a jason bourne library
|
13
|
-
source "$shome/
|
14
|
-
|
15
|
-
# parse the command-line
|
13
|
+
source "$shome/libexec/_treadstone"
|
16
14
|
|
17
15
|
# entry point
|
18
16
|
function main {
|
19
|
-
|
20
|
-
bundle exec cap "$@" shell
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
21
18
|
}
|
22
19
|
|
23
20
|
require 'sub' "$BASH_SOURCE" "$@"
|
data/{libexec/ao → sbin/aoh}
RENAMED
@@ -1,15 +1,15 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
#/ NAME
|
4
|
-
#/
|
4
|
+
#/ stub -- symlink catchall to implement 37signals/sub interface
|
5
5
|
#/
|
6
6
|
#/ SYNOPSIS
|
7
|
-
#/
|
7
|
+
#/ ln -nfs stub bin/stubbed-command
|
8
8
|
|
9
9
|
# figure out the project root under which bin, lib live
|
10
10
|
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
11
|
|
12
12
|
# load a jason bourne library
|
13
|
-
source "$shome/
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
14
|
|
15
15
|
require 'sub' "$BASH_SOURCE" "$@"
|
@@ -1,23 +1,20 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
#/ NAME
|
4
|
-
#/
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
5
|
#/
|
6
6
|
#/ SYNOPSIS
|
7
|
-
#/
|
7
|
+
#/ aoh-sub
|
8
8
|
|
9
9
|
# figure out the project root under which bin, lib live
|
10
10
|
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
11
|
|
12
12
|
# load a jason bourne library
|
13
|
-
source "$shome/
|
14
|
-
|
15
|
-
# parse the command-line
|
13
|
+
source "$shome/libexec/_treadstone"
|
16
14
|
|
17
15
|
# entry point
|
18
16
|
function main {
|
19
|
-
|
20
|
-
bundle exec cap "$@" deploy:lock deploy
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
21
18
|
}
|
22
19
|
|
23
20
|
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/bump
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ stub -- symlink catchall to implement 37signals/sub interface
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ ln -nfs stub bin/stubbed-command
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/check
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/compare
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/debug
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/deploy
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/dist
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/dna
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/hosts
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/local-helper
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ stub -- symlink catchall to implement 37signals/sub interface
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ ln -nfs stub bin/stubbed-command
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/lock
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/migrate
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/proxy
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/release
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|
data/sbin/remote
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
#/ NAME
|
4
|
+
#/ aoh-stub -- aliases bin/xxx to bin/aoh xxx
|
5
|
+
#/
|
6
|
+
#/ SYNOPSIS
|
7
|
+
#/ aoh-sub
|
8
|
+
|
9
|
+
# figure out the project root under which bin, lib live
|
10
|
+
shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
|
11
|
+
|
12
|
+
# load a jason bourne library
|
13
|
+
source "$shome/libexec/_treadstone"
|
14
|
+
|
15
|
+
# entry point
|
16
|
+
function main {
|
17
|
+
exec "$shome/libexec/aoh" "$(basename "$0")" "$@"
|
18
|
+
}
|
19
|
+
|
20
|
+
require 'sub' "$BASH_SOURCE" "$@"
|