diff --git a/build.gradle b/build.gradle index a58a4951..8da7c9a2 100644 --- a/build.gradle +++ b/build.gradle @@ -19,10 +19,15 @@ plugins { } def versionFile = file("version.properties") -def projectVersion = versionFile.text.split("VERSION_NAME=")[1].trim() +def fileVersion = versionFile.text.split("VERSION_NAME=")[1].trim() +// Use version passed by JitPack (-Pversion=vX.Y.Z), stripping the 'v' prefix if present. +// Falls back to version.properties for local builds. +def jitpackVersion = (project.hasProperty('version') && project.version != 'unspecified') + ? project.version.toString().replaceAll('^v', '') + : fileVersion project(':personalization-sdk') { - version=projectVersion + version = jitpackVersion } allprojects { diff --git a/gradle/publishing/publications.gradle b/gradle/publishing/publications.gradle index a278bf0b..fb100bda 100644 --- a/gradle/publishing/publications.gradle +++ b/gradle/publishing/publications.gradle @@ -11,7 +11,9 @@ publishing { return } - if (variant.flavorName != variantName) { + // When variantName is empty (e.g. JitPack builds), publish all release variants. + // When variantName is set (CI/CD), publish only the matching flavor. + if (variantName && variant.flavorName != variantName) { println "Skipping variant due to flavor mismatch: ${variant.flavorName} != ${variantName}" return } diff --git a/personalization-sdk/build.gradle b/personalization-sdk/build.gradle index b719e6c7..804f4b26 100644 --- a/personalization-sdk/build.gradle +++ b/personalization-sdk/build.gradle @@ -124,7 +124,8 @@ tasks.register('sourcesJar', Jar) { } tasks.register('javadoc', Javadoc) { - source = fileTree(dir: 'src/main/kotlin', include: '**/*.kt') + // Javadoc tool cannot process .kt files — only include generated .java stubs + source = fileTree(dir: 'src/main/kotlin', include: '**/*.java') classpath += files("${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar") failOnError false options.encoding = 'UTF-8'