GithubHelp home page GithubHelp logo

sellitforcache / please Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thought-machine/please

0.0 2.0 0.0 6.33 MB

High-performance extensible build system for reproducible builds.

Home Page: https://please.build

License: Apache License 2.0

Python 18.40% Shell 0.86% Go 79.50% Java 0.10% C++ 0.59% C 0.33% Assembly 0.01% Gherkin 0.02% Dockerfile 0.13% Emacs Lisp 0.06%

please's Introduction

Please Build Status Build Status Go Report Card Gitter chat

Please is a cross-language build system with an emphasis on high performance, extensibility and reproduceability. It supports a number of popular languages and can automate nearly any aspect of your build process.

See http://please.build for more information.

Currently Linux (tested on Ubuntu), OSX and FreeBSD are actively supported.

Getting Started

The easiest way to install it on your own machine is to run:

curl -s https://get.please.build | bash

Or, if you prefer, grab one of the tarballs off our releases page and extract it yourself; it typically lives in ~/.please.

Then you simply run plz init at the root of your project to set up a default config and you're good to start adding BUILD files. See the website for more instructions about how to write them.

There are various commands available to interact with Please, the most obvious & useful ones initially are plz build and plz test to build things & run tests respectively. See plz --help or the documentation for more comprehensive information.

Building Please

To build Please yourself, run ./bootstrap.sh in the repo root. This will set up the minimal environment needed to build Please, build it once manually and then rebuild it again using itself. You'll need to have Go 1.11+ installed to build Please although once built it can target any version from 1.5+ onwards.

Optional dependencies for various tests include Python, Java, unittest++ (sudo apt-get install libunittest++-dev), clang, gold and docker - none of those are required to build components so their tests will be excluded if they aren't available.

If you'd rather not worry about installing the dependencies, we provide a prebuilt Docker image based on Ubuntu which is capable of building the whole thing for you: docker run -it thoughtmachine/please_ubuntu

Documentation

Status

Please is released & we consider it stable; we follow semver for releases, so major versions indicate potentially breaking changes to the BUILD language, command line or other behaviour. We try to minimise this where possible.

We're very happy to accept pull requests & feature requests, and bugs if it's not working for you. We don't always have time for everything since Please is only part-time work for us, but we'll do our best.

please's People

Contributors

peterebden avatar pebers avatar bnmetrics avatar fsiddiqia avatar fabiansiddiqi avatar dimpavloff avatar sean- avatar llucherini avatar natpen avatar sfirmery avatar chpeer avatar dcomas avatar tomlanyon avatar janhancic avatar adrian-seijo avatar alamaison avatar jeffols avatar cmargiol avatar goddenrich avatar paulo-at-thoughtmachine avatar msmall-amfam avatar whilei avatar fr1n63 avatar csdigi avatar calderonth avatar kormat avatar sebastianof avatar mserdarsanli avatar jpo-joyent avatar jtdoepke avatar

Watchers

James Cloos avatar Ryan M. Bergmann 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.