GithubHelp home page GithubHelp logo

sunrain / pseudo_buildbot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aokp/pseudo_buildbot

0.0 2.0 0.0 264 KB

Build scripts that can generate multiple builds of AOKP and uploads them.

pseudo_buildbot's Introduction

	Pseudo Buildbot

Pseudo is more than the pseudo build bot she started off as, but she likes the
name she was given at birth, so celebrate her.

WHAT IS PSEUDO?

    Pseudo is a series of scripts meant to automate an Android build for every
    device your vendor supports. Pseudo supports uploading to remote servers
    as well!

DEPENDENCIES

    Pseudo is dependent upon a few, very vital things. The primary being that
    Your Android build environment is maintained in the standard (recommended
    by Google) way. Meaning you have a vendor repo with all of your custom
    build/packaging scripts, overrides, etc... Pseudo will live as a sub-
    project in your vendor repo (don't forget to add it to your vendors
    .gitignore).

    Additionally, by default, Pseudo relies on you to be using the CyanogenMod
    team squisher (found here
      https://github.com/CyanogenMod/android_vendor_cm/blob/ics/tools/squisher)
    and the ability to 'make bacon'. However, if you do not build using this
    system, or prefer making fastboot images (etc), the scripts can be easily
    modified to accommodate you.

    Other than that, Pseudo *should* be vendor and build independent, to the
    extent of being able to work with major manufacturers build trees.

CONFIGURING PSEUDO

    All you have to do to configure Pseudo to work with your vendor is to add
    it to your manifest to be cloned to vendor/YOUR_VENDOR/bot/. That's it!
    Additionally, if you want Pseudo to upload your builds to a remote server
    you must create a file named upload in Pseudo's directory and make it
    executable. Any bash script will work for it. I have left a (bad) example
    as upload_example for ideas. Everything else is completely automated,
    unlike other build bots where you have to configure what devices to build,
    set different calls (or even individual build scripts per device!).
    Pseudo uses all the information already available in the Android build
    environment!

    Pseudo does have some options you can call during execution they are as
    follows
    -c = Remove your out/ to create a clean build enviornment for you to
         start off the main build with.
    -o = Essential what this does is tell Pseudo to use a different vendor's
         vendorsetup.sh, but not break the build automation of Pseudo. This
         will most commonly be use for themers who build their themes from
         source overlays.

         EXAMPLE: ./vendor/aokp/bot/deploy.sh -c -o unicorns
           will rm -rf out/ before the build, and use the vendorsetup found
           in vendor/unicorns/vendorsetup.sh instead of vendor/aokp.

SO YOU WANT TO USE PSEUDO?

    Great! That's what she's here for! I do ask though, if you find any ways of
    making her better, shoot a pull request our way.

WHAT IS DENSE CHANGELOG?

    DenseChangelog is a command line java applet that parses git log --pretty
    outputs into useful json output. This format is good for communicating
    data to devices, to be parsed into a useful organization changelog

    REQUIREMENTS: to produce JSON formatted changelog you must ensure
      pseudo_buildbot directory is present in $PATH; java/javac must be
      propperly installed and the included json-org.jar from
      http://www.json.org/ is expected in the same directory as
      ParseDenseChangelog.java

    EXAMPLE: to generate JSON changelog just execute denseChangelog.sh from $TOP
      denseChangelog.sh -v -f /path/to/output.json -d MM/dd/yyyy
      *** all flags are optional ***
      *** only use -d flag if custom begining date is required; probably better
          to let the script find the update date itself, its good at that ***
      *** -v (Verbose) flag executes 'set -x' ***
      *** default outputs to $TOP/dense_denseChangelog_MM-dd-yyyy.json ***

PSEUDOS FUTURE

    -Add an if override for the .build_target file so user doesn't have to
    build everything if they don't want to.

    -More debugging options (exit if anything in the builds fail, etc.).

    -Add a nightly/RC/stable toggle for the builds.

    -DenseChangelog is java; java code can always get better.

    -And more!

AUTHORS OF PSEUDO

    Romanbb (https://github.com/romanbb)
    -Original Author and Unicorn wrangler.

    KhasMek (http://github.com/KhasMek)
    -Kanger of original script and maker of moar betterer.

    JBirdVegas (http://github.com/JBirdVegas)
    -Java/JSON junkie and master Unicorn slayer

pseudo_buildbot's People

Contributors

khasmek avatar romanbb avatar sethyx avatar jbirdvegas avatar

Watchers

James Cloos avatar SunRain 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.