{"id":13711852,"url":"https://github.com/bitbar/android-gradle-plugin","last_synced_at":"2025-05-06T12:30:38.506Z","repository":{"id":8726392,"uuid":"10399032","full_name":"bitbar/android-gradle-plugin","owner":"bitbar","description":"How to use Gradle plugin with devices on cloud","archived":false,"fork":false,"pushed_at":"2025-04-09T08:50:08.000Z","size":3171,"stargazers_count":14,"open_issues_count":18,"forks_count":16,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-09T12:21:58.717Z","etag":null,"topics":["bitbar"],"latest_commit_sha":null,"homepage":"http://docs.bitbar.com/testing/cloud-integrations/gradle/index.html","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitbar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-05-31T06:20:53.000Z","updated_at":"2025-02-20T17:52:15.000Z","dependencies_parsed_at":"2024-11-13T18:31:20.726Z","dependency_job_id":"56226a6d-789a-40ca-993e-fd1408a6383b","html_url":"https://github.com/bitbar/android-gradle-plugin","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbar%2Fandroid-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbar%2Fandroid-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbar%2Fandroid-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitbar%2Fandroid-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitbar","download_url":"https://codeload.github.com/bitbar/android-gradle-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252683383,"owners_count":21788028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitbar"],"created_at":"2024-08-02T23:01:12.327Z","updated_at":"2025-05-06T12:30:38.496Z","avatar_url":"https://github.com/bitbar.png","language":"Java","funding_links":[],"categories":["By Technology"],"sub_categories":["Gradle"],"readme":"Gradle plugin to deploys apks to BitBar cloud and launches test run.\n\n## Developing and building gradle plugin locally\n\nTo build and publish gradle plugin locally run\n\n```bash\n./gradlew clean build publishToMavenLocal -PenableAutoPublish\n```\n\n## Running gradle plugin\n\nA typical project build.gradle will look like this:\n\n    plugins {\n        id 'com.android.application'\n        id 'testdroid' version '3.38' apply true\n    }\n\n    android {\n        compileSdk 34\n\n        defaultConfig {\n            applicationId \"com.example.myapplication\"\n            minSdk 21\n            targetSdk 34\n            versionCode 1\n            versionName \"1.0\"\n\n            testInstrumentationRunner \"androidx.test.runner.AndroidJUnitRunner\"\n        }\n\n        buildTypes {\n            release {\n                minifyEnabled false\n                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'\n            }\n        }\n        compileOptions {\n            sourceCompatibility JavaVersion.VERSION_17\n            targetCompatibility JavaVersion.VERSION_17\n        }\n    }\n    \n    dependencies {\n        implementation 'androidx.appcompat:appcompat:1.7.0'\n        implementation 'com.google.android.material:material:1.12.0'\n        implementation 'androidx.constraintlayout:constraintlayout:2.2.0'\n        testImplementation 'org.junit.jupiter:junit-jupiter:5.11.4'\n        testImplementation 'junit:junit:4.12'\n        androidTestImplementation 'androidx.test.ext:junit:1.2.1'\n        androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'\n    }\n    \n    testdroid {\n        apiKey  \"YOUR_API_KEY\"\n        cloudUrl = 'https://cloud.bitbar.com'\n        projectName \"Project 1\"\n        scheduler \"SINGLE\"\n        frameworkId 252\n        deviceGroup 'My devices'\n    }\n\nWith above configuration your application and instrumentation package\nare uploaded into BitBar Cloud and test run is launched using device from group 'My Devices'\n\nTo launch test run from command line use task:\n\n```bash\n./gradlew testdroidUpload\n```\n\nYou can fully control your testrun using the same configurations options which are available via BitBar Cloud web UI.\n\nBelow is listed all the supported configurations parameters:\n\n    testdroid {\n\n        apiKey \"YOUR_API_KEY\"\n\n        deviceGroup \"test group\"\n\n        cloudUrl = 'https://cloud.bitbar.com'  //optional - default live\n        projectName \"Project 1\"  //optional - default: create a new project\n        frameworkId // customer test framework id\n        testRunName \"Custom test run name\" //optional - default: build variant name\n\n        deviceLanguageCode \"en_US\"    //optional - locale \u003cISO 63\u003e_\u003cISO 3166\u003e default: en_US\n    \n        hookUrl \"http://localhost:9080\"   //optional - call back URL after test run has finished default: empty\n    \n        scheduler \"PARALLEL\" // optional - PARALLEL, SERIAL, SINGLE, default: PARALLEL\n    \n        testScreenshotDir = \"/sdcard/abc\"  //optional - custom screenshot folder  default: /sdcard/test-screenshots\n    \n        useSystemProxySettings true //optional - Use system proxy settings  default: true\n        \n        timeout 3600 //optional - test timeout, respected only for Customer with Plan\n        \n        virusScanTimeout 300000 // optional - timeout for waiting on virus scan (in ms)\n        \n        // optional - Custom settings for test execution\n        fullRunConfig {\n            instrumentationRunner =  \"com.android.testRunner\" //use android.support.test.runner.AndroidJUnitRunner for Espresso2 tests\n            withAnnotation = \"com.my.annotation\"\n            withOutAnnotation = \"com.my.not.annotation\"\n            limitationType = \"CLASS\"\n            limitationValue = \"foo.bar\"\n            instrumentationAPKPath = \"/tmp/mytesti.apk\" //optional - custom instrumentation apk path\n        }\n        \n    }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitbar%2Fandroid-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitbar%2Fandroid-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitbar%2Fandroid-gradle-plugin/lists"}