Uncle Sam
Uncle Sam

Reputation: 61

How Do I resolve this error Could not get unknown property 'publishedGroupId' for project ':lokdonencrypt' of type org.gradle.api.Project."

I am trying to upload an android library to Jcenter, I have successfully created an account, created a repo, package and version. Now I am modifying the build.gradle files for the module and I keep getting this error

Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'publishedGroupId' for project ':lokdonencrypt' of type org.gradle.api.Project.

How do I resolve this

build.gradle(Module:lokencrypt)
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'



android {
    compileSdkVersion 29
    buildToolsVersion "30.0.2"

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 1
        versionName "0.0.1"
        publishedGroupId "com.lokdonencryption.lokdonencryptionmodule:lokdonencrypt"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
    }

   /* task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
        from androidJavadocs.destinationDir
        classifier = 'javadoc'
    }

    task androidSourcesJar(type: Jar) {
        from android.sourceSets.main.java.srcDirs
        classifier = 'sources'
    }*/


    ext {
        bintrayRepo = 'maven' // Name of the Bintray repo you created
        bintrayName = ' com.lokdonencryption.lokdonencryptionmodule:lokdonencrypt' // Bintray package name

        publishedGroupId = 'com.lokdonencryption.lokdonencryptionmodule:lokdonencrypt' // Group ID of the SDK which will be added in implementation line of gradle
        artifact = 'lokdonencrypt' // Artifact ID of the SDK which will be added in implementation line of gradle
        libraryVersion = '0.0.1' // Version of the library you created in Bintray

        libraryName = 'lokdonencrypt' // It is generally the module name
        libraryDescription = 'LokDon mobile encryption (ECSMID ) for developers'

        siteUrl = 'https://github.com/UncleSamTech/LokdonEncryptionModule'
        gitUrl = 'https://github.com/UncleSamTech/LokdonEncryptionModule.git'

        developerId = 'cbusiness'
        developerName = 'Lokdon'
        developerEmail = '[email protected]'

        licenseName = 'The Apache Software License, Version 2.0'
        licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
        allLicenses = ["Apache-2.0"]

        //Bintray Credentials
        Properties properties = new Properties()
        properties.load(project.rootProject.file('local.properties').newDataInputStream())

        bintrayUsername = properties.getProperty('BINTRAY_USERNAME')
        bintrayUserOrg = properties.getProperty('BINTRAY_ORG')
        bintrayApiKey = properties.getProperty('BINTRAY_API_KEY')

       

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation 'commons-io:commons-io:+'
    implementation 'org.apache.commons:commons-io:1.3.2'

    implementation 'commons-codec:commons-codec:1.8'
    implementation 'com.amazonaws:aws-android-sdk-s3:2.7.+'
    implementation 'com.amazonaws:aws-android-sdk-cognito:2.7.+'
}

apply from: 'bintray.script'

build.gradle(Module:app)

    plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 29
    buildToolsVersion "30.0.2"

    defaultConfig {
        applicationId "com.lokdonencryption.lokdonencryptionmodule"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 1
        versionName "0.0.1"
        //publishedGroupId "com.lokdonencryption.lokdonencryptionmodule:lokdonencrypt"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation project(":lokdonencrypt")
    implementation 'commons-io:commons-io:+'
    implementation 'commons-codec:commons-codec:1.8'
    implementation 'org.apache.commons:commons-io:1.3.2'
    implementation 'com.amazonaws:aws-android-sdk-s3:2.7.+'
    implementation 'com.amazonaws:aws-android-sdk-cognito:2.7.+'
//    implementation 'com.amazonaws.util.EncodingSchemeEnum.BASE64'


}

Upvotes: 2

Views: 9780

Answers (1)

Uncle Sam
Uncle Sam

Reputation: 61

Okay, so I am answering my question. The error is an exception thrown which is a MissingPropertyException which means I didn't add a property

The fix was that I copied this block of code below in the wrong build.gradle file

Before

the code was in the build.gradle file of the new module I created as seen below

 ext {
        bintrayRepo = 'maven' // Name of the Bintray repo you created
        bintrayName = ' com.lokdonencryption.lokdonencryptionmodule:lokdonencrypt' // Bintray package name

        publishedGroupId = 'com.lokdonencryption.lokdonencryptionmodule:lokdonencrypt' // Group ID of the SDK which will be added in implementation line of gradle
        artifact = 'lokdonencrypt' // Artifact ID of the SDK which will be added in implementation line of gradle
        libraryVersion = '0.0.1' // Version of the library you created in Bintray

        libraryName = 'lokdonencrypt' // It is generally the module name
        libraryDescription = 'LokDon mobile encryption (ECSMID ) for developers'

        siteUrl = 'https://github.com/UncleSamTech/LokdonEncryptionModule'
        gitUrl = 'https://github.com/UncleSamTech/LokdonEncryptionModule.git'

        developerId = 'cbusiness'
        developerName = 'Lokdon'
        developerEmail = '[email protected]'

        licenseName = 'The Apache Software License, Version 2.0'
        licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
        allLicenses = ["Apache-2.0"]

        //Bintray Credentials
        Properties properties = new Properties()
        properties.load(project.rootProject.file('local.properties').newDataInputStream())

        bintrayUsername = properties.getProperty('BINTRAY_USERNAME')
        bintrayUserOrg = properties.getProperty('BINTRAY_ORG')
        bintrayApiKey = properties.getProperty('BINTRAY_API_KEY')

       

    }

To solve it

I simply copied it and put it in the build.gradle file of the project level module and the error disappeared.

Check the snapshot below and see the changes

Snapshot of build.gradle structure of code changes

Upvotes: 0

Related Questions