1

I'm using Robospock to perform unit testing and mocking with gradle. This worked great until I added gradle build variants to the mix.

My android build.gradle file:

apply plugin: 'android-library'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 19
        versionCode 1
        versionName "0.0.1"
    }


    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }


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

    productFlavors {
        uat {
            packageName "com.acme.dev"
        }

        stage {
            packageName "com.acme.staging"
        }

        prod {
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.mcxiaoke.volley:library:1.0.4'
}

My robospock build.gradle file:

buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
        classpath 'org.robospock:robospock-plugin:0.4.0'
    }
}

repositories {
    mavenCentral()
}

apply plugin: 'groovy'

dependencies {
    compile "org.codehaus.groovy:groovy-all:1.8.6"
    compile 'org.robospock:robospock:0.4.4'
    compile 'cglib:cglib-nodep:2.2'
    compile 'org.objenesis:objenesis:1.3'
}


project.ext {
    robospock = ":Mothership" // project to test
}

apply plugin: 'robospock'

The Android gradle plug-in offers me build variant tasks such as assembleProd, assembleProdDebug, assembleStageDebugTest. Can I pass something to Robospocl in my build.gradle so that it can participate in the build variants?

Currently when I execute ./gradlew robospok, it cannot find the classes defined in com.acme.dev or com.acme.staging

pixel
  • 24,905
  • 36
  • 149
  • 251

0 Answers0