vagrant-unison-morroni 0.0.19 → 0.0.20

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 30a1e3610b031aeb5831e9c317d33d9a1043118f
4
- data.tar.gz: 47dafdfc4653ef9ad3cfdc1b960e084663f9c7d8
3
+ metadata.gz: 3fa98d4ec7213165ae90b15dfd5801c050159dea
4
+ data.tar.gz: 6b62c1b805e8fa92754ecf2a3e76a4e37676ae1c
5
5
  SHA512:
6
- metadata.gz: bf0d8490596d157fd23c1018cdee4b9fbdf2278e35beeb5e352a7ab90f4379da94f27b4cbb4a6cb01c5c8bbe794e3d592e65548f24f11bfc1c987cdfc261c956
7
- data.tar.gz: 73e0a8fc3d0b4f9c492a07f6cd8ef69d549711c729ffacb01a5b841f70076d860e4c6e0ab4a16849979023fb51c59253aba92ff92b2971fd918b3d45f9d3949b
6
+ metadata.gz: 248b4519e756a3be0772bc82d245ea19a9d0297cc2fdcea0d2f159064b0bebbb8a21f503a5a04d073d1d22d79986922a5b67474c143fc8e62a94cd8c007de57b
7
+ data.tar.gz: a8ca22bba75fc058918c2e134a1ba88796c0a4da7bcd437ce3909d69e5cc85d54311e8a15b6313881f109c00307d8870d72992956a095272e9e4bc4ada220e46
@@ -105,9 +105,22 @@ module VagrantPlugins
105
105
  ssh_command = SshCommand.new(@@machine, unison_paths)
106
106
  command = ShellCommand.new(@@machine, unison_paths, ssh_command)
107
107
 
108
+ =begin
109
+ #load @@machine.env.root_path.to_s + '/include-common/load-ini/load-ini.rb'
110
+ load ENV['host_proj_dir'] + '/include-common/load-ini/load-ini.rb'
111
+
112
+ properties = load_ini()
113
+ if (properties.has_key?('UNISONFLAGS'))
114
+ unisonflags = ' '+properties['UNISONFLAGS']+' '
115
+ else
116
+ unisonflags = ''
117
+ end
118
+ =end
119
+ unisonflags = ' -ignorearchives '
120
+
108
121
  command.repeat = true
109
122
  command.terse = true
110
- command = command.to_s + ' -ignorearchives > ' + @@machine.env.root_path.to_s + '/.vagrant/unison.log 2>&1 &'
123
+ command = command.to_s + unisonflags + ' > ' + @@machine.env.root_path.to_s + '/.vagrant/unison.log 2>&1 &'
111
124
 
112
125
  @@machine.env.ui.info "Running #{command}"
113
126
 
