
buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
    }
}

apply plugin: 'com.android.application'

repositories {
    jcenter()
    maven {
        url 'https://maven.google.com'
    }
}

dependencies {
    compile 'com.google.android.gms:play-services-maps:10.2.4'
    compile 'com.google.android.gms:play-services-wearable:10.2.4'
    compile 'com.android.support:support-v13:25.3.1'

    provided 'com.google.android.wearable:wearable:2.0.3'

    compile 'com.google.android.support:wearable:2.0.3'

    compile project(':Shared')
}

// The sample build uses multiple directories to
// keep boilerplate and common code separate from
// the main sample code.
List<String> dirs = [
    'main',     // main sample code; look here for the interesting stuff.
    'common',   // components that are reused by multiple samples
    'template'] // boilerplate code that is generated by the sample template process

android {

        compileSdkVersion 25

    buildToolsVersion "25.0.3"

    defaultConfig {
        versionCode 1
        versionName "1.0"

        minSdkVersion 18

        targetSdkVersion 25


    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    sourceSets {
        main {
            dirs.each { dir ->
                java.srcDirs "src/${dir}/java"
                res.srcDirs "src/${dir}/res"
            }
        }
        androidTest.setRoot('tests')
        androidTest.java.srcDirs = ['tests/src']

    }
}
