Last modified: 2012-12-02 17:42:21 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T36971, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 34971 - [OPS] implement a way to install Android SDK
[OPS] implement a way to install Android SDK
Status: RESOLVED WONTFIX
Product: Wikimedia
Classification: Unclassified
Continuous integration (Other open bugs)
unspecified
All All
: Normal enhancement (vote)
: ---
Assigned To: Nobody - You can work on this!
: ops
Depends on:
Blocks: 41053
  Show dependency treegraph
 
Reported: 2012-03-04 20:17 UTC by Antoine "hashar" Musso (WMF)
Modified: 2012-12-02 17:42 UTC (History)
2 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Antoine "hashar" Musso (WMF) 2012-03-04 20:17:04 UTC
To build the Wikipedia and Wiktionary nightly builds, I have manually installed the Android SDK on gallium.

We need to properly puppetize it, specially when it comes to listing the SDK we we want to have installed.

Android SDK rely on a graphical interface to install package which we can not use with puppet. You have to pass the -u switch to disable guy.

Some SDK are obsolete though we still want to use them. Use the -o, for obsolete, flag to list / update them.

From my private install notes:

# To list available packages including their shortnames and obsolete ones:
android list sdk --extended -o

Names in the --filter below comes from the above 'list sdk --extended' command.

# Bootstrap:
android update sdk -u --filter platform-tools

# Install SDK 10:
android update sdk -u --filter android-10, platform-tools,addon-google_apis-google_inc_-10


# Install SDK 8:
android update sdk -u --filter android-8


To install an obsolete SDK (such as android-7 as of this writing):

update sdk -u -o --filter android-7



So we should be able to write a nice puppet function to install the android tool + the basic platform tools. Then another dependent puppet function can be used to install a given API or even make sure we always have the latest one.


When building an android project with ant, we have to add the SDK directory to a local.properties file such as:

sdk.dir=/home/androidsdk/android/android-sdk-linux
Comment 1 Antoine "hashar" Musso (WMF) 2012-03-04 20:17:59 UTC
And for later reference, we probably want to use sun java:
JAVA_HOME=/usr/lib/jvm/java-6-sun/ ant debug
Comment 2 Antoine "hashar" Musso (WMF) 2012-10-16 15:41:53 UTC
Need to find out a way to deploy the Android SDK on production. By discussing about it with operations we do not want to download directly from the third party nor want to provide the files via Puppet.

Marking as blocking gallium upgrade since we need Android SDK on that server. Tagging for ops since we need their input.
Comment 3 Antoine "hashar" Musso (WMF) 2012-10-16 16:02:20 UTC
Puppet approach : https://gerrit.wikimedia.org/r/#/c/28216/

Shell one : https://gist.github.com/3900138

I have sent a mail to ops to get more input and a clear path.
Comment 4 Antoine "hashar" Musso (WMF) 2012-12-02 17:42:21 UTC
This really need to be fixed by installing a Debian package. There is none yet although some Debian folks are considering building one.

For now, we are using a local install which is good enough for our CI needs.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links