Merge "Add services.permission java_library_static with Kotlin."

This commit is contained in:
TreeHugger Robot
2022-11-17 18:03:43 +00:00
committed by Android (Google) Code Review
6 changed files with 94 additions and 3 deletions

View File

@@ -60,9 +60,17 @@ system_optimized_java_defaults {
ignore_warnings: false,
proguard_flags_files: ["proguard.flags"],
},
// Note: Optimizations are disabled by default if unspecified in
// the java_library rule.
conditions_default: {},
conditions_default: {
optimize: {
enabled: true,
optimize: false,
shrink: true,
ignore_warnings: false,
// Note that this proguard config is very conservative, only shrinking the
// permission subpackage to prune unused jarjar'ed Kotlin dependencies.
proguard_flags_files: ["proguard_permission.flags"],
},
},
},
},
}
@@ -97,6 +105,7 @@ filegroup {
":services.midi-sources",
":services.musicsearch-sources",
":services.net-sources",
":services.permission-sources",
":services.print-sources",
":services.profcollect-sources",
":services.restrictions-sources",
@@ -131,6 +140,7 @@ java_library {
app_image: true,
profile: "art-profile",
},
exclude_kotlinc_generated_files: true,
srcs: [":services-main-sources"],
@@ -152,6 +162,7 @@ java_library {
"services.musicsearch",
"services.net",
"services.people",
"services.permission",
"services.print",
"services.profcollect",
"services.restrictions",

View File

@@ -0,0 +1,40 @@
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_base_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
}
filegroup {
name: "services.permission-sources",
srcs: [
"java/**/*.java",
"java/**/*.kt",
],
path: "java",
visibility: ["//frameworks/base/services"],
}
java_library_static {
name: "services.permission",
defaults: ["platform_service_defaults"],
srcs: [":services.permission-sources"],
libs: [
"services.core",
// Soong fails to automatically add this dependency because all the
// *.kt sources are inside a filegroup.
"kotlin-annotations",
],
static_libs: [
"kotlin-stdlib",
],
jarjar_rules: "jarjar-rules.txt",
kotlincflags: [
"-Xjvm-default=all",
"-Xno-call-assertions",
"-Xno-param-assertions",
"-Xno-receiver-assertions",
],
}

View File

@@ -0,0 +1,4 @@
ashfall@google.com
joecastro@google.com
ntmyren@google.com
zhanghai@google.com

View File

@@ -0,0 +1 @@
rule kotlin.** com.android.server.permission.jarjar.@0

View File

@@ -0,0 +1,26 @@
/*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.server.permission
import com.android.internal.annotations.Keep
import com.android.server.pm.permission.PermissionManagerServiceInterface
/**
* Modern implementation of [PermissionManagerServiceInterface].
*/
@Keep
class ModernPermissionManagerServiceImpl

View File

@@ -0,0 +1,9 @@
# Only shrink services.permission classes.
# Note that while more aggressive services shrinking is enabled by default (see proguard.flags), for
# cases where that's not yet possible, we still need to shrink the permission package to prune out
# unused Kotlin stdlib dependencies.
-keep class !com.android.server.permission.** { *; }
# CoverageService guards optional jacoco class references with a runtime guard, so we can safely
# suppress build-time warnings.
-dontwarn org.jacoco.agent.rt.*