# Copyright 2016 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/android/rules.gni") import("config.gni") java_group("leakcanary_java") { if (enable_leakcanary) { deps = [ ":leakcanary_impl_java", ] } else { deps = [ ":leakcanary_noop_java", ] } } android_library("leakcanary_noop_java") { java_files = [ "src/leakcanary-android-no-op/src/main/java/com/squareup/leakcanary/LeakCanary.java", "src/leakcanary-android-no-op/src/main/java/com/squareup/leakcanary/RefWatcher.java", ] } _wanted_resource_files = [ "src/leakcanary-android/src/main/res/drawable-xxxhdpi-v11/leak_canary_notification.png", "src/leakcanary-android/src/main/res/drawable-xxhdpi-v11/leak_canary_notification.png", "src/leakcanary-android/src/main/res/drawable-xhdpi/leak_canary_notification.png", "src/leakcanary-android/src/main/res/drawable-xhdpi/leak_canary_icon.png", "src/leakcanary-android/src/main/res/drawable-mdpi-v11/leak_canary_notification.png", "src/leakcanary-android/src/main/res/drawable-xxxhdpi/leak_canary_notification.png", "src/leakcanary-android/src/main/res/drawable-xxxhdpi/leak_canary_icon.png", "src/leakcanary-android/src/main/res/drawable-hdpi/leak_canary_notification.png", "src/leakcanary-android/src/main/res/drawable-hdpi/leak_canary_icon.png", "src/leakcanary-android/src/main/res/drawable-hdpi-v11/leak_canary_notification.png", "src/leakcanary-android/src/main/res/values/leak_canary_themes.xml", "src/leakcanary-android/src/main/res/values/leak_canary_int.xml", "src/leakcanary-android/src/main/res/values/leak_canary_strings.xml", "src/leakcanary-android/src/main/res/drawable/leak_canary_toast_background.xml", "src/leakcanary-android/src/main/res/drawable-xxhdpi/leak_canary_notification.png", "src/leakcanary-android/src/main/res/drawable-xxhdpi/leak_canary_icon.png", "src/leakcanary-android/src/main/res/drawable-xhdpi-v11/leak_canary_notification.png", "src/leakcanary-android/src/main/res/drawable-mdpi/leak_canary_notification.png", "src/leakcanary-android/src/main/res/drawable-mdpi/leak_canary_icon.png", "src/leakcanary-android/src/main/res/values-v21/leak_canary_themes.xml", "src/leakcanary-android/src/main/res/layout/leak_canary_leak_row.xml", "src/leakcanary-android/src/main/res/layout/leak_canary_heap_dump_toast.xml", "src/leakcanary-android/src/main/res/layout/leak_canary_display_leak.xml", "src/leakcanary-android/src/main/res/layout/leak_canary_ref_top_row.xml", "src/leakcanary-android/src/main/res/layout/leak_canary_ref_row.xml", "src/leakcanary-android/src/main/res/values-v14/leak_canary_themes.xml", ] # This is required to remove: # "src/leakcanary-android/src/main/res/values/leak_canary_public.xml", # which is meant for .aar, and breaks aapt normally. copy("leakcanary_resources_copy") { sources = _wanted_resource_files outputs = [ "$target_gen_dir/copied-resources/{{source}}", ] } android_resources("leakcanary_resources") { custom_package = "com.squareup.leakcanary" resource_dirs = [] generated_resource_dirs = [ "$target_gen_dir/copied-resources/third_party/leakcanary/src/leakcanary-android/src/main/res" ] generated_resource_files = process_file_template(_wanted_resource_files, [ "$target_gen_dir/copied-resources/{{source}}" ]) deps = [ ":leakcanary_resources_copy", ] } android_library("leakcanary_impl_java") { chromium_code = false java_files = [ "leakcanary-android-build-config/com/squareup/leakcanary/BuildConfig.java", "src/leakcanary-analyzer/src/main/java/com/squareup/haha/perflib/HahaSpy.java", "src/leakcanary-analyzer/src/main/java/com/squareup/leakcanary/AnalysisResult.java", "src/leakcanary-analyzer/src/main/java/com/squareup/leakcanary/HahaHelper.java", "src/leakcanary-analyzer/src/main/java/com/squareup/leakcanary/HeapAnalyzer.java", "src/leakcanary-analyzer/src/main/java/com/squareup/leakcanary/LeakNode.java", "src/leakcanary-analyzer/src/main/java/com/squareup/leakcanary/LeakTraceElement.java", "src/leakcanary-analyzer/src/main/java/com/squareup/leakcanary/LeakTrace.java", "src/leakcanary-analyzer/src/main/java/com/squareup/leakcanary/ShortestPathFinder.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/AbstractAnalysisResultService.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/ActivityRefWatcher.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/AndroidDebuggerControl.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/AndroidExcludedRefs.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/AndroidHeapDumper.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/AndroidWatchExecutor.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/CanaryLog.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/DefaultLeakDirectoryProvider.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/DisplayLeakService.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/DisplayLeakActivity.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/DisplayLeakAdapter.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/DisplayLeakConnectorView.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/FutureResult.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/HeapAnalyzerService.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/LeakCanaryInternals.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/LeakCanarySingleThreadFactory.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/LeakCanaryUi.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/MoreDetailsView.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/internal/RequestStoragePermissionActivity.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/LeakCanary.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/LeakDirectoryProvider.java", "src/leakcanary-android/src/main/java/com/squareup/leakcanary/ServiceHeapDumpListener.java", "src/leakcanary-watcher/src/main/java/com/squareup/leakcanary/DebuggerControl.java", "src/leakcanary-watcher/src/main/java/com/squareup/leakcanary/ExcludedRefs.java", "src/leakcanary-watcher/src/main/java/com/squareup/leakcanary/Exclusion.java", "src/leakcanary-watcher/src/main/java/com/squareup/leakcanary/GcTrigger.java", "src/leakcanary-watcher/src/main/java/com/squareup/leakcanary/HeapDumper.java", "src/leakcanary-watcher/src/main/java/com/squareup/leakcanary/HeapDump.java", "src/leakcanary-watcher/src/main/java/com/squareup/leakcanary/KeyedWeakReference.java", "src/leakcanary-watcher/src/main/java/com/squareup/leakcanary/Preconditions.java", "src/leakcanary-watcher/src/main/java/com/squareup/leakcanary/RefWatcher.java", ] deps = [ ":leakcanary_resources", "//third_party/haha", ] }