@@ -0,0 +1,161 @@
1
+ begin
2
+ require "vagrant"
3
+ rescue LoadError
4
+ raise "The vagrant-unison plugin must be run within Vagrant."
5
+ end
6
+
7
+ # This is a sanity check to make sure no one is attempting to install
8
+ # this into an early Vagrant version.
9
+ if Vagrant::VERSION < "1.1.0"
10
+ raise "The vagrant-unison plugin is only compatible with Vagrant 1.1+"
11
+ end
12
+
13
+ module VagrantPlugins
14
+ module Unison
15
+ class Plugin < Vagrant.plugin("2")
16
+ name "Unison"
17
+ description <<-DESC
18
+ This plugin syncs files over SSH from a local folder
19
+ to your Vagrant VM (local or on AWS).
20
+ DESC
21
+
22
+ config "sync" do
23
+ require_relative "config"
24
+ Config
25
+ end
26
+
27
+ command "sync" do
28
+ # Setup logging and i18n
29
+ setup_logging
30
+ setup_i18n
31
+
32
+ #Return the command
33
+ require_relative "command"
34
+ Command
35
+ end
36
+
37
+ command "sync-repeat" do
38
+ # Setup logging and i18n
39
+ setup_logging
40
+ setup_i18n
41
+
42
+ #Return the command
43
+ require_relative "command"
44
+ CommandRepeat
45
+ end
46
+
47
+ command "sync-cleanup" do
48
+ # Setup logging and i18n
49
+ setup_logging
50
+ setup_i18n
51
+
52
+ #Return the command
53
+ require_relative "command"
54
+ CommandCleanup
55
+ end
56
+
57
+ command "sync-interact" do
58
+ # Setup logging and i18n
59
+ setup_logging
60
+ setup_i18n
61
+
62
+ #Return the command
63
+ require_relative "command"
64
+ CommandInteract
65
+ end
66
+
67
+ provisioner "start-unison" do
68
+ require "log4r"
69
+ require "vagrant"
70
+ require "thread"
71
+ require 'listen'
72
+
73
+ require_relative 'unison_paths'
74
+ require_relative 'ssh_command'
75
+ require_relative 'shell_command'
76
+ require_relative 'unison_sync'
77
+ class StartUnisonProvisioner < Vagrant.plugin("2", :provisioner)
78
+
79
+ def initialize(machine, config)
80
+ @@machine = machine
81
+ super
82
+ end
83
+
84
+ def configure(root_config)
85
+ end
86
+
87
+ def provision
88
+
89
+ unison_paths = UnisonPaths.new(@@machine.env, @@machine)
90
+ guest_path = unison_paths.guest
91
+ host_path = unison_paths.host
92
+
93
+ user_name = @@machine.ssh_info[:username]
94
+
95
+ @@machine.ui.info(host_path)
96
+ @@machine.ui.info(guest_path)
97
+
98
+
99
+ @@machine.env.ui.info "Unisoning changes from {host}::#{host_path} --> {guest VM}::#{guest_path}"
100
+
101
+ # Create the guest path
102
+ @@machine.communicate.sudo("mkdir -p '#{guest_path}'")
103
+ @@machine.communicate.sudo("chown #{user_name} '#{guest_path}'")
104
+
105
+ ssh_command = SshCommand.new(@@machine, unison_paths)
106
+ command = ShellCommand.new(@@machine, unison_paths, ssh_command)
107
+
108
+ command.repeat = true
109
+ command.terse = true
110
+ command = command.to_s + ' -ignorearchives > ' + @@machine.env.root_path.to_s + '/.vagrant/unison.log 2>&1 &'
111
+
112
+ @@machine.env.ui.info "Running #{command}"
113
+
114
+ system(command)
115
+
116
+ end
117
+
118
+ def cleanup
119
+ end
120
+
121
+ end
122
+ StartUnisonProvisioner
123
+ end
124
+
125
+ # This initializes the internationalization strings.
126
+ def self.setup_i18n
127
+ I18n.load_path << File.expand_path("locales/en.yml", Unison.source_root)
128
+ I18n.reload!
129
+ end
130
+
131
+ # This sets up our log level to be whatever VAGRANT_LOG is.
132
+ def self.setup_logging
133
+ require "log4r"
134
+
135
+ level = nil
136
+ begin
137
+ level = Log4r.const_get(ENV["VAGRANT_LOG"].upcase)
138
+ rescue NameError
139
+ # This means that the logging constant wasn't found,
140
+ # which is fine. We just keep `level` as `nil`. But
141
+ # we tell the user.
142
+ level = nil
143
+ end
144
+
145
+ # Some constants, such as "true" resolve to booleans, so the
146
+ # above error checking doesn't catch it. This will check to make
147
+ # sure that the log level is an integer, as Log4r requires.
148
+ level = nil if !level.is_a?(Integer)
149
+
150
+ # Set the logging level on all "vagrant" namespaced
151
+ # logs as long as we have a valid level.
152
+ if level
153
+ logger = Log4r::Logger.new("vagrant_sync")
154
+ logger.outputters = Log4r::Outputter.stderr
155
+ logger.level = level
156
+ logger = nil
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Unison
3
- VERSION = "0.0.19"
3
+ VERSION = "0.0.20"
4
4
  end
5
5
  end
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Unison
3
- VERSION = "0.0.18"
3
+ VERSION = "0.0.19"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-unison-morroni
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Laing
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-28 00:00:00.000000000 Z
11
+ date: 2015-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: listen
@@ -111,6 +111,7 @@ files:
111
111
  - lib/vagrant-unison-morroni/config.rb
112
112
  - lib/vagrant-unison-morroni/errors.rb
113
113
  - lib/vagrant-unison-morroni/plugin.rb
114
+ - lib/vagrant-unison-morroni/plugin.rb~
114
115
  - lib/vagrant-unison-morroni/shell_command.rb
115
116
  - lib/vagrant-unison-morroni/ssh_command.rb
116
117
  - lib/vagrant-unison-morroni/unison_paths.rb