Contenu connexe Similaire à IzPack at LyonJUG'11 Similaire à IzPack at LyonJUG'11 (20) Plus de julien.ponge (10) IzPack at LyonJUG'113. From a hack made in a student dorm room...
... not mine!
7. v2
Download for your operating system
1: java -Xmx256m -jar filename.jar
2: chmod -R +x lib/ant/bin
3: lib/ant/bin/ant -f setup.xml
4: bin/asadmin start-domain domain
18. Files to package Installer resources
XML descriptor
Compiler, Ant or Maven
Installer Jar
20. variables
Config files,
scripts, ...
Content-aware
replacement
24. raw pack200
deflate (gzip) bzip2
31. <installation version="1.0">
<info>
<appname>Glassfish</appname>
<appversion>v2 ur2 b04</appversion>
<authors>
<author email=""
name="Julien Ponge (packager)"/>
<author email=""
name="Sun Microsystems and the GlassFish community"/>
</authors>
<url>http://glassfish.org/</url>
<javaversion>1.5</javaversion>
<requiresjdk>yes</requiresjdk>
</info>
(...)
32. (...)
<panels>
<panel classname="HTMLInfoPanel" />
<panel classname="HTMLLicencePanel" />
<panel classname="TargetPanel" />
<panel classname="UserInputPanel" />
<panel classname="InstallPanel" />
<panel classname="ProcessPanel" />
<panel classname="ShortcutPanel" />
<panel classname="SimpleFinishPanel" />
</panels>
(...)
33. <pack name="GlassFish" required="yes">
<description>GlassFish</description>
<file src="launch-browser.sh" targetdir="$INSTALL_PATH/bin"
condition="izpack.macinstall" />
<fileset dir="linux" targetdir="$INSTALL_PATH"
condition="izpack.linuxinstall">
<% linux_specific.each do |file| %>
<include name="<%= file %>"/>
<% end %>
</fileset>
<executable targetfile="$INSTALL_PATH/lib/ant/bin/ant"
stage="never" os="unix" />
<parsable targetfile="$INSTALL_PATH/bin/launch-browser.sh"
os="unix" />
</pack>
34. <pack name="GlassFish" required="yes">
<description>GlassFish</description>
<file src="launch-browser.sh" targetdir="$INSTALL_PATH/bin"
condition="izpack.macinstall" />
<fileset dir="linux" targetdir="$INSTALL_PATH"
condition="izpack.linuxinstall">
<% linux_specific.each do |file| %>
<include name="<%= file %>"/>
<% end %>
</fileset>
<executable targetfile="$INSTALL_PATH/lib/ant/bin/ant"
stage="never" os="unix" />
<parsable targetfile="$INSTALL_PATH/bin/launch-browser.sh"
os="unix" />
</pack>
35. <pack name="GlassFish" required="yes">
<description>GlassFish</description>
<file src="launch-browser.sh" targetdir="$INSTALL_PATH/bin"
condition="izpack.macinstall" />
<fileset dir="linux" targetdir="$INSTALL_PATH"
condition="izpack.linuxinstall">
<% linux_specific.each do |file| %>
<include name="<%= file %>"/>
<% end %>
</fileset> Ant-style:
**/*
<executable targetfile="$INSTALL_PATH/lib/ant/bin/ant"
dir/*.class
stage="never" os="unix" /> **/*.jar
<parsable targetfile="$INSTALL_PATH/bin/launch-browser.sh"
lib/**/*.jar
os="unix" />
</pack>
36. <pack name="GlassFish" required="yes">
<description>GlassFish</description>
<file src="launch-browser.sh" targetdir="$INSTALL_PATH/bin"
condition="izpack.macinstall" />
<fileset dir="linux" targetdir="$INSTALL_PATH"
condition="izpack.linuxinstall">
<% linux_specific.each do |file| %>
<include name="<%= file %>"/>
<% end %>
</fileset>
<executable targetfile="$INSTALL_PATH/lib/ant/bin/ant"
stage="never" os="unix" />
<parsable targetfile="$INSTALL_PATH/bin/launch-browser.sh"
os="unix" />
</pack>
37. <guiprefs height="600" resizable="yes" width="800">
<modifier key="allXGap" value="5"/>
<modifier key="allYGap" value="5"/>
<modifier key="paragraphYGap" value="15"/>
<modifier key="useHeadingPanel" value="yes"/>
<modifier key="headingLineCount" value="1"/>
<modifier key="headingFontSize" value="2"/>
<modifier key="headingBackgroundColor" value="0x00ffffff"/>
<modifier key="headingPanelCounter" value="text"/>
<modifier key="headingPanelCounterPos" value="inHeading"/>
</guiprefs>
38. <conditions>
<condition
type="variable"
id="start.glassfish">
<name>gf_start_domain</name>
<value>true</value>
</condition>
</conditions>
49. The hype effect
Patterns TDD, JSR xyz
BDD
...your application code will eventually look bad!
Best Scripting
IoC & DI
practices
50. Kudos to:
Anthonin Bonnefoy
0-b eta David Duponchel
5.
Rene Krell
PicoContainer
+ hamcrest
+ fest-swing JUnit
55. F/OSS... why?
nothing’s free!
Fun Skills Advertise
Strategic market shares
Direct revenue streams
56. Project type “Main” models
Consulting
Framework Training
and libraries Support
Dual licensing
Support plans
Mission-critical
Consulting
infrastructure
Management tools
servers
Extensions
Open Core
Products Extensions
Customizations
59. Start Easy
Solo work
Users!
Patches!
Community support
Hard to reach
Mature project
Manager work
60. add this!
support that!
it is not ready for the
enterprise unless you...
I expected it to do this
but it doesn’t!
66. Julien Ponge Q&A
@jponge @izpack
julien.ponge@gmail.com http://izpack.org/
http://julien.ponge.info/