Git Product home page Git Product logo

objective-git's Introduction

ObjectiveGit

ObjectiveGit provides Cocoa bindings to the libgit2 library.

Not all libgit2 features are available yet. If you run across something missing, please consider contributing a pull request!

Getting Started

To start building the framework, you must install the required dependencies, xctool and cmake. We recommend using Homebrew to install these two tools.

Once you have the dependencies you should clone this repository and then run script/bootstrap. This will automatically pull down and install any other dependencies.

Note that the bootstrap script automatically installs some libraries that ObjectiveGit relies upon, using Homebrew. If you want this behavior, please make sure you have Homebrew installed.

Importing ObjectiveGit on OS X

It is simple enough to add the ObjectiveGit framework to a desktop application project. An example of this is the CommitViewer example on GitHub. In summary:

  1. Drag the ObjectiveGitFramework.xcodeproj file into the project navigator.
  2. Add the ObjectiveGit framework as a target dependency of your application.
  3. Link your application with ObjectiveGit.framework.
  4. Add a new "Copy Files" build phase, set the destination to "Frameworks" and add ObjectiveGit.framework to that. This will package the framework with your application as an embedded private framework.
  5. Don't forget to #import <ObjectiveGit/ObjectiveGit.h> as you would with any other framework.

Importing ObjectiveGit on iOS

Getting started is slightly more difficult on iOS because third-party frameworks are not officially supported. ObjectiveGit offers a static library instead. An example of this is the ObjectiveGit iOS Example on GitHub. In summary:

  1. Drag ObjectiveGitFramework.xcodeproj into the Project Navigator.
  2. Add ObjectiveGit-iOS as a target dependency of your application.
  3. Link your application to libObjectiveGit-iOS.a, libz.dylib, and libiconv.dylib.
  4. In your target's build settings:
    1. Set "Always Search User Paths" to YES
    2. Add $(BUILT_PRODUCTS_DIR)/usr/local/include and PATH/TO/OBJECTIVE-GIT/External/libgit2/include to the "User Header Search Paths"
    3. Add -all_load to the "Other Linker Flags"

Contributing

Fork the repository on GitHub, make it awesomer (preferably in a branch named for the topic), send a pull request.

All contributions should match GitHub's Objective-C coding conventions.

You can see all the amazing people that have contributed to this project here.

License

ObjectiveGit is released under the MIT license. See LICENSE.md.

objective-git's People

Contributors

boidanny avatar joshaber avatar jspahrsummers avatar tiennou avatar bigboybad avatar tclem avatar 5sw avatar isaac avatar davedelong avatar rowanj avatar ben avatar aidansteele avatar ctimmerm avatar rwilcox avatar diederich avatar jmah avatar deepflame avatar randomsequence avatar raekye avatar zrzka avatar indragie avatar abizern avatar kronawetter avatar arrbee avatar welsonla avatar jdelstrother avatar peterkelly avatar rentzsch avatar piersonbro avatar pamelloes avatar

Stargazers

Jesly Varghese avatar David L Kinney avatar Simone Kalb avatar

Watchers

Joshua Smith avatar Bruce Geerdes avatar Eric Blair avatar Nathan Eror avatar Rob Rhyne avatar Kyle Richter avatar Alexander Repty avatar Chris Stroud avatar Kirby Turner avatar Kendall Helmstetter Gelner avatar Guy English avatar Matthew Stromberg avatar Sean Coleman avatar Cory Bohon avatar Jay Tamboli avatar Neil Inglis avatar Zach avatar  avatar Ben Brooks avatar Paul Warren avatar James Cloos avatar Brian Buck avatar Dave Wood avatar Derek avatar Ben Blakely avatar Karol Munoz avatar Richard Turton avatar Jen Butson avatar  avatar Jenkins Martian avatar Nick avatar Carolyn Meyer avatar Stephen Ives avatar Steve Izzo avatar  avatar  avatar Ryan Ackermann avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.