carthage_remote_cache 0.0.6 → 0.0.7

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: c9bbfa634ee9bb3c1bfadcd969e0cee161b05b31
4
- data.tar.gz: 41a3a1a435a0db2570ca4165cc2056c44ecdaf44
3
+ metadata.gz: 9d72fcf3c6a1bd8bed3bf28731cb8be97eef6447
4
+ data.tar.gz: 99bf505f952e7cc72198b20d8a80c24900f77ebb
5
5
  SHA512:
6
- metadata.gz: d192c10e5ac5e87bd66deadb3808b688e7f471e7fbb9d30761edbe439c5ad29418e001edcc051d80e83935862cd625ba08edaee3c8deb3c5708eca1090be0b90
7
- data.tar.gz: f714d62a8a03134efa062bc061adeb121f8c9f4960ec22ca8b77b8d6a79e0c96332d5ada2dcb4864856007dffd24fb3d20177d1508211eb1ac3e407c52d5acff
6
+ metadata.gz: 9a68a8da37a77f7f7b7a374a927d75869f4b2970e3896ba2f02e43d4ad9b693ed4d635aa4fc2dc6df664309ed7ef9688f42ae3dc1e2bdf68a73e96fd61509ae8
7
+ data.tar.gz: e8fbdcb7ff274a4eeb05c869c467ca213a1aba0d9c667284049a58573e1c45bcdabfeeddcdbdb406785a9a525fe7ae9b39513e35d0c1baf75651b8f60413a036
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- carthage_remote_cache (0.0.6)
4
+ carthage_remote_cache (0.0.7)
5
5
  concurrent-ruby (~> 1.0.5)
6
6
  rack (~> 2.0.4)
7
7
  rest-client (~> 2.0.2)
8
- sinatra (~> 2.0.0)
8
+ sinatra (~> 2.0.1)
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
@@ -43,7 +43,7 @@ GEM
43
43
  mime-types-data (3.2016.0521)
44
44
  mocha (1.3.0)
45
45
  metaclass (~> 0.0.1)
46
- mustermann (1.0.1)
46
+ mustermann (1.0.2)
47
47
  nenv (0.3.0)
48
48
  netrc (0.11.0)
49
49
  notiffany (0.1.1)
@@ -54,7 +54,7 @@ GEM
54
54
  coderay (~> 1.1.0)
55
55
  method_source (~> 0.9.0)
56
56
  rack (2.0.4)
57
- rack-protection (2.0.0)
57
+ rack-protection (2.0.1)
58
58
  rack
59
59
  rake (10.5.0)
60
60
  rb-fsevent (0.10.2)
@@ -69,10 +69,10 @@ GEM
69
69
  ruby_dep (1.5.0)
70
70
  rufo (0.2.0)
71
71
  shellany (0.0.1)
72
- sinatra (2.0.0)
72
+ sinatra (2.0.1)
73
73
  mustermann (~> 1.0)
74
74
  rack (~> 2.0)
75
- rack-protection (= 2.0.0)
75
+ rack-protection (= 2.0.1)
76
76
  tilt (~> 2.0)
77
77
  test-unit (3.2.7)
78
78
  power_assert
data/README.md CHANGED
@@ -105,6 +105,39 @@ Which will print similar information:
105
105
  Local Build Frameworks:
106
106
  Attributions 0.3 [:iOS]
107
107
 
