The following pages might be of use:
$PTII/ptolemy/configs/doc/completeDemos.htm
cd $PTII/ptolemy/configs/doc make check_appletsNote that not all the applets listed are missing. Some of them use the serial port, JAI, JMF etc.
To add an applet:
cd $PTII make install cd $PTII/ptolemy/domains/wireless/demo/SmartParking $PTII/bin/copernicus -codeGenerator applet -targetPath ptolemy/domains/wireless/demo/SmartParking SmartParking.xmlThen add the
.htm files to the makefile.
about:copyright
URLS specially. One facility on the copyright page is the ability
to expand all the model, .html files and .pdf files on
the various demonstration pages. This allows us to
verify that all the resources are present in the tree.
about:copyright
is an essential part of testing each release.
about:copyright
to test the Web Start release.
# Check out a clean tree svn co svn+ssh://source.eecs.berkeley.edu/chess/ptII/trunk ptII cd ptII # Make sure empty directories are removed setenv PTII `pwd` ./configure make
make checkjunk
and adding files as appropriate to the makefiles:
cd $PTII make clean_shipping make checkjunkLook for
*** lines and add files to makefiles
or add them to the clean_shipping rule in $PTII/makefile
and the most recent src.ex file in
$PTII/adm/gen-x.y/src.ex.
$PTII/util/testsuite/chkjava on the java files and fix problems
cd $PTII make cleanDerivedJavaFiles make clean_shippingOr removing the files by hand:
cd $PTII/ptolemy/actor/ptalon rm `make echo_OPTIONAL_JSRCS` cd $PTII/ptolemy/data/expr rm `make echo_OPTIONAL_JSRCS` cd $PTII/ptolemy/data/unit rm `make echo_OPTIONAL_JSRCS` cd $PTII/ptolemy/copernicus/kernel/fragment rm `make echo_OPTIONAL_JSRCS` # Create a file that contains the names of the java files to include cd $PTII rm -rf vendors ptolemy/apps rm -rf ptolemy/domains/ct/demo/Corba/util/*.java
adm/bin/ptIItxtfiles > /tmp/f egrep '*.java$' /tmp/f | grep -v /vendors/ >& /tmp/j
cd $PTII/adm/test make missingMakefiles
doc/makefile:
cd $PTII/adm/test make missingDocPackagesBelow are the packages that need not be in
doc/makefile.
config contrib.actor.lib.example diva.util.java2d.svg doc.coding.templates doc.tutorial doc.tutorial.domains doc.tutorial.graph doc.tutorial.graph.junit doc.tutorial.gui ptolemy.actor.corba ptolemy.actor.corba.CoordinatorUtil ptolemy.actor.corba.CorbaIOUtil ptolemy.actor.corba.util ptolemy.actor.lib.javasound.test.pitchshift ptolemy.actor.lib.jxta ptolemy.actor.lib.reactable ptolemy.actor.lib.tutorial ptolemy.backtrack.automatic.ptolemy.math ptolemy.backtrack.eclipse.ast ptolemy.backtrack.eclipse.ast.transform ptolemy.backtrack.eclipse.plugin ptolemy.backtrack.eclipse.plugin.actions ptolemy.backtrack.eclipse.plugin.actions.codestyle ptolemy.backtrack.eclipse.plugin.compatibility ptolemy.backtrack.eclipse.plugin.console ptolemy.backtrack.eclipse.plugin.dialogs ptolemy.backtrack.eclipse.plugin.editor ptolemy.backtrack.eclipse.plugin.preferences ptolemy.backtrack.eclipse.plugin.util ptolemy.backtrack.eclipse.plugin.widgets ptolemy.backtrack.test.array1 ptolemy.backtrack.test.random1 ptolemy.backtrack.test.test1 ptolemy.backtrack.test.test2 ptolemy.caltrop.ddi.util ptolemy.chic ptolemy.component ptolemy.component.data ptolemy.component.data.type ptolemy.component.domains.ptinyos ptolemy.copernicus.interpreted ptolemy.domains.gr.lib.quicktime ptolemy.domains.ptides.kernel.test.junit ptolemy.kernel.test.junit ptolemy.moml.jxta ptolemy.plot.servlet ptserver.test.helper ptserver.test.junit
$PTII/adm/bin/addtrailingnl
cd $PTII # Run addtrailingnl without actually doing anything: cat /tmp/j | xargs $PTII/adm/bin/addtrailingnl -n # Run addtrailingnl with adding the new lines: cat /tmp/j | xargs $PTII/adm/bin/addtrailingnl # Run with -n and then without: cat /tmp/f | egrep '*\.[cjh]$' | xargs $PTII/adm/bin/addtrailingnl -n cat /tmp/f | egrep makefile | xargs $PTII/adm/bin/addtrailingnl -n cat /tmp/f | egrep README | xargs $PTII/adm/bin/addtrailingnl -n cat /tmp/f | egrep '*\.htm' | xargs $PTII/adm/bin/addtrailingnl -n cat /tmp/f | egrep '*\.tcl' | xargs $PTII/adm/bin/addtrailingnl -n cat /tmp/f | egrep '*\.xml' | xargs $PTII/adm/bin/addtrailingnl -n
$PTII/adm/bin/rmtabs
cd $PTII # Run rmtabs without actually doing anything: cat /tmp/j | xargs $PTII/util/testsuite/rmtabs -n # Run rmtabs with adding the new lines: cat /tmp/j | xargs $PTII/util/testsuite/rmtabs # Run with -n and then without: cat /tmp/f | egrep '*\.[cjh]$' | xargs $PTII/util/testsuite/rmtabs -n
$PTII/util/testsuite/rmtrailingspace
cd $PTII # Run rmtrailingspace without actually doing anything: cat /tmp/j | xargs $PTII/util/testsuite/rmtrailingspace -n # Run rmtrailingspace with adding the new lines: cat /tmp/j | xargs $PTII/util/testsuite/rmtrailingspace # Run with -n and then without: cat /tmp/f | egrep '*\.[cjh]$' | xargs $PTII/util/testsuite/rmtrailingspace -n
cat /tmp/j | xargs $PTII/adm/bin/fix-files -n
cat /tmp/f | xargs $PTII/util/testsuite/controlm > /tmp/cms
To fix the files, run:
grep "has controlms" /tmp/cms | awk '{print $1}' > /tmp/cmfs
svn propset svn:keywords "Author Date Id Revision" `cat /tmp/cmfs`
svn propset svn:eol-style native `cat /tmp/cmfs`
svn commit -m "Added keywords and eol-style properties" `cat /tmp/cmfs`
You may need to use dos2unix to fix the files.
Check keywords in all files:
cd $PTII
cat /tmp/f | xargs $PTII/adm/bin/svnpropcheck > /tmp/props
grep keywords: /tmp/props | grep / | awk '{print $1}' > /tmp/keys
grep eolstyle: /tmp/props | grep / | awk '{print $1}' > /tmp/eols
cat /tmp/keys | xargs svn propset svn:keywords "Author Date Id Revision"
cat /tmp/eols | xargs svn propset svn:eol-style native
svn commit -m "Added keywords and eol-style properties" `cat /tmp/eols /tmp/keys`
$PTII/adm/copyright/fixcopyrights (not shipped with
the release) and update the copyrights on the .java, .tcl and makefiles
$PTII/adm/copyright/chkcopyright on all the nightly buildfiles.
$PTII/adm/copyright/chkcopyright and update the year.
cat /tmp/f | grep -v .class | grep -v codeDoc | grep -v xml | grep -v \
alljtests.tcl | grep -v .htm | grep -v qcf | grep -v .dtd | grep -v \
gif | grep -v .svn | xargs sh $PTII/adm/copyright/chkcopyright >& /tmp/copycheck
grep "does not contain a Copyright" /tmp/copycheck | awk '$1 ~ /.java$/ {print $1}' | grep -v /actor/corba >/tmp/jc
Then, edit $PTII/adm/copyright/copyright.txt
and $PTII/adm/copyright/insertcopyright and run
adm/copyright/insertcopyright -p `cat /tmp/jc`and then
adm/copyright/insertcopyright `cat /tmp/jc`
cd $PTII svn update
$PTII/adm/gen-X.Y, update the version number
and run make. See the top of the file for the appropriate make command.
cd $PTII/adm/dists
diff -r ptII8.0.1 ptII8.1.devel > /tmp/pt.diffs
grep Copyright `egrep "^Only in ptII8.1.devel" /tmp/pt.diffs | \
grep.java | sed 's@ptII8.1.devel/@@' | awk '{print substr($3,1,length($3)-1) "/" $4}'`
$PTII/adm/bin/fixsince (not shipped with
the release) and update the @since tags. To use
fixsince, first edit $PTII/adm/bin/fixsince
and update the variables at the top. Then
cd $PTII $PTII/adm/bin/fixsinceThen check the output. Then edit the file and uncomment the cp line at the bottom:
#cp $tmpfile $file
cd $PTII/doc; make chkpackagehtml (not shipped with
the release) and create any missing package.html
or README.txt files.
cd $PTII/doc
make chkpackagehtml > /tmp/s
cd $PTII
$PTII/adm/bin/mkpackagehtml `cat /tmp/s`
svn add `egrep '(README.txt|package.html)' /tmp/s | awk '{print $2}'`
svn commit -m "Added package.html and README.txt" `egrep '(README.txt|package.html)' /tmp/s | awk '{print $2}'`
$PTII/util/testsuite/ptspell.
cd $PTII/doc make docs cd codeDoc; find . -name "*.html" > /tmp/h cat /tmp/h | xargs cat > /tmp/docs cat /tmp/docs | aspell list -H --run-together-limit=10 | sort -u | sed -e 's/^\([A-Z]*\)\([A-Z]\)/\1 \2/g' | sed -e 's/\([a-z]\)\([A-Z]\)/\1 \2/g' | aspell list -H | sort -u
cd $PTII/doc make findbugs.htm
Window | Preferences)
Eclipse | Preferences)
Java | Code Style | Clean Up
New, then type in a Profile name of "Ptolemy II" then hit OK
cd $PTII make clean make -k JAVAC=gcj JFLAGS="-O2 -Wunused -Wextraneous-semicolon -Wno-deprecated -C" all >& gcj.out & grep error: gcj.out | awk -F: '{for(i=3;i<=NF;i++) {printf("%s ",$i)} printf("\n");}' | sort | uniq | grep -v "not found in the decl"
cat /tmp/f | egrep "(.java$|.htm$|.html$|makefile$|.tcl$|.xml$)" | xargs ls -l | awk '{ if ($1 ~ /x/) print $NF}' | grep -v chkjava > /tmp/execs
cat /tmp/execs | xargs svn proplist
cat /tmp/execs | xargs svn propdel svn:executable
svn commit -m "Made regular .java files and other files not executable" `cat /tmp/execs`
To make a branch for 8.0.beta, use the following command:
svn copy svn+ssh://source.eecs.berkeley.edu/chess/ptII/trunk svn+ssh://source.eecs.berkeley.edu/chess/ptII/branches/rel-8-0-beta-2 -m "Creating Ptolemy II 8.0.beta branch"Then check out the release branch with
svn co svn+ssh://source.eecs.berkeley.edu/chess/ptII/branches/rel-8-0-beta-2 ptII8.0.betaNote that you should avoid dots in the tag name
$PTII/makefile and $PTII/ptolemy/plot/makefile.
cd ptII8.0.beta export PTII `pwd` ./configure make cvs_delete_clean_shipping
svn co svn+ssh://source.eecs.berkeley.edu/chess/ptII/branches/rel-8-0-beta-2 ptII8.0.beta cd ptII8.0.beta setenv PTII `pwd` ./configure make fast install cd $PTII/adm/gen-8.0 make USER=cxh PTIIHOME=/home/cxh/src/ptII8.0.beta PTIIADM=/home/cxh/src/ptII8.0.beta/adm TAR=/bin/tar JAR=/usr/java/default/bin/jar clean all src.jar release_sisyphusThe resulting file with the .class files gets copied to the website and untar'd. Note that this does not require Java 3D on the build machine. Java 3D is needed for the applets, we copy the jars over later.
make USER=cxh PTIIHOME=/tmp/cxh/ptII8.0.beta PTIIADM=/tmp/cxh/ptII8.0.beta/adm TAR=/bin/tar JAR=/tmp/cxh/jdk1.5.0_09/bin/jar update_ftpor
make USER=cxh PTIIHOME=/tmp/cxh/ptII8.0.beta PTIIADM=/tmp/ptII8.0.beta/adm TAR=/usr/sfw/bin/gtar JAR=/bin/jar update_ftp
cd /export/home/pt0/ptweb/ptolemyII/ptII8.0/ptII8.0.beta/ptolemy/plot ln -s ../../../../../java/ptplot5.7/ptolemy/plot/ptplot5.7* . cd doc rm -rf download ln -s ../../../../../../java/ptplot5.7.beta/ptolemy/plot/doc/download .
ptolemy/domains/gr
cvs -d :ext:source:/home/cvs co -r rel-7-0-beta-2 ptII
cvs update -P -d
mv ptII ptII8.0.beta
cd ptII8.0.beta
export PTII=c:/tmp/cxh/ptII8.0.beta
Set up missing packages such as joystick, JAI, JMF, javacomm, quicktime
Use an older javac so that the .class files are compatible. For
example, use java 1.4.x so that java 1.4.x and 1.5.x can use the
.class files.
export PATH=/cygdrive/c/j2sdk1.4.2_12/bin:${PATH}
java -version
./configure
make clean fast install >& make.out
Copy ~ptII/adm/certs/ptkeystore to $PTII. Note you will
need access to the ptII account on bennett
make jnlp_dist STOREPASSWORD="-storepass xxx" KEYPASSWORD="-keypass xxx"
xxx is the ptkeystore password.
mkdir src
cd src
wget http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII8.0/ptII8.0.1.src.tar.gz
tar -zxf ptII8.0.1.src.tar.gz
cd ptII8.0.1
export PTII=`pwd`
make fast install
make KEYSTORE=/users/ptII/adm/certs/ptkeystore KEYALIAS=ptolemy STOREPASSWORD="-storepass xxx" KEYPASSWORD="-keypass xxx" jnlp_dist
xxx is the ptkeystore password.
$PTII/ptKeystore.properties and change the
location of the keystore and the password. This file is read by
copernicus in the next step. If you do not edit this file, you
will get messages about mismatched keystores.
$PTII/ptolemy/copernicus/applet and generate
a list of commands that will create the jnlp files for the applets.
cd $PTII/ptolemy/copernicus/applet
./updateDemos >& doit
doit file now contains a list of make commands that
will generate jnlp files for each demo. We will use the first command
as a test case and then run the rest of the commands after the first test
case works. Put the first line in a separate file:
head -1 doit > doit.1
$PTII/ptolemy/copernicus/applet/makefile, find the
jnlpUpdateDemo section and add
-ptIILocalURL "http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII8.0/ptII8.0.1/" \
doit.1 command and look for errors:
sh ./doit.1
signed/ directory in the jnlp-8.0.1
directory created when make ... jnlp_dist was run:
cd ~ptII/ptweb/ptolemyII/ptII8.0/ptII8.0.1
ln -s ../jnlp-8.0.1/signed .
scp /home/cxh/src/ptII8.0.1/ptolemy/actor/gt/demo/BouncingBallX2/{*.jar,*.jnlp,BouncingBallX2JNLP.htm} bennett:~ptII/ptweb/ptolemyII/ptII8.0/ptII8.0.1/ptolemy/actor/gt/demo/BouncingBallX2
http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII8.0/ptII8.0.1/ptolemy/actor/gt/demo/BouncingBallX2/BouncingBallX2.jnlp
sh doit >& doit.out
./scpDemos
cd ~ptII/ptweb/ptolemyII/ptII8.0/ptII8.0.1/doc
mv deployJava.js deployJavaNoJNLP.js
cp deployJavaJNLP.js deployJava.js
cd $PTII make jar_distLook for missing jar files in the output.
cd $PTII/adm/gen-8.0 make USER=cxh PTIIHOME=/cygdrive/c/cxh/ptII8.0.beta COMPRESS=gzip TAR=tar clean all src.jarBelow is the command to compare the old tree and the new tree:
diff -r -I '$Id:' -x alljtests.tcl -x allsimplejtests.tcl -x '*.jar' -x codeDoc -x '*.out' -x .svn -x '*.class' ~/ptII ~/src/ptII8.0.beta >& /tmp/pt.diffs
cd $PTII make exes cd $PTII/adm/gen-x.y make setup
Last Updated: $Date: 2011-07-11 22:29:59 +0200 (Mon, 11 Jul 2011) $