diff options
author | sobomax <sobomax@FreeBSD.org> | 2001-09-06 17:56:27 +0000 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2001-09-06 17:56:27 +0000 |
commit | 6559e8476ee2528fe4cc1794daa6863b19c63ef7 (patch) | |
tree | ddf5c101dfc7ba86197fb29d479ac88ddef8ca46 /java/forte/files | |
parent | bd49dd4830bae65f187ac916d7406c276ba153b5 (diff) | |
download | FreeBSD-ports-6559e8476ee2528fe4cc1794daa6863b19c63ef7.zip FreeBSD-ports-6559e8476ee2528fe4cc1794daa6863b19c63ef7.tar.gz |
Add port of Forte[tm] for Java[tm] Community Edition 3.0, a Sun's powerful
and extensible IDE for Java. It's huge and slow but I'm sure FreeBSD Java
monkies would like it. ;)
-Maxim
Diffstat (limited to 'java/forte/files')
-rw-r--r-- | java/forte/files/forte.sh | 311 | ||||
-rw-r--r-- | java/forte/files/instscript | 21 |
2 files changed, 332 insertions, 0 deletions
diff --git a/java/forte/files/forte.sh b/java/forte/files/forte.sh new file mode 100644 index 0000000..9549f48 --- /dev/null +++ b/java/forte/files/forte.sh @@ -0,0 +1,311 @@ +#!/bin/sh +# Sun Public License Notice +# +# The contents of this file are subject to the Sun Public License +# Version 1.0 (the "License"). You may not use this file except in +# compliance with the License. A copy of the License is available at +# http://www.sun.com/ +# +# The Original Code is NetBeans. The Initial Developer of the Original +# Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun +# Microsystems, Inc. All Rights Reserved. + +# +# customization +# + +# the value set here can be overriden by $JAVA_PATH or the -jdkhome switch +jdkhome="%%JDK13DIR%%" +export jdkhome +jreflags="-Xss1024k -Xms24m -Xverify:none" +# default userdir, can be overriden by -userdir switch. This value should be +# changed for each new version so that the user can switch between versions of +# the IDE without risking loss of settings, e.g. ~/nbdev for Dev builds, +# ~/nbuser32 for NB 3.2, ~/nbuser33 for NB 3.3, etc. + +userdir="${HOME}/ffjuser30" + +# +# end of customization +# + +PRG=$0 + +# +# resolve symlinks +# + +while [ -h "$PRG" ]; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null` + if expr "$link" : '^/' 2> /dev/null >/dev/null; then + PRG="$link" + else + PRG="`dirname $PRG`/$link" + fi +done + +progdir=`dirname $PRG` +progname=`basename $0` + +idehome="$progdir/.." + +# absolutize idehome + +oldpwd=`pwd` ; cd ${idehome}; idehome=`pwd`; cd $oldpwd; unset oldpwd + +thread_flag="" + +jargs=${jreflags} +jargs="$jargs -Dnetbeans.home=$idehome" +jargs="$jargs -Djava.security.policy=$idehome/bin/ide.policy" + +args="" + +prefixcp="" +postfixcp="" + +updater_class=org.netbeans.updater.UpdaterFrame +ide_class=org.netbeans.Main + +# +# defaults +# + +# if JAVA_PATH is set it overrides the default in the script + +if [ ! -z "$JAVA_PATH" ] ; then + jdkhome=$JAVA_PATH +fi + +# if JDK_HOME is set it overrides the default in the script and ${JAVA_PATH} + +if [ ! -z "$JDK_HOME" ] ; then + jdkhome=$JDK_HOME +fi + +# +# parse arguments +# + +while [ $# -gt 0 ] ; do + case "$1" in + -h|-help) cat <<EOF +Usage: $0 {options} arguments + +Options can be + + -h -help + shows usage + -jdkhome <path> + specifies the JDK directory + + -hotspot + -client + -server + -classic + -native + -green + specifies the type of JVM + + -J<jvm_options> + passes <jvm_option> to JVM + -userdir <path> + specifies userdir (\$HOME/nbuser32 by default) + -single + runs the IDE in single user mode + -cp:p <classpath> + prepends <classpath> to IDE's classpath + -cp:a <classpath> + appends <classpath> to IDE's classpath + +All other options and arguments are passed to the IDE. +See documentations for details + +EOF +exit 1 +;; + -jdkhome) shift; if [ $# -gt 0 ] ; then jdkhome=$1; fi;; + -userdir) shift; if [ $# -gt 0 ] ; then userdir=$1; fi;; + -single) userdir="";; + -mainclass) shift; if [ $# -gt 0 ] ; then ide_class=$1; fi;; + -cp|-cp:a) + shift; + if [ $# -gt 0 ] ; then + if [ ! -z "$postfixcp" ] ; then postfixcp="$postfixcp:" ; fi + postfixcp=$postfixcp$1; + fi + ;; + + -cp:p) + shift; + if [ $# -gt 0 ] ; then + if [ ! -z "$prefixcp" ] ; then prefixcp="$prefixcp:" ; fi + prefixcp=$prefixcp$1; + fi + ;; + + -hotspot|-client|-server|-classic|-native|-green) thread_flag=$1;; + -J-hotspot|-J-client|-J-server|-J-classic|-J-native|-J-green) thread_flag=`expr $1 : '-J\(.*\)'`;; + -J*) jopt=`expr "$1" : '-J\(.*\)'`; jargs="$jargs \"$jopt\"";; + *) args="$args \"$1\"" ;; + esac + shift +done + +# +# check JDK +# + +if [ -z "$jdkhome" ] ; then + echo "Cannot find JDK. Please set the JDK_HOME environment variable to point" + echo "to your JDK installation directory, or use the -jdkhome switch" + echo "" + exit 1 +fi + +if [ ! -x "${jdkhome}/bin/java" ] ; then + echo "Cannot find JDK at ${jdkhome}. Please set the JDK_HOME" + echo "environment variable to point to your JDK installation directory," + echo "or use the -jdkhome switch" + echo "" + exit 1 +fi + +# +# check userdir +# + +if [ ! -z "$userdir" ] ; then + echo "Using ${userdir} as user directory..."; + jargs="$jargs -Dnetbeans.user=$userdir" +fi + +# +# increase file descriptor's limit, on Solaris it's set to 64, too small for +# fastjavac +# + +ulimit -n 1024 + +append_jars_to_cp() { + dir="$1" + for ex in jar zip ; do + if [ "`echo ${dir}/*.$ex`" != "${dir}/*.$ex" ] ; then + for x in ${dir}/*.$ex ; do + if [ "$x" != "$idehome/lib/updater.jar" -a "$x" != "$userdir/lib/updater.jar" ] ; then + if [ ! -z "$cp" ] ; then cp="$cp:" ; fi + cp="$cp$x" + fi + done + fi + done +} + +build_cp() { + base="$1" + + append_jars_to_cp "${base}/lib/patches/locale" + append_jars_to_cp "${base}/lib/patches" + append_jars_to_cp "${base}/lib/ext/locale" + append_jars_to_cp "${base}/lib/ext" + + append_jars_to_cp "${base}/lib/locale" + append_jars_to_cp "${base}/lib" +} + +# +# dump the OS env variables into a temp file +# + +nbenvfile=/tmp/nbenv.$$ +if [ -x /usr/bin/env ] ; then + /usr/bin/env > $nbenvfile +else + echo "" > $nbenvfile +fi + +# +# main loop +# + +while true; do + + # + # build CLASSPATH + # + + cp="" + updatercp="" + + # userdir comes first + + if [ ! -z "${userdir}" ] ; then + build_cp ${userdir} + + if [ -f "${userdir}/lib/updater.jar" ] ; then + updatercp="${userdir}/lib/updater.jar" + fi + fi + + # idehome comes second + + build_cp ${idehome} + + if [ -f "${idehome}/lib/updater.jar" ] ; then + if [ ! -z "$updatercp" ] ; then updatercp="${updatercp}:" ; fi + updatercp="${updatercp}${idehome}/lib/updater.jar" + fi + + # JDK tools + + for ex in jar zip ; do + if [ "`echo ${jdkhome}/lib/*.$ex`" != "${jdkhome}/lib/*.$ex" ] ;then + for x in ${jdkhome}/lib/*.$ex ; do + if [ ! -z "$cp" ] ; then cp="$cp:" ; fi + cp="${cp}$x" + done + fi + done + + # user-specified prefix and postfix CLASSPATH + + if [ ! -z "${prefixcp}" ] ; then + cp="${prefixcp}:$cp" + fi + + if [ ! -z "${postfixcp}" ] ; then + cp="$cp:${postfixcp}" + fi + + + # prepend IDE's classpath to updater's classpath + + if [ ! -z "$updatercp" ] ; then + updatercp=${cp}:${updatercp} + else + updatercp=${cp} + fi + + # + # let's go + # + + eval $jdkhome/bin/java $thread_flag $jargs -classpath "\"$cp\"" \ + -Dnetbeans.osenv=${nbenvfile} \ +$ide_class $args + + # AutoUpdate exit? + + rc=$? + if [ $rc -ne 66 ] ; then + rm $nbenvfile + exit $rc + fi + + # runs updater + + eval $jdkhome/bin/java $thread_flag $jargs -classpath "\"${updatercp}\"" $updater_class + done + + diff --git a/java/forte/files/instscript b/java/forte/files/instscript new file mode 100644 index 0000000..52b9407 --- /dev/null +++ b/java/forte/files/instscript @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + +%%PREFIX%%/share/java/forte4j + + + + + |