1#!/bin/bash
2#
3# Copyright 2018 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#      http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17# Make us exit on a failure
18set -e
19
20# Set variables for source directories. Using src-art so we use
21# VarHandles in the bootclasspath and can compile with the Java 8
22# compiler.
23MANUAL_SRC=src
24GENERATED_SRC=src2
25
26# Build the Java files
27mkdir -p src2
28
29# Collate list of manual test classes
30MANUAL_TESTS=$(cd "${MANUAL_SRC}" && find . -name 'Var*Tests.java' | sed -e 's@.*\(Var.*Tests\).*@\1@g' | sort)
31
32# Generate tests and Main that covers both the generated tests and manual tests
33python3 ./util-src/generate_java.py "${GENERATED_SRC}" ${MANUAL_TESTS}
34
35./default-build "$@" --experimental var-handles
36