1# Copyright 2013 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 an action to provide a rule that dexes
6# compiled java files. If proguard_enabled == "true" and CONFIGURATION_NAME ==
7# "Release", then it will dex the proguard_enabled_input_path instead of the
8# normal dex_input_paths/dex_generated_input_paths.
9#
10# To use this, create a gyp target with the following form:
11#  {
12#    'action_name': 'some name for the action'
13#    'actions': [
14#      'variables': {
15#        'dex_input_paths': [ 'files to dex (when proguard is not used) and add to input paths' ],
16#        'dex_generated_input_dirs': [ 'dirs that contain generated files to dex' ],
17#
18#        # For targets that use proguard:
19#        'proguard_enabled': 'true',
20#        'proguard_enabled_input_path': 'path to dex when using proguard',
21#      },
22#      'includes': [ 'relative/path/to/dex_action.gypi' ],
23#    ],
24#  },
25#
26
27{
28  'message': 'Creating dex file: <(output_path)',
29  'variables': {
30    'dex_input_paths': [],
31    'dex_generated_input_dirs': [],
32    'proguard_enabled%': 'false',
33    'proguard_enabled_input_path%': '',
34    'dex_no_locals%': 0,
35    'dex_additional_options': [],
36  },
37  'inputs': [
38    '<(DEPTH)/build/android/gyp/util/build_utils.py',
39    '<(DEPTH)/build/android/gyp/util/md5_check.py',
40    '<(DEPTH)/build/android/gyp/dex.py',
41    '>@(dex_input_paths)',
42  ],
43  'outputs': [
44    '<(output_path)',
45    '<(output_path).inputs',
46  ],
47  'action': [
48    'python', '<(DEPTH)/build/android/gyp/dex.py',
49    '--dex-path=<(output_path)',
50    '--android-sdk-tools=<(android_sdk_tools)',
51    '--configuration-name=<(CONFIGURATION_NAME)',
52    '--proguard-enabled=>(proguard_enabled)',
53    '--proguard-enabled-input-path=<(proguard_enabled_input_path)',
54    '--no-locals=>(dex_no_locals)',
55    '>@(dex_additional_options)',
56    '>@(dex_input_paths)',
57    '>@(dex_generated_input_dirs)',
58  ]
59}
60