djin 0.11.2 → 0.11.3
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/CHANGELOG.md +4 -1
- data/Gemfile.lock +1 -1
- data/README.md +10 -10
- data/djin.yml +1 -1
- data/examples/djin.yml +1 -1
- data/examples/djin_lib/test.yml +1 -1
- data/examples/local_tasks/djin.yml +1 -1
- data/examples/remote_tasks/djin.yml +1 -1
- data/lib/djin/root_cli_parser.rb +24 -14
- data/lib/djin/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 626c84b6931a23c78952835ba8fe34b9c33a9cb37b174539804b32f052e2af21
|
4
|
+
data.tar.gz: 4dd41c1ced7edc3b662edd8eb0c53c32866c686e156744f78e93b723260ebbbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 241a5cc08af93622125bfe228384b3920221e24da7f74b13d404d7a74b3b2c5b7b2fb435a3e3803f61e9d5d10166bef7629f70b40553d5059916d9fdd30abf53
|
7
|
+
data.tar.gz: 6e7253e6bdf3a1c85b8b29163d28db67031dff8bd31dac2b6f0d8d10b8e9de3a94e1b9a3669598549a77bb59171b471327a3ea294dd98916878fb756b95df8cc
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -27,7 +27,7 @@ If you use Rbenv you can install djin only once and create an alias in your .bas
|
|
27
27
|
To use djin first you need to create a djin.yml file:
|
28
28
|
|
29
29
|
```yaml
|
30
|
-
djin_version: '0.11.
|
30
|
+
djin_version: '0.11.3'
|
31
31
|
|
32
32
|
tasks:
|
33
33
|
# With a docker image
|
@@ -54,7 +54,7 @@ You can also set task dependencies with depends_on option:
|
|
54
54
|
|
55
55
|
|
56
56
|
```yaml
|
57
|
-
djin_version: '0.11.
|
57
|
+
djin_version: '0.11.3'
|
58
58
|
|
59
59
|
_default_run_options: &default_run_options
|
60
60
|
options: "--rm"
|
@@ -83,7 +83,7 @@ tasks:
|
|
83
83
|
Or mix local commands and docker/docker-compose commands:
|
84
84
|
|
85
85
|
```yaml
|
86
|
-
djin_version: '0.11.
|
86
|
+
djin_version: '0.11.3'
|
87
87
|
|
88
88
|
_default_run_options: &default_run_options
|
89
89
|
options: "--rm"
|
@@ -122,7 +122,7 @@ After that you can run `djin {{task_name}}`, like `djin script` or `djin test`
|
|
122
122
|
You can also use environment variables using the '{{YOUR_ENV_HERE}}' syntax, like so:
|
123
123
|
|
124
124
|
```yaml
|
125
|
-
djin_version: '0.11.
|
125
|
+
djin_version: '0.11.3'
|
126
126
|
|
127
127
|
_default_run_options: &default_run_options
|
128
128
|
options: "--rm"
|
@@ -139,7 +139,7 @@ tasks:
|
|
139
139
|
|
140
140
|
Or define some variables to use in multiple locations
|
141
141
|
```yaml
|
142
|
-
djin_version: '0.11.
|
142
|
+
djin_version: '0.11.3'
|
143
143
|
|
144
144
|
_default_run_options: &default_run_options
|
145
145
|
options: "--rm"
|
@@ -163,7 +163,7 @@ tasks:
|
|
163
163
|
It's also possible to pass custom arguments to the command, which means is possible to make a djin task act like the command itself:
|
164
164
|
|
165
165
|
```yaml
|
166
|
-
djin_version: '0.11.
|
166
|
+
djin_version: '0.11.3'
|
167
167
|
|
168
168
|
_default_run_options: &default_run_options
|
169
169
|
options: "--rm"
|
@@ -189,7 +189,7 @@ Under the hood djin uses [Mustache](https://mustache.github.io/), so you can use
|
|
189
189
|
If you have multiple tasks with similar behavior and with small differences you can use the `include` keyword, so this:
|
190
190
|
|
191
191
|
```yaml
|
192
|
-
djin_version: '0.11.
|
192
|
+
djin_version: '0.11.3'
|
193
193
|
|
194
194
|
tasks:
|
195
195
|
"host1:ssh":
|
@@ -228,7 +228,7 @@ can become this:
|
|
228
228
|
|
229
229
|
```yaml
|
230
230
|
# djin.yml
|
231
|
-
djin_version: '0.11.
|
231
|
+
djin_version: '0.11.3'
|
232
232
|
|
233
233
|
include:
|
234
234
|
- file: '.djin/server_tasks.yml'
|
@@ -250,7 +250,7 @@ include:
|
|
250
250
|
|
251
251
|
```yaml
|
252
252
|
# .djin/server_tasks.yml
|
253
|
-
djin_version: '0.11.
|
253
|
+
djin_version: '0.11.3'
|
254
254
|
|
255
255
|
tasks:
|
256
256
|
"{{namespace}}:ssh":
|
@@ -272,7 +272,7 @@ tasks:
|
|
272
272
|
You can also reuse tasks in some git repository, to do that you need to declare a git source and optionally a version:
|
273
273
|
|
274
274
|
```yaml
|
275
|
-
djin_version: '0.11.
|
275
|
+
djin_version: '0.11.3'
|
276
276
|
|
277
277
|
include:
|
278
278
|
- git: 'https://github.com/catks/djin.git'
|
data/djin.yml
CHANGED
data/examples/djin.yml
CHANGED
data/examples/djin_lib/test.yml
CHANGED
data/lib/djin/root_cli_parser.rb
CHANGED
@@ -13,26 +13,36 @@ module Djin
|
|
13
13
|
# to only remove the -f/--file option
|
14
14
|
# and bypass everything else to Dry::CLI
|
15
15
|
catch(:root_cli_exit) do
|
16
|
-
|
17
|
-
opts.on('-f FILE', '--file FILE') do |v|
|
18
|
-
options[:files] ||= []
|
19
|
-
options[:files] << v
|
20
|
-
end
|
21
|
-
|
22
|
-
opts.on('-h', '--help') do
|
23
|
-
throw :root_cli_exit
|
24
|
-
end
|
25
|
-
|
26
|
-
opts.on('--all') do
|
27
|
-
throw :root_cli_exit
|
28
|
-
end
|
29
|
-
end.parse(args)
|
16
|
+
parser(options).parse(args)
|
30
17
|
end
|
31
18
|
|
32
19
|
remove_file_args!(args)
|
33
20
|
options
|
34
21
|
end
|
35
22
|
|
23
|
+
private
|
24
|
+
|
25
|
+
def parser(options)
|
26
|
+
OptionParser.new do |opts|
|
27
|
+
opts.on('-f FILE', '--file FILE') do |v|
|
28
|
+
options[:files] ||= []
|
29
|
+
options[:files] << v
|
30
|
+
end
|
31
|
+
|
32
|
+
opts.on('-v', '--version') do
|
33
|
+
throw :root_cli_exit
|
34
|
+
end
|
35
|
+
|
36
|
+
opts.on('-h', '--help') do
|
37
|
+
throw :root_cli_exit
|
38
|
+
end
|
39
|
+
|
40
|
+
opts.on('--all') do
|
41
|
+
throw :root_cli_exit
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
36
46
|
def remove_file_args!(args)
|
37
47
|
file_option = ['-f', '--file']
|
38
48
|
args_indexes_to_remove = args.each_with_index.map do |value, index|
|
data/lib/djin/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: djin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carlos Atkinson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-cli
|