summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYifan Hong <elsk@google.com>2017-02-02 16:48:36 -0800
committerYifan Hong <elsk@google.com>2017-02-09 18:24:18 -0800
commit4650ce9d25bccfb803e54809685c0a8b31938653 (patch)
treec0d6f4555d7eacd3a53c2bd1330b262a4b8303a8 /tests
parent0574bacb2ac9803c1238af89132761c406263850 (diff)
downloadandroid_hardware_interfaces-4650ce9d25bccfb803e54809685c0a8b31938653.tar.gz
android_hardware_interfaces-4650ce9d25bccfb803e54809685c0a8b31938653.tar.bz2
android_hardware_interfaces-4650ce9d25bccfb803e54809685c0a8b31938653.zip
Add tests for minor version upgrade enforcement.
Test: compiles Test: add folder test/versioning/2.0 will make update-makefiles.sh to fail. Test: removing @2.3::IBar will let update-makefiles.sh to pass. Test: Change @2.3::IBar to extend from @2.2::IFoo will let update-makefiles.sh to fail. Bug: 28825532 Change-Id: Iad1138b784505c903ab1049f08f6c07c38b777e1
Diffstat (limited to 'tests')
-rw-r--r--tests/Android.bp3
-rw-r--r--tests/versioning/1.0/Android.bp59
-rw-r--r--tests/versioning/1.0/Android.mk76
-rw-r--r--tests/versioning/1.0/IFoo.hal20
-rw-r--r--tests/versioning/2.2/Android.bp68
-rw-r--r--tests/versioning/2.2/Android.mk114
-rw-r--r--tests/versioning/2.2/IBar.hal21
-rw-r--r--tests/versioning/2.2/IFoo.hal21
-rw-r--r--tests/versioning/2.3/Android.bp68
-rw-r--r--tests/versioning/2.3/Android.mk116
-rw-r--r--tests/versioning/2.3/IBar.hal24
-rw-r--r--tests/versioning/2.3/IFoo.hal24
12 files changed, 614 insertions, 0 deletions
diff --git a/tests/Android.bp b/tests/Android.bp
index 8b3e8b175..337e4f4b4 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -17,4 +17,7 @@ subdirs = [
"pointer/1.0",
"pointer/1.0/default",
"pointer/1.0/default/lib",
+ "versioning/1.0",
+ "versioning/2.2",
+ "versioning/2.3",
]
diff --git a/tests/versioning/1.0/Android.bp b/tests/versioning/1.0/Android.bp
new file mode 100644
index 000000000..fd331f20b
--- /dev/null
+++ b/tests/versioning/1.0/Android.bp
@@ -0,0 +1,59 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+filegroup {
+ name: "android.hardware.tests.versioning@1.0_hal",
+ srcs: [
+ "IFoo.hal",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@1.0_genc++",
+ tools: ["hidl-gen"],
+ cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.versioning@1.0",
+ srcs: [
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/1.0/FooAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@1.0_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@1.0",
+ srcs: [
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/1.0/IFoo.h",
+ "android/hardware/tests/versioning/1.0/IHwFoo.h",
+ "android/hardware/tests/versioning/1.0/BnHwFoo.h",
+ "android/hardware/tests/versioning/1.0/BpHwFoo.h",
+ "android/hardware/tests/versioning/1.0/BsFoo.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.versioning@1.0",
+ generated_sources: ["android.hardware.tests.versioning@1.0_genc++"],
+ generated_headers: ["android.hardware.tests.versioning@1.0_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.versioning@1.0_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "android.hidl.base@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
diff --git a/tests/versioning/1.0/Android.mk b/tests/versioning/1.0/Android.mk
new file mode 100644
index 000000000..753ad0cad
--- /dev/null
+++ b/tests/versioning/1.0/Android.mk
@@ -0,0 +1,76 @@
+# 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@1.0-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java \
+
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V1_0/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@1.0::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@1.0-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java-static \
+
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V1_0/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@1.0::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))
diff --git a/tests/versioning/1.0/IFoo.hal b/tests/versioning/1.0/IFoo.hal
new file mode 100644
index 000000000..0571eff20
--- /dev/null
+++ b/tests/versioning/1.0/IFoo.hal
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 2016 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@1.0;
+
+interface IFoo {
+};
diff --git a/tests/versioning/2.2/Android.bp b/tests/versioning/2.2/Android.bp
new file mode 100644
index 000000000..5e9010578
--- /dev/null
+++ b/tests/versioning/2.2/Android.bp
@@ -0,0 +1,68 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+filegroup {
+ name: "android.hardware.tests.versioning@2.2_hal",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@2.2_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.2",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/2.2/BarAll.cpp",
+ "android/hardware/tests/versioning/2.2/FooAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@2.2_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.2",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/2.2/IBar.h",
+ "android/hardware/tests/versioning/2.2/IHwBar.h",
+ "android/hardware/tests/versioning/2.2/BnHwBar.h",
+ "android/hardware/tests/versioning/2.2/BpHwBar.h",
+ "android/hardware/tests/versioning/2.2/BsBar.h",
+ "android/hardware/tests/versioning/2.2/IFoo.h",
+ "android/hardware/tests/versioning/2.2/IHwFoo.h",
+ "android/hardware/tests/versioning/2.2/BnHwFoo.h",
+ "android/hardware/tests/versioning/2.2/BpHwFoo.h",
+ "android/hardware/tests/versioning/2.2/BsFoo.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.versioning@2.2",
+ generated_sources: ["android.hardware.tests.versioning@2.2_genc++"],
+ generated_headers: ["android.hardware.tests.versioning@2.2_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.versioning@2.2_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "android.hidl.base@1.0",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hidl.base@1.0",
+ ],
+}
diff --git a/tests/versioning/2.2/Android.mk b/tests/versioning/2.2/Android.mk
new file mode 100644
index 000000000..63766521d
--- /dev/null
+++ b/tests/versioning/2.2/Android.mk
@@ -0,0 +1,114 @@
+# 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.2-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java \
+
+
+#
+# Build IBar.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_2/IBar.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBar.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.2::IBar
+
+$(GEN): $(LOCAL_PATH)/IBar.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_2/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.2::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.2-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ android.hidl.base@1.0-java-static \
+
+
+#
+# Build IBar.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_2/IBar.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBar.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.2::IBar
+
+$(GEN): $(LOCAL_PATH)/IBar.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_2/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.2::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))
diff --git a/tests/versioning/2.2/IBar.hal b/tests/versioning/2.2/IBar.hal
new file mode 100644
index 000000000..e28ce1983
--- /dev/null
+++ b/tests/versioning/2.2/IBar.hal
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2016 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.2;
+
+interface IBar {
+
+};
diff --git a/tests/versioning/2.2/IFoo.hal b/tests/versioning/2.2/IFoo.hal
new file mode 100644
index 000000000..d6b87820e
--- /dev/null
+++ b/tests/versioning/2.2/IFoo.hal
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2016 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.2;
+
+interface IFoo {
+
+};
diff --git a/tests/versioning/2.3/Android.bp b/tests/versioning/2.3/Android.bp
new file mode 100644
index 000000000..148953905
--- /dev/null
+++ b/tests/versioning/2.3/Android.bp
@@ -0,0 +1,68 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+filegroup {
+ name: "android.hardware.tests.versioning@2.3_hal",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@2.3_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.3",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/2.3/BarAll.cpp",
+ "android/hardware/tests/versioning/2.3/FooAll.cpp",
+ ],
+}
+
+genrule {
+ name: "android.hardware.tests.versioning@2.3_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.3",
+ srcs: [
+ "IBar.hal",
+ "IFoo.hal",
+ ],
+ out: [
+ "android/hardware/tests/versioning/2.3/IBar.h",
+ "android/hardware/tests/versioning/2.3/IHwBar.h",
+ "android/hardware/tests/versioning/2.3/BnHwBar.h",
+ "android/hardware/tests/versioning/2.3/BpHwBar.h",
+ "android/hardware/tests/versioning/2.3/BsBar.h",
+ "android/hardware/tests/versioning/2.3/IFoo.h",
+ "android/hardware/tests/versioning/2.3/IHwFoo.h",
+ "android/hardware/tests/versioning/2.3/BnHwFoo.h",
+ "android/hardware/tests/versioning/2.3/BpHwFoo.h",
+ "android/hardware/tests/versioning/2.3/BsFoo.h",
+ ],
+}
+
+cc_library_shared {
+ name: "android.hardware.tests.versioning@2.3",
+ generated_sources: ["android.hardware.tests.versioning@2.3_genc++"],
+ generated_headers: ["android.hardware.tests.versioning@2.3_genc++_headers"],
+ export_generated_headers: ["android.hardware.tests.versioning@2.3_genc++_headers"],
+ shared_libs: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "liblog",
+ "libutils",
+ "libcutils",
+ "android.hardware.tests.versioning@2.2",
+ ],
+ export_shared_lib_headers: [
+ "libhidlbase",
+ "libhidltransport",
+ "libhwbinder",
+ "libutils",
+ "android.hardware.tests.versioning@2.2",
+ ],
+}
diff --git a/tests/versioning/2.3/Android.mk b/tests/versioning/2.3/Android.mk
new file mode 100644
index 000000000..5b05152dd
--- /dev/null
+++ b/tests/versioning/2.3/Android.mk
@@ -0,0 +1,116 @@
+# 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.3-java
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_JAVA_LIBRARIES := \
+ android.hardware.tests.versioning@2.2-java \
+ android.hidl.base@1.0-java \
+
+
+#
+# Build IBar.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_3/IBar.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBar.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.3::IBar
+
+$(GEN): $(LOCAL_PATH)/IBar.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_3/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.3::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.3-java-static
+LOCAL_MODULE_CLASS := JAVA_LIBRARIES
+
+intermediates := $(local-generated-sources-dir)
+
+HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+ android.hardware.tests.versioning@2.2-java-static \
+ android.hidl.base@1.0-java-static \
+
+
+#
+# Build IBar.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_3/IBar.java
+$(GEN): $(HIDL)
+$(GEN): PRIVATE_HIDL := $(HIDL)
+$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IBar.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.3::IBar
+
+$(GEN): $(LOCAL_PATH)/IBar.hal
+ $(transform-generated-source)
+LOCAL_GENERATED_SOURCES += $(GEN)
+
+#
+# Build IFoo.hal
+#
+GEN := $(intermediates)/android/hardware/tests/versioning/V2_3/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.3::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))
diff --git a/tests/versioning/2.3/IBar.hal b/tests/versioning/2.3/IBar.hal
new file mode 100644
index 000000000..946d42e06
--- /dev/null
+++ b/tests/versioning/2.3/IBar.hal
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2016 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.3;
+
+import @2.2::IBar;
+
+// Must extend @2.3::IBar.
+interface IBar extends @2.2::IBar {
+
+};
diff --git a/tests/versioning/2.3/IFoo.hal b/tests/versioning/2.3/IFoo.hal
new file mode 100644
index 000000000..c450dd294
--- /dev/null
+++ b/tests/versioning/2.3/IFoo.hal
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2016 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.3;
+
+import @2.2::IFoo;
+
+// Must extend @2.3::IFoo.
+interface IFoo extends @2.2::IFoo {
+
+};