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