build.gradle 2.85 KB
Newer Older
Ian Hickson's avatar
Ian Hickson committed
1 2 3 4
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

5 6 7
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
8 9
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
10 11 12 13 14 15 16 17
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

18
// The Gallery app's version is defined by the Flutter framework's version.
19 20 21
def flutterVersion = file("$flutterRoot/version").text
def flutterVersionComponents = flutterVersion.split(/[^0-9]+/)
// Let the integer version code of xx.yy.zz-pre.nnn be xxyyzznnn.
22 23 24
int flutterVersionNumber = Math.min(flutterVersionComponents[0].toInteger(), 20) * 100000000
flutterVersionNumber += Math.min(flutterVersionComponents[1].toInteger(), 99) * 1000000
flutterVersionNumber += Math.min(flutterVersionComponents[2].toInteger(), 999) * 1000
25
if (flutterVersionComponents.length > 3) {
26 27 28 29 30 31 32 33 34 35 36
    flutterVersionNumber += Math.min(flutterVersionComponents[3].toInteger(), 999)
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = "$flutterVersionNumber"
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = "$flutterVersion"
37
}
38

39 40 41 42
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
43
    compileSdkVersion 28
44 45 46 47 48 49

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
50
        applicationId "io.flutter.demo.gallery"
51
        minSdkVersion 16
52
        targetSdkVersion 28
53 54
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
55
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
56 57 58 59 60 61 62 63 64
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
65 66 67

    aaptOptions {
        // TODO(goderbauer): remove when https://github.com/flutter/flutter/issues/8986 is resolved.
68
        if(System.getenv("FLUTTER_CI_WIN")) {
69 70 71 72
            println "AAPT cruncher disabled when running on Win CI."
            cruncherEnabled false
        }
    }
73 74 75 76 77 78 79
}

flutter {
    source '../..'
}

dependencies {
80
    testImplementation 'junit:junit:4.12'
81 82 83
    androidTestImplementation 'androidx.test:rules:1.1.1'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
84
}