James Montemagno
James Montemagno

Live, Love, Bike, and Code.

Tags


Twitter


James Montemagno

Introducing VSTS Mobile App Tasks Extension for iOS and Android

James MontemagnoJames Montemagno

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 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 VSTS Mobile App Tasks Extension comes in!

Mobile-Tasks

Simply install the extension and four brand new tasks are ready to take building mobile apps in VSTS (or TFS) to the next level.

MobileTasks2

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!

Live, Love, Bike, and Code

Comments