Files
git.stella-ops.org/docs/features/checked/scanner/java-gradle-build-file-parsing.md
2026-02-14 09:11:48 +02:00

2.0 KiB

Java Gradle Build File Parsing (Groovy/Kotlin/TOML)

Module

Scanner

Status

VERIFIED

Description

Parses Gradle build files in three DSL formats (Groovy build.gradle, Kotlin build.gradle.kts, TOML version catalogs libs.versions.toml) to extract declared dependencies, plugins, and version constraints.

Implementation Details

  • Gradle Parsers:
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleGroovyParser.cs - Groovy build.gradle parser
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleKotlinParser.cs - Kotlin build.gradle.kts parser
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradleVersionCatalogParser.cs - TOML libs.versions.toml version catalog parser
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/GradlePropertiesParser.cs - gradle.properties parser for version variables
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Gradle/TomlParser.cs - Generic TOML parser
  • Build File Discovery:
    • src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Java/Internal/Discovery/JavaBuildFileDiscovery.cs - Discovers build files in project structure

E2E Test Plan

  • Scan a container with a Groovy build.gradle project and verify dependencies are extracted with group, artifact, and version
  • Scan a Kotlin build.gradle.kts project and verify dependencies are correctly parsed
  • Scan a project using TOML version catalog (libs.versions.toml) and verify version references are resolved
  • Verify plugin declarations are extracted from build files
  • Verify version constraints (e.g., strictly, prefer, ranges) are captured
  • Verify gradle.properties variables are interpolated in dependency versions

Verification

Check Result
Tier 0 - Source files exist PASS
Tier 1 - Build + code review PASS
Tier 2 - Integration tests PASS
Verified 2026-02-13T18:10:00Z