-
A simple
OKHttp
client mock, using a programmable request interceptorval interceptor = MockInterceptor() interceptor.rule(url eq "https://testserver/api/json") { respond("{succeed:true}", MEDIATYPE_JSON) }
-
A plugin for generating BuildConstants for any kind of Gradle projects: Java, Kotlin, Groovy, etc. Designed for KTS scripts.
buildConfig { buildConfigField("APP_NAME", project.name) buildConfigField("APP_VERSION", provider { "${project.version}" })
-
gradle-android-test-aggregation-plugin
A couple Gradle plugins to make Android modules to work with JaCoCo Report Aggregation Plugin and Test Report Aggregation Plugin
-
A Gradle plugin to allow consuming Android's AAR dependencies as JAR dependencies for JVM projects.
plugins { java id("io.github.gmazzo.aar2jar") version "<latest>" } dependencies { implementation("androidx.fragment:fragment:1.8.5") }
-
A set of Gradle plugins to propagate CODEOWNERS of classes to runtime for JVM and Kotlin Multiplatform.
val ownersOfFoo = codeOwnersOf<Foo>()
-
gradle-android-manifest-lock-plugin
A Gradle plugin for providing .lock file support for AndroidManifest. Useful to control what's introduced by 3rd party dependencies into your Manifest.
main: namespace: io.github.gmazzo.android.manifest.lock.demo minSDK: 24 targetSDK: 34 permissions: - android.permission.ACCESS_NETWORK_STATE - android.permission.FOREGROUND_SERVICE
-
Spawns Docker Compose environments for Test tasks as a Gradle's
Shared Build Service
.@Value("\${container.main-app.host}:\${container.main-app.tcp80}") private lateinit var appEndpoint: String
-
gradle-report-publications-plugin
A Gradle plugin that decorates the build logs with maven coordinates of artifacts published with
publish
orpublishToMavenLocal
-
An unofficial Docker image for running Kotlin scripts.
docker run -v ./scripts:/scripts gmazzo/kotlin /scripts/hello.kts
-
Reports
JUnit
,Android Lint
,Detekt
and any otherCheckStyle
compatibleXML
reports as GitHub Actions annotations. Mostly targetingGradle
buildssteps: - name: Run Gradle build run: ./gradlew build # this is an example - name: Report build results uses: gmazzo/publish-report-annotations@v1 # target latest major if: ${{ !cancelled() }}
Test Suites ✅ 93 passed 🟡 1 skipped ❌ 4 failed ⌛ took ✅ org.test.sample.AnotherTestSuite
- ✅ aTest[maxDuration=100] (⌛ 0.054)
- ✅ aTest[maxDuration=200] (⌛ 0.107)
- ✅ aTest[maxDuration=300] (⌛ 0.238)
- ✅ aTest[maxDuration=400] (⌛ 0.103)
4 0 0 0.506 ❌ org.test.sample.FlakyFailingTestSuite
- ❌ failingTest() (⌛ 0.011)
0 0 1 2.07 1 0 0 1.295 ❌ org.test.sample.SampleTestSuite
- 🟡 a test skipped() (⌛ 0)
- ❌ a test that fails() (⌛ 0.002)
- ✅ a test that passes() (⌛ 0.001)
- ❌ a test that throws an exception() (⌛ 0.001)
1 1 2 0.004