# cesarferreira/dryrun

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cesarferreira-dryrun).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

3,793 stars · 276 forks · Ruby · MIT

## Links

- GitHub: https://github.com/cesarferreira/dryrun
- Homepage: http://cesarferreira.com/dryrun/
- awesome-repositories: https://awesome-repositories.com/repository/cesarferreira-dryrun.md

## Description

Dryrun is a command-line tool designed to automate the end-to-end lifecycle of Android projects, including cloning, building, and deploying source code from remote repositories to connected devices. It functions as a build system wrapper and device deployment tool that programmatically invokes native Android build tools to compile applications without requiring manual configuration in an integrated development environment.

The project differentiates itself through an ephemeral workspace orchestrator that creates and destroys temporary file system environments to ensure every project execution starts from a clean and isolated state. It also includes a remote repository test runner that fetches source code and executes automated test suites directly from version control.

The tool's capabilities cover version control authentication for accessing both public and private repositories, build configuration management for specifying branches, tags, and flavors, and platform-interface deployment to install artifacts on physical hardware or emulators.

## Tags

### Development Tools & Productivity

- [Ephemeral Workspaces](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/development-environments/workspace-management/ephemeral-workspaces.md) — Orchestrates the creation and destruction of temporary file system environments to ensure isolated and clean builds.
- [Project Runners](https://awesome-repositories.com/f/development-tools-productivity/extension-runners/android/project-runners.md) — Clones and builds remote repositories and starts the application on a connected device without manual project imports. ([source](https://cdn.jsdelivr.net/gh/cesarferreira/dryrun@main/README.md))
- [Android Build Automation](https://awesome-repositories.com/f/development-tools-productivity/android-build-automation.md) — Automates the end-to-end pipeline of cloning, building, and deploying Android projects using ephemeral workspaces.
- [Device Deployment](https://awesome-repositories.com/f/development-tools-productivity/device-deployment.md) — Communicates with connected physical hardware or emulators to install and launch compiled Android application artifacts.
- [Project Lifecycle Automators](https://awesome-repositories.com/f/development-tools-productivity/project-lifecycle-automators.md) — Provides a command-line interface to coordinate the end-to-end sequence of cloning, building, and deploying Android projects.
- [Native Toolchain Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/build-task-automation/build-pipeline-integrations/build-pipeline-integrators/build-tool-integrations/native-toolchain-orchestrators.md) — Programmatically invokes platform-specific command-line build systems to compile and package Android projects.
- [Build Configuration Mappings](https://awesome-repositories.com/f/development-tools-productivity/build-configuration-mappings.md) — Translates user-specified branches, tags, and flavors into specific parameters for the native Android build system.
- [Library Demo Evaluation](https://awesome-repositories.com/f/development-tools-productivity/library-demo-evaluation.md) — Tests remote Android libraries by automatically cloning and launching demo projects without manual setup.
- [Android Prototyping Tools](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/project-scaffolding/android-project-scaffolders/android-prototyping-tools.md) — Quickly downloads and runs remote Android source code to verify functionality without local environment configuration.

### Mobile Development

- [Android Device Deployment Utilities](https://awesome-repositories.com/f/mobile-development/android-device-deployment-utilities.md) — Automates the installation and execution of compiled Android artifacts on physical hardware or emulators.

### Operating Systems & Systems Programming

- [Build Tool Wrappers](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/platform-integrations/android-build-configurations/native-build-pipelines/build-tool-wrappers.md) — Programmatically invokes native Android build tools to compile and package projects without requiring manual IDE setup.

### Software Engineering & Architecture

- [Build Lifecycle Managers](https://awesome-repositories.com/f/software-engineering-architecture/build-lifecycle-managers.md) — Coordinates the sequence of downloading, building, testing, and cleaning up project files to streamline remote code evaluation.

### Testing & Quality Assurance

- [Automated Test Execution](https://awesome-repositories.com/f/testing-quality-assurance/automated-test-execution.md) — Automates the execution of Android test suites on connected devices via a command-line interface. ([source](https://cdn.jsdelivr.net/gh/cesarferreira/dryrun@main/README.md))
- [Test Suite Runners](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners/test-suite-runners.md) — Provides a utility to manage and execute Android test suites retrieved directly from remote version control.
- [Remote-to-Device Test Runners](https://awesome-repositories.com/f/testing-quality-assurance/automated-testing-suites/remote-to-device-test-runners.md) — Executes automated Android test suites on physical devices or emulators directly from version control URLs.

### DevOps & Infrastructure

- [Build Configuration Management](https://awesome-repositories.com/f/devops-infrastructure/build-configuration-management.md) — Allows defining custom modules, build flavors, and version tags to target specific project configurations. ([source](https://cdn.jsdelivr.net/gh/cesarferreira/dryrun@main/README.md))

### Security & Cryptography

- [Remote Repository Authentication](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/machine-and-protocol-identity/specialized-authentication-protocols/remote-repository-authentication.md) — Supports secure authentication with remote repositories using standard protocols to fetch source code for builds.
- [Private Repository Access](https://awesome-repositories.com/f/security-cryptography/private-repository-access.md) — Implements mechanisms to authenticate and retrieve source code from private git repositories. ([source](https://github.com/cesarferreira/dryrun))
- [Version Control Authentications](https://awesome-repositories.com/f/security-cryptography/version-control-authentications.md) — Interfaces with repository protocols to securely fetch source code from both public and private remote servers.

### Part of an Awesome List

- [Development Tooling](https://awesome-repositories.com/f/awesome-lists/devtools/development-tooling.md) — CLI tool for testing online Android libraries.
- [Mobile Development](https://awesome-repositories.com/f/awesome-lists/devtools/mobile-development.md) — Tests Android libraries directly from the command line.
