| #!/bin/sh |
| # |
| # Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. |
| # |
| # This program and the accompanying materials are made available under the |
| # terms of the Eclipse Public License v. 2.0, which is available at |
| # http://www.eclipse.org/legal/epl-2.0. |
| # |
| # This Source Code may also be made available under the following Secondary |
| # Licenses when the conditions for such availability set forth in the |
| # Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
| # version 2 with the GNU Classpath Exception, which is available at |
| # https://www.gnu.org/software/classpath/license.html. |
| # |
| # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
| # |
| |
| # |
| # Compare API against a signature file. |
| # |
| # Usage: sigtest javax.mail.jar mail.sig |
| # |
| SIGTEST=${SIGTEST:-/java/re/sigtest/4.0/promoted/fcs/latest/binaries/sigtest-4.0} |
| # The apicheck program isn't working correctly, use sigtest instead. |
| #APICHECK_JAR=$SIGTEST/lib/apicheck.jar |
| SIGTEST_JAR=$SIGTEST/lib/sigtestdev.jar |
| JAVA_HOME=${JAVA_HOME:-/opt/jdk1.8} |
| USAGE="sigtest [-b] [-p package] javax.mail.jar mail.sig" |
| PKG=javax.mail |
| BACKWARD= |
| PLATSIG=/tmp/$$.platform.sig |
| |
| while getopts bp: opt |
| do |
| case $opt in |
| p) PKG="$OPTARG";; |
| b) BACKWARD=-backward;; |
| \?) echo $USAGE; exit 1;; |
| esac |
| done |
| shift `expr $OPTIND - 1` |
| |
| JAR="$1" |
| SIG="$2" |
| shift 2 |
| |
| ver=$($JAVA_HOME/bin/java -version 2>&1 | sed -e 's/.*"\(.*\)".*/\1/;q') |
| case "$ver" in |
| 1.[0-9]*) xjimage=; |
| cp="${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/jre/lib/jce.jar";; |
| *) xjimage="-xjimage ${JAVA_HOME}/bin/jimage"; |
| cp="${JAVA_HOME}/lib/modules";; |
| esac |
| |
| echo '*** Generate JDK signatures ***' |
| ${JAVA_HOME}/bin/java -jar $SIGTEST_JAR setup \ |
| -classpath "$cp" $xjimage \ |
| -filename "$PLATSIG" -package java -package javax -keepfile \ |
| -verbose nowarn |
| echo |
| echo '*** Check JavaMail signatures ***' |
| ${JAVA_HOME}/bin/java -jar $SIGTEST_JAR test -static \ |
| -classpath "$PLATSIG:$JAR" \ |
| -filename "$SIG" -package "$PKG" -out /dev/stdout \ |
| -nomerge -checkvalue -mode src $BACKWARD "$@" |
| |
| rm "$PLATSIG" |