gym 0.7.0 → 0.7.1
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 +4 -4
- data/README.md +17 -1
- data/lib/gym/error_handler.rb +4 -0
- data/lib/gym/generators/package_command_generator.rb +5 -1
- data/lib/gym/options.rb +12 -0
- data/lib/gym/runner.rb +0 -1
- data/lib/gym/version.rb +1 -1
- data/lib/gym/xcodebuild_fixes/package_application_fix.rb +2 -11
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 63bdd2db07c2f8fae8b2242da7fcbfb30699f07d
|
4
|
+
data.tar.gz: 467a75673b7601adeaf29dc30cefaefb8201d8c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b6ddb4de656331d37e53445f19a06ed372560746e898908405d8a6eed083f879a43ac1d8b10f4ded8fdc176a094ee96b261388d8a6980731e13430692a9c26e
|
7
|
+
data.tar.gz: 5ff570a4bea8e9f3c0d8135589111470c024c334756c56b00c08e40a62fd9d51612057d8f58718afcf3fd1587cbb935d55cd618a766be29b35dbc039dfaa9e28
|
data/README.md
CHANGED
@@ -190,9 +190,25 @@ xcodebuild -scheme 'Example' \
|
|
190
190
|
archive | xcpretty
|
191
191
|
```
|
192
192
|
|
193
|
-
|
194
193
|
After building the archive it is being checked by `gym`. If it's valid, it gets packaged up and signed into an `ipa` file.
|
195
194
|
|
195
|
+
`gym` automatically chooses a different packaging method depending on the version of Xcode you're using.
|
196
|
+
|
197
|
+
### Xcode 7 and above
|
198
|
+
|
199
|
+
```
|
200
|
+
/usr/bin/xcrun xcodebuild -exportArchive \
|
201
|
+
-exportOptionsPlist '/tmp/gym_config_1442852529.plist' \
|
202
|
+
-archivePath '/Users/fkrause/Library/Developer/Xcode/Archives/2015-09-21/App 2015-09-21 09.21.56.xcarchive' \
|
203
|
+
-exportPath '/tmp/1442852529'
|
204
|
+
```
|
205
|
+
|
206
|
+
`gym` makes use of the new Xcode 7 API which allows us to specify the export options using a `plist` file. You can find more information about the available options by running `xcodebuild --help`.
|
207
|
+
|
208
|
+
Using this method there are no workarounds for WatchKit or Swift required, as it uses the same technique Xcode uses when exporting your binary.
|
209
|
+
|
210
|
+
### Xcode 6 and below
|
211
|
+
|
196
212
|
```
|
197
213
|
/usr/bin/xcrun /path/to/PackageApplication4Gym -v \
|
198
214
|
'/Users/felixkrause/Library/Developer/Xcode/Archives/2015-08-11/ExampleProductName 2015-08-11 18.15.30.xcarchive/Products/Applications/name.app' -o \
|
data/lib/gym/error_handler.rb
CHANGED
@@ -80,6 +80,10 @@ module Gym
|
|
80
80
|
when /Codesign check fails/
|
81
81
|
print "A general code signing error occurred. Make sure you passed a valid"
|
82
82
|
print "provisioning profile and code signing identity."
|
83
|
+
when /expected one of \{\}/
|
84
|
+
print "It seems like you ran into this radar"
|
85
|
+
print "https://openradar.appspot.com/radar?id=4952000420642816"
|
86
|
+
print "You can temporary use the :use_legacy_build_api option to get the build to work again"
|
83
87
|
end
|
84
88
|
raise "Error packaging up the application".red
|
85
89
|
end
|
@@ -28,7 +28,11 @@ module Gym
|
|
28
28
|
|
29
29
|
# The generator we need to use for the currently used Xcode version
|
30
30
|
def generator
|
31
|
-
Xcode.pre_7?
|
31
|
+
if Xcode.pre_7? and !Gym.config[:use_legacy_build_api]
|
32
|
+
PackageCommandGeneratorLegacy
|
33
|
+
else
|
34
|
+
PackageCommandGeneratorXcode7
|
35
|
+
end
|
32
36
|
end
|
33
37
|
end
|
34
38
|
end
|
data/lib/gym/options.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "fastlane_core"
|
2
2
|
require "credentials_manager"
|
3
3
|
|
4
|
+
# rubocop:disable Metrics/AbcSize
|
4
5
|
module Gym
|
5
6
|
class Options
|
6
7
|
def self.available_options
|
@@ -113,6 +114,16 @@ module Gym
|
|
113
114
|
description: "Should the ipa include bitcode?",
|
114
115
|
default_value: false,
|
115
116
|
is_string: false),
|
117
|
+
FastlaneCore::ConfigItem.new(key: :use_legacy_build_api,
|
118
|
+
env_name: "GYM_USE_LEGACY_BUILD_API",
|
119
|
+
description: "Don't use the new API because of https://openradar.appspot.com/radar?id=4952000420642816",
|
120
|
+
default_value: false,
|
121
|
+
is_string: false,
|
122
|
+
verify_block: proc do |value|
|
123
|
+
if value
|
124
|
+
Helper.log.info "Using legacy build system - waiting for radar to be fixed: https://openradar.appspot.com/radar?id=4952000420642816".red
|
125
|
+
end
|
126
|
+
end),
|
116
127
|
FastlaneCore::ConfigItem.new(key: :export_method,
|
117
128
|
short_option: "-j",
|
118
129
|
env_name: "GYM_EXPORT_METHOD",
|
@@ -136,3 +147,4 @@ module Gym
|
|
136
147
|
end
|
137
148
|
end
|
138
149
|
end
|
150
|
+
# rubocop:enable Metrics/AbcSize
|
data/lib/gym/runner.rb
CHANGED
data/lib/gym/version.rb
CHANGED
@@ -7,8 +7,8 @@ module Gym
|
|
7
7
|
|
8
8
|
# Initialization
|
9
9
|
@patched_package_application_path = File.join("/tmp", "PackageApplication4Gym")
|
10
|
-
|
11
|
-
|
10
|
+
|
11
|
+
return @patched_package_application_path if File.exist?(@patched_package_application_path)
|
12
12
|
|
13
13
|
Dir.mktmpdir do |tmpdir|
|
14
14
|
# Check current PackageApplication MD5
|
@@ -42,15 +42,6 @@ module Gym
|
|
42
42
|
|
43
43
|
return @patched_package_application_path # Return path to the patched PackageApplication
|
44
44
|
end
|
45
|
-
|
46
|
-
# Remove the patched script after it was used
|
47
|
-
def clear_patched_package_application
|
48
|
-
if @patched_package_application_path and File.exist?(@patched_package_application_path)
|
49
|
-
Helper.log.debug "Removing patched PackageApplication file at path '#{@patched_package_application_path}'" if $verbose
|
50
|
-
# force in the unlikely event that the file was deleted (e.g. by a concurrent job)
|
51
|
-
FileUtils.rm @patched_package_application_path, force: true
|
52
|
-
end
|
53
|
-
end
|
54
45
|
end
|
55
46
|
end
|
56
47
|
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: 0.7.
|
4
|
+
version: 0.7.1
|
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-09-
|
11
|
+
date: 2015-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fastlane_core
|
@@ -268,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
268
268
|
version: '0'
|
269
269
|
requirements: []
|
270
270
|
rubyforge_project:
|
271
|
-
rubygems_version: 2.4.
|
271
|
+
rubygems_version: 2.4.5
|
272
272
|
signing_key:
|
273
273
|
specification_version: 4
|
274
274
|
summary: Building your iOS apps has never been easier
|