docker-sync 0.0.14 → 0.0.15
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/VERSION +1 -1
- data/lib/docker-sync/sync_manager.rb +6 -5
- data/lib/docker-sync/sync_strategy/rsync.rb +4 -0
- data/lib/docker-sync/sync_strategy/unison-dualside.rb +5 -1
- data/lib/docker-sync/sync_strategy/unison.rb +5 -1
- data/lib/docker-sync/watch_strategy/fswatch.rb +24 -8
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f91f3a2eb84005eb9ecd865282ace48c86f2f2c4
|
4
|
+
data.tar.gz: 3a5ca77ceab1cbe91ae630c6cd7c102db467f0c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35de54d7b90e0dd76617a8ad102cea41ff8c837904790f96313c8943eb5b9c7e13249bfa3209673788fec538eb9784f173393dddfeff6f81e8a967be10feceda
|
7
|
+
data.tar.gz: 30776d4c9c53279ffa349ac44f50efb9b204a7577678d67c44baaeef5131f94eab02e62d28ae423dbd641e3a62f7ae5fe7d0f9b8f86bf8a6bc38ba799adac901
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.15
|
@@ -16,7 +16,7 @@ module Docker_Rsync
|
|
16
16
|
def initialize(options)
|
17
17
|
@sync_processes = []
|
18
18
|
@config_syncs = []
|
19
|
-
@
|
19
|
+
@config_global = []
|
20
20
|
@config_path = options[:config_path]
|
21
21
|
load_configuration
|
22
22
|
end
|
@@ -28,13 +28,13 @@ module Docker_Rsync
|
|
28
28
|
|
29
29
|
config = YAML.load_file(@config_path)
|
30
30
|
validate_config(config)
|
31
|
-
@
|
31
|
+
@config_global = config['options'] || {}
|
32
32
|
@config_syncs = config['syncs']
|
33
33
|
upgrade_syncs_config
|
34
34
|
end
|
35
35
|
|
36
36
|
def global_options
|
37
|
-
return @
|
37
|
+
return @config_global
|
38
38
|
end
|
39
39
|
|
40
40
|
def get_sync_points
|
@@ -46,12 +46,13 @@ module Docker_Rsync
|
|
46
46
|
@config_syncs[name]['config_path'] = @config_path
|
47
47
|
# expand the sync source to remove ~ and similar expressions in the path
|
48
48
|
@config_syncs[name]['src'] = File.expand_path(@config_syncs[name]['src'], File.dirname(@config_path))
|
49
|
+
@config_syncs[name]['cli_mode'] = @config_global['cli_mode'] || 'auto'
|
49
50
|
|
50
51
|
# set the global verbose setting, if the sync-endpoint does not define a own one
|
51
52
|
unless config.key?('verbose')
|
52
53
|
@config_syncs[name]['verbose'] = false
|
53
|
-
if @
|
54
|
-
@config_syncs[name]['verbose'] = @
|
54
|
+
if @config_global.key?('verbose')
|
55
|
+
@config_syncs[name]['verbose'] = @config_global['verbose']
|
55
56
|
end
|
56
57
|
end
|
57
58
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'thor/shell'
|
2
2
|
require 'docker-sync/preconditions'
|
3
|
+
require 'terminal-notifier'
|
3
4
|
|
4
5
|
module Docker_Sync
|
5
6
|
module SyncStrategy
|
@@ -45,6 +46,9 @@ module Docker_Sync
|
|
45
46
|
say_status 'error', "Error starting sync, exit code #{$?.exitstatus}", :red
|
46
47
|
say_status 'message', out
|
47
48
|
else
|
49
|
+
TerminalNotifier.notify(
|
50
|
+
"Synced #{@options['src']}", :title => @sync_name
|
51
|
+
) if @options['notify_terminal']
|
48
52
|
say_status 'ok', "Synced #{@options['src']}", :white
|
49
53
|
if @options['verbose']
|
50
54
|
say_status 'output', out
|
@@ -2,6 +2,7 @@ require 'thor/shell'
|
|
2
2
|
require 'docker-sync/preconditions'
|
3
3
|
require 'open3'
|
4
4
|
require 'socket'
|
5
|
+
require 'terminal-notifier'
|
5
6
|
|
6
7
|
module Docker_Sync
|
7
8
|
module SyncStrategy
|
@@ -48,6 +49,9 @@ module Docker_Sync
|
|
48
49
|
say_status 'error', "Error starting sync, exit code #{$?.exitstatus}", :red
|
49
50
|
say_status 'message', stderr
|
50
51
|
else
|
52
|
+
TerminalNotifier.notify(
|
53
|
+
"Synced #{@options['src']}", :title => @sync_name
|
54
|
+
) if @options['notify_terminal']
|
51
55
|
say_status 'ok', "Synced #{@options['src']}", :white
|
52
56
|
if @options['verbose']
|
53
57
|
say_status 'output', stdout
|
@@ -118,7 +122,7 @@ module Docker_Sync
|
|
118
122
|
else
|
119
123
|
say_status 'ok', "#{container_name} container still running", :blue
|
120
124
|
end
|
121
|
-
say_status 'ok', "starting initial #{container_name}
|
125
|
+
say_status 'ok', "starting initial sync of #{container_name}", :white if @options['verbose']
|
122
126
|
# this sleep is needed since the container could be not started
|
123
127
|
sleep 5 # TODO: replace with unison -testserver
|
124
128
|
sync
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'thor/shell'
|
2
2
|
require 'docker-sync/preconditions'
|
3
3
|
require 'open3'
|
4
|
+
require 'terminal-notifier'
|
4
5
|
|
5
6
|
module Docker_Sync
|
6
7
|
module SyncStrategy
|
@@ -45,6 +46,9 @@ module Docker_Sync
|
|
45
46
|
say_status 'error', "Error starting sync, exit code #{$?.exitstatus}", :red
|
46
47
|
say_status 'message', stderr
|
47
48
|
else
|
49
|
+
TerminalNotifier.notify(
|
50
|
+
"Synced #{@options['src']}", :title => @sync_name
|
51
|
+
) if @options['notify_terminal']
|
48
52
|
say_status 'ok', "Synced #{@options['src']}", :white
|
49
53
|
if @options['verbose']
|
50
54
|
say_status 'output', stdout
|
@@ -91,7 +95,7 @@ module Docker_Sync
|
|
91
95
|
else
|
92
96
|
say_status 'ok', "#{container_name} container still running", :blue
|
93
97
|
end
|
94
|
-
say_status 'ok', "starting initial #{container_name}
|
98
|
+
say_status 'ok', "starting initial sync of #{container_name}", :white if @options['verbose']
|
95
99
|
# this sleep is needed since the container could be not started
|
96
100
|
sleep 1
|
97
101
|
sync
|
@@ -55,17 +55,33 @@ module Docker_Sync
|
|
55
55
|
args.push(@events_to_watch.map { |pattern| "--event #{pattern}" })
|
56
56
|
args.push(@options['watch_args']) if @options.key?('watch_args')
|
57
57
|
args.push(@options['src'])
|
58
|
-
|
59
|
-
sync_command = 'thor sync:sync'
|
60
|
-
exec_name =File.basename($PROGRAM_NAME)
|
61
|
-
if exec_name != 'thor'
|
62
|
-
sync_command = 'docker-sync sync'
|
63
|
-
else
|
64
|
-
say_status 'warning', 'Called user thor, not docker-sync* wise, assuming dev mode, using thor', :yellow
|
65
|
-
end
|
58
|
+
sync_command = get_sync_cli_call
|
66
59
|
args.push(" | xargs -I -n1 #{sync_command} -n #{@sync_name} --config='#{@options['config_path']}'")
|
67
60
|
end
|
68
61
|
|
62
|
+
def get_sync_cli_call
|
63
|
+
sync_command = 'thor sync:'
|
64
|
+
case @options['cli_mode']
|
65
|
+
when 'docker-sync'
|
66
|
+
say_status 'ok','Forcing cli mode docker-sync',:yellow if @options['verbose']
|
67
|
+
sync_command = 'docker-sync '
|
68
|
+
when 'thor'
|
69
|
+
say_status 'ok','Forcing cli mode thor',:yellow if @options['verbose']
|
70
|
+
sync_command = 'thor sync:'
|
71
|
+
else # 'auto' or any other, try to guss
|
72
|
+
say_status 'ok','Cli mode is auto, selecting .. ',:white if @options['verbose']
|
73
|
+
exec_name = File.basename($PROGRAM_NAME)
|
74
|
+
if exec_name != 'thor'
|
75
|
+
sync_command = 'docker-sync '
|
76
|
+
else
|
77
|
+
say_status 'warning', 'Called user thor, not docker-sync* wise, assuming dev mode, using thor', :yellow
|
78
|
+
end
|
79
|
+
say_status 'ok',".. #{sync_command}",:white if @options['verbose']
|
80
|
+
end
|
81
|
+
|
82
|
+
# append the actual operation
|
83
|
+
return "#{sync_command}sync"
|
84
|
+
end
|
69
85
|
def watch_thread
|
70
86
|
return @watch_thread
|
71
87
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docker-sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eugen Mayer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -64,6 +64,20 @@ dependencies:
|
|
64
64
|
- - '='
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: 0.8.3
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: terminal-notifier
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - '='
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 1.6.3
|
74
|
+
type: :runtime
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - '='
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: 1.6.3
|
67
81
|
description: Sync your code live to docker-containers without losing any performance
|
68
82
|
on OSX
|
69
83
|
email: eugen.mayer@kontextwork.de
|