108
+ ### Verify Framework Versions
109
+
110
+ When switching between development branches, it's very easy to lose track of whether existing framework binaries in `Carthage/Build` match version numbers from `Cartfile.resolved`. As a result, you will probably lose several minutes of your development time, because `Xcode` doesn't tell you about outdated or missing framework binaries.
111
+
112
+ Luckily, `carthage_remote_cache` provides following command:
113
+
114
+ carthagerc verify
115
+
116
+ If existing frameworks match `Cartfile.resolved`, script exits with `0` and doesn't print anything.
117
+
118
+ In the event of framework version mismatch, you'll be able to observe following output:
119
+
120
+ Detected differences between existing frameworks in 'Carthage/Build' and entries in 'Cartfile.resolved':
121
+
122
+ +-----------------+----------------+-------------------+
123
+ | Framework | Carthage/Build | Cartfile.resolved |
124
+ +-----------------+----------------+-------------------+
125
+ | CocoaLumberjack | 3.2.1 | 3.4.1 |
126
+ | PhoneNumberKit | 1.3.0 | 2.1.0 |
127
+ | HelloWorld | - | 3.0.0 |
128
+ +-----------------+----------------+-------------------+
129
+
130
+ To resolve the issue:
131
+ - run `carthagerc download` to fetch missing frameworks from the server.
132
+ - if the issue persists, run `carthage bootstrap` to build frameworks and `carthagerc upload` to populate the server.
133
+
134
+ #### Git Hook
135
+
136
+ Running `carthagerc verify` manually on every git checkout / merge / pull could be quite cumbersome. To automate this task, integrate following script [carthagerc-verify-githook](https://github.com/kayak/carthage_remote_cache/blob/master/integrations/carthagerc-verify-githook) into your repository's git hooks, e.g. `post-checkout`.
137
+
138
+ See `$ man githooks` for all available git hooks and their documentation.
139
+
140
+
108
141
  ### Cache Server
109
142
 
110
143
  Start the server with
@@ -161,7 +194,7 @@ It's safe to delete whole directories since no other metadata is stored.
161
194
 
162
195
  #### Launch Agent
163
196
 
164
- 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
197
+ 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/integrations/com.kayak.carthagerc.server.plist) file to `~/Library/LaunchAgents`, change log
165
198
  paths to include your username and run:
166
199
 
167
200
  $ launchctl load -w ~/Library/LaunchAgents/com.kayak.carthagerc.server.plist
@@ -200,6 +233,9 @@ Documentation is also available when running `carthagerc` or `carthagerc --help`
200
233
  server [-pPORT|--port=PORT]
201
234
  start cache server
202
235
 
236
+ verify
237
+ compare versions from Cartfile.resolved to existing frameworks in Carthage/Build
238
+
203
239
  version
204
240
  print current version number
205
241
 
@@ -42,6 +42,9 @@ opt_parser = OptionParser.new do |opt|
42
42
  opt.separator " server [-pPORT|--port=PORT]"
43
43
  opt.separator " start cache server"
44
44
  opt.separator ""
45
+ opt.separator " verify"
46
+ opt.separator " compare versions from #{CARTFILE_RESOLVED} to existing frameworks in #{CARTHAGE_BUILD_DIR}"
47
+ opt.separator ""
45
48
  opt.separator " version"
46
49
  opt.separator " print current version number"
47
50
  opt.separator ""
@@ -80,10 +83,12 @@ begin
80
83
  UploadCommand.new_with_defaults(options).run
81
84
  when "server"
82
85
  ServerCommand.new(options).run
86
+ when "verify"
87
+ VerifyCommand.new_with_defaults(options).run
83
88
  when "version"
84
89
  puts VERSION
85
90
  else
86
- bail("Unsupported command #{command}, run with --help to show available commands")
91
+ bail("Unsupported command #{command}, run with --help to show available commands or see README at https://github.com/kayak/carthage_remote_cache")
87
92
  end
88
93
  rescue AppError => e
89
94
  bail(e.message)
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.email = ["jblahunka@kayak.com"]
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
- f.match(%r{^(test|spec|features|example)/})
17
+ f.match(%r{^(test|spec|features|example|integrations)/})
18
18
  end
19
19
  spec.bindir = "bin"
20
20
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -32,5 +32,5 @@ Gem::Specification.new do |spec|
32
32
  spec.add_runtime_dependency "concurrent-ruby", "~> 1.0.5"
33
33
  spec.add_runtime_dependency "rack", "~> 2.0.4"
34
34
  spec.add_runtime_dependency "rest-client", "~> 2.0.2"
35
- spec.add_runtime_dependency "sinatra", "~> 2.0.0"
35
+ spec.add_runtime_dependency "sinatra", "~> 2.0.1"
36
36
  end
data/lib/api.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  class API
2
- def initialize(shell, networking, options)
2
+ def initialize(shell, config, networking, options)
3
3
  @shell = shell
4
+ @config = config
4
5
  @networking = networking
5
6
  @options = options
6
7
  end
@@ -8,7 +9,28 @@ class API
8
9
  def verify_server_version
9
10
  server_version = @networking.get_server_version
10
11
  unless server_version == VERSION
