working on windows build/dist script

This commit is contained in:
benfry
2008-06-10 02:09:07 +00:00
parent 62d85dc452
commit 3014b1ef3d
4 changed files with 81 additions and 133 deletions
+19 -39
View File
@@ -20,8 +20,20 @@ echo
rm -rf processing
rm -rf processing-*
# use 'shared' files as starting point
cp -r ../shared processing
mkdir processing
cp -r ../shared/lib processing/
cp -r ../shared/libraries processing/
cp ../../app/lib/antlr.jar processing/lib/
cp ../../app/lib/jna.jar processing/lib/
cp ../shared/revisions.txt processing/
echo Extracting examples...
unzip -q -d processing/ ../shared/examples.zip
echo Extracting reference...
unzip -q -d processing/ ../shared/reference.zip
# add the libraries folder with source
cp -r ../../net processing/libraries/
@@ -33,63 +45,31 @@ cp -r ../../dxf processing/libraries/
cp -r ../../xml processing/libraries/
cp -r ../../candy processing/libraries/
# new style examples thing ala reas
cd processing
unzip -q examples.zip
rm examples.zip
cd ..
# new style reference
cd processing
unzip -q reference.zip
# necessary for launching reference from shell/command prompt
# which is done internally to view reference
find reference -name "*.html" -exec chmod +x {} ';'
# get rid of the zip file
rm reference.zip
cd ..
# add java (jre) files
unzip -q -d processing jre.zip
# directories used by the app
#mkdir processing/lib/build
# get platform-specific goodies from the dist dir
cp launcher/processing.exe processing/
# grab pde.jar and export from the working dir
cp work/lib/pde.jar processing/lib/
cp work/lib/core.jar processing/lib/
#cp -r work/lib/export processing/lib/
#rm -rf processing/lib/export/CVS
# get jikes and depedencies
#gunzip < dist/jikes.gz > processing/jikes.exe
cp dist/jikes.exe processing/
chmod +x processing/jikes.exe
cp dist/ICE_JNIRegistry.dll processing/
chmod +x processing/ICE_JNIRegistry.dll
cp dist/tools.jar processing/lib/
# get platform-specific goodies from the dist dir
cp launcher/processing.exe processing/
#cp dist/run.bat processing/
# convert notes.txt to windows LFs
# convert revisions.txt to windows LFs
# the 2> is because the app is a little chatty
unix2dos processing/revisions.txt 2> /dev/null
unix2dos processing/lib/preferences.txt 2> /dev/null
unix2dos processing/lib/keywords.txt 2> /dev/null
rm -f processing/*.bak
rm -f processing/lib/*.bak
# remove boogers
find processing -name "*.bak" -exec rm -f {} ';'
find processing -name "*~" -exec rm -f {} ';'
find processing -name ".DS_Store" -exec rm -f {} ';'
find processing -name "._*" -exec rm -f {} ';'
find processing -name "Thumbs.db" -exec rm -f {} ';'
# chmod +x the crew
find processing -name "*.html" -exec chmod +x {} ';'
find processing -name "*.dll" -exec chmod +x {} ';'
find processing -name "*.exe" -exec chmod +x {} ';'
find processing -name "*.html" -exec chmod +x {} ';'
+1 -4
View File
@@ -71,12 +71,9 @@ WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
strcpy(java_main_class, "processing.app.Base");
sprintf(app_classpath,
"%s\\lib;"
"%s\\lib\\build;"
"%s\\lib\\pde.jar;"
"%s\\lib\\core.jar;"
"%s\\lib\\mrj.jar;"
"%s\\lib\\tools.jar;"
"%s\\lib\\registry.jar;"
"%s\\lib\\jna.jar;"
"%s\\lib\\antlr.jar;",
exe_directory, exe_directory, exe_directory, exe_directory,
exe_directory, exe_directory, exe_directory, exe_directory);
+45 -79
View File
@@ -9,15 +9,19 @@ then
else
echo Setting up directories to build P5...
BUILD_PREPROC=true
cp -r ../shared work
rm -rf work/.svn
rm -f work/.DS_Store
# in case one of those little mac poopers show up
# needs to make the dir because of packaging goofiness
mkdir -p work/classes/processing/app/preproc
mkdir -p work/classes/processing/app/syntax
mkdir -p work/classes/processing/app/tools
mkdir work
cp -r ../shared/lib work/
cp -r ../shared/libraries work/
cp ../../app/lib/antlr.jar work/lib/
cp ../../app/lib/jna.jar work/lib/
echo Extracting examples...
unzip -q -d work/ ../shared/examples.zip
echo Extracting reference...
unzip -q -d work/ ../shared/reference.zip
cp -r ../../net work/libraries/
cp -r ../../opengl work/libraries/
@@ -28,55 +32,21 @@ else
cp -r ../../xml work/libraries/
cp -r ../../candy work/libraries/
echo Extracting examples...
cd work
unzip -q examples.zip
rm examples.zip
cd ..
echo Extracting reference...
cd work
unzip -q reference.zip
# necessary for launching reference from shell/command prompt
# which is done internally to view reference
chmod +x reference/*.html
# needed by 'help' menu
chmod +x reference/environment/*.html
# chmod -R +x *.html doesn't seem to work
rm reference.zip
cd ..
echo Extracting enormous JRE...
unzip -q -d work jre.zip
# cygwin requires this because of unknown weirdness
# it was not formerly this anal retentive
cd work/java/bin/
#chmod +x *.exe *.dll
#chmod +x client/*.dll
cd ../../..
mkdir work/lib/build
#mkdir work/classes
echo Compiling processing.exe
cd launcher
#chmod +x make.sh
#./make.sh # && cp processing.exe ../work/
make
make application.exe
cd ..
# get windows version of tools.jar
cp dist/tools.jar work/lib/
# get jikes and depedencies
cp dist/jikes.exe work/
#chmod +x work/jikes.exe
cp dist/ICE_JNIRegistry.dll work/
# chmod +x the crew
# cygwin requires this because of unknown weirdness
# it was not formerly this anal retentive
# with the html, it's necessary on windows for launching reference
# from shell/command prompt, which is done internally to view reference
find work -name "*.html" -exec chmod +x {} ';'
find work -name "*.dll" -exec chmod +x {} ';'
find work -name "*.exe" -exec chmod +x {} ';'
find work -name "*.html" -exec chmod +x {} ';'
@@ -87,21 +57,18 @@ cd ../..
### -- BUILD CORE ----------------------------------------------
echo Building processing.core
echo Building processing.core...
# move to core inside base 'processing' directory
cd core
#rm -f processing/core/*.class
CLASSPATH="..\\build\\windows\\work\\java\\lib\\rt.jar"
CLASSPATH="..\\build\\windows\\work\\java\\lib\\rt.jar;..\\build\\windows\\work\\java\\lib\\tools.jar"
export CLASSPATH
perl preproc.pl
mkdir -p bin
../build/windows/work/jikes -d bin +D -target 1.1 src/processing/core/*.java
# use this from time to time to test 1.1 savviness
#/cygdrive/c/msjdk-4.0/bin/jvc /d . src/processing/core/*.java
../build/windows/work/java/bin/java sun.tools.javac.Main \
-d bin -source 1.5 -target 1.5 src/processing/core/*.java
rm -f ../build/windows/work/lib/core.jar
find bin -name "*~" -exec rm -f {} ';'
@@ -115,16 +82,10 @@ cd ..
### -- BUILD PREPROC ---------------------------------------------
# i suck at shell scripting
#if [ $1 = "preproc" ]
#then
#BUILD_PREPROC=true
#fi
if $BUILD_PREPROC
then
echo Building PDE for JDK 1.4
echo Building PDE for JDK 1.5
cd app
@@ -149,7 +110,7 @@ cd app
# why this is required on windows and not the others is beyond me
cp src/antlr/java/JavaTokenTypes.txt src/processing/app/preproc/
# this is a total disaster...fix for next release
# this is a total disaster...fix me soon!
cd src/processing/app/preproc
../../../../../build/windows/work/java/bin/java \
-cp "..\\..\\..\\..\\..\\build\\windows\\work\\lib\\antlr.jar" antlr.Tool \
@@ -168,19 +129,24 @@ fi
cd app
CLASSPATH="..\\build\\windows\\work\\lib\\core.jar;..\\build\\windows\\work\\lib\\apple.jar;..\\build\\windows\\work\\lib\antlr.jar;..\\build\\windows\\work\\lib\\registry.jar;..\\build\\windows\\work\\lib\\tools.jar;..\\build\\windows\\work\\java\\lib\\rt.jar"
CLASSPATH=
# compile the code as java 1.3, so that the application will run and
# show the user an error, rather than crapping out with some strange
# "class not found" crap
../build/windows/work/jikes -target 1.3 +D -classpath "$CLASSPATH;..\\build\\windows\\work/classes" -d ..\\build\\windows\\work/classes src/processing/app/*.java src/processing/app/debug/*.java src/processing/app/preproc/*.java src/processing/app/syntax/*.java src/processing/app/tools/*.java src/antlr/*.java src/antlr/java/*.java
#/cygdrive/c/jdk-1.4.2_05/bin/javac.exe -classpath $CLASSPATH -d ..\\build\\windows\\work/classes *.java jeditsyntax/*.java preprocessor/*.java
../build/windows/work/java/bin/java sun.tools.javac.Main
-source 1.5 -target 1.5 \
-classpath "..\\build\\windows\\work\\lib\\core.jar;..\\build\\windows\\work\\lib\\apple.jar;..\\build\\windows\\work\\lib\antlr.jar;..\\build\\windows\\work\\lib\\registry.jar;..\\build\\windows\\work\\lib\\tools.jar;..\\build\\windows\\work\\java\\lib\\rt.jar" \
-d ..\\build\\windows\\work/classes \
src/processing/app/*.java \
src/processing/app/debug/*.java \
src/processing/app/syntax/*.java \
src/processing/app/preproc/*.java \
src/processing/app/tools/*.java \
src/processing/app/windows/*.java \
src/antlr/*.java \
src/antlr/java/*.java
cd ../build/windows/work/classes
rm -f ../lib/pde.jar
zip -0rq ../lib/pde.jar .
# back to build/windows
cd ../..
@@ -190,7 +156,7 @@ PLATFORM=windows
CLASSPATH="..\\build\\$PLATFORM\\work\\lib\\core.jar;..\\build\\$PLATFORM\\work\\java\\lib\\rt.jar"
JIKES=../build/$PLATFORM/work/jikes
JAVAC="../build/windows/work/java/bin/java sun.tools.javac.Main -source 1.5 -target 1.5"
CORE="..\\build\\$PLATFORM\\work\\lib\\core.jar"
LIBRARIES="..\\build\\$PLATFORM\\work\\libraries"
@@ -202,7 +168,7 @@ cd ..
echo Building serial library...
cd ../serial
mkdir -p bin
$JIKES -target 1.1 +D \
$JAVAC \
-classpath "library\\RXTXcomm.jar;$CORE;$CLASSPATH" \
-d bin src/processing/serial/*.java
rm -f library/serial.jar
@@ -216,7 +182,7 @@ cp library/serial.jar $LIBRARIES/serial/library/
echo Building net library...
cd ../net
mkdir -p bin
$JIKES -target 1.1 +D -d bin src/processing/net/*.java
$JAVAC -d bin src/processing/net/*.java
rm -f library/net.jar
find bin -name "*~" -exec rm -f {} ';'
cd bin && zip -r0q ../library/net.jar processing/net/*.class && cd ..
@@ -242,7 +208,7 @@ else
fi
cd ../video
mkdir -p bin
$JIKES -target 1.1 +D \
$JAVAC \
-classpath "$QTJAVA;$CLASSPATH" \
-d bin src/processing/video/*.java
rm -f library/video.jar
@@ -256,7 +222,7 @@ cp library/video.jar $LIBRARIES/video/library/
echo Building OpenGL library...
cd ../opengl
mkdir -p bin
$JIKES -target 1.1 +D \
$JAVAC \
-classpath "library\\jogl.jar;$CLASSPATH" \
-d bin src/processing/opengl/*.java
rm -f library/opengl.jar
@@ -270,7 +236,7 @@ cp library/opengl.jar $LIBRARIES/opengl/library/
echo Building PDF library...
cd ../pdf
mkdir -p bin
$JIKES -target 1.1 +D \
$JAVAC \
-classpath "library\\itext.jar;$CLASSPATH" \
-d bin src/processing/pdf/*.java
rm -f library/pdf.jar
@@ -284,7 +250,7 @@ cp library/pdf.jar $LIBRARIES/pdf/library/
echo Building DXF library...
cd ../dxf
mkdir -p bin
$JIKES -target 1.1 +D -d bin src/processing/dxf/*.java
$JAVAC -d bin src/processing/dxf/*.java
rm -f library/dxf.jar
find bin -name "*~" -exec rm -f {} ';'
cd bin && zip -r0q ../library/dxf.jar processing/dxf/*.class && cd ..
@@ -296,7 +262,7 @@ cp library/dxf.jar $LIBRARIES/dxf/library/
echo Building XML library...
cd ../xml
mkdir -p bin
$JIKES -target 1.1 +D -d bin src/processing/xml/*.java
$JAVAC -d bin src/processing/xml/*.java
rm -f library/xml.jar
find bin -name "*~" -exec rm -f {} ';'
cd bin && zip -r0q ../library/xml.jar processing/xml/*.class && cd ..
@@ -309,7 +275,7 @@ cp library/xml.jar $LIBRARIES/xml/library/
echo Building Candy SVG library...
cd ../candy
mkdir -p bin
$JIKES -target 1.1 +D \
$JAVAC \
-classpath "..\\xml\\library\\xml.jar;$CLASSPATH" \
-d bin src/processing/candy/*.java
rm -f library/candy.jar
+16 -11
View File
@@ -13,6 +13,10 @@ _ should be fixed, but need to verify once a release candidate is ready
X two fixes for readBytesUntil() and bufferUntil()
X also not calling serialEvent()
X http://dev.processing.org/bugs/show_bug.cgi?id=96
X fix goof with console preference in preferences.txt
X http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Syntax;action=display;num=1213042400
X need to add usequartz when running externally?
X no, tested and it seems to be working
cleaning
o respond to stop/close events sent by the vm
@@ -50,11 +54,10 @@ _ update scripts to copy from app/lib
_ since adding tools.jar, jikes can be removed
_ properly handle non-ascii chars in p5 folder name
X switch to javac (in code)
_ re-wire error handling to handle javac error messages
X re-wire error handling to handle javac error messages
_ seem to be primarily 2 kinds?
_ how to ignore warning stuff?
_ finish osx build script to make the libraries
_ make.sh creating work/lib dirs.. no longer necessary?
X finish osx build script to make the libraries
X make.sh creating work/lib dirs.. no longer necessary?
wontfix
X Programs run with release 0136+ are sometimes slower due to Java 1.5
@@ -120,6 +123,8 @@ _ need someone to go out and test all scenarios of this
new/open/close/save
_ file-save stops running sketch
_ http://dev.processing.org/bugs/show_bug.cgi?id=810
_ don't copy hidden files (.svn especially) on export/save as
_ make .java files and friends go to correct locations on export (app)
_ on mac, window opens to prevent quit on close
@@ -234,7 +239,7 @@ _ e.g. ocd is broken in 0125 because of method signature changes
DOC / Bugzilla
_
_ set default reported bug priority to 4 or 5
_ * disable changes to a bug (except by admin) after closed *
_ fix "reply" garbage added
_ fix "back to bug# 778"
@@ -570,6 +575,10 @@ _ again, a warning checkbox
PDE / Compiler & Preprocessor
_ add support for multiple errors from the compiler
_ actual error may be 4th of 5
_ maybe a dropdown list thing, with the first just shown?
_ http://dev.processing.org/bugs/show_bug.cgi?id=58
_ with additional .pde files, don't allow static mode in front tab
_ don't allow "for (blah; blah; blah) ;"
_ or if (blah blah blah) ;
@@ -640,8 +649,6 @@ _ even though things are inside a quoted txt block
_ copy running code from /tmp/buildXXxxx on crash of p5
_ should probably make a way to save/recover code
_ make the buildXxxx folders relate to time/date?
hacked for fix, needs real fix
_ NullPointerException on unterminated comment at end of code
_ and OutOfMemoryError and weird lockup
_ http://dev.processing.org/bugs/show_bug.cgi?id=16
@@ -768,10 +775,6 @@ PDE / Editor Status
_ error messages run off the edge and go invisible
_ http://dev.processing.org/bugs/show_bug.cgi?id=57
_ multiple errors a mess in jikes
_ actual error may be 4th of 5
_ maybe a dropdown list thing, with the first just shown?
_ http://dev.processing.org/bugs/show_bug.cgi?id=58
_ move all prompts to modal dialog showError/Message/Warning/Prompt
_ nicely design dialog boxes to go with visual of p5
_ maybe something that shows stack trace?
@@ -1220,6 +1223,8 @@ How the environment gets packed up, downloaded, and installed.
DIST / General
_ shut off javac warnings
_ http://dev.processing.org/bugs/show_bug.cgi?id=812
_ use pack200/unpack200 to make p5 download smaller
_ http://dev.processing.org/bugs/show_bug.cgi?id=765
_ drag and drop