gym 1.6.1 → 1.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +43 -43
- data/lib/gym/commands_generator.rb +1 -1
- data/lib/gym/error_handler.rb +4 -3
- data/lib/gym/options.rb +5 -1
- data/lib/gym/runner.rb +4 -3
- data/lib/gym/version.rb +1 -1
- 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: 51ccfb15ad789256bd2a6c0deed09836bfefc1b7
|
4
|
+
data.tar.gz: 7403f758d8fe7b9c82fc40b6929209835ba4a607
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e81a226ff214a7eaacaa91f8e72562a7f033d1d34fde6aa4dacd11f4efda4070fc22bfcb8d5167c91f676423694e4a1d9f8f7c10d995b9cd02851ed1ba8c6a5c
|
7
|
+
data.tar.gz: c7ab8a3465999084474c0bfdea6358eb1f9cdeb1a0d1a78cfad84c8f90204221b1ef27de784afce1ab12e53e30697d3f52436cbe0c15837e3b76ee05fa4a9e28
|
data/README.md
CHANGED
@@ -1,24 +1,24 @@
|
|
1
1
|
<h3 align="center">
|
2
|
-
<a href="https://github.com/fastlane/fastlane">
|
3
|
-
<img src="assets/fastlane.png" width="150" />
|
2
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/fastlane">
|
3
|
+
<img src="../fastlane/assets/fastlane.png" width="150" />
|
4
4
|
<br />
|
5
5
|
fastlane
|
6
6
|
</a>
|
7
7
|
</h3>
|
8
8
|
<p align="center">
|
9
|
-
<a href="https://github.com/fastlane/deliver">deliver</a> •
|
10
|
-
<a href="https://github.com/fastlane/snapshot">snapshot</a> •
|
11
|
-
<a href="https://github.com/fastlane/frameit">frameit</a> •
|
12
|
-
<a href="https://github.com/fastlane/pem">pem</a> •
|
13
|
-
<a href="https://github.com/fastlane/sigh">sigh</a> •
|
14
|
-
<a href="https://github.com/fastlane/produce">produce</a> •
|
15
|
-
<a href="https://github.com/fastlane/cert">cert</a> •
|
16
|
-
<a href="https://github.com/fastlane/spaceship">spaceship</a> •
|
17
|
-
<a href="https://github.com/fastlane/pilot">pilot</a> •
|
9
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/deliver">deliver</a> •
|
10
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/snapshot">snapshot</a> •
|
11
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/frameit">frameit</a> •
|
12
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/pem">pem</a> •
|
13
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/sigh">sigh</a> •
|
14
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/produce">produce</a> •
|
15
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/cert">cert</a> •
|
16
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/spaceship">spaceship</a> •
|
17
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/pilot">pilot</a> •
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
19
19
|
<b>gym</b> •
|
20
|
-
<a href="https://github.com/fastlane/scan">scan</a> •
|
21
|
-
<a href="https://github.com/fastlane/match">match</a>
|
20
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
21
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
|
22
22
|
</p>
|
23
23
|
-------
|
24
24
|
|
@@ -30,9 +30,9 @@ gym
|
|
30
30
|
============
|
31
31
|
|
32
32
|
[![Twitter: @KauseFx](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
|
33
|
-
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/
|
33
|
+
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/gym/LICENSE)
|
34
34
|
[![Gem](https://img.shields.io/gem/v/gym.svg?style=flat)](http://rubygems.org/gems/gym)
|
35
|
-
[![Build Status](https://img.shields.io/
|
35
|
+
[![Build Status](https://img.shields.io/circleci/project/fastlane/fastlane/master.svg?style=flat)](https://circleci.com/gh/fastlane/fastlane)
|
36
36
|
|
37
37
|
###### Building your app has never been easier
|
38
38
|
|
@@ -40,10 +40,10 @@ Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.c
|
|
40
40
|
|
41
41
|
-------
|
42
42
|
<p align="center">
|
43
|
-
<a href="#whats-gym">Features</a> •
|
44
|
-
<a href="#installation">Installation</a> •
|
45
|
-
<a href="#usage">Usage</a> •
|
46
|
-
<a href="#tips">Tips</a> •
|
43
|
+
<a href="#whats-gym">Features</a> •
|
44
|
+
<a href="#installation">Installation</a> •
|
45
|
+
<a href="#usage">Usage</a> •
|
46
|
+
<a href="#tips">Tips</a> •
|
47
47
|
<a href="#need-help">Need help?</a>
|
48
48
|
</p>
|
49
49
|
|
@@ -66,7 +66,7 @@ xcodebuild -exportArchive \
|
|
66
66
|
-exportFormat ipa \
|
67
67
|
-archivePath "build/MyApp.xcarchive" \
|
68
68
|
-exportPath "build/MyApp.ipa" \
|
69
|
-
-exportProvisioningProfile "ProvisioningProfileName"
|
69
|
+
-exportProvisioningProfile "ProvisioningProfileName"
|
70
70
|
```
|
71
71
|
|
72
72
|
### With `gym`
|
@@ -89,15 +89,15 @@ gym
|
|
89
89
|
:package: | Automatically generates an `ipa` and a compressed `dSYM` file
|
90
90
|
:bullettrain_side: | Don't remember any complicated build commands, just `gym`
|
91
91
|
:wrench: | Easy and dynamic configuration using parameters and environment variables
|
92
|
-
:floppy_disk: | Store common build settings in a `Gymfile`
|
92
|
+
:floppy_disk: | Store common build settings in a `Gymfile`
|
93
93
|
:outbox_tray: | All archives are stored and accessible in the Xcode Organizer
|
94
94
|
:computer: | Supports both iOS and Mac applications
|
95
95
|
|
96
|
-
![
|
96
|
+
![assets/gymScreenshot.png](assets/gymScreenshot.png)
|
97
97
|
|
98
98
|
-----
|
99
99
|
|
100
|
-
![
|
100
|
+
![assets/gym.gif](assets/gym.gif)
|
101
101
|
|
102
102
|
# Installation
|
103
103
|
|
@@ -129,7 +129,7 @@ If you run into any issues, use the `verbose` mode to get more information
|
|
129
129
|
|
130
130
|
In general, if you run into issues while exporting the archive, try using:
|
131
131
|
|
132
|
-
gym --use_legacy_build_api
|
132
|
+
gym --use_legacy_build_api
|
133
133
|
|
134
134
|
Set the right export method if you're not uploading to App Store or TestFlight:
|
135
135
|
|
@@ -182,7 +182,7 @@ For the list of available options run `xcodebuild -help`.
|
|
182
182
|
|
183
183
|
# Automating the whole process
|
184
184
|
|
185
|
-
`gym` works great together with [fastlane](https://fastlane.tools), which connects all deployment tools into one streamlined workflow.
|
185
|
+
`gym` works great together with [fastlane](https://fastlane.tools), which connects all deployment tools into one streamlined workflow.
|
186
186
|
|
187
187
|
Using `fastlane` you can define a configuration like
|
188
188
|
|
@@ -196,13 +196,13 @@ end
|
|
196
196
|
|
197
197
|
You can then easily switch between the beta provider (e.g. `testflight`, `hockey`, `s3` and more).
|
198
198
|
|
199
|
-
For more information visit the [fastlane GitHub page](https://github.com/fastlane/fastlane).
|
199
|
+
For more information visit the [fastlane GitHub page](https://github.com/fastlane/fastlane/tree/master/fastlane).
|
200
200
|
|
201
201
|
# How does it work?
|
202
202
|
|
203
|
-
`gym` uses the latest APIs to build and sign your application. The 2 main components are
|
203
|
+
`gym` uses the latest APIs to build and sign your application. The 2 main components are
|
204
204
|
|
205
|
-
- `xcodebuild`
|
205
|
+
- `xcodebuild`
|
206
206
|
- [xcpretty](https://github.com/supermarin/xcpretty)
|
207
207
|
|
208
208
|
When you run `gym` without the `--silent` mode it will print out every command it executes.
|
@@ -236,18 +236,18 @@ After building the archive it is being checked by `gym`. If it's valid, it gets
|
|
236
236
|
|
237
237
|
Using this method there are no workarounds for WatchKit or Swift required, as it uses the same technique Xcode uses when exporting your binary.
|
238
238
|
|
239
|
-
Note: the [xcbuild-safe.sh script](https://github.com/fastlane/
|
239
|
+
Note: the [xcbuild-safe.sh script](https://github.com/fastlane/fastlane/tree/master/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh) wraps around xcodebuild to workaround some incompatibilities.
|
240
240
|
|
241
241
|
### Xcode 6 and below
|
242
242
|
|
243
243
|
```
|
244
244
|
/usr/bin/xcrun /path/to/PackageApplication4Gym -v \
|
245
245
|
'/Users/felixkrause/Library/Developer/Xcode/Archives/2015-08-11/ExampleProductName 2015-08-11 18.15.30.xcarchive/Products/Applications/name.app' -o \
|
246
|
-
'/Users/felixkrause/Library/Developer/Xcode/Archives/2015-08-11/ExampleProductName.ipa' \
|
246
|
+
'/Users/felixkrause/Library/Developer/Xcode/Archives/2015-08-11/ExampleProductName.ipa' \
|
247
247
|
--sign "identity" --embed "provProfile"
|
248
248
|
```
|
249
249
|
|
250
|
-
Note: the official PackageApplication script is replaced by a custom PackageApplication4Gym script. This script is obtained by applying a [set of patches](https://github.com/fastlane/
|
250
|
+
Note: the official PackageApplication script is replaced by a custom PackageApplication4Gym script. This script is obtained by applying a [set of patches](https://github.com/fastlane/fastlane/tree/master/gym/lib/assets/package_application_patches) on the fly to fix some known issues in the official Xcode PackageApplication script.
|
251
251
|
|
252
252
|
Afterwards the `ipa` file is moved to the output folder. The `dSYM` file is compressed and moved to the output folder as well.
|
253
253
|
|
@@ -255,17 +255,17 @@ Afterwards the `ipa` file is moved to the output folder. The `dSYM` file is comp
|
|
255
255
|
## [`fastlane`](https://fastlane.tools) Toolchain
|
256
256
|
|
257
257
|
- [`fastlane`](https://fastlane.tools): Connect all deployment tools into one streamlined workflow
|
258
|
-
- [`deliver`](https://github.com/fastlane/deliver): Upload screenshots, metadata and your app to the App Store
|
259
|
-
- [`snapshot`](https://github.com/fastlane/snapshot): Automate taking localized screenshots of your iOS app on every device
|
260
|
-
- [`frameit`](https://github.com/fastlane/frameit): Quickly put your screenshots into the right device frames
|
261
|
-
- [`pem`](https://github.com/fastlane/pem): Automatically generate and renew your push notification profiles
|
262
|
-
- [`produce`](https://github.com/fastlane/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
|
263
|
-
- [`cert`](https://github.com/fastlane/cert): Automatically create and maintain iOS code signing certificates
|
264
|
-
- [`spaceship`](https://github.com/fastlane/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
|
265
|
-
- [`pilot`](https://github.com/fastlane/pilot): The best way to manage your TestFlight testers and builds from your terminal
|
266
|
-
- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
|
267
|
-
- [`scan`](https://github.com/fastlane/scan): The easiest way to run tests of your iOS and Mac app
|
268
|
-
- [`match`](https://github.com/fastlane/match): Easily sync your certificates and profiles across your team using git
|
258
|
+
- [`deliver`](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata and your app to the App Store
|
259
|
+
- [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS app on every device
|
260
|
+
- [`frameit`](https://github.com/fastlane/fastlane/tree/master/frameit): Quickly put your screenshots into the right device frames
|
261
|
+
- [`pem`](https://github.com/fastlane/fastlane/tree/master/pem): Automatically generate and renew your push notification profiles
|
262
|
+
- [`produce`](https://github.com/fastlane/fastlane/tree/master/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
|
263
|
+
- [`cert`](https://github.com/fastlane/fastlane/tree/master/cert): Automatically create and maintain iOS code signing certificates
|
264
|
+
- [`spaceship`](https://github.com/fastlane/fastlane/tree/master/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
|
265
|
+
- [`pilot`](https://github.com/fastlane/fastlane/tree/master/pilot): The best way to manage your TestFlight testers and builds from your terminal
|
266
|
+
- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
|
267
|
+
- [`scan`](https://github.com/fastlane/fastlane/tree/master/scan): The easiest way to run tests of your iOS and Mac app
|
268
|
+
- [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
|
269
269
|
|
270
270
|
##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
|
271
271
|
|
@@ -276,7 +276,7 @@ Download and install the [Provisioning Plugin](https://github.com/chockenberry/P
|
|
276
276
|
Please submit an issue on GitHub and provide information about your setup
|
277
277
|
|
278
278
|
# Code of Conduct
|
279
|
-
Help us keep `gym` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/
|
279
|
+
Help us keep `gym` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
|
280
280
|
|
281
281
|
# License
|
282
282
|
This project is licensed under the terms of the MIT license. See the LICENSE file.
|
@@ -28,7 +28,7 @@ module Gym
|
|
28
28
|
program :description, Gym::DESCRIPTION
|
29
29
|
program :help, "Author", "Felix Krause <gym@krausefx.com>"
|
30
30
|
program :help, "Website", "https://fastlane.tools"
|
31
|
-
program :help, "GitHub", "https://github.com/fastlane/gym"
|
31
|
+
program :help, "GitHub", "https://github.com/fastlane/fastlane/tree/master/gym"
|
32
32
|
program :help_formatter, :compact
|
33
33
|
|
34
34
|
global_option("--verbose") { $verbose = true }
|
data/lib/gym/error_handler.rb
CHANGED
@@ -10,7 +10,7 @@ module Gym
|
|
10
10
|
when /Your build settings specify a provisioning profile with the UUID/
|
11
11
|
print "Invalid code signing settings"
|
12
12
|
print "Your project defines a provisioning profile which doesn't exist on your local machine"
|
13
|
-
print "You can use sigh (https://github.com/fastlane/sigh) to download and install the provisioning profile"
|
13
|
+
print "You can use sigh (https://github.com/fastlane/fastlane/tree/master/sigh) to download and install the provisioning profile"
|
14
14
|
print "Follow this guide: https://github.com/fastlane/fastlane/blob/master/docs/CodeSigning.md"
|
15
15
|
when /Provisioning profile does not match bundle identifier/
|
16
16
|
print "Invalid code signing settings"
|
@@ -21,12 +21,12 @@ module Gym
|
|
21
21
|
when /provisioning profiles matching the bundle identifier .(.*)./ # the . around the (.*) are for the strange "
|
22
22
|
print "You don't have the provisioning profile for '#{$1}' installed on the local machine"
|
23
23
|
print "Make sure you have the profile on this computer and it's properly installed"
|
24
|
-
print "You can use sigh (https://github.com/fastlane/sigh) to download and install the provisioning profile"
|
24
|
+
print "You can use sigh (https://github.com/fastlane/fastlane/tree/master/sigh) to download and install the provisioning profile"
|
25
25
|
print "Follow this guide: https://github.com/fastlane/fastlane/blob/master/docs/CodeSigning.md"
|
26
26
|
when /matching the bundle identifier .(.*). were found/ # the . around the (.*) are for the strange "
|
27
27
|
print "You don't have a provisioning profile for the bundle identifier '#{$1}' installed on the local machine"
|
28
28
|
print "Make sure you have the profile on this computer and it's properly installed"
|
29
|
-
print "You can use sigh (https://github.com/fastlane/sigh) to download and install the provisioning profile"
|
29
|
+
print "You can use sigh (https://github.com/fastlane/fastlane/tree/master/sigh) to download and install the provisioning profile"
|
30
30
|
print "Follow this guide: https://github.com/fastlane/fastlane/blob/master/docs/CodeSigning.md"
|
31
31
|
|
32
32
|
# Insert more code signing specific errors here
|
@@ -99,6 +99,7 @@ module Gym
|
|
99
99
|
print "For more information visit https://developer.apple.com/library/ios/technotes/tn2215/_index.html"
|
100
100
|
print "Also, make sure to have a valid code signing identity and provisioning profile installed"
|
101
101
|
print "Follow this guide to setup code signing https://github.com/fastlane/fastlane/blob/master/docs/CodeSigning.md"
|
102
|
+
print "If your intention was only to export an ipa be sure to provide a valid archive at the archive path."
|
102
103
|
UI.user_error!("Archive invalid")
|
103
104
|
end
|
104
105
|
|
data/lib/gym/options.rb
CHANGED
@@ -122,7 +122,11 @@ module Gym
|
|
122
122
|
conflict_block: proc do |value|
|
123
123
|
UI.user_error!("'#{value.key}' must be false to use 'export_options'")
|
124
124
|
end),
|
125
|
-
|
125
|
+
FastlaneCore::ConfigItem.new(key: :skip_build_archive,
|
126
|
+
env_name: "GYM_SKIP_BUILD_ARCHIVE",
|
127
|
+
description: "Export ipa from previously build xarchive. Uses archive_path as source",
|
128
|
+
is_string: false,
|
129
|
+
optional: true),
|
126
130
|
# Very optional
|
127
131
|
FastlaneCore::ConfigItem.new(key: :build_path,
|
128
132
|
env_name: "GYM_BUILD_PATH",
|
data/lib/gym/runner.rb
CHANGED
@@ -7,9 +7,10 @@ module Gym
|
|
7
7
|
class Runner
|
8
8
|
# @return (String) The path to the resulting ipa
|
9
9
|
def run
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
unless Gym.config[:skip_build_archive]
|
11
|
+
clear_old_files
|
12
|
+
build_app
|
13
|
+
end
|
13
14
|
verify_archive
|
14
15
|
|
15
16
|
FileUtils.mkdir_p(Gym.config[:output_directory])
|
data/lib/gym/version.rb
CHANGED
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.6.
|
4
|
+
version: 1.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fastlane_core
|
@@ -269,7 +269,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
269
269
|
version: '0'
|
270
270
|
requirements: []
|
271
271
|
rubyforge_project:
|
272
|
-
rubygems_version: 2.
|
272
|
+
rubygems_version: 2.2.2
|
273
273
|
signing_key:
|
274
274
|
specification_version: 4
|
275
275
|
summary: Building your iOS apps has never been easier
|