I was trying to publish a snapshot of a branch as a jitpack library, but during the build (initiated by jitpack) this error comes up in the logs when I click on get
in the jitpack website.
- What went wrong: Execution failed for task ':openmrs-client:validateSigningRelease'.
Keystore file '/home/jitpack/build/release.keystore' not found for signing config 'release'.
I saw the build.gradle file as far as I can understand the release build depends upon the environment variables in travis. then how do I upload this snapshot to jitpack library? I have seen most of the tutorials but none of them covers up this case :(
settings.gradle
include ':openmrs-android-sdk'
include ':openmrs-client'
build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.3.72'
ext.safeargs_version = '2.3.0'
System.properties['com.android.build.gradle.overrideVersionCheck'] = 'true'
repositories {
google()
jcenter()
mavenCentral()
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$safeargs_version"
classpath "com.hiya:jacoco-android:0.2"
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
app level build.gradle
buildscript {
repositories {
jcenter()
maven {url 'https://oss.sonatype.org/content/repositories/snapshots'}
}
dependencies {
classpath 'com.github.triplet.gradle:play-publisher:2.2.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
plugins {
id 'com.android.application'
id 'com.github.triplet.play' version '2.2.1'
id 'kotlin-android'
id 'kotlin-android-extensions'
// TODO AC-861
//id 'jacoco-android'
id 'com.hiya.jacoco-android'
}
apply from: './versions.gradle'
apply plugin: "androidx.navigation.safeargs"
def version = versions.appVersion
def GOOGLE_PLACE_API_KEY = System.getenv('GOOGLE_PLACE_API_KEY') ?: "YOUR_API_KEY"
android {
compileSdkVersion versions.compileSdk
def travisBuildNumber = System.getenv("TRAVIS_BUILD_NUMBER")
def buildNumber = (travisBuildNumber) ? (travisBuildNumber as int) : 1
def applicationVersion = version
def travisTag = System.getenv("TRAVIS_TAG")
def buildVersionName = (travisTag) ? travisTag : applicationVersion + "-debug." + buildNumber
defaultConfig {
applicationId "org.openmrs.mobile"
versionName buildVersionName
versionCode buildNumber
multiDexEnabled true
minSdkVersion versions.minSdk
targetSdkVersion versions.targetSdk
testApplicationId "org.openmrs.mobile.test"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
vectorDrawables.useSupportLibrary = true
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
manifestPlaceholders = [
GOOGLE_PLACE_API_KEY: GOOGLE_PLACE_API_KEY
]
}
configurations.all {
resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
}
signingConfigs {
release {
storeFile rootProject.file('release.keystore')
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias System.getenv("KEYSTORE_ALIAS_NAME")
keyPassword System.getenv("KEYSTORE_ALIAS_PASS")
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
debug {
testCoverageEnabled true
}
}
lintOptions {
warning 'InvalidPackage'
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/rxjava.properties'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
testOptions {
unitTests {
returnDefaultValues = true
includeAndroidResources = true
}
}
buildFeatures {
viewBinding = true
}
}
repositories {
maven { url 'http://yanzm.github.io/MaterialTabHost/repository' }
mavenCentral()
jcenter()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
google()
}
dependencies {
// Android sdk library dependency
implementation project(path: ':openmrs-android-sdk')
//more dependencies....
}
library module build.gradle
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'maven-publish'
}
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
minSdkVersion 17
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
dependencies {
//.. some dependencies..
}
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
from components.release
groupId = 'com.openmrs.AndroidSDK'
artifactId = 'final'
version = '1.0.0'
}
debug(MavenPublication) {
from components.debug
groupId = 'com.openmrs.AndroidSDK'
artifactId = 'final-debug'
version = '1.0.0'
}
}
}
}
}