BYU Configurable Computing Home
||
Internal Lab Pages
Brigham Young University Configurable Computing Lab
JHDL Release Process
Updated: December 18 , 2002
* External Release Only
Note: The following sequences have been made into script files, if you wish to use them. They are found in /ka1/WWW/docs/lab/release_scripts. See the README file for details.
OBJECTIVE:
Make sure current CVS is buildable, and passes tests
PROCEDURE:
Check out latest CVS, run the tests
NOTE:
"rhynn" is a fast computer and has a lot of RAM. The /dev/shm allows us to
use this as if it were part of the drive space. This significantly speeds the
build process.
METHOD:
SSH rhynn
cd /dev/shm
mkdir mycvs
cd mycvs
cvs co byucc/jhdl
cd byucc/jhdl
setenv CLASSPATH ;
ant test -Dbuild.compiler=jikes
ant package -Dbuild.compiler=jikes
Perhaps it gives an error like:
[exectest] Executing the main method from byucc.jhdl.Logic.Modules.test.tb_MULTIPLIERS
[exectest] Testing MULTIPLIERS...
[exectest] Running 100 tests...
[exectest] java.lang.ArrayIndexOutOfBoundsException
[exectest] at byucc.jhdl.Logic.Modules.test.tb_MULTIPLIERS.compute(tb_MULTIPLIERS.java:316)
[exectest] at byucc.jhdl.Logic.Modules.test.tb_MULTIPLIERS.clock(tb_MULTIPLIERS.java:178)
[exectest] at byucc.jhdl.base.GlobalSchedule.step(GlobalSchedule.java:1263)
[exectest] at byucc.jhdl.base.MCSimulator.simulate(MCSimulator.java:58)
[exectest] at byucc.jhdl.base.Simulator.run(Simulator.java:422)
[exectest] at byucc.jhdl.base.Simulator.run(Simulator.java:411)
[exectest] at byucc.jhdl.base.HWSystem$SimulatorThread.run(HWSystem.java:1414)
This is a known issue and concerns a random number generator. Simply break out and retest
OBJECTIVE:
Produce the "Release Notes" for the release version
PROCEDURE:
Make a backup copy of the commitlog, clear out the current commitlog,
add a new section to RELEASE_NOTES, then commit RELEASE_NOTES
Do NOT document contrib changes
You can safely ignore Warnings in the commitlog like:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US="
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
METHOD:
cd /fpga3/cvsroot/CVSROOT
cp commitlog commitlog.0.3.x (replace x with the release version number)
cp /dev/null commitlog
cd /dev/shm/mycvs/byucc/jhdl
pico/vi/emacs RELEASE_NOTES
(add a new version section to the top of file)
(go through commitlog.0.3.x and for each important entry add an
appropriate description to the new version section in RELEASE_NOTES)
cvs stat RELEASE_NOTES
cvs ci -m "added new release version 0.3.x" RELEASE_NOTES
pico/vi/emacs build.xml (change the version number to the release version)
cvs ci -m "new version number" build.xml
OBJECTIVE:
Tag the release version
METHOD:
(tag the source)
cd /dev/shm/mycvs/byucc/jhdl
cvs tag -R JHDL_RELEASE_0_3_x
(tag the documentation)
cd /dev/shm/mycvs
cvs co docs/jhdl
cd docs/jhdl
cvs tag -R JHDL_RELEASE_0_3_x
OBJECTIVE:
Build the tagged version
METHOD:
ssh rhynn
cd /dev/shm
rm -rf mycvs
mkdir mycvs
cd mycvs
cvs co -r JHDL_RELEASE_0_3_x byucc/jhdl docs/jhdl
cd byucc/jhdl
ant -Dcvs.docs.src=docs/ -Dbuild.dir="JHDL-0.3.x" -Dversion=0.3.x -Dfiltering=on
-Dbuild.compiler=jikes release-all
OBJECTIVE: Copy the new jar to the default jar directory
METHOD:
cd /fpga3/jhdl/release
mkdir 0_3_x
cd 0_3_x
cp /dev/shm/mycvs/JHDL-0.3.x/JHDL.jar JHDL_0_3_x.jar
ln -s JHDL_0_3_x.jar JHDL.jar
cp /dev/shm/mycvs/byucc/jhdl/RELEASE_NOTES .
cd ..
rm latest; ln -s 0_3_x/ latest
(send RELEASE_NOTES in an email to FPGA@ee.byu.edu if an internal release or
FPGA@ee.byu.edu and JHDL@ee.byu.edu if an external release)
OBJECTIVE:
Create the web installers (External Release Only)
METHOD:
cd /ka1/WWW/jhdl-docs/blocked/download
mkdir JHDL_0_3_x
cd JHDL_0_3_x
cp /dev/shm/mycvs/JHDL-0.3.x/JHDL-docs.zip .
JHDL.jar .
JHDL-src.zip .
license.txt .
license.html .
README.txt .
cd .. (into download)
rm current
ln -s JHDL_0.3.x/ current
cd /ka1/WWW/swish-e/InstallAnywhere_5_Now
./InstallAnywhere
(open existing proect)
(choose JHDLBinary.iap_xml)
(choose Advanced Designer)
(change the version name under "Project"-->"Installer Title:")
(change the version name under "Project"-->"Installer Title:")
(check paths of files under Install to ensure most recent)
(under Install, remove all the old jars, zip files, LICENSE files and,
INSTALL files and re-add them, this time choosing the latest versions
from /ka1/WWW/jhdl-docs/blocked/download/JHDL_0_3_x/)
(click on "in classpath" for the JHDL.jar file you just added)
(save the project under File menu)
(build the project by clicking on the Build Project button under the Build section)
Do it again for JHDLALL.iap_xml; remember that JHDLAll has more Zip files.
(include JHDL-src.zip,JHDL-docs.zip for JHDLAll.iap_xml)
OBJECTIVE:
Copy the latest version documentation to the webpage (External Release Only)
METHOD:
cd /ka1/WWW/docs/lab/
unzip /ka1/WWW/jhdl-docs/blocked/download/current/JHDL-docs.zip
cd ..
rm latestdocs
ln -s JHDL-0.3.x/docs latestdocs
DON'T FORGET TO REMOVE /dev/shm/mycvs AFTER THE BUILD PROCESS IS COMPLETE
OBJECTIVE:
Update the JHDL webpage to reflect the latest version (External Release Only)
METHOD:
Our webpage was build using ppwizard, a html preprocessor. Basically, cd over to /ka1/WWW/swish-e/input/ and you'll see
a lot of .it and .ih files. When publish is run, the .it files become .html files and the .ih files are the "included" files
(like the header
and footer and side panel.) OK, so edit the .it files to make your changes, then cd into /ka1/WWW/swish-e/dynamic and run
"./publish.sh" (you might have to be on an HP machine to execute this.) publish.sh is simply a shell script shortcut for
"rexx ppwizard @nocopy" where nocopy.ppw is a file which contains the configuration information -- directories and such.
(modify /ka1/WWW/swish-e/index.it:
1- Change the version number on the right-handed short-cut menu (under
download JHDL)
2- Change the "announcement" to read "JAVA JHDL Version 0.3.x Released",
change the date of the announcement as well.
3- run (on linux box) /ka1/WWW/jhdl-docs/dynamic/rexx ppwizard @nocopy
)
(modify the download page index.html:
1 - in /ka1/WWW/jhdl-docs/blocked/download/index.html search and replace
0.3.oldx with 0.3.x
)
(modify the main jhdl.org index.html:
1 - in /ka1/WWW/jhdl-docs/index.html search and replace
0.3.oldx with 0.3.x, and date
)
Now is also a good time to test each installer. Also be sure to test the source
code release by pretending to be a new JHDL user and trying to compile it
OBJECTIVE:
Reindex the User's Manual for swish-e search
engine (External Release Only)
METHOD:
on an HPUX machine (i.e Zap or Sizzle)
cd /ka1/WWW/swish-e/swish-e-2.0.5/src
swish-e -i /ka1/WWW/docs/lab/latestdocs/usersManual/
BYU Configurable Computing Home
||
Internal Lab Pages