Keystore no longer a target, apks signed with SignApkTask.

Review Request #1690 - Created Jan. 30, 2015 and submitted

Mateo Rodriguez
benjyw, jsirois, patricklaw

This changes the Keystore from being a first-class target into
a regular object. Since pants does not actually build a keystore,
this is a better abstraction.

Instead of passing Keystore definitions in BUILD files, now there
is a keystore_config.ini which is passed as an option. Pants will
output one signed apk for every keystore definition in that config file.

The config file is in .ini syntax, to lower the barrier to entry
for casual or new users. Upon first build of an android target,
a default config file is put in ~/.pants.d/android. This is done
by the new AndroidConfigUtils class and points to a well-known
keystore installed by the Android SDK.

This change removes the build_type abstraction from tasks and targets.
Pants now figures out the build type from context. If pointed at a
release keystore definition, pants will be able to create a release
build with no further info.

Design Doc:

Tests and integration tests for all new classes are included.

PANTS_DEV=1 ./pants test tests/python/pants_test

Travis passed:


  • 0
  • 15
  • 1
  • 16
Description From Last Updated
Patrick Lawson
Mateo Rodriguez
Mateo Rodriguez
Patrick Lawson
John Sirois
Mateo Rodriguez
John Sirois
Mateo Rodriguez
John Sirois
Mateo Rodriguez
John Sirois
Mateo Rodriguez
Mateo Rodriguez
Review request changed

Status: Closed (submitted)