Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.9.0 #536

Closed
pietbrauer opened this issue Dec 31, 2015 · 21 comments
Closed

Release 0.9.0 #536

pietbrauer opened this issue Dec 31, 2015 · 21 comments
Assignees

Comments

@pietbrauer
Copy link
Member

Release a new version: 0.9.0

Changeling (Comparison)

@phatblat
Copy link
Member

Wow, some of those changes have been sitting around for a while. Thanks for bringing this up, @pietbrauer!

@joshaber
Copy link
Member

joshaber commented Jan 1, 2016

I created a 0.8.9 release (https://github.com/libgit2/objective-git/releases/tag/0.8.9) but I haven't been able to create a binary for it. When I try, I get:

target 'Nimble-iOS' has bitcode disabled (ENABLE_BITCODE = NO), but it is required for the 'appletvos' platform

Possibly the same as SwiftJSON is seeing: SwiftyJSON/SwiftyJSON#327 (comment)?

Any ideas? Anyone else able to create a binary? (carthage build --no-skip-current)

@pietbrauer
Copy link
Member Author

Sweet, can try tomorrow. Why 0.8.9 though? Isn't the NS_OPTIONS change is a breaking change?

@joshaber
Copy link
Member

joshaber commented Jan 1, 2016

Why 0.8.9 though? Isn't the NS_OPTIONS change is a breaking change?

Good point. I was thinking it was just fixing a bug, but I guess it does break anyone who was using it. 👍

Updated to be 0.9.

@phatblat
Copy link
Member

phatblat commented Jan 1, 2016

With watchOS and tvOS being part of "all" platforms now in carthage, we should probably use the following when building dependencies:

carthage build --platform Mac,iOS

@joshaber
Copy link
Member

joshaber commented Jan 1, 2016

Ah interesting. So that gets me a bit further, and then a lot of errors like:

/Users/joshaber/Documents/Development/GitHub/objective-git/Carthage/Checkouts/Nimble/Nimble/Nimble.h:1:9: note: while building module 'Foundation' imported from /Users/joshaber/Documents/Development/GitHub/objective-git/Carthage/Checkouts/Nimble/Nimble/Nimble.h:1:
#import <Foundation/Foundation.h>
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:10: note: while building module 'CoreFoundation' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
#include <CoreFoundation/CoreFoundation.h>
         ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:11:10: note: while building module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:11:
#include <sys/types.h>
         ^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "sys/cdefs.h"
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk/usr/include/sys/cdefs.h:707:2: error: Unsupported architecture
#error Unsupported architecture

@phatblat
Copy link
Member

phatblat commented Jan 1, 2016

I don't get these errors building with Xcode 7.2 and carthage 0.11.0 (on OS X 10.11.2) using the following command:

carthage build --no-skip-current --platform Mac,iOS --verbose

Build log: https://gist.github.com/phatblat/e6525b198bff64dfa738
Build: http://b.log-g.co/eCNa

@joshaber
Copy link
Member

joshaber commented Jan 1, 2016

¯_(ツ)_/¯

I uploaded that build. Thanks to you both!

@joshaber joshaber closed this as completed Jan 1, 2016
@phatblat
Copy link
Member

phatblat commented Jan 1, 2016

A couple differences between that .zip file and the 0.8.8 release:

  • not codesigned
  • .dSYMs not included (I removed these to make the file smaller)

@joshaber
Copy link
Member

joshaber commented Jan 1, 2016

@joshaber
Copy link
Member

joshaber commented Jan 1, 2016

So should I remove the binary?

@phatblat
Copy link
Member

phatblat commented Jan 1, 2016

I don't think either of these are problems. The README states:

dSYM files are not currently included in the GitHub release zip files

As for codesign, iOS apps need to sign embedded frameworks anyway before deployment. I'm not sure about Mac apps. So, I think the file I provided is fine, just not 100% sure since I typically build ObjectiveGit from source.

@pietbrauer lmk if you have any problems with the new build.

@pietbrauer
Copy link
Member Author

Works, thanks guys! Such a bliss to work with it in Swift now.

@phatblat
Copy link
Member

phatblat commented Jan 2, 2016

👍🏼

@pietbrauer
Copy link
Member Author

@phatblat Why did you strip the symbols out? It's only 5 MB difference, going from 10 MB to 15 MB?

@phatblat
Copy link
Member

phatblat commented Jan 5, 2016

Before i zipped up the Carthage build dir, I removed the Quick and Nimble framework builds and took the .dSYM files out too. Together, the symbols for both platforms were 18MB before compression.

screenshot

We didn't used to include them, which is why I added that section to the README about including debug symbols.

Additionally, I provided a Release build which doesn't make for a deterministic debugging experience

screenshot 2

@phatblat
Copy link
Member

phatblat commented Jan 5, 2016

It was only after @joshaber posted the build that I compared it to the 0.8.8 release and noticed those differences. I didn't see them as a problem but figured I'd mention them in case someone else called for a rebuild.

Are you needing them for debugging into the framework? If so, I think you're better off building the framework with the Debug config which will give you symbol files too. Note that I've had to add the ObjectiveGit project to my app's xcworkspace to get Xcode to even try to show me source while debugging.

@mdiep
Copy link
Contributor

mdiep commented Jan 5, 2016

We didn't used to include them, which is why I added that section to the README about including debug symbols.

That's because Carthage didn't use to include them in releases.

@pietbrauer
Copy link
Member Author

Yeah, when I use. carthage archive ObjectiveGit it includes them. Anyway, the reason why I was asking was because I tried to analyze a memory bug and the symbols where not included and I spent 30 minutes integrating the project and building from source 😉. I am ok either way.

@phatblat
Copy link
Member

phatblat commented Jan 5, 2016

IMHO, it's worth it to set up the config to build from source. That way, you could point to your branch/fork to test a change, or do something fancy like -enableAddressSanitizer YES when you need to track down those pesky memory bugs 😲.

@phatblat
Copy link
Member

phatblat commented Jan 5, 2016

looks up carthage archive command 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants