From 22ea877f84fe72b9fdf1bda576c51a0d672bca84 Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Thu, 16 Dec 2021 15:17:28 +0000 Subject: [PATCH] DO NOT MERGE: disable connectivity-tiramisu build Disable framework-connectivity-tiramisu and do not include it in the apex, and add empty filegroups and replacement stub classes to make service-connectivity-tiramisu only contain ConnectivityServiceInitializer. This allows continuing to build the com.android.tethering APEX in the S release branch, while minimizing build conflicts as T classes are being prepared to move to it. Bug: 206893064 Test: m com.android.tethering Ignore-AOSP-First: sc-mainline-prod only. Change-Id: I0c4e29568eadb6ef85ddadebbb37723adb9f29cd --- Tethering/apex/Android.bp | 8 +- buildstubs-t/Android.bp | 43 +++++++++++ .../com/android/server/NsdService.java | 76 +++++++++++++++++++ framework-t/Android.bp | 2 +- 4 files changed, 125 insertions(+), 4 deletions(-) create mode 100644 buildstubs-t/Android.bp create mode 100644 buildstubs-t/stubs-src/com/android/server/NsdService.java diff --git a/Tethering/apex/Android.bp b/Tethering/apex/Android.bp index a94566f9fc..a14db4329f 100644 --- a/Tethering/apex/Android.bp +++ b/Tethering/apex/Android.bp @@ -88,7 +88,7 @@ bootclasspath_fragment { name: "com.android.tethering-bootclasspath-fragment", contents: [ "framework-connectivity", - "framework-connectivity-tiramisu", + // Changed in sc-mainline-prod only: no framework-connectivity-tiramisu "framework-tethering", ], apex_available: ["com.android.tethering"], @@ -111,11 +111,13 @@ bootclasspath_fragment { // modified by the Soong or platform compat team. hidden_api: { max_target_r_low_priority: [ - "hiddenapi/hiddenapi-max-target-r-loprio.txt", + // Changed in sc-mainline-prod only: no list for + // framework-connectivity-tiramisu APIs as it is not in the APEX ], max_target_o_low_priority: [ "hiddenapi/hiddenapi-max-target-o-low-priority.txt", - "hiddenapi/hiddenapi-max-target-o-low-priority-tiramisu.txt", + // Changed in sc-mainline-prod only: no list for + // framework-connectivity-tiramisu APIs as it is not in the APEX ], unsupported: ["hiddenapi/hiddenapi-unsupported.txt"], }, diff --git a/buildstubs-t/Android.bp b/buildstubs-t/Android.bp new file mode 100644 index 0000000000..0976e84719 --- /dev/null +++ b/buildstubs-t/Android.bp @@ -0,0 +1,43 @@ +// +// Copyright (C) 2021 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 { + // See: http://go/android-license-faq + default_applicable_licenses: ["Android-Apache-2.0"], +} + +// Placeholder empty filegroups to avoid merge conflicts on build rules +// on a branch that does not have the filegroups + +filegroup { + name: "framework-connectivity-tiramisu-updatable-sources", + srcs: [], +} + +filegroup { + name: "services.connectivity-tiramisu-updatable-sources", + srcs: ["stubs-src/**/*.java"], +} + +// Empty replacement for framework-connectivity-tiramisu.impl, as +// framework-connectivity is disabled in the branch +java_library { + name: "framework-connectivity-tiramisu.impl", + min_sdk_version: "Tiramisu", + sdk_version: "module_current", + srcs: [], +} + diff --git a/buildstubs-t/stubs-src/com/android/server/NsdService.java b/buildstubs-t/stubs-src/com/android/server/NsdService.java new file mode 100644 index 0000000000..8e32ffdb02 --- /dev/null +++ b/buildstubs-t/stubs-src/com/android/server/NsdService.java @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2021 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; + +import android.content.Context; +import android.os.IBinder; +import android.os.IInterface; +import android.os.Parcel; +import android.os.RemoteException; + +import java.io.FileDescriptor; + +/** + * Fake NsdService class for sc-mainline-prod, + * to allow building the T service-connectivity before sources + * are moved to the branch + */ +public final class NsdService implements IBinder { + /** Create instance */ + public static NsdService create(Context ctx) throws InterruptedException { + throw new RuntimeException("This is a stub class"); + } + + @Override + public String getInterfaceDescriptor() throws RemoteException { + return null; + } + + @Override + public boolean pingBinder() { + return false; + } + + @Override + public boolean isBinderAlive() { + return false; + } + + @Override + public IInterface queryLocalInterface(String descriptor) { + return null; + } + + @Override + public void dump(FileDescriptor fd, String[] args) throws RemoteException {} + + @Override + public void dumpAsync(FileDescriptor fd, String[] args) throws RemoteException {} + + @Override + public boolean transact(int code, Parcel data, Parcel reply, int flags) throws RemoteException { + return false; + } + + @Override + public void linkToDeath(DeathRecipient recipient, int flags) throws RemoteException {} + + @Override + public boolean unlinkToDeath(DeathRecipient recipient, int flags) { + return false; + } +} diff --git a/framework-t/Android.bp b/framework-t/Android.bp index abcfbeb34f..e9bd3ea254 100644 --- a/framework-t/Android.bp +++ b/framework-t/Android.bp @@ -21,7 +21,7 @@ package { java_defaults { name: "enable-framework-connectivity-t-targets", - enabled: true, + enabled: false, } // The above defaults can be used to disable framework-connectivity t // targets while minimizing merge conflicts in the build rules.