12b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe#!/bin/bash
22b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe#
32b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# Copyright (C) 2014 The Android Open Source Project
42b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe#
52b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# Licensed under the Apache License, Version 2.0 (the "License");
62b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# you may not use this file except in compliance with the License.
72b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# You may obtain a copy of the License at
82b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe#
92b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe#     http://www.apache.org/licenses/LICENSE-2.0
102b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe#
112b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# Unless required by applicable law or agreed to in writing, software
122b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# distributed under the License is distributed on an "AS IS" BASIS,
132b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
142b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# See the License for the specific language governing permissions and
152b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# limitations under the License.
162b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe
172b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe# Stop if something fails.
182b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampeset -e
192b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe
205ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz# All except MirandaInterface
212b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampemkdir classes
222b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe${JAVAC} -d classes `find src -name '*.java'`
232b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gamperm classes/MirandaInterface.class
242b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe
255ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz# Only MirandaInterface
265ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertzmkdir classes2
275ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz${JAVAC} -d classes2 `find src -name '*.java'`
285ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertzrm classes2/Main.class classes2/MirandaAbstract.class classes2/MirandaClass*.class classes2/MirandaInterface2*.class
295ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz
305ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertzif [ ${USE_JACK} = "true" ]; then
315ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  # Create .jack files from classes generated with javac.
325ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  ${JILL} classes --output classes.jack
335ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  ${JILL} classes2 --output classes2.jack
345ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz
355ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  # Create DEX files from .jack files.
365ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  ${JACK} --import classes.jack --output-dex .
375ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  mv classes.dex classes-1.dex
385ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  ${JACK} --import classes2.jack --output-dex .
395ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  mv classes.dex classes2.dex
405ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  mv classes-1.dex classes.dex
415ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertzelse
425ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  # All except Main
435ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  ${DX} -JXmx256m --debug --dex --dump-to=classes.lst --output=classes.dex classes
442b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampe
455ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  # Only Main
465ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertz  ${DX} -JXmx256m --debug --dex --dump-to=classes2.lst --output=classes2.dex classes2
475ee9454dfee08a70dec62b0ed0fd4ad274274937Sebastien Hertzfi
482b0fa5ba4a8f07ee243452003bf93418d30e9448Andreas Gampezip $TEST_NAME.jar classes.dex classes2.dex
49