188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project#!/bin/sh
288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project#
388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# Copyright (C) 2008 The Android Open Source Project
488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project#
588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# Licensed under the Apache License, Version 2.0 (the "License");
688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# you may not use this file except in compliance with the License.
788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# You may obtain a copy of the License at
888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project#
988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project#      http://www.apache.org/licenses/LICENSE-2.0
1088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project#
1188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# Unless required by applicable law or agreed to in writing, software
1288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# distributed under the License is distributed on an "AS IS" BASIS,
1388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# See the License for the specific language governing permissions and
1588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# limitations under the License.
1688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
1788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectexport A_STUBS=out/stubs/a/stubs
1888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectexport B_STUBS=out/stubs/b/stubs
1988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectexport EXPECTED_STUBS=out/stubs/expected/stubs
2088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectexport EXPECTED=$DIR/expected
2188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
2288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectfunction build_stubs()
2388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project{
2488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    ID=$1
2588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    SRC_DIR=$2
2688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    STUBS_DIR=$3
2788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
2888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    OBJ_DIR=out/stubs/$ID
29289d80eee416dca7585783a584cbfcf4061a662cJesse Wilson    PLATFORM=${HOST_OS}-${HOST_ARCH}
3088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
3188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    rm -rf $OBJ_DIR &> /dev/null
3288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    mkdir -p $OBJ_DIR
3388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
3488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    find $SRC_DIR -name '*.java' > $OBJ_DIR/javadoc-src-list
3588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    ( \
36289d80eee416dca7585783a584cbfcf4061a662cJesse Wilson        LD_LIBRARY_PATH=out/host/$PLATFORM/lib \
3788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project        javadoc \
3888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            \@$OBJ_DIR/javadoc-src-list \
3988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -J-Xmx512m \
40289d80eee416dca7585783a584cbfcf4061a662cJesse Wilson            -J-Djava.library.path=out/host/$PLATFORM/lib \
4188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project             \
4288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -quiet \
4388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -doclet DroidDoc \
44289d80eee416dca7585783a584cbfcf4061a662cJesse Wilson            -docletpath out/host/$PLATFORM/framework/clearsilver.jar:out/host/$PLATFORM/framework/droiddoc.jar:out/host/$PLATFORM/framework/apicheck.jar \
4588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -templatedir tools/droiddoc/templates \
4688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -classpath out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar \
4788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -sourcepath $SRC_DIR:out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar \
4888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -d $OBJ_DIR/docs \
4988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -hdf page.build MAIN-eng.joeo.20080710.121320 -hdf page.now "10 Jul 2008 12:13" \
5088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -stubs $STUBS_DIR \
5188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project            -stubpackages com.android.stubs:com.android.stubs.a:com.android.stubs.b:com.android.stubs.hidden \
5288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project        && rm -rf $OBJ_DIR/docs/assets \
5388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project        && mkdir -p $OBJ_DIR/docs/assets \
5488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project        && cp -fr tools/droiddoc/templates/assets/* $OBJ_DIR/docs/assets/ \
5588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    )# || (rm -rf $OBJ_DIR; exit 45)
5688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project}
5788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
5888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Projectfunction compile_stubs()
5988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project{
6088b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    ID=$1
6188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    STUBS_DIR=$2
6288b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
6388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    OBJ_DIR=out/stubs/$ID
6488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    CLASS_DIR=$OBJ_DIR/class
6588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    mkdir -p $CLASS_DIR
6688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
6788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    find $STUBS_DIR -name "*.java" > $OBJ_DIR/java-src-list
6888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project    javac @$OBJ_DIR/java-src-list -d $CLASS_DIR
6988b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project}
70