# Testing a Gradle Plugin that interacts with Git

DevFeed: [Testing a Gradle Plugin that interacts with Git](<https://devfeed.tech/articles/testing-a-gradle-plugin-that-interacts-with-git-25587.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2025/test-gradle-plugin-git/>)

Author: Marco Gomiero

Published: 2025-05-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Git](<https://devfeed.tech/topics/git.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [cocoapods](<https://devfeed.tech/topics/cocoapods.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [cocoapods](<https://devfeed.tech/tags/cocoapods.md>), [git](<https://devfeed.tech/tags/git.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [testing](<https://devfeed.tech/tags/testing.md>)

## AI overview

This tutorial explains how to test a Gradle plugin that publishes Kotlin Multiplatform frameworks through Git-based CocoaPods repositories. It uses Gradle TestKit and local Git bare repositories to automate testing without relying on manual verification or actual remote repositories.

## Source excerpt

Some time ago, I built KMP Framework Bundler, a Gradle plugin for Kotlin Multiplatform projects that generates an XCFramework for Apple targets or a FatFramework for iOS targets and manages the publishing process to a CocoaPods repository. (Note: the plugin is currently in maintenance mode; using KMMBridge might be a better option.) After building the Framework, the plugin handles the publishing process by interacting with a Git-based CocoaPods repository. It copies the Framework into the repository, updates the podspec file with the latest version, commits the changes, and pushes them.