https://github.com/koral--/android-gradle-jenkins-plugin
Gradle plugin for CI Android projects on Jenkins
https://github.com/koral--/android-gradle-jenkins-plugin
android ci continuous-integration gradle-plugin
Last synced: 18 days ago
JSON representation
Gradle plugin for CI Android projects on Jenkins
- Host: GitHub
- URL: https://github.com/koral--/android-gradle-jenkins-plugin
- Owner: koral--
- License: mit
- Created: 2015-06-22T00:11:35.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-08-03T00:40:13.000Z (over 7 years ago)
- Last Synced: 2024-10-14T15:04:54.570Z (7 months ago)
- Topics: android, ci, continuous-integration, gradle-plugin
- Language: Kotlin
- Size: 2.97 MB
- Stars: 7
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# android-gradle-jenkins-plugin
Gradle plugin for CI Android projects## Current version
See [Gradle plugin portal](https://plugins.gradle.org/plugin/pl.droidsonroids.jenkins)## Overview
- `-Xlint` option added to javac parameters, which causes all javac warnings to be included in output.
- `jenkinsRelease` signing config added (using default debug keystore), obfuscated and optimized application can be
installed and tested.
- ADB connection timeout increased to 30s
- Ability to disable pre dexing (if appropriate property is set), useful on CI servers.
[More info](http://www.littlerobots.nl/blog/disable-android-pre-dexing-on-ci-builds/).
- Gradle task `connectedMonkeyJenkinsTest` which performs installation and monkeying of all monkey testable variants
of all applications on all compatible connected devices
- Preparation of connected device/AVD to instrumented (eg. using espresso) tests - unlocking screen, disabling animations,
adding sample media files to multimedia provider##Usage
###Sample overview
```groovy
plugins {
id 'pl.droidsonroids.jenkins' version '1.0.43'
}apply plugin: 'com.android.application'
//or apply plugin: 'com.android.library'
//or apply plugin: 'com.android.test'android {
buildTypes {
release {
signingConfig signingConfigs.jenkinsRelease //or another config
}
}
}monkeyTest {
buildTypes 'release'
//and/or productFlavors ...
//and/or applicationVariants ...
}
```###P roject types support
This plugin supports both application, library and test projects. Signing config and monkey task are applicable only for
application projects.## Features
### `-Xlint` javac option
If project uses `javac` compiler (contains Java source code and jack is not enabled) then
[`-Xlint` option](http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#nonstandard) is added.
As a result all warnings are printed to console and can be visualised eg. using Jenkins plugins like
[Warnings](https://wiki.jenkins-ci.org/display/JENKINS/Warnings+Plugin).### Signing config
`jenkinsRelease` signing config is available for use. It assumes that default debug keystore (`$HOME/.android/debug.keystore`)
is usable and has unchanged default credentials.### ADB connection timeout
Timeout is increased from default 5 s to 30 s.### `connectedMonkeyJenkinsTest` task
Task is added to application projects. All build variants evaluated from `monkeyTest` extension are monkeyed.
Task will fail if there is no monkeyable variants or at least one of them is not installable (eg. does not have signing
config).### `monkeyTest` stanza
Monkeyable build types and/or product flavors (both of them by name eg. `debug` or reference `android.buildTypes.debug`)
and/or application variants (by name) can be specified here.