| // Copyright 2013 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. | |
| // To use, run: | |
| // $ gradle updateDependencies | |
| // | |
| // This script downloads the embedding dependencies into a lib/ directory, | |
| // extract jar files from AARs, so they can be used in gn. | |
| def destinationDir = "lib" | |
| buildscript { | |
| repositories { | |
| google() | |
| mavenCentral() | |
| } | |
| dependencies { | |
| classpath "com.android.tools.build:gradle:3.5.0" | |
| } | |
| } | |
| allprojects { | |
| repositories { | |
| google() | |
| mavenCentral() | |
| } | |
| } | |
| apply plugin: "com.android.application" | |
| android { | |
| compileSdkVersion 33 | |
| } | |
| configurations { | |
| embedding | |
| } | |
| // Configure the embedding dependencies. | |
| apply from: new File(rootDir, '../tools/androidx/configure.gradle').absolutePath; | |
| configureDependencies(new File(rootDir, '../..')) { dependency -> | |
| dependencies { | |
| embedding "$dependency" | |
| } | |
| } | |
| task updateDependencies() { | |
| delete destinationDir | |
| // Copy the dependencies from the compileOnly configuration into | |
| // the destination directory. | |
| copy { | |
| from configurations.embedding | |
| into destinationDir | |
| } | |
| doLast { | |
| // Extract classes.jar from aar and rename it as the dependency name .jar | |
| // since javac doesn't support AARs. | |
| fileTree(destinationDir) | |
| .filter { it.name.endsWith(".aar") } | |
| .collect { aarDependency -> | |
| def dependencyName = "${aarDependency.name.take(aarDependency.name.lastIndexOf('.'))}"; | |
| copy { | |
| into destinationDir | |
| from(zipTree(aarDependency)) { | |
| include "classes.jar" | |
| } | |
| rename "classes.jar", "${dependencyName}.jar" | |
| } | |
| delete aarDependency | |
| } | |
| } | |
| doLast { | |
| fileTree(destinationDir) | |
| .collect { dependency -> | |
| println "\"//third_party/robolectric/lib/${dependency.name}\"," | |
| } | |
| } | |
| } |