Skip to content
This repository has been archived by the owner on Oct 2, 2018. It is now read-only.

Use simple open #240

Open
wants to merge 227 commits into
base: maxgoedjen-archive_path
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
227 commits
Select commit Hold shift + click to select a range
3d4b604
Little refactoring
lacostej Sep 11, 2015
28674a3
Updated gym to use the new xcodebuild API (reapplied 1bb6302869f720cc…
lacostej Sep 11, 2015
185d26f
Support both V6 and V7
lacostej Sep 11, 2015
86a780c
Code style compatibility with 2.0.0
lacostej Sep 12, 2015
7c60a48
Verification thta provisioning profile is used
KrauseFx Sep 16, 2015
c9c6f18
Version Bump by fastlane
KrauseFx Sep 16, 2015
77fffcf
Added provisioning profile fixture
KrauseFx Sep 16, 2015
516e3f3
Merge branch 'feature/switch-to-exportArchive' of https://github.com/…
KrauseFx Sep 16, 2015
ee3f916
Refactored the new package command generator
KrauseFx Sep 16, 2015
3e4832c
Dynamic generation of plist files & options for symbols and bitcode
KrauseFx Sep 16, 2015
c6802e5
Simplified legacy build command generator specs
KrauseFx Sep 16, 2015
117386f
Finished Xcode 7 usage and added tests
KrauseFx Sep 16, 2015
7d1ba3c
Improved code style
KrauseFx Sep 16, 2015
f781119
Updated README
KrauseFx Sep 16, 2015
88d76a3
Fixed not generating an ipa file with Xcode 7
KrauseFx Sep 16, 2015
91e7cc7
Change sdk in GymfileTemplate
JesseCrocker Sep 17, 2015
db895f4
Merge pull request #85 from JesseCrocker/bugfix/template-sdk
KrauseFx Sep 17, 2015
4ee337b
Changed from skip_symbols to upload_symbols
KrauseFx Sep 17, 2015
95e3a08
Moved xcode path detection into fastlane_core helper
KrauseFx Sep 17, 2015
e6ba98b
Added new helper methods to Xcode class
KrauseFx Sep 17, 2015
b58f304
Merge branch 'master' into develop
KrauseFx Sep 18, 2015
3a72dac
Added encoding fix for `swift_fix
KrauseFx Sep 18, 2015
842b449
Merge pull request #83 from fastlane/develop
KrauseFx Sep 18, 2015
3fa40ca
Added information abut the Xcode version to use
KrauseFx Sep 18, 2015
15fbd00
Fixed code style
KrauseFx Sep 18, 2015
e857d3f
Added test for XML config file for new Xcode 7
KrauseFx Sep 18, 2015
4fbee87
Version bump
KrauseFx Sep 18, 2015
cec3c0f
Added quotes around env variable example
KrauseFx Sep 18, 2015
86dae66
Changed from `upload` to `include`
KrauseFx Sep 18, 2015
d8513bc
Version bump
KrauseFx Sep 18, 2015
bedd24b
Improved ipa file detection with Xcode 7
KrauseFx Sep 18, 2015
abf253b
Version bump
KrauseFx Sep 18, 2015
5743b53
Fixed parameter types for `include` parameters
KrauseFx Sep 18, 2015
486c604
Added new `export_method` option for non appstore builds
KrauseFx Sep 20, 2015
44d9b5c
Improved output when using legacy parameters
KrauseFx Sep 20, 2015
288e998
Added support for code signing identity option while building
KrauseFx Sep 20, 2015
5bbc95c
Version bump
KrauseFx Sep 20, 2015
705f395
Fixed bug where `gym` tries to move a file which we don't need
KrauseFx Sep 20, 2015
29ceb64
Generate xcodebuild.log for more details
xfreebird Sep 20, 2015
7afcf58
Added Xcode 7 information
KrauseFx Sep 21, 2015
31e0f1b
Don't delete patched file after running `gym`
KrauseFx Sep 21, 2015
9a3dc17
Merge branch 'master' of https://github.com/krausefx/gym
KrauseFx Sep 21, 2015
2a0c173
Fixed not returning the patched path if it already exists
KrauseFx Sep 21, 2015
d8629e9
Added temporary use_legacy_build_api option
KrauseFx Sep 21, 2015
2e17e85
Version bump
KrauseFx Sep 21, 2015
a4d6182
Added auto-detect of the export issue with instructions how to solve it
KrauseFx Sep 21, 2015
a2f1fbc
Fixed use_legacy_build_api flag
KrauseFx Sep 21, 2015
3901023
Version bump
KrauseFx Sep 21, 2015
bfebecb
Updated bundle identifiers of example projects
KrauseFx Sep 21, 2015
69d3cf8
Reuse Project.mac? to detect project destination on Xcode 6.4
lacostej Sep 22, 2015
e762b89
Merge pull request #97 from lacostej/xcode64_incorrect_project_destin…
KrauseFx Sep 22, 2015
d97410d
Hide legacy note when value is automatically set via fastlane
KrauseFx Sep 22, 2015
533e057
Merge branch 'master' of https://github.com/krausefx/gym
KrauseFx Sep 22, 2015
91b2991
Merge pull request #91 from xfreebird/feature/xcodebuildlogs
KrauseFx Sep 23, 2015
76a1850
Added raw xcodebuild logs in logs folder
KrauseFx Sep 23, 2015
2e3c45c
Raw xcodebuild logs are now stored in gym subfolder
KrauseFx Sep 23, 2015
d3b2d3f
Version bump
KrauseFx Sep 23, 2015
c7ab17c
Added buildlog_path option to change the location of the xcodebuild logs
xfreebird Sep 23, 2015
e9ba16a
Simplified the buildlog_path implementation
xfreebird Sep 23, 2015
71bb7f4
Merge pull request #99 from xfreebird/feature/buildlogpath
KrauseFx Sep 23, 2015
7837fe1
Added showing of export method in build summary
KrauseFx Sep 23, 2015
928d282
Improved code style
KrauseFx Sep 23, 2015
310fe35
Merge branch 'master' of https://github.com/krausefx/gym
KrauseFx Sep 23, 2015
d8b111e
Fixed problem with case sensitivity
KrauseFx Sep 23, 2015
1f83a30
Version bump
KrauseFx Sep 23, 2015
9a68848
export_method will be determined at a later point
KrauseFx Sep 23, 2015
6cba18d
Version bump
KrauseFx Sep 23, 2015
5635574
Fixed gym paths when running gym multiple times in one lane
KrauseFx Sep 23, 2015
f6dcf31
Version bump
KrauseFx Sep 23, 2015
3fc6cbf
Fixed code style
KrauseFx Sep 23, 2015
93eda01
Check use_legacy_api instead of direct Xcode 7 check
maxgoedjen Sep 27, 2015
921b94b
Automatic setting of legacy_build_api when using an old version of Xcode
KrauseFx Sep 27, 2015
5f17340
Merge pull request #109 from maxgoedjen/fix_xc7_legacy
KrauseFx Sep 27, 2015
cabecce
Version bump
KrauseFx Sep 27, 2015
9505b6b
Updated documentation for provisioning profile
KrauseFx Sep 30, 2015
96c7530
No more automatic 'Release' configuration
KrauseFx Sep 30, 2015
83b383d
Version bump
KrauseFx Sep 30, 2015
a12e178
Updated fastlane_core dependency
KrauseFx Sep 30, 2015
2be2936
Added new rake push task
KrauseFx Sep 30, 2015
90d90a2
Updated tests
KrauseFx Sep 30, 2015
128f35d
Updated fastlane_core dependency
KrauseFx Oct 1, 2015
75cb5d2
Merge branch 'master' of https://github.com/fastlane/gym
KrauseFx Oct 1, 2015
5c6dbf7
Zip all dSYM files together
brianmichel Oct 6, 2015
2c89a22
Stop detecting the project if we already have a workspace
KrauseFx Oct 6, 2015
eeada54
Version bump
KrauseFx Oct 6, 2015
a515f04
Updated travis configuration
KrauseFx Oct 7, 2015
38f9d62
Updated travis configuration
KrauseFx Oct 7, 2015
a651d76
Disbabled web requests for tests
KrauseFx Oct 8, 2015
f3f2a37
`gym init` now creates the configuration in the fastlane folder if ex…
KrauseFx Oct 8, 2015
7ce04e7
Added webmock
KrauseFx Oct 8, 2015
99a8229
Moved Project class to fastlane core
KrauseFx Oct 11, 2015
663ac30
Version bump
KrauseFx Oct 11, 2015
c24e2d3
Added more ruby versions
KrauseFx Oct 11, 2015
53fd161
Moved project discovery to fastlane_core
KrauseFx Oct 11, 2015
58222ea
Updated travis file to install bundler
KrauseFx Oct 12, 2015
63ea7c2
Updated build_command_generator to use new Project API
KrauseFx Oct 12, 2015
5ddbc5a
Update README.md
cbowns Oct 13, 2015
284fb9b
Merge pull request #123 from cbowns/patch-1
KrauseFx Oct 13, 2015
016f89c
Removed outdated information in documentation
KrauseFx Oct 13, 2015
01edf27
Merge branch 'master' of https://github.com/krausefx/gym
KrauseFx Oct 13, 2015
7db8c3c
Fixed regex encoding issues
KrauseFx Oct 14, 2015
3050ab1
Version bump
KrauseFx Oct 14, 2015
f2c9132
Don't use string linteral for glob
brianmichel Oct 15, 2015
731bb24
Improvements
KrauseFx Oct 15, 2015
35918a9
Updated fastlane_core dependency
KrauseFx Oct 16, 2015
1945c0c
Improved handling when archive is invalid due to wrong code signing
KrauseFx Oct 16, 2015
27f876d
Updated dependencies
KrauseFx Oct 19, 2015
b1fdb88
Changed the order of the available options
KrauseFx Oct 19, 2015
9a90676
Version bump
KrauseFx Oct 19, 2015
f4c3532
Updated fastlane dependency
KrauseFx Oct 19, 2015
2a73bee
Added scan
KrauseFx Oct 20, 2015
c92cec3
Added new logo
KrauseFx Oct 20, 2015
b0aecd4
Updated size of logo
KrauseFx Oct 23, 2015
b9dd3d6
Added export_team_id option
KrauseFx Oct 23, 2015
3d489de
Version bump
KrauseFx Oct 23, 2015
551d485
Added legacy api note
KrauseFx Oct 24, 2015
7ed5f25
Support for export_team_id for non App Store builds
KrauseFx Oct 26, 2015
b2a0f39
Updated travis config
KrauseFx Oct 27, 2015
2b7e2f8
Version bump
KrauseFx Oct 27, 2015
f664a92
Fixed exporting the binary to a ~ folder
KrauseFx Oct 28, 2015
5eee386
Version bump
KrauseFx Oct 28, 2015
dddca18
Fixed "The generated archive is invalid"
KrauseFx Oct 28, 2015
5a58989
Version bump
KrauseFx Oct 28, 2015
ffcd767
Update redirects
ReadmeCritic Oct 28, 2015
749b20f
Merge pull request #132 from frankenbot/master
KrauseFx Oct 29, 2015
25813b6
Fix for issue #115, 'Generated archive is invalid'
mrniket Oct 29, 2015
2f07326
Merge pull request #134 from mrniket/master
KrauseFx Oct 29, 2015
b60a7a5
Updated travis to Xcode 7.1
KrauseFx Oct 30, 2015
4785c63
Removed xcpretty version restriction
KrauseFx Oct 30, 2015
10f3f47
Merge branch 'master' of https://github.com/fastlane/gym
KrauseFx Oct 30, 2015
e4a450d
Updated xcpretty dependency
KrauseFx Oct 30, 2015
bc6e78b
Version bump
KrauseFx Oct 30, 2015
4bbbc79
Fixed encoding issue with special characters
KrauseFx Nov 2, 2015
e5ff836
Switched to new option summary table
KrauseFx Nov 2, 2015
d4eadae
Improved code style
KrauseFx Nov 2, 2015
43bd7f9
Version bump
KrauseFx Nov 2, 2015
0f218b5
Update README.md
radex Nov 3, 2015
8fa814d
Merge pull request #137 from radex/patch-1
KrauseFx Nov 3, 2015
32ed44c
Added instructions to use the legacy build api when the export comman…
KrauseFx Nov 4, 2015
a579721
Added Fix for WatchKit 2.0 Support. (Apple Should fix their build chain)
Nov 20, 2015
6be4fc3
Exclude WatchKitSupport 1 folder when include WatchKitSupport2
Nov 20, 2015
8af727b
Merge pull request #114 from brianmichel/feature/allow-for-multiple-d…
KrauseFx Nov 20, 2015
8dd2e82
Version bump
KrauseFx Nov 20, 2015
e18d85f
CRC
Nov 28, 2015
164a633
Updated travis config
KrauseFx Dec 1, 2015
a59ec32
Reference local gems for development
ohayon Dec 3, 2015
01c30ea
Merge pull request #152 from fastlane/local-gems
KrauseFx Dec 4, 2015
9974731
Fix misspelling in GymfileTemplate
johncblandii Dec 4, 2015
026ca9c
Renamed PEM to pem
KrauseFx Dec 7, 2015
0f5148e
Adds suppress xcode output option and update pip def
joshrlesch Dec 8, 2015
941f1bd
Don't need default value if its optional
joshrlesch Dec 8, 2015
e9d4dce
Merge pull request #1 from joshrlesch/no-xcode-output
joshrlesch Dec 8, 2015
0d087c1
hound violation
joshrlesch Dec 8, 2015
35820a4
Merge pull request #158 from joshrlesch/master
KrauseFx Dec 9, 2015
9006f62
Added match
KrauseFx Dec 10, 2015
b62ca90
Merge pull request #155 from johncblandii/patch-1
KrauseFx Dec 11, 2015
b3d7671
Merge pull request #148 from mathiasAichinger/2015-11-fix-watchkit2su…
KrauseFx Dec 11, 2015
a71948f
Version bump
KrauseFx Dec 11, 2015
ff99cab
Enabled UI layer
KrauseFx Dec 17, 2015
f4f3b6f
Updated gym to use the new UI class
KrauseFx Dec 19, 2015
a9c1cd3
Disable colors in xcpretty when FASTLANE_DISABLE_COLORS is set
thelvis4 Dec 19, 2015
d069711
Merge pull request #165 from thelvis4/master
mfurtak Dec 19, 2015
c7ed940
Merge branch 'master' of https://github.com/fastlane/gym
KrauseFx Dec 20, 2015
a5b8399
Try loading the Gymfile from the current directory
alexcristea Dec 24, 2015
d7a4332
Fixed issue with creating ipa and dsym for tvos
jsambuo Dec 24, 2015
aac9bf7
Merge pull request #170 from alexcristea/master
KrauseFx Dec 27, 2015
f8e7ca3
Added tvOS example project
KrauseFx Dec 29, 2015
c4310f8
Added nice error message when trying to use gym on a tvOS project
KrauseFx Dec 29, 2015
7577fad
Improved color disabled detection
KrauseFx Jan 7, 2016
61b1533
Fixed code style
KrauseFx Jan 7, 2016
e6966dc
#177 Concatenate LOG_DIR/IDEDistribution.standard.log to output upon …
lacostej Jan 7, 2016
c9b281e
Shell escape product name in build command
HughJeffner Jan 5, 2016
de553c5
Fix broken build_command_generator_spec example
Jan 8, 2016
a1ed579
Merge pull request #178 from lacostej/features/display_standard_archi…
KrauseFx Jan 9, 2016
849866a
Merge pull request #181 from fastlane/fix-broken-spec
KrauseFx Jan 9, 2016
3c788e1
Updated fastlane_core dependency
KrauseFx Jan 9, 2016
52c859e
Merge branch 'master' of https://github.com/fastlane/gym
KrauseFx Jan 9, 2016
0d72607
Version bump
KrauseFx Jan 9, 2016
45040cd
Issue #168 wrap xcodebuild calls within ruby system environment
lacostej Jan 7, 2016
b87bd9c
Modify wrapper to only work-around broken rvm environment. Tested und…
lacostej Jan 8, 2016
41dcf91
Document
lacostej Jan 8, 2016
c0f7fef
changed the XCode 7 package command generator to use standard Ruby te…
igor-makarov Jan 10, 2016
300133f
Merge remote-tracking branch 'upstream/master'
igor-makarov Jan 10, 2016
ac42a95
Update `Gym::XcodebuildFixes::watchkit2?` to match watchos2.1
ngs Jan 11, 2016
bf767c0
Change KrauseFx references to fastlane
Jan 11, 2016
a780e34
Merge pull request #185 from fastlane/krausefx-to-fastlane
mfurtak Jan 11, 2016
58d0db4
Merge pull request #182 from igor-makarov/master
KrauseFx Jan 11, 2016
c450b31
Merge pull request #184 from ngs/watchkit-2.1
KrauseFx Jan 12, 2016
9551fb7
Merge pull request #169 from jsambuo/fix/tvos_support
KrauseFx Jan 12, 2016
e77dc79
Merge pull request #176 from lacostej/features/wrap_xcodebuild
KrauseFx Jan 12, 2016
44d509d
Version bump
KrauseFx Jan 12, 2016
68658d1
Merge pull request #175 from HughJeffner/patch-1
KrauseFx Jan 12, 2016
f6ac193
Added support for `-derivedDataPath` and `-resultBundlePath` options.
bartoszj Dec 28, 2015
c4dd5d8
Merge pull request #172 from bartoszj/derivedData
KrauseFx Jan 15, 2016
3629bfe
Locked rubocop dependency
KrauseFx Jan 22, 2016
76497e1
Update README.md
vpolouchkine Jan 21, 2016
6af7f26
Merge pull request #193 from vpolouchkine/add-code-of-conduct
KrauseFx Jan 26, 2016
761acc5
fix builds for tvOS
tmm1 Jan 26, 2016
fc38cad
Replaced move of .app archive with copy for Mac projects
OSemenovBoyarka Jan 28, 2016
331f5bc
Merge pull request #195 from tmm1/fix-tvos
KrauseFx Jan 28, 2016
70dfb33
Merge pull request #197 from SemenovAlexander/bug-broken-archive
KrauseFx Jan 28, 2016
c1aace0
Migrated gym to the new fastlane UI
KrauseFx Feb 2, 2016
f7fea1d
Updated fastlane_core dependency
KrauseFx Feb 2, 2016
4d5674c
Fixed tests for new UI
KrauseFx Feb 2, 2016
c0e86ad
Merge pull request #198 from fastlane/feature/new-ui
KrauseFx Feb 2, 2016
5392c5c
Version bump
KrauseFx Feb 4, 2016
12948c1
Fix typo in Contributing.md file
jinjorge Feb 6, 2016
cb7e4e7
Merge pull request #203 from jinjorge/patch-1
KrauseFx Feb 6, 2016
34f30a9
Set conflicting options:
olegoid Feb 9, 2016
12a01a4
Merge pull request #205 from olegoid/master
KrauseFx Feb 9, 2016
0d78a22
Added support for `export_options` and app thinning
bartoszj Jan 23, 2016
6d1edf9
Mark Xcode archives generated by gym with extended attribute
Feb 3, 2016
26b5428
PR feedback: mark the archive as built by gym before logging success
Feb 10, 2016
519a925
Merge pull request #194 from bartoszj/exportOptionsPlist
KrauseFx Feb 10, 2016
43ac54f
Version bump
KrauseFx Feb 11, 2016
8634657
Merge pull request #206 from fastlane/feature/archive-xattr
mpirri Feb 11, 2016
b2bc53a
Added `build_path` option
bartoszj Feb 13, 2016
8876e95
Merge pull request #208 from bartoszj/build_path
KrauseFx Feb 15, 2016
345529d
Fixed `mkdir -p` for `build_path`.
bartoszj Feb 15, 2016
171f5bb
Merge pull request #213 from bartoszj/build_path_fix
KrauseFx Feb 15, 2016
3cd82e7
Version bump to 1.6.1
Feb 17, 2016
efa18ed
Merge pull request #215 from fastlane/feature/version-bump
mpirri Feb 17, 2016
7a4382d
Add coverage directory to .gitignore
Feb 17, 2016
4f7cb49
Merge pull request #216 from fastlane/feature/add-coverage-to-gitignore
mpirri Feb 17, 2016
96a6392
Fix example use of --use_legacy_build_api flag
Feb 18, 2016
3bbb532
Merge pull request #219 from fastlane/fix-option-usage
mfurtak Feb 18, 2016
e403cbf
Add USE_SIMPLE_POPEN ENV var to CI to test hang fix
Feb 23, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.DS_Store
Gemfile.lock
/coverage/
*UserInterfaceState.xcuserstate
pkg
**/Example.app.dSYM.zip
Expand Down
9 changes: 5 additions & 4 deletions .rubocop_general.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ Metrics/MethodLength:
Exclude:
- 'lib/*/options.rb'

Metrics/AbcSize:
Max: 60
Exclude:
- 'lib/*/options.rb'

# Both string notations are okay
Style/StringLiterals:
Enabled: false
Expand Down Expand Up @@ -83,10 +88,6 @@ Style/AlignHash:
Style/AndOr:
Enabled: false

# Offense count: 20
Metrics/AbcSize:
Max: 60

# Configuration parameters: CountComments.
Metrics/ClassLength:
Max: 320
Expand Down
14 changes: 10 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
language: objective-c
osx_image: xcode6.4
before_install: gem update --system
language: ruby
osx_image: xcode7.1
os: osx
env:
- USE_SIMPLE_POPEN=true
before_install:
- gem update --system
- gem install bundler
rvm:
- 2.0.0
- 2.1.6
- 2.2.2
script: bundle exec fastlane test
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ To clone the [fastlane](https://fastlane.tools) repos, use the [countdown](https

Before submitting a new issue, do the following:

- Verify you're runing the latest version by running `gym -v` and compare it with the [project page on GitHub](https://github.com/fastlane/gym).
- Verify you're running the latest version by running `gym -v` and compare it with the [project page on GitHub](https://github.com/fastlane/gym).
- Verify you have Xcode tools installed by running `xcode-select --install`.
- Make sure to read through the [README](https://github.com/fastlane/gym) of the project.

Expand Down
4 changes: 4 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,7 @@ source "https://rubygems.org"

# Specify your gem's dependencies in .gemspec
gemspec

if `cd ..; git remote -v`.include?('countdown')
gem 'fastlane_core', path: '../fastlane_core'
end
112 changes: 86 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,42 @@
<h3 align="center">
<a href="https://github.com/KrauseFx/fastlane">
<a href="https://github.com/fastlane/fastlane">
<img src="assets/fastlane.png" width="150" />
<br />
fastlane
</a>
</h3>
<p align="center">
<a href="https://github.com/KrauseFx/deliver">deliver</a> &bull;
<a href="https://github.com/KrauseFx/snapshot">snapshot</a> &bull;
<a href="https://github.com/KrauseFx/frameit">frameit</a> &bull;
<a href="https://github.com/KrauseFx/PEM">PEM</a> &bull;
<a href="https://github.com/fastlane/deliver">deliver</a> &bull;
<a href="https://github.com/fastlane/snapshot">snapshot</a> &bull;
<a href="https://github.com/fastlane/frameit">frameit</a> &bull;
<a href="https://github.com/fastlane/pem">pem</a> &bull;
<a href="https://github.com/fastlane/sigh">sigh</a> &bull;
<a href="https://github.com/KrauseFx/produce">produce</a> &bull;
<a href="https://github.com/KrauseFx/cert">cert</a> &bull;
<a href="https://github.com/KrauseFx/codes">codes</a> &bull;
<a href="https://github.com/fastlane/produce">produce</a> &bull;
<a href="https://github.com/fastlane/cert">cert</a> &bull;
<a href="https://github.com/fastlane/spaceship">spaceship</a> &bull;
<a href="https://github.com/fastlane/pilot">pilot</a> &bull;
<a href="https://github.com/fastlane/boarding">boarding</a> &bull;
<b>gym</b>
<b>gym</b> &bull;
<a href="https://github.com/fastlane/scan">scan</a> &bull;
<a href="https://github.com/fastlane/match">match</a>
</p>
-------

<p align="center">
<img src="assets/gym.png">
<img src="assets/gym.png" height="110">
</p>

gym
============

[![Twitter: @KauseFx](https://img.shields.io/badge/contact-@KrauseFx-blue.svg?style=flat)](https://twitter.com/KrauseFx)
[![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/gym/blob/master/LICENSE)
[![Twitter: @KauseFx](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/gym/blob/master/LICENSE)
[![Gem](https://img.shields.io/gem/v/gym.svg?style=flat)](http://rubygems.org/gems/gym)
[![Build Status](https://img.shields.io/travis/fastlane/gym/master.svg?style=flat)](https://travis-ci.org/fastlane/gym)

###### Building your app has never been easier

Get in contact with the developer on Twitter: [@KrauseFx](https://twitter.com/KrauseFx)
Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.com/FastlaneTools)

-------
<p align="center">
Expand Down Expand Up @@ -100,8 +101,6 @@ gym

# Installation

This tool is still work in progress. You can already try it by cloning the repo and running

sudo gem install gym

Make sure, you have the latest version of the Xcode command line tools installed:
Expand All @@ -116,15 +115,32 @@ That's all you need to build your application. If you want more control, here ar

gym --workspace "Example.xcworkspace" --scheme "AppName" --clean

If you need to use a different xcode install, use xcode-select or define DEVELOPER_DIR:

DEVELOPER_DIR="/Applications/Xcode6.2.app" gym

For a list of all available parameters use

gym --help

If you run into any issues, use the `verbose` mode to get more information


gym --verbose

In general, if you run into issues while exporting the archive, try using:

gym --use_legacy_build_api

Set the right export method if you're not uploading to App Store or TestFlight:

gym --export_method ad-hoc

To pass boolean parameters make sure to use `gym` like this:

gym --include_bitcode true --include_symbols false

To access the raw `xcodebuild` output open `~/Library/Logs/gym`

# Gymfile

Since you might want to manually trigger a new build but don't want to specify all the parameters every time, you can store your defaults in a so called `Gymfile`.
Expand All @@ -134,14 +150,36 @@ Run `gym init` to create a new configuration file. Example:
```ruby
scheme "Example"

sdk "9.0"
sdk "iphoneos9.0"

clean true

output_directory "./build" # store the ipa in this folder
output_name "MyApp" # the name of the ipa file
```

## Export options

Since Xcode 7, `gym` is using new Xcode API which allows us to specify export options using `plist` file. By default `gym` creates this file for you and you are able to modify some parameters by using `export_method`, `export_team_id`, `include_symbols` or `include_bitcode`. If you want to have more options, like creating manifest file or app thinning, you can provide your own `plist` file:

```ruby
export_options "./ExportOptions.plist"
```

or you can provide hash of values directly in the `Gymfile`:

```ruby
export_options(
method: "ad-hoc",
manifest: {
appURL: "https://example.com/My App.ipa",
},
thinning: "<thin-for-all-variants>"
)
```

For the list of available options run `xcodebuild -help`.

# Automating the whole process

`gym` works great together with [fastlane](https://fastlane.tools), which connects all deployment tools into one streamlined workflow.
Expand All @@ -158,7 +196,7 @@ end

You can then easily switch between the beta provider (e.g. `testflight`, `hockey`, `s3` and more).

For more information visit the [fastlane GitHub page](https://github.com/KrauseFx/fastlane).
For more information visit the [fastlane GitHub page](https://github.com/fastlane/fastlane).

# How does it work?

Expand All @@ -181,9 +219,27 @@ xcodebuild -scheme 'Example' \
archive | xcpretty
```


After building the archive it is being checked by `gym`. If it's valid, it gets packaged up and signed into an `ipa` file.

`gym` automatically chooses a different packaging method depending on the version of Xcode you're using.

### Xcode 7 and above

```
/usr/bin/xcrun path/to/xcbuild-safe.sh -exportArchive \
-exportOptionsPlist '/tmp/gym_config_1442852529.plist' \
-archivePath '/Users/fkrause/Library/Developer/Xcode/Archives/2015-09-21/App 2015-09-21 09.21.56.xcarchive' \
-exportPath '/tmp/1442852529'
```

`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`.

Using this method there are no workarounds for WatchKit or Swift required, as it uses the same technique Xcode uses when exporting your binary.

Note: the [xcbuild-safe.sh script](https://github.com/fastlane/gym/tree/master/lib/assets/wrap_xcodebuild/xcbuild-safe.sh) wraps around xcodebuild to workaround some incompatibilities.

### Xcode 6 and below

```
/usr/bin/xcrun /path/to/PackageApplication4Gym -v \
'/Users/felixkrause/Library/Developer/Xcode/Archives/2015-08-11/ExampleProductName 2015-08-11 18.15.30.xcarchive/Products/Applications/name.app' -o \
Expand All @@ -199,16 +255,17 @@ Afterwards the `ipa` file is moved to the output folder. The `dSYM` file is comp
## [`fastlane`](https://fastlane.tools) Toolchain

- [`fastlane`](https://fastlane.tools): Connect all deployment tools into one streamlined workflow
- [`deliver`](https://github.com/KrauseFx/deliver): Upload screenshots, metadata and your app to the App Store
- [`snapshot`](https://github.com/KrauseFx/snapshot): Automate taking localized screenshots of your iOS app on every device
- [`frameit`](https://github.com/KrauseFx/frameit): Quickly put your screenshots into the right device frames
- [`PEM`](https://github.com/KrauseFx/pem): Automatically generate and renew your push notification profiles
- [`produce`](https://github.com/KrauseFx/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
- [`cert`](https://github.com/KrauseFx/cert): Automatically create and maintain iOS code signing certificates
- [`codes`](https://github.com/KrauseFx/codes): Create promo codes for iOS Apps using the command line
- [`deliver`](https://github.com/fastlane/deliver): Upload screenshots, metadata and your app to the App Store
- [`snapshot`](https://github.com/fastlane/snapshot): Automate taking localized screenshots of your iOS app on every device
- [`frameit`](https://github.com/fastlane/frameit): Quickly put your screenshots into the right device frames
- [`pem`](https://github.com/fastlane/pem): Automatically generate and renew your push notification profiles
- [`produce`](https://github.com/fastlane/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
- [`cert`](https://github.com/fastlane/cert): Automatically create and maintain iOS code signing certificates
- [`spaceship`](https://github.com/fastlane/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
- [`pilot`](https://github.com/fastlane/pilot): The best way to manage your TestFlight testers and builds from your terminal
- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
- [`scan`](https://github.com/fastlane/scan): The easiest way to run tests of your iOS and Mac app
- [`match`](https://github.com/fastlane/match): Easily sync your certificates and profiles across your team using git

##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)

Expand All @@ -218,6 +275,9 @@ Download and install the [Provisioning Plugin](https://github.com/chockenberry/P
# Need help?
Please submit an issue on GitHub and provide information about your setup

# Code of Conduct
Help us keep `gym` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/code-of-conduct).

# License
This project is licensed under the terms of the MIT license. See the LICENSE file.

Expand Down
4 changes: 4 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ task default: :spec
task :test do
sh "../fastlane/bin/fastlane test"
end

task :push do
sh "../fastlane/bin/fastlane release"
end
Binary file modified assets/gym.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/gym.pxm
Binary file not shown.
Binary file removed assets/gymFullSize.png
Binary file not shown.
9 changes: 7 additions & 2 deletions examples/WatchKit/WatchKit.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -445,9 +445,10 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Distribution";
INFOPLIST_FILE = WatchKit/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = net.sunapps.WatchKit;
PRODUCT_BUNDLE_IDENTIFIER = tools.fastlane.app;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
Expand All @@ -456,9 +457,10 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Distribution";
INFOPLIST_FILE = WatchKit/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = net.sunapps.WatchKit;
PRODUCT_BUNDLE_IDENTIFIER = tools.fastlane.app;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
Expand Down Expand Up @@ -534,6 +536,7 @@
CA461FED1B84738C0037A37B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CA46200F1B8473930037A37B /* Build configuration list for PBXNativeTarget "WatchKit WatchKit 1 App" */ = {
isa = XCConfigurationList;
Expand All @@ -542,6 +545,7 @@
CA4620111B8473930037A37B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CA4620121B8473930037A37B /* Build configuration list for PBXNativeTarget "WatchKit WatchKit 1 Extension" */ = {
isa = XCConfigurationList;
Expand All @@ -550,6 +554,7 @@
CA4620141B8473930037A37B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "92E86429DF370BECD7A1A0FC00BA6FF984F9710D",
"DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {

},
"DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
"92E86429DF370BECD7A1A0FC00BA6FF984F9710D" : 0,
"11BD64E841BB6AC3A48BA84DC911C1D4F58BDACF" : 0
},
"DVTSourceControlWorkspaceBlueprintIdentifierKey" : "384272E4-7D16-4230-B482-A546F8BD54A7",
"DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
"92E86429DF370BECD7A1A0FC00BA6FF984F9710D" : "gym\/",
"11BD64E841BB6AC3A48BA84DC911C1D4F58BDACF" : ""
},
"DVTSourceControlWorkspaceBlueprintNameKey" : "WatchKit",
"DVTSourceControlWorkspaceBlueprintVersion" : 204,
"DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "examples\/WatchKit\/WatchKit.xcodeproj",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
{
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/fastlane\/countdown",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "11BD64E841BB6AC3A48BA84DC911C1D4F58BDACF"
},
{
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/krausefx\/gym",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "92E86429DF370BECD7A1A0FC00BA6FF984F9710D"
}
]
}
Loading