Sunday 15 November 2009

Building Jigsaw

Last updated: 2013-07-27

In preparation for Devoxx 09, I wanted to play a little with Jigsaw.
Thereafter are the few steps I have followed to build it (based on the build readme for Jigsaw but revised each time I build Jigsaw):


1. Create a new Ubuntu VM in VirtualBox
To download VirtualBox go here and to download Ubuntu (12.04 LTS or 13.04) go there.
I used 2Gb of RAM and 16 Gb of disk. (don't forget to install the guest additions and get the updates for Ubuntu)


2. Get and setup Mercurial
Open a console (Applications|Accessories|Terminal), type:
sudo apt-get install mercurial

3. Download and install the current build dependencies for OpenJDK7

sudo apt-get build-dep  openjdk-7

4. Download and install the current JDK7

sudo apt-get install openjdk-7-jdk

5. Download and install ccache
 This will speed up the build of native parts
sudo apt-get install ccache

6. Get Jigsaw sources
mkdir ~/dev
cd ~/dev/
hg clone http://hg.openjdk.java.net/jigsaw/jigsaw/ jigsaw
cd ~/dev/jigsaw/
chmod u+x get_source.sh
./get_source.sh

7. Set up the environement variablesSource encoding:

export LANG=C

8. Adjustments
2013-07-27, none.

9.  Configure
make sure to be in ~/dev/jigsaw and run:
cd ~/dev/jigsaw
bash configure

10.  make
time for cooking:
make images

11. post-build
Export a JIG enviroment variable to prefix your java commands and so use Jigsaw rather than the default openjdk:
64 bits vm:
export JIG=~/dev/jigsaw/build/linux-x86_64-normal-server-release/images/jdk-module-image/
or
32 bits vm:
 export JIG=~/dev/jigsaw/build/linux-x86-normal-server-release/images/jdk-module-image/
12. running Jigsaw?

$JIG/bin/java -version
should return something like:
openjdk version "1.8.0-internal"
OpenJDK Runtime Environment (build 1.8.0-internal-ludovic_2013_07_27_19_55-b00)
OpenJDK 64-Bit Server VM (build 25.0-b30, mixed mode)
and
$JIG/bin/jmod list -v
should return something like:
jdk@8-ea
  requires jdk.base@=8-ea
  requires public jdk.jre@=8-ea
  requires public jdk.tools@=8-ea

...

jdk.base@8-ea
  requires local optional jdk.desktop.internal@=8-ea
  requires optional jdk.jaxp@=8-ea
  requires local optional jdk.tls.internal@=8-ea
  requires local optional sun.charsets@=8-ea
  requires local optional sun.localedata@=8-ea
  requires local optional sun.resources@=8-ea
  provides java.base@8
  exports
    com.sun.nio.file
    com.sun.security.auth
    com.sun.security.auth.login
    java.beans
    java.io
    java.lang
    java.lang.annotation
    java.lang.invoke
    java.lang.module

...
running Jigsaw modules:

JPS:
$JIG/bin/java -m jdk.jps
or JConsole:
$JIG/bin/java -m jdk.jconsole
 Now is time to play...

Friday 13 November 2009

Devoxx 09

Devoxx 09

forseen schedule

Conference Day 1

Wednesday November 18th


9:30-11:30      Keynote
12:00-13:00    JDK7 Update
13:30-13:45    quickie OSGi Testing Pax Exam or Swing & OSGi - please play nice
14:00-15:00     James Gosling
15:10-16:10     JavaFX or The Java EE 6 Platform
16:40-17:40    ?
17:50-18:50    Project Coin or Animation Rules!
19:00-20:00    Java User Group BOF ?
20:00-21:00    Update JDK7

Conference Day 2

Thursday November 19th


9:30-11:30     Keynote
12:00-13:00   Using XML with Java: Spoilt for Choice? or Spring Framework 3.0
13:30-13:45   ?
14:00-15:00   Pro JavaFX - Developing Enterprise Applications
15:10-16:10   The JavaPosse.com Live
16:40-17:40   Detecting and preventing bugs with pluggable type-checking or Funky Java, Objective Scala or Deep dive on the Java EE 6 platform with GlassFish V3
17:50-18:50   The Modular Java Platform & Project Jigsaw or Maven Reloaded
19:00-20:00   JavaFX Futures
20:00-21:00   The Modular Java Platform and Project JigSaw ?
21:00-22:00   Maven3 BOF
or 2012 ?

Conference Day 3

Friday November 20th


9:30-10:30     Gaming JavaFX or Java and JavaFX Technology and the Nintendo Wiimote: Just How Much Fun Can You Have?
10:30-11:30   Towards A Universal VM or Modular Web Applications with OSGi
11:30-12:30    Project Lombok: Bye Bye Boilerplate