@version $Revision: 1509 $ ($Author: vlads $) $Date: 2008-01-03 10:48:23 -0500 (Thu, 03 Jan 2008) $ * Build We are using maven2 to build project To build project you need this environment variables: JAVA_HOME, SWT_HOME (to build swt module) No longer required: we are using proguard for preverification WTK_HOME to compile and test MIDlets. PATH variable should contain %JAVA_HOME%\bin for WTK preverify to work. Also You may need to set MAVEN_OPTS=-Xmx256M if you are getting java.lang.OutOfMemoryError during build To create Eclipse projects run: mvn eclipse:clean eclipse:eclipse -DdownloadSources=true To run build without tests: mvn -Dmaven.test.skip=true To build distribution assembly e.g. microemulator-2.X.X.tar.gz: mvn -DperformRelease=true distribution pakage would be created in microemulator\target\microemulator-2.X.X.tar.gz Module microemu-javase-swt is not built by default. To activate its build add property buildByMicroEmulatorTeam to settings.xml Running GCF Tests behind firewall Create file $home\.microemulator\tests.properties The file should contain host name to connect to, e.g.: gcf.no-proxy-test-host=localhost We are using echo test server. Sources here: https://pyx4j.com/viewvc/pyx4me/pyx4me-host/pyx4me-test-server/ * Building official Release by the MicroEmulator team. * Test locally mvn clean deploy site-deploy -P release -DperformRelease=true -Dlabel=2.0.2 * Remove all -SNAPSHOT from pom.xml * Remove/comment SNAPSHOT used in poms if any. * Update src/changes.xml * Comment out sections marked and in src/site/site.xml * Update variable demoLocation in microemu-examples/microemu-demo HTTPPanel.java * SVN commit * On build server (CruiseControl) https://pyx4j.com/cruisecontrol/ start "me2-release" It will execute: mvn -o clean --fail-never -P release mvn -o scm:update -P release mvn -o clean deploy site-deploy -P release -DperformRelease=true * repository "pyx4j.com-file-release" (http://pyx4j.com/maven2-release/) on build server will sync with http://repo1.maven.org/maven2 * Upload the context of /home/apache/microemu (http://pyx4j.com/snapshot/microemu-release) to http://microemu.org/ * Upload the distribution jars microemulator-2.X.X-sources.tar.gz and microemulator-2.X.X.tar.gz to sf.net Files location: http://pyx4j.com/snapshot/microemu-release/microemulator/download/ * Create Tag in SVN * Update version to (x+1)-SNAPSHOT * Update src/site/site.xml reverse changes for and * cruisecontrol "me2" Every 1 hour: clean --fail-never -P build|scm:update -P build|clean install -P build "me2-nightly" 3AM EST clean --fail-never -P build|scm:update -P build|clean deploy site-deploy -P build * error classpath configuration error, Wrong Injected class detected. microemu-injected module should be after microemu-javase in eclipse This is the problem that order of dependancies in maven is undefined. To solve: In eclipse edit project microemu-javase-swing move microemu-injected down. In fact it should not even be there as project (bug in maven-eclipse plugin), only jar microemu-injected-2.0.1-SNAPSHOT-inject.jar is required! The best option to remove this dependacncy from eclipse project. * Building applet This describe procedure for building applet. We run proguard 3 times with deferent options on microemu-cldc and microemu-midp we need to preserve all API declarations on microemu-javase+microemu-javase-swing assembly we just need to preserve main applet class. * Building Web Start We are using signed Web Start. The microemu-webstart module is created to be build by primary ME2 developers only because it involves signing jars with our keys. The module can still be used by other as reference. Please see microemu-webstart\key.txt microemu-webstart module is not part of regular build To build webstart module use mvn -P webstart When building all application. This is because some users may get ME2 SVN tree and try to compile. The microemu-webstart will fail for them.