11
- raise VersionMismatchError.new, version_mismatch_message(server_version)
12
+ raise ServerVersionMismatchError.new, version_mismatch_message(server_version)
13
+ end
14
+ end
15
+
16
+ def verify_build_dir_matches_cartfile_resolved
17
+ errors = []
18
+ for carthage_dependency in @config.carthage_resolved_dependencies
19
+ begin
20
+ version_file = carthage_dependency.new_version_file
21
+ carthage_dependency.verify_version_in_version_file(version_file)
22
+ rescue VersionFileDoesNotExistError => e
23
+ errors << OutdatedFrameworkBuildError.new(
24
+ carthage_dependency.guessed_framework_basename,
25
+ '-',
26
+ carthage_dependency.version
27
+ )
28
+ rescue OutdatedFrameworkBuildError => e
29
+ errors << e
30
+ end
31
+ end
32
+ if errors.count > 0
33
+ raise FrameworkValidationError.new(errors)
12
34
  end
13
35
  end
14
36
 
@@ -27,6 +27,10 @@ class CarthageDependency
27
27
  @version = args[:version]
28
28
  end
29
29
 
30
+ def new_version_file
31
+ VersionFile.new(version_filepath)
32
+ end
33
+
30
34
  # Since one Cartfile.resolved entry may produce multiple differently named frameworks,
31
35
  # this is an entry point to identifying a framework name.
32
36
  def guessed_framework_basename
@@ -65,25 +69,13 @@ class CarthageDependency
65
69
  end
66
70
  end
67
71
 
68
- def validate_version_file(version_file)
72
+ def verify_version_in_version_file(version_file)
69
73
  if @version != version_file.version
70
- raise OutdatedFrameworkBuildError.new, version_validation_message(version_file)
74
+ raise OutdatedFrameworkBuildError.new(guessed_framework_basename, version_file.version, @version)
71
75
  end
72
76
  end
73
77
 
74
78
  def to_s
75
79
  "#{@origin.to_s} \"#{@source}\" \"#{@version}\""
76
80
  end
77
-
78
- private
79
-
80
- def version_validation_message(version_file)
81
- <<~EOS
82
- Outdated version of '#{guessed_framework_basename}' framework detected:
83
- Expected version '#{@version}'
84
- Found version '#{version_file.version}'
85
-
86
- Please run `carthage bootstrap` to build frameworks.
87
- EOS
88
- end
89
81
  end
@@ -11,6 +11,7 @@ require 'errors'
11
11
  require 'log'
12
12
  require 'networking'
13
13
  require 'shell_wrapper'
14
+ require 'table'
14
15
  require 'utils'
15
16
  require 'version'
16
17
  require 'version_file'
@@ -5,3 +5,4 @@ require 'commands/download_command'
5
5
  require 'commands/init_command'
6
6
  require 'commands/server_command'
7
7
  require 'commands/upload_command'
8
+ require 'commands/verify_command'
@@ -5,7 +5,7 @@ class DownloadCommand
5
5
  shell = ShellWrapper.new
6
6
  config = Configuration.new(shell)
7
7
  networking = Networking.new(config)
8
- api = API.new(shell, networking, options)
8
+ api = API.new(shell, config, networking, options)
9
9
 
