gym 1.1.6 → 1.2.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: a5f5e9f45848d646938258084c1063255b3ff116
4
- data.tar.gz: 6dbd6b132ba4cedf9458c0bc0091df5aaa6626c8
3
+ metadata.gz: 132ed6450917f319a13d735ca3eec8e6e0008098
4
+ data.tar.gz: 3d60b04f50697c5350c8de2b32ca656d1f9ee467
5
5
  SHA512:
6
- metadata.gz: 214125fc3aa776e2bc01a5f2d21dca7f6c3804029ade500a1a0b1bf08f40f06ac5e3885f946df3c69878763c38b273b4444e792adb0bc795c7ed4aec918b319a
7
- data.tar.gz: dda9b35717156348d2bdd9bebb18d21c9b7481672dbb9215e3b8e4651c48484a43e183a97abb3d29405e1679a6b26fa721d0f0a3f4f76a26f9c7e1729d9d5fde
6
+ metadata.gz: 305c7384722dca916e947d1967884bea07c5e53e4e6169022bca5fe2916f286709358621ab2836fc5d27178a8f858a1ba2b0b94ec7b608926dd8aa9725308a0c
7
+ data.tar.gz: 8b44624aeff6c7eaae300dfbeaf15138dc688324e4a7b746fcfcd5a5f5701943099126abe7f1c3001c82e873459c1a8ccd9cb3d45be2c3abe0f9626536996fdf
data/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  <a href="https://github.com/fastlane/deliver">deliver</a> &bull;
10
10
  <a href="https://github.com/fastlane/snapshot">snapshot</a> &bull;
11
11
  <a href="https://github.com/fastlane/frameit">frameit</a> &bull;
12
- <a href="https://github.com/fastlane/PEM">PEM</a> &bull;
12
+ <a href="https://github.com/fastlane/pem">pem</a> &bull;
13
13
  <a href="https://github.com/fastlane/sigh">sigh</a> &bull;
14
14
  <a href="https://github.com/fastlane/produce">produce</a> &bull;
15
15
  <a href="https://github.com/fastlane/cert">cert</a> &bull;
@@ -17,7 +17,8 @@
17
17
  <a href="https://github.com/fastlane/pilot">pilot</a> &bull;
18
18
  <a href="https://github.com/fastlane/boarding">boarding</a> &bull;
19
19
  <b>gym</b> &bull;
20
- <a href="https://github.com/fastlane/scan">scan</a>
20
+ <a href="https://github.com/fastlane/scan">scan</a> &bull;
21
+ <a href="https://github.com/fastlane/match">match</a>
21
22
  </p>
22
23
  -------
23
24
 
