blob: f09471a159e5d0f283180ba57091fc1a5c27a0f3 [file] [log] [blame]
#!/bin/sh
#
# @(#)mkproject 1.4 97/11/26
#
# Copyright (c) 1997 by Sun Microsystems, Inc.
# All rights reserved.
#
# mkproject - make a Java Workshop project file
#
USAGE='mkproject [-d classdir] [-p classpath] [-s subdirs] [-c compiler-opts]
[-j java-opts] [-m main-class] files ...'
#
CLASSDIR=classes
CLASSPATH=
SUBDIRS=
JAVACFLAGS=-g
JAVAFLAGS=
MAIN=
while getopts d:p:s:c:j:m: i
do
case $i in
d) CLASSDIR="$OPTARG";;
p) CLASSPATH="$OPTARG";;
s) SUBDIRS="$OPTARG";;
c) JAVACFLAGS="$OPTARG";;
j) JAVAFLAGS="$OPTARG";;
m) MAIN="$OPTARG";;
'?') echo "$USAGE"; exit 2;;
esac
done
shift `expr $OPTIND - 1`
echo sun.jws.version.2
if [ -n "$MAIN" ]
then
PACKAGE=`expr $MAIN : '\(.*\)\..*'`
CLASS=`expr $MAIN : '.*\.\(.*\)'`
cat <<-EOF
sun.jws.package=$PACKAGE
sun.jws.classname=$CLASS
sun.jws.type=standalone
EOF
else
echo sun.jws.type=package
fi
cat <<EOF
sun.jws.useVisual=false
sun.jws.classdir=$CLASSDIR
sun.jws.options=$JAVACFLAGS
EOF
if [ -n "$MAIN" ]
then
echo "sun.jws.javaArguments=$JAVAFLAGS"
#
# Put out the sourcepath, eliminating duplicates and anything
# that doesn't look like a source directory.
#
echo sun.jws.sourcepath=List
oldIFS=$IFS
IFS=:
for i in $CLASSPATH
do
echo $i
done | \
awk '
/\/src\// { if (!seen[$1]) {
print;
seen[$1] = 1;
}
}
'
IFS=$oldIFS
echo EndOfList
fi
#
# Put out the CLASSPATH, eliminating duplicates and anything that looks
# like the JDK or JRE.
#
echo sun.jws.classpath=List
oldIFS=$IFS
IFS=:
for i in $CLASSPATH
do
echo $i
done | \
awk '
/^\/.*\/java\/lib\/classes\.zip$/ { next; }
/^\/.*\/solaris\/lib\/classes\.zip$/ { next; }
/^\/.*\/jre\/lib\/rt\.jar$/ { next; }
{ if (!seen[$1]) {
print;
seen[$1] = 1;
}
}
'
IFS=$oldIFS
echo EndOfList
#
# If any subdirectories, put out references to sub-projects.
#
if [ -n "$SUBDIRS" ]
then
echo sun.jws.includes=List
for i in $SUBDIRS
do
case $i in
tests) ;; # skip
*/*) echo $i.prj;;
*) echo $i/$i.prj;;
esac
done
echo EndOfList
fi
#
# If any files, list them.
#
if [ $# -gt 0 ]
then
echo sun.jws.files=List
for i
do
echo $i
done
echo EndOfList
elif [ -n "$MAIN" ]
then
echo sun.jws.files=List
MAIN_src=`echo "$MAIN" | sed -e 's:\.:/:g'`.java
oldIFS=$IFS
IFS=:
for i in $CLASSPATH
do
if [ -f $i/$MAIN_src ]
then
echo $i/$MAIN_src
break
fi
done
IFS=$oldIFS
echo EndOfList
fi