05nelsonm / kmp-tor

Kotlin Multiplatform Library for embedding Tor into your applications
Apache License 2.0
33 stars 5 forks source link

Fix Kotlin Metadata `unique_name` value so that it is actually unique #539

Closed 05nelsonm closed 1 month ago

05nelsonm commented 1 month ago

Closes #538

As can be seen from output for metadataCommonMainClasses gradle task, there are some source sets that were using a unique_name that was NOT actually unique.

$ ./gradlew metadataCommonMainClasses --no-build-cache

......

> Task :library:runtime-core:compileCommonMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime-core/build/classes/kotlin/metadata/commonMain/default/manifest
Changing from 'runtime-core_commonMain' to 'io.matthewnelson.kmp-tor\:runtime-core_commonMain'

> Task :library:runtime-core:compileNonNativeMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime-core/build/classes/kotlin/metadata/nonNativeMain/default/manifest
Changing from 'runtime-core_nonNativeMain' to 'io.matthewnelson.kmp-tor\:runtime-core_nonNativeMain'

> Task :library:runtime-core:compileNonJvmMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime-core/build/classes/kotlin/metadata/nonJvmMain/default/manifest
Changing from 'runtime-core_nonJvmMain' to 'io.matthewnelson.kmp-tor\:runtime-core_nonJvmMain'

> Task :library:runtime-core:compileNonJsMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime-core/build/classes/kotlin/metadata/nonJsMain/default/manifest
Changing from 'runtime-core_nonJsMain' to 'io.matthewnelson.kmp-tor\:runtime-core_nonJsMain'

> Task :library:runtime-ctrl:compileCommonMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime-ctrl/build/classes/kotlin/metadata/commonMain/default/manifest
Changing from 'runtime-ctrl_commonMain' to 'io.matthewnelson.kmp-tor\:runtime-ctrl_commonMain'

> Task :library:runtime-ctrl:compileNonJsMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime-ctrl/build/classes/kotlin/metadata/nonJsMain/default/manifest
Changing from 'runtime-ctrl_nonJsMain' to 'io.matthewnelson.kmp-tor\:runtime-ctrl_nonJsMain'

> Task :library:runtime:compileCommonMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime/build/classes/kotlin/metadata/commonMain/default/manifest
Changing from 'runtime_commonMain' to 'io.matthewnelson.kmp-tor\:runtime_commonMain'

> Task :library:runtime:compileNonJvmMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime/build/classes/kotlin/metadata/nonJvmMain/default/manifest
Changing from 'runtime_nonJvmMain' to 'io.matthewnelson.kmp-tor\:runtime_nonJvmMain'

> Task :library:runtime:compileNonJsMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime/build/classes/kotlin/metadata/nonJsMain/default/manifest
Changing from 'runtime_nonJsMain' to 'io.matthewnelson.kmp-tor\:runtime_nonJsMain'

> Task :library:runtime-service:compileCommonMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime-service/build/classes/kotlin/metadata/commonMain/default/manifest
Changing from 'runtime-service_commonMain' to 'io.matthewnelson.kmp-tor\:runtime-service_commonMain'

> Task :library:runtime-service-ui:compileCommonMainKotlinMetadata
Misconfigured unique_name metadata attribute
for /home/administrator/Projects/personal/kmp-tor/library/runtime-service-ui/build/classes/kotlin/metadata/commonMain/default/manifest
Changing from 'runtime-service-ui_commonMain' to 'io.matthewnelson.kmp-tor\:runtime-service-ui_commonMain'

BUILD SUCCESSFUL in 10s
72 actionable tasks: 62 executed, 10 up-to-date
05nelsonm commented 1 month ago

Confirmed to work, as a SNAPSHOT publication of this no longer shows up in the KLIB resolver warning as having duplicate unique_name=runtime_commonMain libraries.

Before

w: KLIB resolver: The same 'unique_name=runtime_commonMain' found in more than one library: /Users/admin/Projects/kmp-tor-samples/samples/compose/build/kotlinTransformedMetadataLibraries/commonMain/app.cash.sqldelight-runtime-2.0.2-commonMain-asQ-DQ.klib, /Users/admin/Projects/kmp-tor-samples/samples/compose/build/kotlinTransformedMetadataLibraries/commonMain/io.matthewnelson.kmp-tor-runtime-2.0.0-alpha01-SNAPSHOT-commonMain-akhp6A.klib, /Users/admin/Projects/kmp-tor-samples/samples/compose/build/kotlinTransformedMetadataLibraries/commonMain/org.jetbrains.compose.runtime-runtime-1.6.11-commonMain-CVJWAg.klib

After

w: KLIB resolver: The same 'unique_name=runtime_commonMain' found in more than one library: /Users/admin/Projects/kmp-tor-samples/samples/compose/build/kotlinTransformedMetadataLibraries/commonMain/app.cash.sqldelight-runtime-2.0.2-commonMain-asQ-DQ.klib, /Users/admin/Projects/kmp-tor-samples/samples/compose/build/kotlinTransformedMetadataLibraries/commonMain/org.jetbrains.compose.runtime-runtime-1.6.11-commonMain-CVJWAg.klib