fix(smollm2): drop unused linuxX64/linuxArm64 targets - #313
Merged
Merged
Conversation
:llm-inference:smollm2 declared linuxX64()/linuxArm64() Kotlin/Native targets with zero commonMain/native source (jvmMain-only export tooling). compileKotlinLinuxArm64 reports NO-SOURCE and produces no klib, but the maven-publish plugin still registers a publication for the target and unconditionally tries to hash the (nonexistent) klib — generateMetadataFileForLinuxArm64Publication throws FileNotFoundException. This broke the tag-triggered `./gradlew publish` release workflow for 0.40.1 partway through, after several other modules had already published successfully. JVM-only for now, matching what actually has source; add native targets back if/when this module gains real shared or native-specific code. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This was referenced Aug 13, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Root cause of the failed 0.40.1 Maven Central publish
(workflow run):
:llm-inference:smollm2declareslinuxX64()/linuxArm64()Kotlin/Native targets, butthe module has zero source outside
jvmMain(SmolLm2ExportCli.kt,SmolLm2ExportHarness.kt— nocommonMainat all).compileKotlinLinuxArm64reportsNO-SOURCEand produces no.klib, butvanniktech.mavenPublishstill registers apublication for that target, and
generateMetadataFileForLinuxArm64Publicationunconditionally tries to hash the (nonexistent) klib file —
FileNotFoundException,build aborts.
This killed the tag-triggered
./gradlew publishrelease workflow partway through —several other modules (
llm-api,llm-agent,llm-core,transformer-core,llm-inference:{apertus,bert,functiongemma,gemma,llama,moonshine,qwen},llm-bom,llm-performance,llm-providers, and smollm2's own JVM publication) had alreadypublished successfully by the time it hit this task; several others
(
llm-inference:{t5,vec2text,voxtral,whisper}, all ofllm-runtime:*) never gotattempted. 0.40.1 is being superseded by 0.40.2 to recover.
Fix
Drop the two unused target declarations — matches what the module actually has source
for. Audited every other multiplatform module in the repo for the same
declared-target-vs-actual-source mismatch (grepped declared targets against
src/subdirectories, spot-checked file counts in
commonMainfor each); smollm2 was unique,everything else that declares native targets has real
commonMain/nativeMainsourcebacking them.
Verification
./gradlew :llm-inference:smollm2:assemble :llm-inference:smollm2:compileTestKotlinJvm— passes./gradlew :llm-inference:smollm2:generateMetadataFileForKotlinMultiplatformPublication :llm-inference:smollm2:generateMetadataFileForJvmPublication— passes (no linuxArm64/linuxX64 metadata tasks exist anymore)llm-runtime:iree-androidonly references it in a doc comment)🤖 Generated with Claude Code