diff --git a/build/windows/dist.sh b/build/windows/dist.sh index a42d9f9dc..c65d580de 100755 --- a/build/windows/dist.sh +++ b/build/windows/dist.sh @@ -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 {} ';' diff --git a/build/windows/launcher/launcher.cpp b/build/windows/launcher/launcher.cpp index a8d4e37be..25b68952d 100644 --- a/build/windows/launcher/launcher.cpp +++ b/build/windows/launcher/launcher.cpp @@ -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); diff --git a/build/windows/make.sh b/build/windows/make.sh index f06e4be5f..a51767ffe 100755 --- a/build/windows/make.sh +++ b/build/windows/make.sh @@ -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 diff --git a/todo.txt b/todo.txt index b815d4faf..3eceb20c0 100644 --- a/todo.txt +++ b/todo.txt @@ -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