1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 # This file is meant to be included into a target to provide a rule 6 # to package prebuilt Java JARs in a consistent manner. 7 # 8 # To use this, create a gyp target with the following form: 9 # { 10 # 'target_name': 'my-package_java', 11 # 'type': 'none', 12 # 'variables': { 13 # 'jar_path': 'path/to/your.jar', 14 # }, 15 # 'includes': ['path/to/this/gypi/file'], 16 # } 17 # 18 # Required variables: 19 # jar_path - The path to the prebuilt Java JAR file. 20 21 { 22 'dependencies': [ 23 '<(DEPTH)/build/android/setup.gyp:build_output_dirs' 24 ], 25 'variables': { 26 'dex_path': '<(PRODUCT_DIR)/lib.java/<(_target_name).dex.jar', 27 'intermediate_dir': '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)', 28 'android_jar': '<(android_sdk)/android.jar', 29 'input_jars_paths': [ '<(android_jar)' ], 30 'proguard_config%': '', 31 'proguard_preprocess%': '0', 32 'variables': { 33 'variables': { 34 'proguard_preprocess%': 0, 35 }, 36 'conditions': [ 37 ['proguard_preprocess == 1', { 38 'dex_input_jar_path': '<(intermediate_dir)/<(_target_name).pre.jar' 39 }, { 40 'dex_input_jar_path': '<(jar_path)' 41 }], 42 ], 43 }, 44 'dex_input_jar_path': '<(dex_input_jar_path)', 45 }, 46 'all_dependent_settings': { 47 'variables': { 48 'input_jars_paths': ['<(dex_input_jar_path)'], 49 'library_dexed_jars_paths': ['<(dex_path)'], 50 }, 51 }, 52 'conditions' : [ 53 ['proguard_preprocess == 1', { 54 'actions': [ 55 { 56 'action_name': 'proguard_<(_target_name)', 57 'message': 'Proguard preprocessing <(_target_name) jar', 58 'inputs': [ 59 '<(android_sdk_root)/tools/proguard/lib/proguard.jar', 60 '<(DEPTH)/build/android/gyp/util/build_utils.py', 61 '<(DEPTH)/build/android/gyp/proguard.py', 62 '<(jar_path)', 63 '<(proguard_config)', 64 ], 65 'outputs': [ 66 '<(dex_input_jar_path)', 67 ], 68 'action': [ 69 'python', '<(DEPTH)/build/android/gyp/proguard.py', 70 '--proguard-path=<(android_sdk_root)/tools/proguard/lib/proguard.jar', 71 '--input-path=<(jar_path)', 72 '--output-path=<(dex_input_jar_path)', 73 '--proguard-config=<(proguard_config)', 74 '--classpath=>(input_jars_paths)', 75 ] 76 }, 77 ], 78 }], 79 ], 80 'actions': [ 81 { 82 'action_name': 'dex_<(_target_name)', 83 'message': 'Dexing <(_target_name) jar', 84 'variables': { 85 'dex_input_paths': [ 86 '<(dex_input_jar_path)', 87 ], 88 'output_path': '<(dex_path)', 89 }, 90 'includes': [ 'android/dex_action.gypi' ], 91 }, 92 ], 93 } 94