This document provides context for the Android Testify IntelliJ Plugin project.
This is a Gradle-based IntelliJ Platform Plugin for Android Testify, an Android screenshot testing framework. The plugin is written in Kotlin and enhances the developer experience by integrating Testify commands directly into the IntelliJ IDE (including Android Studio).
Key features of the plugin include:
- Running Testify screenshot tests.
- Recording, pulling, revealing, and deleting baseline screenshot images.
- Navigating between test source code and their corresponding baseline images.
The plugin's functionality is defined in src/main/resources/META-INF/plugin.xml, and the implementation is in Kotlin under src/main/kotlin/dev/testify/.
This project uses the Gradle wrapper (gradlew).
-
To build the plugin:
./gradlew buildPlugin
-
To run the plugin in a development instance of the IDE:
./gradlew runIde
-
To run the plugin's tests:
./gradlew test
The project follows standard Kotlin coding conventions. The codebase is structured around the IntelliJ Platform's action and extension system.
- Actions: User-invoked commands (e.g., "Go to Baseline") are implemented as classes that extend
AnAction. See files insrc/main/kotlin/dev/testify/actions/. - Extensions: IDE integrations, such as line markers next to screenshot tests, are implemented using extension points. See files in
src/main/kotlin/dev/testify/extensions/.
Dependencies and project versions are managed in the build.gradle.kts file and the gradle/libs.versions.toml version catalog.
README.md: Provides a high-level overview of the plugin for users.build.gradle.kts: The main Gradle build script that configures the IntelliJ Platform, Kotlin, and dependencies.src/main/resources/META-INF/plugin.xml: The plugin's manifest file, which declares its dependencies, extensions, and actions.src/main/kotlin/dev/testify/: The root directory for the plugin's Kotlin source code.gradle/libs.versions.toml: The Gradle version catalog, defining the project's dependencies and their versions.