The instructions in this README explain how to create a CIPD package that
contains the build-time dependencies of the Android embedding of the Engine,
and the dependencies of the in-tree testing framework. The Android embedder is
shipped to Flutter end-users, but these build-time dependencies are not.
Therefore, the license script can skip over the destination of the CIPD package
in an Engine checkout at src/third_party/android_embedding_dependencies
.
Even so, the CIPD package should contain a LICENSE file, and the instructions
below explain how to fetch the license information for the dependencies.
- If you have a flutter/engine checkout, then you should already have Depot tools on your path.
- You should have a copy of
gradle
in a flutter/engine checkout undersrc/third_party/gradle/bin/gradle
.
- Update
src/flutter/tools/androidx/files.json
. (This file includes the Maven dependencies used to build Flutter apps). cd
into this directory:src/flutter/tools/cipd/android_embedding_bundle
.- Run
gradle downloadLicenses
- Run
gradle updateDependencies
- Examine the file
./build/reports/license/license-dependency.xml
. If it contains licenses other than "The Apache License, Version 2.0" or something very similar, STOP. Ask Hixie for adivce on how to proceed. - Copy or move the
lib/
directory tosrc/third_party/android_embedding_dependencies/
, overwriting its contents, and ensure the Android build still works. - Run
cipd create --pkg-def cipd.yaml -tag last_updated:"$version_tag"
where$version_tag
is the output ofdate +%Y-%m-%dT%T%z
. - Update the
DEPS
file entry forandroid_embedding_dependencies
with the new tag:last_updated:"$version_tag"
.