| #!/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 |