// Copyright 2019 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

buildscript {
  repositories {
    google()
    mavenCentral()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:7.4.2'
  }
}
allprojects {
  repositories {
    google()
    mavenCentral()
  }
}

apply plugin: 'com.android.library'

android {
  compileSdkVersion 34
  ndkPath System.getenv('ANDROID_NDK_HOME')
  buildToolsVersion '32.0.0'

  sourceSets {
    main {
      manifest.srcFile '../android_build_files/AndroidManifest.xml'
    }
  }

  externalNativeBuild {
    cmake {
      path '../CMakeLists.txt'
    }
  }

  defaultConfig {
    minSdkVersion 23
    targetSdkVersion 34
    versionCode 1
    versionName "1.0"

    buildTypes {
      release {
        minifyEnabled false
      }
    }

    externalNativeBuild {
      cmake {
        targets 'firebase_storage'
        // Args are: Re-use app library prebuilt by app gradle project.
        //           Don't configure all the cmake subprojects.
        //           Only include needed project.
        arguments '-DFIREBASE_CPP_USE_PRIOR_GRADLE_BUILD=ON',
                '-DFIREBASE_INCLUDE_LIBRARY_DEFAULT=OFF',
                '-DFIREBASE_INCLUDE_STORAGE=ON'
      }
    }
  }

  lintOptions {
    abortOnError false
  }
}

dependencies {
  implementation project(':app')
}
apply from: "$rootDir/android_build_files/android_abis.gradle"
apply from: "$rootDir/android_build_files/extract_and_dex.gradle"
apply from: "$rootDir/android_build_files/generate_proguard.gradle"
project.afterEvaluate {
  generateProguardFile('storage')
  setupDexDependencies(':storage:storage_resources')
  preBuild.dependsOn(':app:build')
  preBuild.dependsOn(':auth:build')
  project.tasks.withType(com.android.build.gradle.internal.tasks.CheckAarMetadataTask) {
    enabled = false
  }
}
