GithubHelp home page GithubHelp logo

00mjk / bucksample Goto Github PK

View Code? Open in Web Editor NEW

This project forked from airbnb/bucksample

1.0 0.0 0.0 222.02 MB

An example app showing how Buck can be used to build a simple iOS app.

Shell 0.69% Ruby 7.89% C++ 0.08% C 0.89% Objective-C 73.24% Objective-C++ 0.07% Swift 5.32% Makefile 0.87% HTML 0.41% Starlark 10.54%

bucksample's Introduction

BuckSample

This repo shows how Airbnb builds its iOS applications using Buck. It is where we prototype new functionality with Buck before making changes to our internal repo. We hope you find it as useful as we do ๐Ÿ˜ƒ

CircleCI

To Install

# Install Buck
make install_buck

Note: you may need to install Java 8 before buck will run for you locally.

Running Tests

Press Cmd + U to run the unit tests for the ExampleApp target inside Xcode.

Or, from the terminal you can run make test.

Viewing Targets

You may run make targets to see a list of Buck targets available to build/test/etc.

Viewing Dependencies

You may run buck query "deps(//App:ExampleAppBinary)" --dot > result.dot to save Graphviz output of the dependency tree starting at the rule //App:ExampleAppBinary. You may then run dot -Tpng result.dot -o result.png to create a PNG image showing this dependency structure.

Generating an Xcode Project

To generate the project from the terminal, just run make project. You can then run in the simulator or press Cmd + U to run the tests.

You may also use breakpoints, just like normal when using the generated Xcode project.

Generating a Buck Local Xcode Project

Buck Local is a tool that generates an Xcode project which invokes Buck to do the build when you press the Build button in Xcode. It makes builds much faster while still allowing you to use Xcode as usual: jumping to definition, auto completion, debugging, etc., all works out of box.

To generate a Buck Local Xcode project, simply run make buck_local_project.

CLI

# generating and opening a Xcode project
make project

# building with Buck CLI
make debug

References

  1. https://github.com/airbnb/BuckSample/blob/master/Pods/BUCK gives a few examples on how we build CocoaPods with Buck
  2. https://github.com/airbnb/BuckSample/blob/master/App/BUCK is the main build file which shows how we setup resources/assets and build the final binary/ipa file.
  3. https://www.youtube.com/watch?v=8OF7L3SdY5U "Fast reliable Swift builds with Buck" - Robbert van Ginkel
  4. https://www.youtube.com/watch?v=uvNI_E0ZgZU "Ludicrously Fast Builds with Buck" - Simon Stewart

Buck Build channel https://buckbuild.slack.com.

bucksample's People

Contributors

andre-alves-ifood avatar bachand avatar bogo avatar dependabot[bot] avatar dfed avatar fdiaz avatar gsabran avatar lcsmarcal avatar lostatseajoshua avatar mgrebenets avatar qyang-nj avatar rockbruno avatar rz-robsn avatar shepting avatar stephengroat avatar thexande avatar xianwen avatar zayhero avatar zayhero-zz avatar

Stargazers

 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.