hem-tasks-rsync 1.0.0 → 1.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 96b11ce518ce92a91f176d63a4d87f2b408ce1fa
4
- data.tar.gz: 825a8668a45c01a0d6ec4891b2cde9a5b1a5d688
3
+ metadata.gz: 10f5b2bd358eb4a096dcace7cc3abebbd3a9911e
4
+ data.tar.gz: 0c9dcd68d8bd4a73291ad1bbdad8240c0bf1655d
5
5
  SHA512:
6
- metadata.gz: 00b691108e3083fe1732616559caed2aa62d0124bfb68a8dab613dbb7bc5f2bd55e269eec2bd9f1702dd03d98f7901bd1cec0f384d161fce4fc784ae3f7c25e5
7
- data.tar.gz: 1633488b1b2cb678d41f4ddc58f1b08bff72819215604b3b4aaf8a30c6b61611df241b2503f6e858765e1765916241c8a903b13e27a277c964a693166332211c
6
+ metadata.gz: 11ac7043b03dafe6d721297c4913b4eea15367ad04b606dbfa6925939b7a3f84c291cb153c7860795b7af9c0ba1c991ad459a0ba262a93d90d6256ed77b35433
7
+ data.tar.gz: 97d0bbcbc254d0f2b7b4c0262b33829e9031c5afa54a6c63717da3d528f131f90688352d04e92a9509bb5874c6bf044ecf3a83bff2b830d53a3cc39ffad987d2
@@ -5,6 +5,53 @@ before 'deps:composer', 'deps:sync:composer_files_to_guest'
5
5
  after 'deps:composer', 'deps:sync:reload_or_sync'
6
6
 
7
7
  namespace :deps do
8
+ desc 'Update composer dependencies'
9
+ argument :packages, optional: true, default: {}, as: Array
10
+ task :composer_update do |_task_name, args|
11
+ next unless File.exist? File.join(Hem.project_path, 'composer.json')
12
+
13
+ Rake::Task['tools:composer'].invoke
14
+
15
+ Rake::Task['deps:sync:composer_files_to_guest'].execute
16
+
17
+ packages = args[:packages].map(&:shellescape).join(' ')
18
+
19
+ Hem.ui.title 'Updating composer dependencies'
20
+ Dir.chdir Hem.project_path do
21
+ ansi = Hem.ui.supports_color? ? '--ansi' : ''
22
+ args = ["php bin/composer.phar update #{packages} #{ansi} --prefer-dist", { realtime: true, indent: 2 }]
23
+ complete = false
24
+
25
+ unless maybe(Hem.project_config.tasks.deps.composer.disable_host_run)
26
+ check = Hem::Lib::HostCheck.check(filter: /php_present/)
27
+
28
+ if check[:php_present] == :ok
29
+ begin
30
+ shell(*args)
31
+
32
+ Rake::Task['deps:sync:composer_files_to_guest'].execute
33
+ Rake::Task['vm:rsync_mount_sync'].execute
34
+
35
+ complete = true
36
+ rescue Hem::ExternalCommandError
37
+ Hem.ui.warning 'Updating composer dependencies locally failed!'
38
+ end
39
+ end
40
+ end
41
+
42
+ unless complete
43
+ run(*args)
44
+
45
+ Rake::Task['deps:sync:composer_files_from_guest'].execute
46
+ Rake::Task['deps:sync:vendor_directory_from_guest'].execute
47
+ end
48
+
49
+ Hem.ui.success 'Composer dependencies updated'
50
+ end
51
+
52
+ Hem.ui.separator
53
+ end
54
+
8
55
  desc 'Syncing dependencies to/from the VM'
9
56
  namespace :sync do
10
57
  desc 'Download the composer.json and lock from the guest to the host'
@@ -1,7 +1,7 @@
1
1
  module Hem
2
2
  module Tasks
3
3
  module Rsync
4
- VERSION = '1.0.0'.freeze
4
+ VERSION = '1.1.0'.freeze
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hem-tasks-rsync
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kieren Evans