10
10
  DownloadCommand.new(
11
11
  config: config,
@@ -21,6 +21,7 @@ class DownloadCommand
21
21
  end
22
22
 
23
23
  def run
24
+ @config.ensure_shell_commands
24
25
  @api.verify_server_version
25
26
 
26
27
  pool = Concurrent::FixedThreadPool.new(THREAD_POOL_SIZE)
@@ -31,7 +32,7 @@ class DownloadCommand
31
32
  @total_archive_size = 0
32
33
  errors = Concurrent::Array.new
33
34
 
34
- for carthage_dependency in @config.carthage_dependencies
35
+ for carthage_dependency in @config.carthage_resolved_dependencies
35
36
  pool.post(carthage_dependency) do |carthage_dependency|
36
37
  begin
37
38
  download(carthage_dependency)
@@ -58,7 +59,7 @@ class DownloadCommand
58
59
  def download(carthage_dependency)
59
60
  local_version_file =
60
61
  if File.exist?(carthage_dependency.version_filepath)
61
- VersionFile.new(carthage_dependency.version_filepath)
62
+ carthage_dependency.new_version_file
62
63
  else
63
64
  nil
64
65
  end
@@ -5,7 +5,7 @@ class UploadCommand
5
5
  shell = ShellWrapper.new
6
6
  config = Configuration.new(shell)
7
7
  networking = Networking.new(config)
8
- api = API.new(shell, networking, options)
8
+ api = API.new(shell, config, networking, options)
9
9
 
10
10
  UploadCommand.new(
11
11
  config: config,
@@ -21,7 +21,9 @@ class UploadCommand
21
21
  end
22
22
 
23
23
  def run
24
+ @config.ensure_shell_commands
24
25
  @api.verify_server_version
26
+ @api.verify_build_dir_matches_cartfile_resolved
25
27
 
26
28
  pool = Concurrent::FixedThreadPool.new(THREAD_POOL_SIZE)
27
29
 
@@ -33,7 +35,7 @@ class UploadCommand
33
35
  @total_archive_size = 0
34
36
  errors = Concurrent::Array.new
35
37
 
36
- for carthage_dependency in @config.carthage_dependencies
38
+ for carthage_dependency in @config.carthage_resolved_dependencies
37
39
  pool.post(carthage_dependency) do |carthage_dependency|
38
40
  begin
39
41
  upload(carthage_dependency)
@@ -58,9 +60,7 @@ class UploadCommand
58
60
  private
59
61
 
60
62
  def upload(carthage_dependency)
61
- version_file = VersionFile.new(carthage_dependency.version_filepath)
62
-
63
- carthage_dependency.validate_version_file(version_file)
63
+ version_file = carthage_dependency.new_version_file
64
64
 
65
65
  if @api.version_file_matches_server?(carthage_dependency, version_file)
66
66
  $LOG.debug("Version file #{version_file.path} matches server version, skipping upload")
@@ -0,0 +1,18 @@
1
+ class VerifyCommand
2
+ def self.new_with_defaults(options)
3
+ shell = ShellWrapper.new
4
+ config = Configuration.new(shell)
5
+ networking = Networking.new(config)
6
+ api = API.new(shell, config, networking, options)
7
+
8
+ VerifyCommand.new(api: api)
9
+ end
10
+
11
+ def initialize(args)
12
+ @api = args[:api]
13
+ end
14
+
15
+ def run
16
+ @api.verify_build_dir_matches_cartfile_resolved
17
+ end
18
+ end
@@ -11,14 +11,15 @@ class Configuration
11
11
  yield(@@user_config)
12
12
  end
13
13
 
14
- attr_reader :xcodebuild_version, :swift_version, :carthage_dependencies, :server_uri
14
+ attr_reader :carthage_resolved_dependencies, :server_uri
15
15
 
16
16
  def self.new_with_defaults
17
17
  Configuration.new(ShellWrapper.new)
18
18
  end
19
19
 
20
20
  def initialize(shell)
21
- initialize_env(shell)
21
+ @shell = shell
22
+ initialize_cartfile_resolved
22
23
  initialize_cartrcfile
23
24
  end
24
25
 
@@ -26,16 +27,40 @@ class Configuration
26
27
  version_files.flat_map { |vf| vf.framework_names }.uniq.sort
27
28
  end
28
29
 
30
+ # Ensure, that these lazy properties are loaded before kicking off async code.
31
+ def ensure_shell_commands
32
+ xcodebuild_version
33
+ swift_version
34
+ end
35
+
36
+ def xcodebuild_version
37
+ if @xcodebuild_version.nil?
38
+ xcodebuild_raw_version = @shell.xcodebuild_version
39
+ @xcodebuild_version = xcodebuild_raw_version[/Build version (.*)$/, 1]
40
+ raise AppError.new, "Could not parse build version from '#{xcodebuild_raw_version}'" if @xcodebuild_version.nil?
41
+ end
42
+ @xcodebuild_version
43
+ end
44
+
45
+ def swift_version
46
+ if @swift_version.nil?
47
+ swift_raw_version = @shell.swift_version
48
+ @swift_version = swift_raw_version[/Apple Swift version (.*) \(/, 1]
49
+ raise AppError.new, "Could not parse swift version from '#{raw_swift_version}'" if @swift_version.nil?
50
+ end
51
+ @swift_version
52
+ end
53
+
29
54
  def to_s
30
55
  <<~EOS
31
- Xcodebuild: #{@xcodebuild_version}
56
+ Xcodebuild: #{xcodebuild_version}
32
57
  ---
33
- Swift: #{@swift_version}
58
+ Swift: #{swift_version}
34
59
  ---
35
60
  Server: #{@server_uri.to_s}
36
61
  ---
37
62
  Cartfile.resolved:
38
- #{@carthage_dependencies.join("\n")}
63
+ #{@carthage_resolved_dependencies.join("\n")}
39
64
  ---
40
65
  Local Build Frameworks:
41
66
  #{framework_names_with_platforms.join("\n")}
@@ -44,17 +69,9 @@ class Configuration
44
69
 
45
70
  private
46
71
 
47
- def initialize_env(shell)
48
- xcodebuild_raw_version = shell.xcodebuild_version
49
- @xcodebuild_version = xcodebuild_raw_version[/Build version (.*)$/, 1]
50
- raise AppError.new, "Could not parse build version from '#{xcodebuild_raw_version}'" if @xcodebuild_version.nil?
51
-
52
- swift_raw_version = shell.swift_version
53
- @swift_version = swift_raw_version[/Apple Swift version (.*) \(/, 1]
54
- raise AppError.new, "Could not parse swift version from '#{raw_swift_version}'" if @swift_version.nil?
55
-
72
+ def initialize_cartfile_resolved
56
73
  raise AppError.new, "Misssing #{CARTFILE_RESOLVED}" unless File.exist?(CARTFILE_RESOLVED)
57
- @carthage_dependencies = File.readlines(CARTFILE_RESOLVED)
74
+ @carthage_resolved_dependencies = File.readlines(CARTFILE_RESOLVED)
58
75
  .map { |line| CarthageDependency.parse_cartfile_resolved_line(line) }
59
76
  .compact
60
77
  end
@@ -79,6 +96,6 @@ class Configuration
79
96
  end
80
97
 
81
98
  def version_files
82
- @carthage_dependencies.map { |d| VersionFile.new(d.version_filepath) }
99
+ @carthage_resolved_dependencies.map { |d| d.new_version_file }
83
100
  end
84
101
  end
@@ -19,8 +19,53 @@ class MultipleErrorsError < AppError
19
19
  end
20
20
  end
21
21
 
22
- class OutdatedFrameworkBuildError < AppError; end
22
+ class VersionFileDoesNotExistError < AppError; end
23
+
24
+ class OutdatedFrameworkBuildError < AppError
25
+ attr_reader :framework_name, :build_version, :cartfile_resolved_version
26
+
27
+ def initialize(framework_name, build_version, cartfile_resolved_version)
28
+ @framework_name = framework_name
29
+ @build_version = build_version
30
+ @cartfile_resolved_version = cartfile_resolved_version
31
+ end
32
+
33
+ def ==(o)
34
+ self.class == o.class && state == o.state
35
+ end
36
+
37
+ def to_s
38
+ "framework name: #{@framework_name}, build version: #{@build_version}, resolved version: #{@cartfile_resolved_version}"
39
+ end
40
+
41
+ protected
42
+
43
+ def state
44
+ [@framework_name, @build_version, @cartfile_resolved_version]
45
+ end
46
+ end
47
+
48
+ class FrameworkValidationError < AppError
49
+ def initialize(errors)
50
+ @errors = errors
51
+ end
52
+
53
+ def to_s
54
+ header = ['Framework', CARTHAGE_BUILD_DIR, CARTFILE_RESOLVED]
55
+ rows = @errors.map { |e| [e.framework_name, e.build_version, e.cartfile_resolved_version] }
56
+ table = Table.new(header, rows)
57
+ <<~EOS
58
+ Detected differences between existing frameworks in '#{CARTHAGE_BUILD_DIR}' and entries in '#{CARTFILE_RESOLVED}':
59
+
60
+ #{table}
61
+
62
+ To resolve the issue:
63
+ - run `carthagerc download` to fetch missing frameworks from the server.
64
+ - if the issue persists, run `carthage bootstrap` to build frameworks and `carthagerc upload` to populate the server.
65
+ EOS
66
+ end
67
+ end
23
68
 
24
69
  class MissingFrameworkDirectoryError < AppError; end
25
70
 
26
- class VersionMismatchError < AppError; end
71
+ class ServerVersionMismatchError < AppError; end
@@ -0,0 +1,58 @@
1
+ class Table
2
+ def initialize(header, rows)
3
+ @header = header
4
+ @rows = rows
5
+ @column_sizes = calculate_column_sizes
6
+ end
7
+
8
+ def to_s
9
+ lines = [
10
+ separator_line,
11
+ header_line,
12
+ separator_line,
13
+ @rows.map { |r| row_line(r) },
14
+ separator_line,
15
+ ]
16
+
17
+ lines
18
+ .flatten
19
+ .reject { |line| line.empty? }
20
+ .join("\n")
21
+ end
22
+
23
+ private
24
+
25
+ def calculate_column_sizes
26
+ all = [@header] + @rows
27
+ result = all.transpose.map do |row|
28
+ lengths = row.map { |r| r.length }
29
+ lengths.max + 2
30
+ end
31
+ result
32
+ end
33
+
34
+ def separator_line
35
+ dashes = @column_sizes.map { |size| '-' * size }
36
+ '+' + dashes.join('+') + '+'
37
+ end
38
+
39
+ def header_line
40
+ columns = @header.each_with_index.map do |column, index|
41
+ column_size = @column_sizes[index] - 1
42
+ " %-#{column_size}.#{column_size}s" % column
43
+ end
44
+ '|' + columns.join('|') + '|'
45
+ end
46
+
47
+ def row_line(row)
48
+ columns = row.each_with_index.map do |column, index|
49
+ column_size = @column_sizes[index] - 1
50
+ if index == 0
51
+ " %-#{column_size}.#{column_size}s" % column
52
+ else
53
+ "%#{column_size}.#{column_size}s " % column
54
+ end
55
+ end
56
+ '|' + columns.join('|') + '|'
57
+ end
58
+ end
@@ -1 +1 @@
1
- VERSION = '0.0.6'
1
+ VERSION = '0.0.7'
@@ -62,7 +62,7 @@ class VersionFile
62
62
  private
63
63
 
64
64
  def parse
65
- raise AppError.new, "File #{path} doesn't exist, has carthage been bootstrapped?" unless File.exist?(@path)
65
+ raise VersionFileDoesNotExistError.new, "File #{path} doesn't exist, has carthage been bootstrapped?" unless File.exist?(@path)
66
66
 
67
67
  file = File.read(@path)
68
68
  json = JSON.parse(file)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carthage_remote_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juraj Blahunka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-13 00:00:00.000000000 Z
11
+ date: 2018-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 2.0.0
173
+ version: 2.0.1
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 2.0.0
180
+ version: 2.0.1
181
181
  description: Centralized cache to serve carthage frameworks. Useful for distributed
182
182
  CI setup with several build machines.
183
183
  email:
@@ -197,7 +197,6 @@ files:
197
197
  - Rakefile
198
198
  - bin/carthagerc
199
199
  - carthage_remote_cache.gemspec
200
- - com.kayak.carthagerc.server.plist
201
200
  - dev/console
202
201
  - dev/setup
203
202
  - dev/start_server
@@ -210,6 +209,7 @@ files:
210
209
  - lib/commands/init_command.rb
211
210
  - lib/commands/server_command.rb
212
211
  - lib/commands/upload_command.rb
212
+ - lib/commands/verify_command.rb
213
213
  - lib/configuration.rb
214
214
  - lib/constants.rb
215
215
  - lib/crc32.rb
@@ -219,6 +219,7 @@ files:
219
219
  - lib/server/config.ru
220
220
  - lib/server/server_app.rb
221
221
  - lib/shell_wrapper.rb
222
+ - lib/table.rb
222
223
  - lib/utils.rb
223
224
  - lib/version.rb
224
225
  - lib/version_file.rb
@@ -1,20 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>Label</key>
6
- <string>com.kayak.carthagerc.server</string>
7
- <key>ProgramArguments</key>
8
- <array>
9
- <string>/usr/local/bin/carthagerc</string>
10
- <string>server</string>
11
- <string>--port=9292</string>
12
- </array>
13
- <key>KeepAlive</key>
14
- <true/>
15
- <key>StandardOutPath</key>
16
- <string>/Users/MY_USER/Library/Logs/carthagerc.server.stdout.log</string>
17
- <key>StandardErrorPath</key>
18
- <string>/Users/MY_USER/Library/Logs/carthagerc.server.stderr.log</string>
19
- </dict>
20
- </plist>