mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
working on windows build/dist script
This commit is contained in:
+19
-39
@@ -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 {} ';'
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user