Lines Matching +full:android +full:- +full:variables
3 # Use of this source code is governed by a BSD-style license that can be
6 """Generates an Android Studio project from a GN target."""
38 # channel, i.e. Android Studio stable.
46 host_paths.DIR_SOURCE_ROOT, 'build', 'android', 'gradle',
50 _JNI_LIBS_SUBDIR = 'symlinked-libs'
63 '//chrome/android:chrome_junit_tests',
64 '//chrome/android:chrome_public_apk',
65 '//chrome/android:chrome_public_test_apk',
66 '//chrome/android:chrome_public_unit_test_apk',
67 '//chrome/browser/android/examples/inline_autofill_service:inline_autofill_service_example_apk',
68 '//content/public/android:content_junit_tests',
69 '//content/shell/android:content_shell_apk',
70 # Below must be included even with --all since they are libraries.
71 '//base/android/jni_generator:jni_processor',
72 '//tools/android/errorprone_plugin:errorprone_plugin_java',
105 with codecs.open(path, 'w', 'utf-8') as output_file:
126 os.path.join(_BUILD_ANDROID, 'list_java_targets.py'), '--gn-labels',
127 '--nested', '--build', '--output-directory', output_dir
130 return subprocess.check_output(cmd, encoding='UTF-8').splitlines()
160 subdir = path[len(prefix):-len(suffix)]
294 simply set android.defaultConfig.applicationId because it is not supported
308 variables = {'package': resource_packages[0]}
309 data = self.jinja_processor.Render(_TemplatePath('manifest'), variables)
342 variables = {}
348 variables['java_dirs'] = self._Relativize(root_entry, java_dirs)
349 variables['java_excludes'] = excludes
350 variables['jni_libs'] = self._Relativize(
355 variables['prebuilts'] = self._Relativize(root_entry, prebuilts)
365 variables['res_dirs'] = self._Relativize(root_entry, res_dirs)
369 variables['android_project_deps'] = [d.ProjectName() for d in deps]
372 variables['java_project_deps'] = [d.ProjectName() for d in deps]
373 return variables
381 # Recognize these tokens as top-level.
400 - Shortens exclude list by globbing if possible.
401 - Exclude patterns are relative paths from the parent directory.
416 files_to_exclude -= found_files
442 unwanted_source_files = set(found_source_files) - set(files)
448 missing_source_files = set(source_files) - all_found_source_files
449 # Warn only about non-generated files that are missing.
463 logging.debug('Creating symlink %s -> %s', link_path, relpath)
504 '# Generated by //build/android/gradle/generate_gradle.py',
511 """Returns the data for gradle-wrapper.properties as a string."""
514 r'/distributions/gradle-([\d.]+)-all.zip',
518 '# Generated by //build/android/gradle/generate_gradle.py',
520 f'/distributions/gradle-{version}-all.zip'),
528 '# Generated by //build/android/gradle/generate_gradle.py',
537 variables = {}
538 # Avoid pre-release SDKs since Studio might not know how to download them.
539 variables['compile_sdk_version'] = (
540 'android-%s' % build_vars['android_sdk_platform_version'])
544 variables['target_sdk_version'] = target_sdk_version
545 variables['min_sdk_version'] = build_vars['default_min_sdk_version']
546 variables['use_gradle_process_resources'] = (
548 return variables
554 variables = _GenerateBaseVars(generator, build_vars)
570 variables['main_class'] = deps_info.get('main_class')
577 variables['target_name'] = os.path.splitext(deps_info['name'])[0]
578 variables['template_type'] = target_type
579 variables['main'] = {}
580 variables[sourceSetName] = generator.Generate(entry)
581 variables['main']['android_manifest'] = generator.GenerateManifest(entry)
584 variables['android_test'] = []
588 variables['android_test'].append(test_entry)
591 test_entry[key] = sorted(set(value) - set(variables['main'][key]))
594 _TemplatePath(target_type.split('_')[0]), variables)
597 # Example: //chrome/android:monochrome
641 variables = _GenerateBaseVars(generator, build_vars)
643 variables['target_name'] = _MODULE_ALL
644 variables['template_type'] = target_type
655 variables['main'] = {
662 variables['android_test'] = [{
667 variables['native'] = _GetNative(
670 _TemplatePath(target_type.split('_')[0]), variables)
674 cmake_data = jinja_processor.Render(_TemplatePath('cmake'), variables)
682 file_path, r'com.android.tools.build:gradle:([\d.]+)',
685 file_path, r'org.jetbrains.kotlin:kotlin-gradle-plugin:([\d.]+)',
699 lines.append('// Generated by //build/android/gradle/generate_gradle.py')
730 - Speeds up android studio
731 - Adds proper dependency between test and apk_under_test
732 - Doesn't work for junit yet due to resulting circular dependencies
733 - e.g. base_junit_tests > base_junit_test_support > base_java
757 parser.add_argument('--output-directory',
759 parser.add_argument('-v',
760 '--verbose',
765 parser.add_argument('--target',
770 parser.add_argument('--extra-target',
775 parser.add_argument('--project-dir',
778 parser.add_argument('--all',
782 '--split-projects is used (--split-projects can '
784 parser.add_argument('--use-gradle-process-resources',
787 parser.add_argument('--split-projects',
791 parser.add_argument('--native-target',
797 '--sdk-path',
798 default=os.path.expanduser('~/Android/Sdk'),
800 'default at ~/Android/Sdk.')
811 'Gradle resources does not work without --split-projects.')
817 # Generate for "all targets" by default when not using --split-projects (too
818 # slow), and when no --target has been explicitly set. "all targets" means all
829 _RunGnGen(output_dir, ['--ide=json'])
833 # Faster than running "gn gen" in the no-op case.
838 assert not args.native_targets, 'Native editing requires --all.'
851 # --all case.
863 # --targets.
903 # Ensure the Android Studio sdk is correctly initialized.
905 # Help first-time users avoid Android Studio forcibly changing back to
915 'gradle-wrapper.properties')
934 print('Generated projects for Android Studio.')
935 print('** Building using Android Studio / Gradle does not work.')