7 Development Guide
Andy Scherzinger edited this page 2016-06-15 11:19:44 +02:00

Welcome to the Nextcloud Android app wiki and the development guide! This page serves as a short guide to get you up to speed to start developing for the Nextcloud Android app.

#Getting started Getting the app up and running on your phone or tablet checkout the setup guide.

#Contribution process We are all about quality while not sacrificing speed so we use a very pragmatic workflow.

  • Any change needs to be submitted/introduced via a pull request
  • To assure the quality of the app, any PR gets reviewed,approved and tested by two developers before it will be merged to master

#Releases At the moment we are releasing the app in two app stores:

We do differentiate between three different kinds of releases:

  • stable releases
  • stable beta releases done via the Beta program of the Google Play store
  • development beta releases done as a standalone app that can be installed in parallel to the stable app

##Release process ###Stable Release Stable releases are based on the git master.

  1. Bump the version name and version code in the AndroidManifest.xml, see below the version name and code concept.
  2. Create a release/tag in git. Tag name following the naming schema: stable-Mayor.Minor.Hotfix (e.g. stable-1.2.0) naming the version number following the semantic versioning schema

###Release Candidate Release Release Candidate releases are based on the git master and are done between stable releases.

  1. Bump the version name and version code in the AndroidManifest.xml, see below the version name and code concept.
  2. Create a release/tag in git. Tag name following the naming schema: rc-Mayor.Minor.Hotfix-betaIncrement (e.g. rc-1.2.0-12) naming the version number following the semantic versioning schema

###Development Beta Release Beta releases are based on the git beta and are done independently from stable releases and integrate open PRs that might not be production ready or heavily tested but being put out there for people willing to test new features and provide valuable feedback on new features to be incorporated before a feature gets released in the stable app.

  1. Bump the version name and version code in the AndroidManifest.xml, see below the version name and code concept.
  2. Create a release/tag in git. Tag name following the naming schema: beta-YYYYMMDD (e.g. beta-20160612)

##Version Name and number For stable and release candidate the version name follows the semantic versioning schema and the version number has several digits reserved to parts of the versioning schema, where:

  • 2 digits for beta code
  • 2 digits for hot fix code
  • 3 digits for minor version code
  • n digits for mayor version code

Version code schema

Examples for different versions:

  • 1.0.0 10000000
  • 8.12.2 80120200
  • 9.8.4-rc18 90080418

beware, that beta releases for an upcoming version will always use the minor and hotfix version of the actual release not the upcoming so that the version code of the upcoming stable release will always be higher so the actual beta release can be updated to the latest hot fix release.