Simplified Project Branch Pushed

13 views
Skip to first unread message

Blake Watters

unread,
Nov 23, 2011, 4:19:33 PM11/23/11
to res...@googlegroups.com, restkit-...@googlegroups.com
In September I began work to simplify the structure of RestKit and streamline the installation. I've just pushed a new branch
containing the lion's share of that work. It lives at: https://github.com/RestKit/RestKit/tree/402-new-build-process

Here are the details of the changes:

* Flattened RestKit into two targets. A single iOS static library and an OS X framework target. Some previously optional components
such as XML parsing and Core Data are now requirements. Lesser used components have been moved out of the main project.
* Added libxml2.dylib, Security.framework, and CoreData.framework to the requirements
* Moved SBJSON, YAJL, and Nextive parsers out of the main codebase. RestKit.a and RestKit.framework build with the JSONKit 
parser and the libXML based parser. Other parsers can still be plugged in, but will be separate projects.
* Moved RestKit + Three20 to a separate project. I no longer use Three20 at all and will not be supporting the integration going forward.
* Ditched the UISpecRunner unit test harness in favor of Xcode's integrated SenTest support.
* RestKit header files all now live under RestKit/. Any "deep" imports such as RestKit/CoreData/CoreData.h are now RestKit/CoreData.h

The goal here is to trade flexibility for simplicity and reduce the carrying costs of development on the library going forward. The existing
atomic build structure has proven to be more trouble than its worth and introduces a lot of clutter.

Upgrading to the new branch:
* `cd path/to/RestKit`
* `git fetch origin`
* `git checkout 402-new-build-process`
* Edit your project settings. Remove all static library targets for RestKit. Add libRestKit.a to the linked libraries (or RestKit.framework on OS X)
* Add CoreData.framework, Security.framework and libxml2.dylib to your "Link Binary with Libraries" Build Phase
* Replace any deep imports of RestKit headers (i.e. RestKit/CoreData/CoreData.h -> RestKit/CoreData.h)
* Hit Apple+Option+Shift+K to clean the Build Folder for your project
* Build the project

There's some cleanup in progress on OS X test failures and warnings but I hope to get this merged to master shortly.

Cheers,
Blake

-- 
Blake Watters
Sent with Sparrow

Reply all
Reply to author
Forward
0 new messages