Skip to content

Commit

Permalink
Add an Android fragment support library to third_party (flutter#6384)
Browse files Browse the repository at this point in the history
  • Loading branch information
jason-simmons authored Oct 1, 2018
1 parent a785b25 commit 4213ac1
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 0 deletions.
8 changes: 8 additions & 0 deletions DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,14 @@ hooks = [
'src/tools/android/download_android_tools.py',
],
},
{
'name': 'download_android_support',
'pattern': '.',
'action': [
'python',
'src/flutter/tools/android_support/download_android_support.py',
],
},
{
'name': 'buildtools',
'pattern': '.',
Expand Down
1 change: 1 addition & 0 deletions tools/android_support/VERSION_SUPPORT_V13
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https://maven.google.com/com/android/support/support-fragment/28.0.0/support-fragment-28.0.0.aar
47 changes: 47 additions & 0 deletions tools/android_support/download_android_support.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/usr/bin/env python
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import os
import sys
import urllib2
import cStringIO
import zipfile

# Path constants. (All of these should be absolute paths.)
THIS_DIR = os.path.abspath(os.path.dirname(__file__))
FLUTTER_DIR = os.path.abspath(os.path.join(THIS_DIR, '..', '..', '..'))
INSTALL_DIR = os.path.join(FLUTTER_DIR, 'third_party', 'android_support')

def GetInstalledVersion(version_stamp):
version_file = os.path.join(INSTALL_DIR, version_stamp)
if not os.path.exists(version_file):
return None
with open(version_file) as f:
return f.read().strip()

def main():
# Read latest version.
version_stamp = 'VERSION_SUPPORT_V13'
version = ''
with open(os.path.join(THIS_DIR, version_stamp)) as f:
version = f.read().strip()
# Return if installed binaries are up to date.
if version == GetInstalledVersion(version_stamp):
return

# Download the AAR and extract the JAR.
aar = urllib2.urlopen(version).read()
aar_zip = zipfile.ZipFile(cStringIO.StringIO(aar))
if not os.path.exists(INSTALL_DIR):
os.mkdir(INSTALL_DIR)
with open(os.path.join(INSTALL_DIR, 'android_support_v13.jar'), 'w') as f:
f.write(aar_zip.read('classes.jar'))

# Write version as the last step.
with open(os.path.join(INSTALL_DIR, version_stamp), 'w') as f:
f.write('%s\n' % version)

if __name__ == '__main__':
sys.exit(main())
1 change: 1 addition & 0 deletions tools/licenses/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1938,6 +1938,7 @@ class RepositoryRootThirdPartyDirectory extends RepositoryGenericThirdPartyDirec
&& entry.name != 'binutils' // build-time dependency only
&& entry.name != 'instrumented_libraries' // unused according to chinmay
&& entry.name != 'android_tools' // excluded on advice
&& entry.name != 'android_support' // build-time only
&& entry.name != 'googletest' // only used by tests
&& entry.name != 'skia' // treated as a separate component
&& super.shouldRecurse(entry);
Expand Down

0 comments on commit 4213ac1

Please sign in to comment.