Commit 89ad1936 authored by mef@chromium.org's avatar mef@chromium.org

Combine base_java.jar, net_java.jar and url_java.jar into cronet.jar

BUG=354143

Review URL: https://codereview.chromium.org/293003010

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272988 0039d316-1c4b-4281-b951-d872f2087c98
parent d0d8abdc
......@@ -124,6 +124,13 @@
'native_lib': 'libcronet.>(android_product_extension)',
'java_lib': 'cronet.jar',
'package_dir': '<(PRODUCT_DIR)/cronet',
'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/cronet',
'jar_extract_dir': '<(intermediate_dir)/cronet_jar_extract',
'jar_excluded_classes': [
'*/BaseChromiumApp*.class',
],
'jar_extract_stamp': '<(intermediate_dir)/jar_extract.stamp',
'cronet_jar_stamp': '<(intermediate_dir)/cronet_jar.stamp',
},
'actions': [
{
......@@ -138,6 +145,44 @@
'<@(_outputs)',
],
},
{
'action_name': 'extracting from jars',
'inputs': [
'<(PRODUCT_DIR)/lib.java/<(java_lib)',
'<(PRODUCT_DIR)/lib.java/base_java.jar',
'<(PRODUCT_DIR)/lib.java/net_java.jar',
'<(PRODUCT_DIR)/lib.java/url_java.jar',
],
'outputs': ['<(jar_extract_stamp)', '<(jar_extract_dir)'],
'action': [
'python',
'cronet/tools/extract_from_jars.py',
'--classes-dir=<(jar_extract_dir)',
'--jars=<@(_inputs)',
'--stamp=<(jar_extract_stamp)',
],
},
{
'action_name': 'jar_<(_target_name)',
'message': 'Creating <(_target_name) jar',
'inputs': [
'<(DEPTH)/build/android/gyp/util/build_utils.py',
'<(DEPTH)/build/android/gyp/util/md5_check.py',
'<(DEPTH)/build/android/gyp/jar.py',
'<(jar_extract_stamp)',
],
'outputs': [
'<(package_dir)/<(java_lib)',
'<(cronet_jar_stamp)',
],
'action': [
'python', '<(DEPTH)/build/android/gyp/jar.py',
'--classes-dir=<(jar_extract_dir)',
'--jar-path=<(package_dir)/<(java_lib)',
'--excluded-classes=<@(jar_excluded_classes)',
'--stamp=<(cronet_jar_stamp)',
]
},
{
'action_name': 'generate licenses',
'inputs': ['cronet/tools/cronet_licenses.py'] ,
......@@ -156,10 +201,6 @@
'files': [
'../AUTHORS',
'../chrome/VERSION',
'<(PRODUCT_DIR)/lib.java/<(java_lib)',
'<(PRODUCT_DIR)/lib.java/base_java.jar',
'<(PRODUCT_DIR)/lib.java/net_java.jar',
'<(PRODUCT_DIR)/lib.java/url_java.jar',
],
},
],
......
#!/usr/bin/env python
#
# Copyright 2014 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 fnmatch
import optparse
import os
import sys
REPOSITORY_ROOT = os.path.abspath(os.path.join(
os.path.dirname(__file__), '..', '..', '..'))
sys.path.append(os.path.join(REPOSITORY_ROOT, 'build/android/gyp/util'))
import build_utils
def ExtractJars(options):
# The paths of the files in the jar will be the same as they are passed in to
# the command. Because of this, the command should be run in
# options.classes_dir so the .class file paths in the jar are correct.
jar_cwd = options.classes_dir
build_utils.DeleteDirectory(jar_cwd)
build_utils.MakeDirectory(jar_cwd)
for jar in build_utils.ParseGypList(options.jars):
jar_path = os.path.abspath(jar)
jar_cmd = ['jar', 'xf', jar_path]
build_utils.CheckOutput(jar_cmd, cwd=jar_cwd)
def main():
parser = optparse.OptionParser()
parser.add_option('--classes-dir', help='Directory to extract .class files.')
parser.add_option('--jars', help='Paths to jars to extract.')
parser.add_option('--stamp', help='Path to touch on success.')
options, _ = parser.parse_args()
ExtractJars(options)
if options.stamp:
build_utils.Touch(options.stamp)
if __name__ == '__main__':
sys.exit(main())
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment