fastlane-old / gym

Building your iOS apps has never been easier
https://fastlane.tools
645 stars 54 forks source link

Added support for `export_options` and app thinning #194

Closed bartoszj closed 8 years ago

bartoszj commented 8 years ago

Hi,

As promised. I've added support for -exportOptionsPlist (as :export_options) and app thinning. With this pull request user will be able to provide path to export plist file or hash of options. In both cases some export options can be overridden by :include_symbols, :include_bitcode, :export_method and :export_team_id. To the output directory are copied manifest.plist, app-thinning.plist, App Thinning Size Report.txt files and the Apps folder with thinned ipa files.

bartoszj commented 8 years ago

@KrauseFx I hope I've made all necessary adjustments.

plrthink commented 8 years ago

waiting for this PR to be merged

bartoszj commented 8 years ago

I've added a little bit more informations to the README.md file. I hope you will like it.

KrauseFx commented 8 years ago

Sorry for the delay, this looks awesome, reviewing everything now! :+1:

KrauseFx commented 8 years ago

This looks great, thank you so much for your work! I added some comments before the PR is ready. Another question: This should fail if the user defined the use_legacy_build_api but still passes a custom plist, right? If so, we should make sure to fail gracefully using UI.user_error!("use_legacy_build_api must be false to use xy") :+1:

KrauseFx commented 8 years ago

Also, thank you so much for adding tests :+1:

KrauseFx commented 8 years ago

Hey @bartoszj, just wanted to check if you had time to look into this? Otherwise I'm more than happy to take over this PR and do the final changes.

bartoszj commented 8 years ago

Hi, I was sick recently, so I had no strength and time to look at your comments. If you allow me, I want to at least try to finish this PR. I hope I will find time today to make adjustments.

KrauseFx commented 8 years ago

@bartoszj Get well soon, absolutely no problem, let me know when you had time to look into this. Really appreciate all your contribution :+1:

bartoszj commented 8 years ago

This looks great, thank you so much for your work! I added some comments before the PR is ready. Another question: This should fail if the user defined the use_legacy_build_api but still passes a custom plist, right? If so, we should make sure to fail gracefully using UI.user_error!("use_legacy_build_api must be false to use xy") :+1:

I've checked. If we use use_legacy_build_api and export_options everything will works. The legacy mode will be executed, and the package_command_generator_legacy.rb ignores export_options, so the plist options will not be used at all. But this is something that gym should prevent. I'll try to add this error handling.

bartoszj commented 8 years ago

@KrauseFx Hi, I hope I've make all adjustments.

KrauseFx commented 8 years ago

This looks great, thank you so much for your contribution @bartoszj :+1: