diff -r b6b62004b1e7 -r 763a6573b900 core/src/commonMain/kotlin/gms/OssLicenseParser.kt --- a/core/src/commonMain/kotlin/gms/OssLicenseParser.kt Thu Apr 03 16:11:04 2025 -0400 +++ b/core/src/commonMain/kotlin/gms/OssLicenseParser.kt Thu Apr 03 17:24:24 2025 -0400 @@ -29,16 +29,20 @@ /** * Parse licences data generated by the "com.google.android.gms.oss-licenses-plugin" gradle plugin. */ -class OssLicenseParser { +class OssLicenseParser( + thirdPartyLicensesSource: Source, + thirdPartyLicensesMetadataSource: Source +): AutoCloseable { + + private val thirdPartyLicensesInput = thirdPartyLicensesSource.buffer() + private val thirdPartyLicensesMetadataInput = thirdPartyLicensesMetadataSource.buffer() /** * Parse licenses * @param [thirdPartyLicensesInput] is usually res/raw/third_party_licenses file * @param [thirdPartyLicensesMetadataInput] is usually res/raw/third_party_license_metadata file */ - fun parseLicenses( - thirdPartyLicensesInput: Source, thirdPartyLicensesMetadataInput: Source - ): Map { + fun parseLicenses(): Map { val licenses = readLicensesFile(thirdPartyLicensesInput) return buildLicenseInfo(licenses, thirdPartyLicensesMetadataInput) } @@ -71,6 +75,11 @@ } } + override fun close() { + thirdPartyLicensesInput.close() + thirdPartyLicensesMetadataInput.close() + } + companion object }