This year I have made a big push towards making Visual Studio Team Services my new continuous everything for my mobile apps, libraries, and any other project that I work on. While Azure DevOps (VSTS) has a lot of built in tasks for mobile applications, there are still a few essential things missing that would really make it a joy to use. The top that stuck out was having the ability to easily bump the version/build numbers for iOS and Android. The other was to change the app's label and package name, which can be nifty when doing different build types for QA/Production. This is where my brand new and open source Azure DevOps (VSTS) Mobile App Tasks Extension comes in!
Simply install the extension and four brand new tasks are ready to take building mobile apps in Azure DevOps (VSTS) to the next level.
Here is a full breakdown of each task:
Android
Multiple tasks to update the AndroidManifest.xml file
Bump Version
Change app's version name and code at build time.
Inputs:
- sourcePath: Path to android manifest
- versionCode: code number that must be an integer
- versionCodeOffset: a specific number to increment the version code
- versionName: user visible name
- printFile: output the file before and after changing variables
Package Identifiers
Change app's package name.
Inputs:
- sourcePath: Path to android manifest
- packageName: name to replace (com.company.app)
- appLabel: application name to replace (App Name)
- printFile: output the file before and after changing variables
iOS
Multiple tasks to update the info.plist file, must be run on macOS
Bump Version
Change app's version name and code at build time.
Inputs:
- sourcePath: Path to info.plist
- versionCode: code number that must be an integer
- versionCodeOffset: a specific number to increment the version code
- versionName: user visible name (short code)
- printFile: output the file before and after changing variables
Bundle Identifiers
Change app's bundle name and identifier
Inputs:
- sourcePath: Path to android manifest
- bundleIdenifier: identiier to replace (com.company.app)
- bundleName: name to replace (App Name)
- printFile: output the file before and after changing variable
Open Source
I have to say that none of this would have been possible without the help of Andrew Hoefling who helped not only convert the bash scripts I had to powershell core, but then again to TypeScript!. He is awesome and really made this all possible. That being said, if you go over to project's GitHub page you will be able to find all the tasks written in Bash, PowerShell Core, and TypeScript. Have ideas for more great mobile specific tasks? Open up an issue on the GitHub page or send down a PR!