|
|
|
# Build and Deploy
|
|
|
|
|
|
|
|
### Goals:
|
|
|
|
Create a build and deploy infrastructure that separates each project into it's own build cycle
|
|
|
|
* Shift version declaration to developer teams.
|
|
|
|
* Add runtime declaration to developer teams.
|
|
|
|
* Differentiate public shared libraries from team convenience libraries through nexus publishing.
|
|
|
|
* Prevent public library advancement from forcing downstream cascades of code refactoring.
|
|
|
|
* use build to create and update manifest declarations via REST api calls to platform services.
|
|
|
|
* use google repo to allow developers to consolidate projects into a single IDE workspace.
|
|
|
|
|
|
|
|
Move deployment management to a browser-based tool based on the registered project manifests collected from project builds
|
|
|
|
|
|
|
|
### Project responsibilities
|
|
|
|
* declare Version Name in build.gradle
|
|
|
|
* integrate the buildcore.gradle script if it is found
|
|
|
|
* declare targets as `<meta-data name='targets' value='sitehost, adhost' />`
|
|
|
|
* declare runtime deps as `<meta-data name='rundeps' value='com.buzztime.package:1.00+; .. '/>`
|
|
|
|
|
|
|
|
|
|
|
|
### Build Responsibilities
|
|
|
|
* embed branch in the version name for DEV builds
|
|
|
|
* embed project, version name, version code, product (debug/release/androidTest/aar/jar), flavor (skin) in the artifact fname.
|
|
|
|
* allow local build/installs with DEV buzztime keystore
|
|
|
|
* allow nexus snapshot publishing by branch
|
|
|
|
* generate project manifest of debug/release/androidTest x flavor(s), runtime deps and targets for upload to PS
|
|
|
|
* INT/STG : upload to nexus releases, upload manifest to INT/STG PS
|
|
|
|
* DEV : upload debug/release apks to nexus SNAPSHOT
|
|
|
|
|