| Index: build/android/gradle/generate_gradle.py
|
| diff --git a/build/android/gradle/generate_gradle.py b/build/android/gradle/generate_gradle.py
|
| index c67ba532313483428ab03a6fff98ca4c3ad27178..6e1ecb7e6d139a85c6bc5f3e87e144890a9629d7 100755
|
| --- a/build/android/gradle/generate_gradle.py
|
| +++ b/build/android/gradle/generate_gradle.py
|
| @@ -34,7 +34,6 @@
|
| _SRCJARS_SUBDIR = 'extracted-srcjars'
|
| _JNI_LIBS_SUBDIR = 'symlinked-libs'
|
| _ARMEABI_SUBDIR = 'armeabi'
|
| -_RES_SUBDIR = 'extracted-res'
|
|
|
| _DEFAULT_TARGETS = [
|
| # TODO(agrieve): Requires alternate android.jar to compile.
|
| @@ -177,9 +176,6 @@
|
| """Returns the target type from its .build_config."""
|
| return self.DepsInfo()['type']
|
|
|
| - def ResZips(self):
|
| - return self.DepsInfo().get('owned_resources_zips')
|
| -
|
| def JavaFiles(self):
|
| if self._java_files is None:
|
| java_sources_file = self.Gradle().get('java_sources_file')
|
| @@ -215,12 +211,6 @@
|
| os.path.join(self.EntryOutputDir(entry), _SRCJARS_SUBDIR))
|
| return java_dirs, excludes
|
|
|
| - def _GenResDirs(self, entry):
|
| - res_dirs = list(entry.DepsInfo().get('owned_resources_dirs', []))
|
| - if entry.ResZips():
|
| - res_dirs.append(os.path.join(self.EntryOutputDir(entry), _RES_SUBDIR))
|
| - return res_dirs
|
| -
|
| def _Relativize(self, entry, paths):
|
| return _RebasePath(paths, self.EntryOutputDir(entry))
|
|
|
| @@ -236,7 +226,6 @@
|
| def GeneratedInputs(self, entry):
|
| generated_inputs = []
|
| generated_inputs.extend(self.Srcjars(entry))
|
| - generated_inputs.extend(_RebasePath(entry.ResZips()))
|
| generated_inputs.extend(
|
| p for p in entry.JavaFiles() if not p.startswith('..'))
|
| generated_inputs.extend(entry.Gradle()['dependent_prebuilt_jars'])
|
| @@ -252,7 +241,6 @@
|
| variables['java_dirs'] = self._Relativize(entry, java_dirs)
|
| variables['java_excludes'] = excludes
|
| variables['jni_libs'] = self._Relativize(entry, self._GenJniLibs(entry))
|
| - variables['res_dirs'] = self._Relativize(entry, self._GenResDirs(entry))
|
| deps = [_ProjectEntry.FromBuildConfigPath(p)
|
| for p in entry.Gradle()['dependent_android_projects']]
|
| variables['android_project_deps'] = [d.ProjectName() for d in deps]
|
| @@ -448,21 +436,17 @@
|
| return '\n'.join(lines)
|
|
|
|
|
| -def _ExtractFile(zip_path, extracted_path):
|
| - logging.info('Extracting %s to %s', zip_path, extracted_path)
|
| - with zipfile.ZipFile(zip_path) as z:
|
| - z.extractall(extracted_path)
|
| -
|
| -
|
| -def _ExtractZips(entry_output_dir, zip_tuples):
|
| +def _ExtractSrcjars(entry_output_dir, srcjar_tuples):
|
| """Extracts all srcjars to the directory given by the tuples."""
|
| - extracted_paths = set(s[1] for s in zip_tuples)
|
| + extracted_paths = set(s[1] for s in srcjar_tuples)
|
| for extracted_path in extracted_paths:
|
| assert _IsSubpathOf(extracted_path, entry_output_dir)
|
| shutil.rmtree(extracted_path, True)
|
|
|
| - for zip_path, extracted_path in zip_tuples:
|
| - _ExtractFile(zip_path, extracted_path)
|
| + for srcjar_path, extracted_path in srcjar_tuples:
|
| + logging.info('Extracting %s to %s', srcjar_path, extracted_path)
|
| + with zipfile.ZipFile(srcjar_path) as z:
|
| + z.extractall(extracted_path)
|
|
|
|
|
| def _FindAllProjectEntries(main_entries):
|
| @@ -577,7 +561,7 @@
|
| jinja_processor = jinja_template.JinjaProcessor(_FILE_DIR)
|
| build_vars = _ReadBuildVars(output_dir)
|
| project_entries = []
|
| - zip_tuples = []
|
| + srcjar_tuples = []
|
| generated_inputs = []
|
| for entry in entries:
|
| if entry.GetType() not in ('android_apk', 'java_library', 'java_binary'):
|
| @@ -588,12 +572,9 @@
|
| project_entries.append(entry)
|
| # Build all paths references by .gradle that exist within output_dir.
|
| generated_inputs.extend(generator.GeneratedInputs(entry))
|
| - zip_tuples.extend(
|
| + srcjar_tuples.extend(
|
| (s, os.path.join(generator.EntryOutputDir(entry), _SRCJARS_SUBDIR))
|
| for s in generator.Srcjars(entry))
|
| - zip_tuples.extend(
|
| - (s, os.path.join(generator.EntryOutputDir(entry), _RES_SUBDIR))
|
| - for s in _RebasePath(entry.ResZips()))
|
| _WriteFile(
|
| os.path.join(generator.EntryOutputDir(entry), 'build.gradle'), data)
|
|
|
| @@ -612,8 +593,8 @@
|
| targets = _RebasePath(generated_inputs, output_dir)
|
| _RunNinja(output_dir, targets)
|
|
|
| - if zip_tuples:
|
| - _ExtractZips(generator.project_dir, zip_tuples)
|
| + if srcjar_tuples:
|
| + _ExtractSrcjars(generator.project_dir, srcjar_tuples)
|
|
|
| logging.warning('Project created! (%d subprojects)', len(project_entries))
|
| logging.warning('Generated projects work best with Android Studio 2.2')
|
|
|