carthage_cache 0.5.0 → 0.6.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da15d9b92179c1ef699d0a5ed85869629ccee8db
|
4
|
+
data.tar.gz: ef4d5a77a49672356342377fc5689f7f1d06c50f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9d5d9f3b83ff9d91de56782e18d175a245563a3e9ae7a2ee4469b0cf2207c8f44c2a5be68c7069182285903958e057dc8c93e6ec176ce2b40b0c9bfaaf651b3
|
7
|
+
data.tar.gz: 00aeac5ac3d4a6539a6f5b5c2ab9f22462cfcd05636ccccb17a010e33ad12610403332ede8120f2ee7f74a4fa8586b2abd20ed116e7c1a795544a4dc4d68ef09
|
data/exe/carthage_cache
CHANGED
@@ -55,10 +55,16 @@ command :publish do |c|
|
|
55
55
|
c.option '-f', '--force', 'Forces to create a new archive even if an archive already exist.'
|
56
56
|
c.option '-p', '--prune-build-directory', 'Removes unused frameworks from build directory.'
|
57
57
|
c.option '-w', '--prune-white-list PRUNE_WHITE_LIST', String, 'Path to a YAML file containing the prune white list.'
|
58
|
+
c.option '-x', '--platforms PLATFORMS', String, 'A comma separated list of platforms that should be archived. Platforms not present in this list won\'t be archived'
|
58
59
|
c.action do |args, options|
|
59
60
|
options.default force: false, prune: false
|
60
61
|
app = CarthageCache::Application.new(args.first || ".", verbose, config)
|
61
|
-
|
62
|
+
platforms = options.platforms.split(",") if options.platforms
|
63
|
+
if platforms.empty?
|
64
|
+
puts "If you pass -x or --platforms option the you must specify at least one platform."
|
65
|
+
exit 1
|
66
|
+
end
|
67
|
+
app.create_archive(options.force, options.prune_build_directory, options.prune_white_list, platforms)
|
62
68
|
end
|
63
69
|
end
|
64
70
|
|
@@ -35,10 +35,10 @@ module CarthageCache
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
def create_archive(force = false, prune = false, prune_white_list = nil)
|
38
|
+
def create_archive(force = false, prune = false, prune_white_list = nil, platforms = nil)
|
39
39
|
if force || !archive_exist?
|
40
40
|
prune_build_directory(prune_white_list) if prune
|
41
|
-
archive_builder.build
|
41
|
+
archive_builder.build(platforms)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
@@ -14,8 +14,8 @@ module CarthageCache
|
|
14
14
|
@project = project
|
15
15
|
end
|
16
16
|
|
17
|
-
def build
|
18
|
-
archive_path = archive
|
17
|
+
def build(platforms = nil)
|
18
|
+
archive_path = archive(platforms)
|
19
19
|
upload_archive(archive_path)
|
20
20
|
# TODO check if some old archives can be deleted
|
21
21
|
# I would store the last N archives and then delete
|
@@ -24,14 +24,11 @@ module CarthageCache
|
|
24
24
|
|
25
25
|
private
|
26
26
|
|
27
|
-
def archive
|
28
|
-
# TODO Check() that only dependencies that appear
|
29
|
-
# in Cartfile.resolved file are going to be archived.
|
30
|
-
# This will avoid saving unused dependencies into
|
31
|
-
# the archive.
|
27
|
+
def archive(platforms = nil)
|
32
28
|
archive_path = File.join(project.tmpdir, project.archive_filename)
|
33
29
|
terminal.puts "Archiving Carthage build directory."
|
34
|
-
|
30
|
+
filter_block = ->(platform) { platforms.map(&:downcase).include?(platform.downcase) } if platforms
|
31
|
+
archiver.archive(project.carthage_build_directory, archive_path, &filter_block)
|
35
32
|
archive_path
|
36
33
|
end
|
37
34
|
|
@@ -8,8 +8,9 @@ module CarthageCache
|
|
8
8
|
@executor = executor
|
9
9
|
end
|
10
10
|
|
11
|
-
def archive(archive_path, destination_path)
|
11
|
+
def archive(archive_path, destination_path, &filter_block)
|
12
12
|
files = Dir.entries(archive_path).select { |x| !x.start_with?(".") }
|
13
|
+
files = files.select(&filter_block) if filter_block
|
13
14
|
executor.execute("cd #{archive_path} && zip -r -X #{File.expand_path(destination_path)} #{files.join(' ')} > /dev/null")
|
14
15
|
end
|
15
16
|
|
@@ -20,10 +20,11 @@ module CarthageCache
|
|
20
20
|
if delete_framework?(framework_path, white_list)
|
21
21
|
terminal.vputs "Deleting '#{framework_path}' because is not longer needed."
|
22
22
|
FileUtils.rm_r(framework_path)
|
23
|
-
FileUtils.rm_r("#{framework_path}.dSYM")
|
24
|
-
# TODO delete corresponding .bcsymbolmap file
|
25
23
|
end
|
26
24
|
end
|
25
|
+
|
26
|
+
symbol_table_files.each { |x| FileUtils.rm_r(x) }
|
27
|
+
dsym_files.each { |x| FileUtils.rm_r(x) }
|
27
28
|
end
|
28
29
|
|
29
30
|
private
|
@@ -41,6 +42,14 @@ module CarthageCache
|
|
41
42
|
Dir[File.join(build_directory, "/**/*.framework")]
|
42
43
|
end
|
43
44
|
|
45
|
+
def symbol_table_files
|
46
|
+
Dir[File.join(build_directory, "/**/*.bcsymbolmap")]
|
47
|
+
end
|
48
|
+
|
49
|
+
def dsym_files
|
50
|
+
Dir[File.join(build_directory, "/**/*.dSYM")]
|
51
|
+
end
|
52
|
+
|
44
53
|
def framework_name(framework_path)
|
45
54
|
Pathname.new(framework_path).basename(".framework").to_s
|
46
55
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carthage_cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guido Marucci Blas
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|