lace 0.4.3 → 0.4.4
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 +5 -13
- data/bin/lace +0 -11
- data/lib/cmd/activate.rb +5 -6
- data/lib/cmd/deactivate.rb +5 -5
- data/lib/cmd/fetch.rb +10 -10
- data/lib/cmd/list.rb +12 -5
- data/lib/cmd/remove.rb +5 -5
- data/lib/cmd/setup.rb +4 -4
- data/lib/cmd/update.rb +5 -5
- data/lib/cmd/upgrade.rb +2 -2
- data/lib/cmd/validate.rb +5 -5
- data/lib/cmd/where.rb +16 -0
- data/lib/lace/download_strategy.rb +5 -21
- data/lib/lace/exceptions.rb +2 -2
- data/lib/lace/package.rb +0 -2
- data/lib/lace/package/utils.rb +1 -1
- data/lib/lace/utils.rb +3 -3
- data/lib/lace/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZjkzNjE1ZTY5NTA1ZjEzODkxYjQ3YmMxNzQyMDkzYTU5NTYyN2E1MA==
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 80eaddd6780262b38522e7d8d6f65871b9ab81197b5704133d71e2b4662882c3
|
4
|
+
data.tar.gz: 3ad1dc409bb5423a65ddd2f5a5ba01e8da64d6dbd571ea4ff66b8de9b5d87336
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
M2U0MjJmOTM1NzhmNTc5ZDUyYzgxNWMxNzM0YjZjYmFhMjE2MzFjYzc4YTdk
|
11
|
-
NDU4ZTczMmQ4NWM3MDM5ZjY0Y2RjMzBmMTY0NDg0ZjBkOWU3MmI=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
M2JlY2ZmNDZjZjY0OWQ1NDNlOWMzNWQwYjQzMjliYjg1YTE5ZTNmNTNlYzM5
|
14
|
-
ZjkwZDQzZDdhODc2OTRiNzI3ZmUwNjllMGM3OTE3OTEwYzM3MjI4YmE0ZTAw
|
15
|
-
NWVjZDYwMGQ5MmU2NDM5ODdjZmUxMTUwOWUxZDljZTQ5MDgxMDY=
|
6
|
+
metadata.gz: 9197f2403e97ab8f15273faddbbb05d734b0888329dee180078f11d330a1b72c5afe5cbf2cdc1616919319d14651a25b6470d74fc83197c575a9c492d38ec143
|
7
|
+
data.tar.gz: 1d4edb089fe50cb82f8796fd297d055cf4c58539ad640c1ec06aeeea3de1d330c2d591203dbf62784b6c099e5b46a238269fc7026d0d0580a842aff6468d0a5f
|
data/bin/lace
CHANGED
@@ -36,10 +36,6 @@ require "extend/pathname"
|
|
36
36
|
|
37
37
|
ARGV.extend(LaceArgvExtension)
|
38
38
|
|
39
|
-
if ARGV.debug?
|
40
|
-
require 'pry'
|
41
|
-
end
|
42
|
-
|
43
39
|
def require? path
|
44
40
|
require path.to_s.chomp
|
45
41
|
rescue LoadError => e
|
@@ -55,12 +51,6 @@ case ARGV.first when '-h', '--help', '--usage', '-?', 'help', nil
|
|
55
51
|
when '--version'
|
56
52
|
puts Lace::VERSION
|
57
53
|
exit 0
|
58
|
-
when '-v'
|
59
|
-
puts "lace #{Lace::VERSION}"
|
60
|
-
# Shift the -v to the end of the parameter list
|
61
|
-
ARGV << ARGV.shift
|
62
|
-
# If no other arguments, just quit here.
|
63
|
-
exit 0 if ARGV.length == 1
|
64
54
|
end
|
65
55
|
|
66
56
|
|
@@ -99,7 +89,6 @@ rescue Interrupt => e
|
|
99
89
|
rescue RuntimeError, SystemCallError => e
|
100
90
|
raise if e.message.empty?
|
101
91
|
onoe e
|
102
|
-
puts e.backtrace if false
|
103
92
|
exit 1
|
104
93
|
rescue Exception => e
|
105
94
|
onoe e
|
data/lib/cmd/activate.rb
CHANGED
@@ -1,12 +1,11 @@
|
|
1
|
-
|
2
1
|
require 'lace/package'
|
3
2
|
require 'lace/exceptions'
|
4
3
|
|
5
4
|
module Lace extend self
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
def activate
|
6
|
+
package_name = ARGV.shift
|
7
|
+
raise ResourceNotSpecified unless package_name
|
8
|
+
PackageUtils.activate package_name
|
9
|
+
end
|
11
10
|
end
|
12
11
|
|
data/lib/cmd/deactivate.rb
CHANGED
@@ -2,10 +2,10 @@ require 'lace/package'
|
|
2
2
|
require 'lace/exceptions'
|
3
3
|
|
4
4
|
module Lace extend self
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
def deactivate
|
6
|
+
package_name = ARGV.shift
|
7
|
+
raise ResourceNotSpecified unless package_name
|
8
|
+
PackageUtils.deactivate package_name
|
9
|
+
end
|
10
10
|
end
|
11
11
|
|
data/lib/cmd/fetch.rb
CHANGED
@@ -2,18 +2,18 @@ require 'lace/package'
|
|
2
2
|
require 'lace/exceptions'
|
3
3
|
|
4
4
|
module Lace extend self
|
5
|
-
|
6
|
-
|
5
|
+
def fetch
|
6
|
+
resource = ARGV.shift
|
7
7
|
desired_package_name = ARGV.value "name"
|
8
|
-
|
9
|
-
|
8
|
+
raise ResourceNotSpecified unless resource
|
9
|
+
package_name, target_folder = PackageUtils.fetch(resource, desired_package_name)
|
10
10
|
begin
|
11
|
-
|
11
|
+
Package.new(package_name, false)
|
12
12
|
rescue PackageFactsNotFound => e
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
onoe e.message
|
14
|
+
onoe "Removing fetched files"
|
15
|
+
FileUtils.rm_rf(target_folder)
|
16
|
+
Lace.failed = true
|
17
17
|
end
|
18
|
-
|
18
|
+
end
|
19
19
|
end
|
data/lib/cmd/list.rb
CHANGED
@@ -3,11 +3,18 @@ require 'lace/package'
|
|
3
3
|
module Lace extend self
|
4
4
|
|
5
5
|
def linked_files
|
6
|
-
home_dir = ENV["HOME"]
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
home_dir = Pathname.new ENV["HOME"]
|
7
|
+
find_links home_dir
|
8
|
+
end
|
9
|
+
|
10
|
+
def find_links dir
|
11
|
+
dir.children.map do |path|
|
12
|
+
if path.directory? && !path.symlink?
|
13
|
+
find_links path
|
14
|
+
else
|
15
|
+
File.readlink path if path.symlink?
|
16
|
+
end
|
17
|
+
end.flatten.compact.uniq
|
11
18
|
end
|
12
19
|
|
13
20
|
def active_packages
|
data/lib/cmd/remove.rb
CHANGED
@@ -2,10 +2,10 @@ require 'lace/package'
|
|
2
2
|
require 'lace/exceptions'
|
3
3
|
|
4
4
|
module Lace extend self
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
def remove
|
6
|
+
package_name = ARGV.shift
|
7
|
+
raise ResourceNotSpecified unless package_name
|
8
|
+
PackageUtils.remove package_name
|
9
|
+
end
|
10
10
|
end
|
11
11
|
|
data/lib/cmd/setup.rb
CHANGED
data/lib/cmd/update.rb
CHANGED
@@ -2,9 +2,9 @@ require 'lace/package'
|
|
2
2
|
require 'lace/exceptions'
|
3
3
|
|
4
4
|
module Lace extend self
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
def update
|
6
|
+
resource = ARGV.shift
|
7
|
+
raise ResourceNotSpecified unless resource
|
8
|
+
PackageUtils.update resource
|
9
|
+
end
|
10
10
|
end
|
data/lib/cmd/upgrade.rb
CHANGED
@@ -2,7 +2,7 @@ require 'lace/package'
|
|
2
2
|
require 'lace/exceptions'
|
3
3
|
|
4
4
|
module Lace extend self
|
5
|
-
|
5
|
+
def upgrade
|
6
6
|
require 'cmd/list'
|
7
7
|
if Lace.active_packages.empty?
|
8
8
|
upgrade_lace_folder
|
@@ -10,7 +10,7 @@ module Lace extend self
|
|
10
10
|
onoe "Please deactivate all packages before continuing"
|
11
11
|
Lace.failed = true
|
12
12
|
end
|
13
|
-
|
13
|
+
end
|
14
14
|
def upgrade_lace_folder
|
15
15
|
old_dir = Pathname.new(ENV["HOME"])/".cassias"
|
16
16
|
if old_dir.exist?
|
data/lib/cmd/validate.rb
CHANGED
@@ -17,14 +17,14 @@ Lace-Manifest Validation Report:
|
|
17
17
|
EOS
|
18
18
|
|
19
19
|
module Lace extend self
|
20
|
-
|
21
|
-
|
20
|
+
def validate
|
21
|
+
resource = ARGV.shift
|
22
22
|
flavor = ARGV.shift
|
23
|
-
|
23
|
+
raise ResourceNotSpecified unless resource
|
24
24
|
validation = PackageValidator.new(PackageFacts.new(resource), flavor)
|
25
25
|
puts ERB.new(VALIDATE, nil, '-').result(binding)
|
26
26
|
Lace.failed = true if validation.has_errors?
|
27
|
-
|
27
|
+
end
|
28
28
|
end
|
29
29
|
|
30
30
|
class PackageValidator
|
@@ -58,7 +58,7 @@ class PackageValidator
|
|
58
58
|
def check_hooks hook_cmd
|
59
59
|
hook_cmd.map do |cmd|
|
60
60
|
if !File.exist? cmd
|
61
|
-
|
61
|
+
"#{cmd} cannot be found"
|
62
62
|
elsif !File.executable? cmd
|
63
63
|
"#{cmd} is not executable"
|
64
64
|
end
|
data/lib/cmd/where.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'lace/package'
|
2
|
+
require 'lace/exceptions'
|
3
|
+
|
4
|
+
module Lace extend self
|
5
|
+
def where
|
6
|
+
package_name = ARGV.shift
|
7
|
+
raise ResourceNotSpecified unless package_name
|
8
|
+
begin
|
9
|
+
package = Package.new(package_name, false)
|
10
|
+
puts "#{package.path}"
|
11
|
+
rescue PackageFactsNotFound => e
|
12
|
+
onoe "asd"
|
13
|
+
Lace.failed = true
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -155,9 +155,9 @@ class GitDownloadStrategy < AbstractDownloadStrategy
|
|
155
155
|
if super
|
156
156
|
super
|
157
157
|
elsif @uri.include? "github.com"
|
158
|
-
|
158
|
+
@uri.split("/")[-2]
|
159
159
|
elsif File.directory? @uri
|
160
|
-
|
160
|
+
File.basename(@uri)
|
161
161
|
else
|
162
162
|
raise "Cannot determine a proper name with #@uri"
|
163
163
|
end
|
@@ -177,15 +177,8 @@ end
|
|
177
177
|
|
178
178
|
|
179
179
|
class DownloadStrategyDetector
|
180
|
-
def self.detect(uri
|
181
|
-
if strategy.nil?
|
180
|
+
def self.detect(uri)
|
182
181
|
detect_from_uri(uri)
|
183
|
-
elsif Symbol === strategy
|
184
|
-
detect_from_symbol(strategy)
|
185
|
-
else
|
186
|
-
raise TypeError,
|
187
|
-
"Unknown download strategy specification #{strategy.inspect}"
|
188
|
-
end
|
189
182
|
end
|
190
183
|
|
191
184
|
def self.detect_from_uri(uri)
|
@@ -200,20 +193,11 @@ class DownloadStrategyDetector
|
|
200
193
|
end
|
201
194
|
|
202
195
|
case uri
|
203
|
-
|
204
|
-
|
196
|
+
when %r[^git://] then GitDownloadStrategy
|
197
|
+
when %r[^https?://.+\.git$] then GitDownloadStrategy
|
205
198
|
# else CurlDownloadStrategy
|
206
199
|
else
|
207
200
|
raise "Cannot determine download startegy from #{uri}"
|
208
201
|
end
|
209
202
|
end
|
210
|
-
|
211
|
-
def self.detect_from_symbol(symbol)
|
212
|
-
case symbol
|
213
|
-
when :git then GitDownloadStrategy
|
214
|
-
when :local_file then LocalFileStrategy
|
215
|
-
else
|
216
|
-
raise "Unknown download strategy #{strategy} was requested."
|
217
|
-
end
|
218
|
-
end
|
219
203
|
end
|
data/lib/lace/exceptions.rb
CHANGED
data/lib/lace/package.rb
CHANGED
data/lib/lace/package/utils.rb
CHANGED
@@ -5,7 +5,7 @@ class PackageUtils
|
|
5
5
|
def self.fetch uri, desired_package_name=nil
|
6
6
|
downloader_cls = DownloadStrategyDetector.detect(uri)
|
7
7
|
downloader = downloader_cls.new(uri, desired_package_name)
|
8
|
-
raise PackageAlreadyInstalled.new if downloader.target_folder.exist?
|
8
|
+
raise PackageAlreadyInstalled.new(downloader.target_folder) if downloader.target_folder.exist?
|
9
9
|
downloader.fetch
|
10
10
|
return downloader.name, downloader.target_folder
|
11
11
|
end
|
data/lib/lace/utils.rb
CHANGED
data/lib/lace/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kai Richard Koenig
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Lace lets you manage your dotfiles when using them on multiple machines
|
14
14
|
email: kai@kairichardkoenig.de
|
@@ -17,6 +17,7 @@ executables:
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
+
- bin/lace
|
20
21
|
- lib/cmd/activate.rb
|
21
22
|
- lib/cmd/deactivate.rb
|
22
23
|
- lib/cmd/fetch.rb
|
@@ -28,18 +29,18 @@ files:
|
|
28
29
|
- lib/cmd/update.rb
|
29
30
|
- lib/cmd/upgrade.rb
|
30
31
|
- lib/cmd/validate.rb
|
32
|
+
- lib/cmd/where.rb
|
31
33
|
- lib/extend/ARGV.rb
|
32
34
|
- lib/extend/pathname.rb
|
35
|
+
- lib/lace.rb
|
33
36
|
- lib/lace/download_strategy.rb
|
34
37
|
- lib/lace/exceptions.rb
|
38
|
+
- lib/lace/package.rb
|
35
39
|
- lib/lace/package/facts.rb
|
36
40
|
- lib/lace/package/package.rb
|
37
41
|
- lib/lace/package/utils.rb
|
38
|
-
- lib/lace/package.rb
|
39
42
|
- lib/lace/utils.rb
|
40
43
|
- lib/lace/version.rb
|
41
|
-
- lib/lace.rb
|
42
|
-
- bin/lace
|
43
44
|
homepage: https://github.com/kairichard/lace
|
44
45
|
licenses:
|
45
46
|
- MIT
|
@@ -50,17 +51,16 @@ require_paths:
|
|
50
51
|
- lib
|
51
52
|
required_ruby_version: !ruby/object:Gem::Requirement
|
52
53
|
requirements:
|
53
|
-
- -
|
54
|
+
- - ">="
|
54
55
|
- !ruby/object:Gem::Version
|
55
56
|
version: 1.8.6
|
56
57
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
58
|
requirements:
|
58
|
-
- -
|
59
|
+
- - ">="
|
59
60
|
- !ruby/object:Gem::Version
|
60
61
|
version: '0'
|
61
62
|
requirements: []
|
62
|
-
|
63
|
-
rubygems_version: 2.1.11
|
63
|
+
rubygems_version: 3.1.2
|
64
64
|
signing_key:
|
65
65
|
specification_version: 4
|
66
66
|
summary: Manage your .dotfiles
|