carthage_remote_cache 0.0.3 → 0.0.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 -5
- data/.travis.yml +5 -0
- data/Gemfile.lock +41 -3
- data/Guardfile +6 -0
- data/README.md +58 -10
- data/Rakefile +8 -4
- data/bin/carthagerc +67 -62
- data/carthage_remote_cache.gemspec +20 -11
- data/lib/api.rb +37 -32
- data/lib/carthage_archive.rb +84 -77
- data/lib/carthage_dependency.rb +72 -48
- data/lib/carthage_remote_cache.rb +2 -0
- data/lib/commands/download_command.rb +66 -48
- data/lib/commands/init_command.rb +18 -20
- data/lib/commands/server_command.rb +11 -13
- data/lib/commands/upload_command.rb +58 -43
- data/lib/configuration.rb +78 -76
- data/lib/constants.rb +1 -1
- data/lib/errors.rb +8 -8
- data/lib/networking.rb +75 -77
- data/lib/server/server_app.rb +44 -44
- data/lib/shell_wrapper.rb +32 -0
- data/lib/utils.rb +49 -41
- data/lib/version.rb +1 -0
- data/lib/version_file.rb +71 -73
- metadata +77 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 419b8edd1e39136269db80965bcffb2fe4e6207f7b83459e549a37f4beac9f7c
|
4
|
+
data.tar.gz: 0c83197b67a7e6b5ef504a1811a533a082c98152e07315414d346eb97049a9fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b4aaad19ca7a53f5ce85fa801c22fe019c66a3281ecb6d239516d8d0c94418201b1974d149ff44fc2e22b6a5085227f9280680b0aef1bc0700ea480fa4a1310
|
7
|
+
data.tar.gz: 5fd1d49c2c75c9ffa64fc36cad248ee4cb670abab779f821582cdfc8b656ba175ece52608a6017022d2ffabd1997bda53c442229d14b876041f557929396bbc9
|
data/.travis.yml
ADDED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
carthage_remote_cache (0.0.
|
4
|
+
carthage_remote_cache (0.0.4)
|
5
5
|
concurrent-ruby (~> 1.0.5)
|
6
6
|
rack (~> 2.0.4)
|
7
7
|
rest-client (~> 2.0.2)
|
@@ -10,25 +10,53 @@ PATH
|
|
10
10
|
GEM
|
11
11
|
remote: https://rubygems.org/
|
12
12
|
specs:
|
13
|
+
coderay (1.1.2)
|
13
14
|
concurrent-ruby (1.0.5)
|
14
15
|
domain_name (0.5.20170404)
|
15
16
|
unf (>= 0.0.5, < 1.0.0)
|
16
|
-
ffi (1.9.
|
17
|
+
ffi (1.9.21)
|
18
|
+
formatador (0.2.5)
|
19
|
+
guard (2.14.2)
|
20
|
+
formatador (>= 0.2.4)
|
21
|
+
listen (>= 2.7, < 4.0)
|
22
|
+
lumberjack (>= 1.0.12, < 2.0)
|
23
|
+
nenv (~> 0.1)
|
24
|
+
notiffany (~> 0.0)
|
25
|
+
pry (>= 0.9.12)
|
26
|
+
shellany (~> 0.0)
|
27
|
+
thor (>= 0.18.1)
|
28
|
+
guard-compat (1.2.1)
|
29
|
+
guard-test (2.0.8)
|
30
|
+
guard-compat (~> 1.2)
|
31
|
+
test-unit (~> 3.0)
|
17
32
|
http-cookie (1.0.3)
|
18
33
|
domain_name (~> 0.5)
|
19
34
|
listen (3.1.5)
|
20
35
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
21
36
|
rb-inotify (~> 0.9, >= 0.9.7)
|
22
37
|
ruby_dep (~> 1.2)
|
38
|
+
lumberjack (1.0.12)
|
39
|
+
metaclass (0.0.4)
|
40
|
+
method_source (0.9.0)
|
23
41
|
mime-types (3.1)
|
24
42
|
mime-types-data (~> 3.2015)
|
25
43
|
mime-types-data (3.2016.0521)
|
44
|
+
mocha (1.3.0)
|
45
|
+
metaclass (~> 0.0.1)
|
26
46
|
mustermann (1.0.1)
|
47
|
+
nenv (0.3.0)
|
27
48
|
netrc (0.11.0)
|
49
|
+
notiffany (0.1.1)
|
50
|
+
nenv (~> 0.1)
|
51
|
+
shellany (~> 0.0)
|
52
|
+
power_assert (1.1.1)
|
53
|
+
pry (0.11.3)
|
54
|
+
coderay (~> 1.1.0)
|
55
|
+
method_source (~> 0.9.0)
|
28
56
|
rack (2.0.4)
|
29
57
|
rack-protection (2.0.0)
|
30
58
|
rack
|
31
|
-
rake (10.
|
59
|
+
rake (10.5.0)
|
32
60
|
rb-fsevent (0.10.2)
|
33
61
|
rb-inotify (0.9.10)
|
34
62
|
ffi (>= 0.5.0, < 2)
|
@@ -39,11 +67,16 @@ GEM
|
|
39
67
|
mime-types (>= 1.16, < 4.0)
|
40
68
|
netrc (~> 0.8)
|
41
69
|
ruby_dep (1.5.0)
|
70
|
+
rufo (0.2.0)
|
71
|
+
shellany (0.0.1)
|
42
72
|
sinatra (2.0.0)
|
43
73
|
mustermann (~> 1.0)
|
44
74
|
rack (~> 2.0)
|
45
75
|
rack-protection (= 2.0.0)
|
46
76
|
tilt (~> 2.0)
|
77
|
+
test-unit (3.2.7)
|
78
|
+
power_assert
|
79
|
+
thor (0.20.0)
|
47
80
|
tilt (2.0.8)
|
48
81
|
unf (0.1.4)
|
49
82
|
unf_ext
|
@@ -55,8 +88,13 @@ PLATFORMS
|
|
55
88
|
DEPENDENCIES
|
56
89
|
bundler (~> 1.16)
|
57
90
|
carthage_remote_cache!
|
91
|
+
guard (~> 2.14.2)
|
92
|
+
guard-test (~> 2.0.8)
|
93
|
+
mocha (~> 1.3.0)
|
58
94
|
rake (~> 10.0)
|
59
95
|
rerun
|
96
|
+
rufo
|
97
|
+
test-unit (~> 3.2.7)
|
60
98
|
|
61
99
|
BUNDLED WITH
|
62
100
|
1.16.1
|
data/Guardfile
ADDED
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# CarthageRemoteCache
|
2
2
|
|
3
|
+
[](https://travis-ci.org/kayak/carthage_remote_cache)
|
4
|
+
[](https://badge.fury.io/rb/carthage_remote_cache)
|
5
|
+
|
3
6
|
Centralized cache to serve Carthage frameworks. Useful for distributed CI setup with several build machines. It's aware of your `xcodebuild` and `swift` versions and builds on top of Carthage's `.xyz.version` file mechanism.
|
4
7
|
|
5
8
|
## Installation
|
@@ -8,6 +11,8 @@ The gem is published at [rubygems.org](https://rubygems.org/gems/carthage_remote
|
|
8
11
|
|
9
12
|
$ gem install carthage_remote_cache
|
10
13
|
|
14
|
+
_Note: Installing ri documentation for sinatra can be quite slow. Install with_ `--no-rdoc --no-ri` _if you don't want to wait._
|
15
|
+
|
11
16
|
## Quickstart
|
12
17
|
|
13
18
|
1. Run `carthagerc server` to start the cache on a remote server
|
@@ -28,7 +33,7 @@ Before running any other commands, it's required to initialize `carthagerc` in y
|
|
28
33
|
Which produces a `Cartrcfile`. Configuration is done via plain `ruby` code, so it is as simple as:
|
29
34
|
|
30
35
|
Configuration.setup do |c|
|
31
|
-
|
36
|
+
c.server = "http://localhost:9292/"
|
32
37
|
end
|
33
38
|
|
34
39
|
`Cartrcfile` is supposed to be version controlled (e.g. included in git repository), so that it lives along your code and all consumers of the repository have access to same configuration.
|
@@ -45,15 +50,15 @@ Start the upload with:
|
|
45
50
|
|
46
51
|
After couple of seconds you should be able to see confirmation in terminal:
|
47
52
|
|
48
|
-
Uploaded 53 archives, skipped 0.
|
53
|
+
Uploaded 53 archives (97.2 MB), skipped 0.
|
49
54
|
|
50
55
|
#### Overwriting Existing Cache
|
51
56
|
|
52
57
|
Attempting to run `carthagerc upload` again will not upload any framework binaries, since all of them are already present on the cache server:
|
53
58
|
|
54
|
-
Uploaded
|
59
|
+
Uploaded 0 archives (0.0 MB), skipped 53.
|
55
60
|
|
56
|
-
If your cache
|
61
|
+
If your cache happens to be tainted by invalid framework binaries, you can overwrite existing cache with
|
57
62
|
|
58
63
|
$ carthagerc upload --force
|
59
64
|
|
@@ -69,7 +74,7 @@ Once cache server has been populated with framework binaries, it's time to fetch
|
|
69
74
|
|
70
75
|
You should expect to see following output on a machine with empty `Carthage` folder:
|
71
76
|
|
72
|
-
Downloaded and extracted 53 archives, skipped 0 archives.
|
77
|
+
Downloaded and extracted 53 archives (97.2 MB), skipped 0 archives.
|
73
78
|
|
74
79
|
Your project should be ready for building.
|
75
80
|
|
@@ -117,6 +122,30 @@ Server is bound to port 9292 by default. If you need to use different port, spec
|
|
117
122
|
|
118
123
|
Don't forget to change port number in your version controlled `Cartrcfile`.
|
119
124
|
|
125
|
+
#### Directory Structure
|
126
|
+
|
127
|
+
Cache server stores version files and framework archives in following directory structure:
|
128
|
+
|
129
|
+
.carthagerc_server/
|
130
|
+
9C40b/ # Xcode version
|
131
|
+
4.0.3/ # Swift version
|
132
|
+
Framework1/
|
133
|
+
1.0.0/ # Framework1 version
|
134
|
+
.Framework1.version # Carthage .version file
|
135
|
+
Framework1-iOS.zip # Framework binary, dSYM and bcsymbolmap files
|
136
|
+
Framework1-macOS.zip
|
137
|
+
Framework1-tvOS.zip
|
138
|
+
Framework1-watchOS.zip
|
139
|
+
2.0.3/ # Framework1 version
|
140
|
+
.Framework1.version
|
141
|
+
Framework1-iOS.zip
|
142
|
+
Framework2/
|
143
|
+
v3.2/ # Framework2 version
|
144
|
+
.Framework2.version
|
145
|
+
Framework2-iOS.zip
|
146
|
+
|
147
|
+
It's safe to delete whole directories since no other metadata is stored.
|
148
|
+
|
120
149
|
#### Launch Agent
|
121
150
|
|
122
151
|
You can also run the cache server as a launch agent. Copy the template [com.kayak.carthagerc.server.plist](https://github.com/kayak/carthage_remote_cache/blob/master/com.kayak.carthagerc.server.plist) file to `~/Library/LaunchAgents`, change log
|
@@ -128,7 +157,11 @@ If you want to stop the agent, run:
|
|
128
157
|
|
129
158
|
$ launchctl unload ~/Library/LaunchAgents/com.kayak.carthagerc.server.plist
|
130
159
|
|
131
|
-
Check out official documentation on [Launch Agents](https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html) for more info.
|
160
|
+
Check out official documentation on [Launch Agents](https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html) for more info.
|
161
|
+
|
162
|
+
### Version
|
163
|
+
|
164
|
+
$ carthagerc version
|
132
165
|
|
133
166
|
### Help
|
134
167
|
|
@@ -140,7 +173,7 @@ Documentation is also available when running `carthagerc` or `carthagerc --help`
|
|
140
173
|
|
141
174
|
COMMANDS
|
142
175
|
config
|
143
|
-
|
176
|
+
print environment information and Cartrcfile configuration
|
144
177
|
|
145
178
|
download [-f|--force] [-v|--verbose]
|
146
179
|
fetch missing frameworks into Carthage/Build
|
@@ -154,6 +187,9 @@ Documentation is also available when running `carthagerc` or `carthagerc --help`
|
|
154
187
|
server [-pPORT|--port=PORT]
|
155
188
|
start cache server
|
156
189
|
|
190
|
+
version
|
191
|
+
print current version number
|
192
|
+
|
157
193
|
OPTIONS
|
158
194
|
-f, --force Force upload/download of framework archives even if local and server .version files match
|
159
195
|
-h, --help Show help
|
@@ -162,15 +198,27 @@ Documentation is also available when running `carthagerc` or `carthagerc --help`
|
|
162
198
|
|
163
199
|
## Development
|
164
200
|
|
201
|
+
### Setup
|
202
|
+
|
165
203
|
After checking out the repo, run `dev/setup` to install dependencies. You can also run `dev/console` for an interactive prompt that will allow you to experiment.
|
166
204
|
|
205
|
+
### Development Server
|
206
|
+
|
167
207
|
To start development server, run `dev/start_server`, which utilizes `rerun` for automatic reloading of source code and resources.
|
168
208
|
|
169
|
-
|
209
|
+
### Tests
|
210
|
+
|
211
|
+
Execute unit tests with `rake test` or start monitoring directories for changes with `bundle exec guard`.
|
212
|
+
|
213
|
+
### Source Code Format
|
214
|
+
|
215
|
+
Before committing, make sure to auto-format source code wit `rake format`.
|
216
|
+
|
217
|
+
### Gem Lifecycle
|
170
218
|
|
171
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `
|
219
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org/gems/carthage_remote_cache).
|
172
220
|
|
173
|
-
### Example Folder
|
221
|
+
### Experiments With Example Folder
|
174
222
|
|
175
223
|
Repository is bundled with an example Carthage setup for your experiments. Open the [example](https://github.com/kayak/carthage_remote_cache/blob/master/example) folder, where you should be able to see following files, which are preconfigured to bring in a couple of frameworks:
|
176
224
|
- Cartfile
|
data/Rakefile
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
-
require
|
2
|
+
require "rake/testtask"
|
3
3
|
|
4
4
|
task :default => :spec
|
5
5
|
|
6
6
|
Rake::TestTask.new do |t|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
t.libs << "test"
|
8
|
+
t.test_files = FileList['test/*_tests.rb']
|
9
|
+
t.verbose = true
|
10
|
+
end
|
11
|
+
|
12
|
+
task :format do
|
13
|
+
system('rufo bin/carthagerc lib test Gemfile Guardfile Rakefile carthage_remote_cache.gemspec')
|
10
14
|
end
|
data/bin/carthagerc
CHANGED
@@ -8,78 +8,83 @@ require 'commands'
|
|
8
8
|
|
9
9
|
ARGV << '-h' if ARGV.empty?
|
10
10
|
options = {
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
:force => false,
|
12
|
+
:server_port => SERVER_DEFAULT_PORT,
|
13
|
+
:verbose => false,
|
14
14
|
}
|
15
15
|
opt_parser = OptionParser.new do |opt|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
16
|
+
opt.banner = "carthagerc COMMAND [OPTIONS]"
|
17
|
+
opt.separator ""
|
18
|
+
opt.separator "DESCRIPTION"
|
19
|
+
opt.separator " carthagerc is a centralized remote cache for Carthage framework artifacts. Check out project information at https://github.com/kayak/carthage_remote_cache"
|
20
|
+
opt.separator ""
|
21
|
+
opt.separator "QUICKSTART"
|
22
|
+
opt.separator " 1. Run `carthagerc server` to start the cache on a remote server"
|
23
|
+
opt.separator " 2. `cd` to your project's root folder"
|
24
|
+
opt.separator " 3. Run `carthagerc init` to create `Cartrcfile` and point the server property to your running server URL"
|
25
|
+
opt.separator " 4. Assuming your `Carthage` directory is already built, run `carthagerc upload` to populate remote cache"
|
26
|
+
opt.separator " 5. Push your `Cartrcfile` and from a different machine run `cartrcfile download` to fetch frameworks into `Carthage/Build/` folder"
|
27
|
+
opt.separator " 6. Build your app without having to wait for `carthage bootstrap`"
|
28
|
+
opt.separator ""
|
29
|
+
opt.separator "COMMANDS"
|
30
|
+
opt.separator " config"
|
31
|
+
opt.separator " print environment information and #{CARTRCFILE} configuration"
|
32
|
+
opt.separator ""
|
33
|
+
opt.separator " download [-f|--force] [-v|--verbose]"
|
34
|
+
opt.separator " fetch missing frameworks into Carthage/Build"
|
35
|
+
opt.separator ""
|
36
|
+
opt.separator " init"
|
37
|
+
opt.separator " create initial #{CARTRCFILE} in current directory"
|
38
|
+
opt.separator ""
|
39
|
+
opt.separator " upload [-f|--force] [-v|--verbose]"
|
40
|
+
opt.separator " archive frameworks in Carthage/Build and upload them to the server"
|
41
|
+
opt.separator ""
|
42
|
+
opt.separator " server [-pPORT|--port=PORT]"
|
43
|
+
opt.separator " start cache server"
|
44
|
+
opt.separator ""
|
45
|
+
opt.separator " version"
|
46
|
+
opt.separator " print current version number"
|
47
|
+
opt.separator ""
|
48
|
+
opt.separator "OPTIONS"
|
46
49
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
+
opt.on("-f", "--force", "Force upload/download of framework archives even if local and server .version files match") do
|
51
|
+
options[:force] = true
|
52
|
+
end
|
50
53
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
54
|
+
opt.on("-h", "--help", "Show help") do
|
55
|
+
puts opt_parser
|
56
|
+
exit
|
57
|
+
end
|
55
58
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
+
opt.on("-pPORT", "--port=PORT", "Server application port used when starting server, default port is #{SERVER_DEFAULT_PORT}") do |port|
|
60
|
+
options[:server_port] = port
|
61
|
+
end
|
59
62
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
+
opt.on("-v", "--verbose", "Show extra runtime information") do
|
64
|
+
$LOG.level = Logger::DEBUG
|
65
|
+
end
|
63
66
|
end
|
64
67
|
|
65
68
|
opt_parser.parse!
|
66
69
|
|
67
70
|
begin
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
71
|
+
command = ARGV[0]
|
72
|
+
case command
|
73
|
+
when "config"
|
74
|
+
puts Configuration.new_with_defaults
|
75
|
+
when "download"
|
76
|
+
DownloadCommand.new_with_defaults(options).run
|
77
|
+
when "init"
|
78
|
+
InitCommand.new(options).run
|
79
|
+
when "upload"
|
80
|
+
UploadCommand.new_with_defaults(options).run
|
81
|
+
when "server"
|
82
|
+
ServerCommand.new(options).run
|
83
|
+
when "version"
|
84
|
+
puts VERSION
|
85
|
+
else
|
86
|
+
bail("Unsupported command #{command}, run with --help to show available commands")
|
87
|
+
end
|
83
88
|
rescue AppError => e
|
84
|
-
|
89
|
+
bail(e.message)
|
85
90
|
end
|
@@ -1,24 +1,33 @@
|
|
1
|
+
lib = File.expand_path("../lib", __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require "version"
|
4
|
+
|
1
5
|
Gem::Specification.new do |spec|
|
2
|
-
spec.name
|
3
|
-
spec.version
|
6
|
+
spec.name = "carthage_remote_cache"
|
7
|
+
spec.version = VERSION
|
4
8
|
|
5
|
-
spec.summary
|
6
|
-
spec.description
|
7
|
-
spec.homepage
|
8
|
-
spec.license
|
9
|
-
spec.authors
|
10
|
-
spec.email
|
9
|
+
spec.summary = %q{Centralized cache to serve carthage frameworks. Useful for distributed CI setup with several build machines.}
|
10
|
+
spec.description = spec.summary
|
11
|
+
spec.homepage = "https://github.com/kayak/carthage_remote_cache"
|
12
|
+
spec.license = "Apache-2.0"
|
13
|
+
spec.authors = ["Juraj Blahunka"]
|
14
|
+
spec.email = ["jblahunka@kayak.com"]
|
11
15
|
|
12
|
-
spec.files
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
13
17
|
f.match(%r{^(test|spec|features|example)/})
|
14
18
|
end
|
15
|
-
spec.bindir
|
16
|
-
spec.executables
|
19
|
+
spec.bindir = "bin"
|
20
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
21
|
spec.require_paths = ["lib"]
|
18
22
|
|
19
23
|
spec.add_development_dependency "bundler", "~> 1.16"
|
24
|
+
spec.add_development_dependency "guard", "~> 2.14.2"
|
25
|
+
spec.add_development_dependency "guard-test", "~> 2.0.8"
|
26
|
+
spec.add_development_dependency "mocha", "~> 1.3.0"
|
20
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
21
28
|
spec.add_development_dependency "rerun"
|
29
|
+
spec.add_development_dependency "rufo"
|
30
|
+
spec.add_development_dependency "test-unit", "~> 3.2.7"
|
22
31
|
|
23
32
|
spec.add_runtime_dependency "concurrent-ruby", "~> 1.0.5"
|
24
33
|
spec.add_runtime_dependency "rack", "~> 2.0.4"
|
data/lib/api.rb
CHANGED
@@ -1,40 +1,45 @@
|
|
1
1
|
class API
|
2
|
+
def initialize(shell, networking, options)
|
3
|
+
@shell = shell
|
4
|
+
@networking = networking
|
5
|
+
@options = options
|
6
|
+
end
|
2
7
|
|
3
|
-
|
4
|
-
|
5
|
-
|
8
|
+
def version_file_matches_server?(carthage_dependency, version_file)
|
9
|
+
if @options[:force]
|
10
|
+
false
|
11
|
+
else
|
12
|
+
server_version_file = @networking.download_version_file(carthage_dependency)
|
13
|
+
result = version_file.same_content?(server_version_file)
|
14
|
+
server_version_file.remove unless server_version_file.nil?
|
15
|
+
result
|
6
16
|
end
|
17
|
+
end
|
7
18
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
19
|
+
# @return zip archive size in Bytes
|
20
|
+
def create_and_upload_archive(carthage_dependency, framework_name, platform)
|
21
|
+
archive = CarthageArchive.new(framework_name, platform)
|
22
|
+
archive.create_archive(@shell, carthage_dependency.should_include_dsym)
|
23
|
+
archive_size = archive.archive_size
|
24
|
+
begin
|
25
|
+
@networking.upload_framework_archive(archive.archive_path, carthage_dependency, framework_name, platform)
|
26
|
+
ensure
|
27
|
+
archive.delete_archive
|
17
28
|
end
|
29
|
+
archive_size
|
30
|
+
end
|
18
31
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
32
|
+
# @return zip archive size in Bytes or nil if archive download failed
|
33
|
+
def download_and_unpack_archive(carthage_dependency, framework_name, platform)
|
34
|
+
archive = @networking.download_framework_archive(carthage_dependency, framework_name, platform)
|
35
|
+
return nil if archive.nil?
|
36
|
+
archive_size = archive.archive_size
|
37
|
+
begin
|
38
|
+
$LOG.debug("Downloaded #{archive.archive_path}")
|
39
|
+
archive.unpack_archive(@shell)
|
40
|
+
ensure
|
41
|
+
archive.delete_archive
|
27
42
|
end
|
28
|
-
|
29
|
-
|
30
|
-
archive = @networking.download_framework_archive(carthage_dependency, framework_name, platform)
|
31
|
-
return nil if archive.nil?
|
32
|
-
begin
|
33
|
-
$LOG.debug("Downloaded #{archive.archive_path}")
|
34
|
-
archive.unpack_archive
|
35
|
-
ensure
|
36
|
-
archive.delete_archive
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
43
|
+
archive_size
|
44
|
+
end
|
40
45
|
end
|