build.gradle 2.64 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 30
44

45 46 47 48 49
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

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

    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
        }
    }
}

flutter {
    source '../..'
}

dependencies {
73
    testImplementation 'junit:junit:4.13'
74 75 76
    androidTestImplementation 'androidx.test:rules:1.1.1'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
77
}