@@ -233,13 +234,14 @@ Afterwards the `ipa` file is moved to the output folder. The `dSYM` file is comp
233
234
  - [`deliver`](https://github.com/fastlane/deliver): Upload screenshots, metadata and your app to the App Store
234
235
  - [`snapshot`](https://github.com/fastlane/snapshot): Automate taking localized screenshots of your iOS app on every device
235
236
  - [`frameit`](https://github.com/fastlane/frameit): Quickly put your screenshots into the right device frames
236
- - [`PEM`](https://github.com/fastlane/PEM): Automatically generate and renew your push notification profiles
237
+ - [`pem`](https://github.com/fastlane/pem): Automatically generate and renew your push notification profiles
237
238
  - [`produce`](https://github.com/fastlane/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
238
239
  - [`cert`](https://github.com/fastlane/cert): Automatically create and maintain iOS code signing certificates
239
240
  - [`spaceship`](https://github.com/fastlane/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
240
241
  - [`pilot`](https://github.com/fastlane/pilot): The best way to manage your TestFlight testers and builds from your terminal
241
242
  - [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
242
243
  - [`scan`](https://github.com/fastlane/scan): The easiest way to run tests of your iOS and Mac app
244
+ - [`match`](https://github.com/fastlane/match): Easily sync your certificates and profiles across your team using git
243
245
 
244
246
  ##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
245
247
 
@@ -1,4 +1,4 @@
1
- # For more information about this configuation visit
1
+ # For more information about this configuration visit
2
2
  # https://github.com/fastlane/gym#gymfile
3
3
 
4
4
  # In general, you can use the options available
@@ -58,7 +58,11 @@ module Gym
58
58
  end
59
59
 
60
60
  def pipe
61
- ["| tee '#{xcodebuild_log_path}' | xcpretty"]
61
+ pipe = []
62
+ pipe << "| tee '#{xcodebuild_log_path}' | xcpretty"
63
+ pipe << "> /dev/null" if Gym.config[:suppress_xcode_output]
64
+
65
+ pipe
62
66
  end
63
67
 
64
68
  def xcodebuild_log_path
data/lib/gym/options.rb CHANGED
@@ -152,7 +152,14 @@ module Gym
152
152
  optional: true,
153
153
  verify_block: proc do |value|
154
154
  raise "File not found at path '#{File.expand_path(value)}'".red unless File.exist?(value)
155
- end)
155
+ end),
156
+ FastlaneCore::ConfigItem.new(key: :suppress_xcode_output,
157
+ short_option: "-r",
158
+ env_name: "SUPPRESS_OUTPUT",
159
+ description: "Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path",
160
+ optional: true,
161
+ is_string: false
162
+ )
156
163
  ]
157
164
  end
158
165
  end
data/lib/gym/runner.rb CHANGED
@@ -67,6 +67,7 @@ module Gym
67
67
  return unless Gym.config[:use_legacy_build_api]
68
68
  Gym::XcodebuildFixes.swift_library_fix
69
69
  Gym::XcodebuildFixes.watchkit_fix
70
+ Gym::XcodebuildFixes.watchkit2_fix
70
71
  end
71
72
 
72
73
  # Builds the app and prepares the archive
data/lib/gym/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Gym
2
- VERSION = "1.1.6"
2
+ VERSION = "1.2.0"
3
3
  DESCRIPTION = "Building your iOS apps has never been easier"
4
4
  end
@@ -0,0 +1,35 @@
1
+ module Gym
2
+ class XcodebuildFixes
3
+ class << self
4
+ # Determine whether this app has WatchKit2 support and manually package up the WatchKit2 framework
5
+ def watchkit2_fix
6
+ return unless watchkit2?
7
+
8
+ Helper.log.info "Adding WatchKit2 support" if $verbose
9
+
10
+ Dir.mktmpdir do |tmpdir|
11
+ # Make watchkit support directory
12
+ watchkit_support = File.join(tmpdir, "WatchKitSupport2")
13
+ Dir.mkdir(watchkit_support)
14
+
15
+ # Copy WK from Xcode into WatchKitSupport2
16
+ FileUtils.copy_file("#{Xcode.xcode_path}/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/Library/Application Support/WatchKit/WK", File.join(watchkit_support, "WK"))
17
+
18
+ # Add "WatchKitSupport2" to the .ipa archive
19
+ Dir.chdir(tmpdir) do
20
+ abort unless system %(zip --recurse-paths "#{PackageCommandGenerator.ipa_path}" "WatchKitSupport2" > /dev/null)
21
+ end
22
+
23
+ Helper.log.info "Successfully added WatchKit2 support" if $verbose
24
+ end
25
+ end
26
+
27
+ # Does this application have a WatchKit target
28
+ def watchkit2?
29
+ Dir["#{PackageCommandGenerator.appfile_path}/**/*.plist"].any? do |plist_path|
30
+ `/usr/libexec/PlistBuddy -c 'Print DTSDKName' '#{plist_path}' 2>&1`.strip == 'watchos2.0'
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -3,7 +3,7 @@ module Gym
3
3
  class << self
4
4
  # Determine whether this app has WatchKit support and manually package up the WatchKit framework
5
5
  def watchkit_fix
6
- return unless watchkit?
6
+ return unless should_apply_watchkit1_fix?
7
7
 
8
8
  Helper.log.info "Adding WatchKit support" if $verbose
9
9
 
@@ -30,6 +30,11 @@ module Gym
30
30
  `/usr/libexec/PlistBuddy -c 'Print WKWatchKitApp' '#{plist_path}' 2>&1`.strip == 'true'
31
31
  end
32
32
  end
33
+
34
+ # Should only be applied if watchkit app is not a watchkit2 app
35
+ def should_apply_watchkit1_fix?
36
+ watchkit? && !(Gym::XcodebuildFixes.watchkit2?)
37
+ end
33
38
  end
34
39
  end
35
40
  end
data/lib/gym.rb CHANGED
@@ -34,6 +34,7 @@ module Gym
34
34
  # Import all the fixes
35
35
  require 'gym/xcodebuild_fixes/swift_fix'
36
36
  require 'gym/xcodebuild_fixes/watchkit_fix'
37
+ require 'gym/xcodebuild_fixes/watchkit2_fix'
37
38
  require 'gym/xcodebuild_fixes/package_application_fix'
38
39
  end
39
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gym
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-20 00:00:00.000000000 Z
11
+ date: 2015-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fastlane_core
@@ -246,6 +246,7 @@ files:
246
246
  - lib/gym/xcodebuild_fixes/README.md
247
247
  - lib/gym/xcodebuild_fixes/package_application_fix.rb
248
248
  - lib/gym/xcodebuild_fixes/swift_fix.rb
249
+ - lib/gym/xcodebuild_fixes/watchkit2_fix.rb
249
250
  - lib/gym/xcodebuild_fixes/watchkit_fix.rb
250
251
  homepage: https://fastlane.tools
251
252
  licenses:
@@ -267,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
268
  version: '0'
268
269
  requirements: []
269
270
  rubyforge_project:
270
- rubygems_version: 2.4.0
271
+ rubygems_version: 2.4.6
271
272
  signing_key:
272
273
  specification_version: 4
273
274
  summary: Building your iOS apps has never been easier