Currently, we have to wait around 5 minutes for compiling aws-sdk for iOS. We only need 1 of the many frameworks aws-sdk for iOS contains. Something should be done to speed up compilation times and allow users of the sdk to pick and choose what frameworks they need.
@thebugcode are you talking about carthage build?
Exactly :)
I think we can include prebuilt frameworks as part of release so carthage doesn't have to build the sdk.
I think that would be a great start :)
That would be awesome!
Hitting the same issue. Takes me around 15 min locally to compile the aws sdk components with carthage and ~40 min on circle ci. I think the best solution is some sort of sub-repository specification support in carthage. It could work like subspecs in Cocoapods but use various workspaces to define which modules are built. This is by no means an issue exclusive to aws-sdk-ios but this project has an especially high component count.
For example:
github "aws/aws-sdk-ios" ~> 2.4 could become github "aws/aws-sdk-ios/AWSS3" ~> 2.4
also if you guys could package the binaries that'd be awesome. thanks to @marcvanolmen for mentioning this.
https://github.com/Carthage/Carthage#archive-prebuilt-frameworks-into-one-zip-file
Is there some progress in providing prebuild frameworks for carthage?
How are you all dealing with such an incredible time for building aws sdk on CI, on production code - with Carthage?
@thebugcode, you opened the issue on September, 2016.
Have you found any solution to this?
Hi Laura,
I update dependencies individually and avoid updating all of them because of aws sdk.
Here is how to update specific dependencies instead of all of them :
http://thebugcode.github.io/how-to-update-a-single-dependency-using-carthage/
@lauracalinoiu We use carthage feature --cache-builds and cache Carthage/build
@thebugcode, thank you for your extreme quick response.
I need the builds to run fast on Buddy Build.
The Carthage command line that is used on BuddyBuild is:
carthage bootstrap --platform ios --no-use-binaries --verbose, I do not know how to use it just on some of the libraries. Or if Buddy Build allows that.
@lightsprint09, I do not know yet how to use --cache-builds Carthage option in BuddyBuild. Is it possible?
I know this is an old thread but I am searching for compilation instructions. Does anyone have those? I want the opportunity to compile the aws sdk for 15 mins.
are there any updates on the this issue guys?
it takes 20 mins for my Mac Pro to compile whole aws-sdk-ios (2.6.30) when I need only 1 library :)
if there are some improvements - what version can be used please?
@AndreyPoznyak I am using 2.6.1 with Carthage and it just downloads the prebuilt libraries for that, changed a few months ago.
You might not be/want to use Carthage so might not help, but is a possible solution.
As @ObjColumnist pointed out in their answer above, we do pre-build binaries, which should greatly reduce local compilation times. Unfortunately, without restructuring the package into git submodules (each of which would require its own Github repo), we can't support individual SDK compilation.
Most helpful comment
Hitting the same issue. Takes me around 15 min locally to compile the aws sdk components with carthage and ~40 min on circle ci. I think the best solution is some sort of sub-repository specification support in carthage. It could work like subspecs in Cocoapods but use various workspaces to define which modules are built. This is by no means an issue exclusive to
aws-sdk-iosbut this project has an especially high component count.For example:
github "aws/aws-sdk-ios" ~> 2.4could becomegithub "aws/aws-sdk-ios/AWSS3" ~> 2.4