deps += invoker.deps
}
- outputs = [
- depfile,
- build_config
- ]
-
possible_deps_configs = []
foreach(d, deps) {
dep_gen_dir = get_label_info(d, "target_gen_dir")
}
rebase_possible_deps_configs = rebase_path(possible_deps_configs)
+ outputs = [
+ depfile,
+ build_config
+ ]
+
args = [
"--type", type,
"--depfile", rebase_path(depfile, root_build_dir),
_keystore_path = invoker.keystore_path
_keystore_name = invoker.keystore_name
_keystore_password = invoker.keystore_password
+ _load_library_from_apk = invoker.load_library_from_apk
_deps = []
if (defined(invoker.deps)) {
_asset_location = invoker.asset_location
}
- _version_code = "0"
- _version_name = "Developer Build"
+ _version_code = invoker.version_code
+ _version_name = invoker.version_name
_base_apk_path = _base_path + ".apk_intermediates"
script = "//build/android/gyp/package_resources.py"
depfile = "${target_gen_dir}/${target_name}.d"
- source_prereqs = [
+ inputs = [
_android_manifest,
_resources_zip,
]
depfile = "$target_gen_dir/$target_name.d"
- source_prereqs = [
+ inputs = [
_dex_path,
_resource_packaged_apk_path,
_ant_script
depfile = "$target_gen_dir/$target_name.d"
sources = [_packaged_apk_path]
- source_prereqs = [_keystore_path]
+ inputs = [_keystore_path]
outputs = [depfile, _final_apk_path]
args = [
"--key-name", _keystore_name,
"--key-passwd", _keystore_password,
]
+ if (_load_library_from_apk) {
+ _rezip_jar_path = "$root_build_dir/lib.java/rezip_apk.jar"
+ inputs += [
+ _rezip_jar_path
+ ]
+ args += [
+ "--load-library-from-zip-file=1",
+ "--rezip-apk-jar-path", rebase_path(_rezip_jar_path, root_build_dir)
+ ]
+ }
}
group(target_name) {
# dependencies srcjar outputs will be compiled and added to the output jar.
# jar_path: Use this to explicitly set the output jar path. Defaults to
# "${target_gen_dir}/${target_name}.jar.
-template("java_library") {
+template("compile_java") {
if (defined(invoker.testonly)) { testonly = invoker.testonly }
assert(defined(invoker.java_files))
}
_java_srcjars = []
+ if (defined(invoker.srcjars)) {
+ _java_srcjars = invoker.srcjars
+ }
foreach(dep, _srcjar_deps) {
_dep_gen_dir = get_label_info(dep, "target_gen_dir")
_dep_name = get_label_info(dep, "name")
template("android_java_library") {
if (defined(invoker.testonly)) { testonly = invoker.testonly }
- assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir))
+ assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir)
+ || defined(invoker.srcjars) || defined(invoker.srcjar_deps))
assert(defined(invoker.build_config))
assert(defined(invoker.jar_path))
assert(defined(invoker.dex_path))
_srcjar_deps = invoker.srcjar_deps
}
+ _srcjars = []
+ if (defined(invoker.srcjars)) {
+ _srcjars = invoker.srcjars
+ }
+
_java_files = []
if (defined(invoker.java_files)) {
_java_files = invoker.java_files
- } else {
+ } else if (defined(invoker.DEPRECATED_java_in_dir)) {
+ _src_dir = invoker.DEPRECATED_java_in_dir + "/src"
+ _src_dir_exists = exec_script("//build/dir_exists.py",
+ [ rebase_path(_src_dir, root_build_dir) ],
+ "string")
+ assert(_src_dir_exists == "False",
+ "In GN, java_in_dir should be the fully specified java directory " +
+ "(i.e. including the trailing \"/src\")")
+
_java_files_build_rel = exec_script(
"//build/android/gyp/find.py",
[
)
_java_files = rebase_path(_java_files_build_rel, ".", root_build_dir)
}
- assert(_java_files != [] || _srcjar_deps != [])
+ assert(_java_files != [] || _srcjar_deps != [] || _srcjars != [])
_jar_path = invoker.jar_path
_dex_path = invoker.dex_path
_final_deps = []
_final_datadeps = []
- java_library("${target_name}__java_library") {
+ compile_java("${target_name}__compile_java") {
jar_path = _jar_path
if (defined(invoker.jar_excluded_patterns)) {
jar_excluded_patterns = invoker.jar_excluded_patterns
build_config = invoker.build_config
java_files = _java_files
srcjar_deps = _srcjar_deps
+ srcjars = _srcjars
if (defined(invoker.proguard_preprocess) && invoker.proguard_preprocess) {
proguard_preprocess = invoker.proguard_preprocess
group(target_name) {
deps = [
- ":${target_name}__java_library",
+ ":${target_name}__compile_java",
":${target_name}__dex",
] + _final_deps + _final_datadeps
}
)
sources = rebase_path(sources_build_rel, ".", root_build_dir)
- source_prereqs = [
+ inputs = [
build_config,
android_manifest,
]
action(target_name) {
script = "//build/android/gyp/copy_ex.py"
- depfile = "$target_gen_dir/$target_name.d"
- outputs = [
- depfile,
- ]
+
+ if (defined(invoker.deps)) { deps = invoker.deps }
+
sources = []
if (defined(invoker.sources)) {
sources += invoker.sources
inputs += invoker.inputs
}
+ depfile = "$target_gen_dir/$target_name.d"
+ outputs = [
+ depfile,
+ ]
+
args = [
"--depfile", rebase_path(depfile, root_build_dir),
"--dest", rebase_path(invoker.dest, root_build_dir),
]
- if (defined(invoker.args)) {
- args += invoker.args
- }
rebased_sources = rebase_path(sources, root_build_dir)
args += [ "--files=$rebased_sources" ]
if (defined(invoker.clear_dir) && invoker.clear_dir) {
args += ["--clear"]
}
+
+ if (defined(invoker.args)) {
+ args += invoker.args
+ }
}
}