This basically automates the process of building Android and its derivatives, as well as uploading the builds to a remote SSH server and sending emails notifying the status of the builds.
- Import includes (functions, settings, error descs) and set vars
- CheckVariablesExist
- LogHeaders
- Repo Sync
- DeviceLoop
- LogHeaders
- Lunch
- Make
- Find and rename zip
- MD5sum
- Upload zip, then rename
- Delete Build zip
- TarGZ logs and move to LogFileLoc/archives
- Drop email with successes and fails with attached logs (coming in Version 2)
Because:
- You're too lazy to do it manually
- You're too lazy to set up Jenkins
- git clone git@github.com:harryyoud/midnightsnack
- configure settings in
settings.sh
- ./main.sh
- Wait....
- Profit (or it failed - check the logs)
All configuration happens in the settings.sh file. They variables in there are either self-explanatory or have a comment attached
Being a long and complicated drawn out process, the script could fail at lots of points. The various errors you might encounter are explained quite well in errors.sh
I tried to make this as easy as possible to build upon or change, because everybody's needs are different. Hopefully, the only changes you need to make are in main.sh, to add post-/pre-build hooks or change the order of some things