Versioning, add additional package import.

Added versioning@2.4. This tests the same as 2.2->2.3, but also repros
an issue in hidl-gen where triple inheritance isn't allowed.

Test: minor version inheritance doesn't fail, triple inheritance works
Bug: 36162559
Change-Id: Id5518621cd068b1b623f30f6f6762a1bf8ae6a80
This commit is contained in:
Steven Moreland
2017-03-20 05:02:14 -07:00
parent e5796ef7a6
commit a233c182be
5 changed files with 170 additions and 0 deletions

View File

@@ -22,4 +22,5 @@ subdirs = [
"versioning/1.0",
"versioning/2.2",
"versioning/2.3",
"versioning/2.4",
]

View File

@@ -63,6 +63,7 @@ cc_library_shared {
"libcutils",
"android.hardware.tests.versioning@1.0",
"android.hardware.tests.versioning@2.2",
"android.hidl.base@1.0",
],
export_shared_lib_headers: [
"libhidlbase",
@@ -71,5 +72,6 @@ cc_library_shared {
"libutils",
"android.hardware.tests.versioning@1.0",
"android.hardware.tests.versioning@2.2",
"android.hidl.base@1.0",
],
}

View File

@@ -0,0 +1,63 @@
// This file is autogenerated by hidl-gen. Do not edit manually.
filegroup {
name: "android.hardware.tests.versioning@2.4_hal",
srcs: [
"IFoo.hal",
],
}
genrule {
name: "android.hardware.tests.versioning@2.4_genc++",
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@2.4",
srcs: [
":android.hardware.tests.versioning@2.4_hal",
],
out: [
"android/hardware/tests/versioning/2.4/FooAll.cpp",
],
}
genrule {
name: "android.hardware.tests.versioning@2.4_genc++_headers",
tools: ["hidl-gen"],
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@2.4",
srcs: [
":android.hardware.tests.versioning@2.4_hal",
],
out: [
"android/hardware/tests/versioning/2.4/IFoo.h",
"android/hardware/tests/versioning/2.4/IHwFoo.h",
"android/hardware/tests/versioning/2.4/BnHwFoo.h",
"android/hardware/tests/versioning/2.4/BpHwFoo.h",
"android/hardware/tests/versioning/2.4/BsFoo.h",
],
}
cc_library_shared {
name: "android.hardware.tests.versioning@2.4",
generated_sources: ["android.hardware.tests.versioning@2.4_genc++"],
generated_headers: ["android.hardware.tests.versioning@2.4_genc++_headers"],
export_generated_headers: ["android.hardware.tests.versioning@2.4_genc++_headers"],
shared_libs: [
"libhidlbase",
"libhidltransport",
"libhwbinder",
"liblog",
"libutils",
"libcutils",
"android.hardware.tests.versioning@2.2",
"android.hardware.tests.versioning@2.3",
"android.hidl.base@1.0",
],
export_shared_lib_headers: [
"libhidlbase",
"libhidltransport",
"libhwbinder",
"libutils",
"android.hardware.tests.versioning@2.2",
"android.hardware.tests.versioning@2.3",
"android.hidl.base@1.0",
],
}

View File

@@ -0,0 +1,80 @@
# This file is autogenerated by hidl-gen. Do not edit manually.
LOCAL_PATH := $(call my-dir)
################################################################################
include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.tests.versioning@2.4-java
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
LOCAL_JAVA_LIBRARIES := \
android.hardware.tests.versioning@2.2-java \
android.hardware.tests.versioning@2.3-java \
android.hidl.base@1.0-java \
#
# Build IFoo.hal
#
GEN := $(intermediates)/android/hardware/tests/versioning/V2_4/IFoo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFoo.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.tests.versioning@2.4::IFoo
$(GEN): $(LOCAL_PATH)/IFoo.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_JAVA_LIBRARY)
################################################################################
include $(CLEAR_VARS)
LOCAL_MODULE := android.hardware.tests.versioning@2.4-java-static
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
intermediates := $(call local-generated-sources-dir, COMMON)
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
LOCAL_STATIC_JAVA_LIBRARIES := \
android.hardware.tests.versioning@2.2-java-static \
android.hardware.tests.versioning@2.3-java-static \
android.hidl.base@1.0-java-static \
#
# Build IFoo.hal
#
GEN := $(intermediates)/android/hardware/tests/versioning/V2_4/IFoo.java
$(GEN): $(HIDL)
$(GEN): PRIVATE_HIDL := $(HIDL)
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IFoo.hal
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
$(GEN): PRIVATE_CUSTOM_TOOL = \
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
-Ljava \
-randroid.hardware:hardware/interfaces \
-randroid.hidl:system/libhidl/transport \
android.hardware.tests.versioning@2.4::IFoo
$(GEN): $(LOCAL_PATH)/IFoo.hal
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
include $(BUILD_STATIC_JAVA_LIBRARY)
include $(call all-makefiles-under,$(LOCAL_PATH))

View File

@@ -0,0 +1,24 @@
/*
* Copyright (C) 2017 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 android.hardware.tests.versioning@2.4;
import @2.3::IFoo;
// Must extend @2.3::IFoo.
interface IFoo extends @2.3::IFoo {
};