How to Build Executables

Prepare Source Code

Checkout modules

You must checkout following modules:

  • ipaexfont (for Japanese)
  • sqs-util
  • sqs-translator
  • sqs-editor
  • sqs-reader

cf. Mercurial Repository

Option A: Checkout without commiter account(in most cases)

If you don't have a commiter account of SQS repository, you can checkout modules as follows:

hg clone http://sqs-xml.hg.sourceforge.net:8000/hgroot/sqs-xml/ipaexfont
hg clone http://sqs-xml.hg.sourceforge.net:8000/hgroot/sqs-xml/sqs-util
hg clone http://sqs-xml.hg.sourceforge.net:8000/hgroot/sqs-xml/sqs-translator
hg clone http://sqs-xml.hg.sourceforge.net:8000/hgroot/sqs-xml/sqs-editor
hg clone http://sqs-xml.hg.sourceforge.net:8000/hgroot/sqs-xml/sqs-reader

Option B: Checkout with commiter account(special case)

If you have a commiter account of SQS repository, you can checkout modules as follows:

hg clone ssh://USERNAME@sqs-xml.hg.sourceforge.net/hgroot/sqs-xml/ipaexfont
hg clone ssh://USERNAME@sqs-xml.hg.sourceforge.net/hgroot/sqs-xml/sqs-util
hg clone ssh://USERNAME@sqs-xml.hg.sourceforge.net/hgroot/sqs-xml/sqs-translator
hg clone ssh://USERNAME@sqs-xml.hg.sourceforge.net/hgroot/sqs-xml/sqs-editor
hg clone ssh://USERNAME@sqs-xml.hg.sourceforge.net/hgroot/sqs-xml/sqs-reader

Build Libraries and Install them into Your Local Repository

In the "ipaexfont", "sqs-util" and "sqs-translator" directory,

mvn install

Build SQS applications

In "sqs-editor" and "sqs-reader" directory,

mvn compile

Execute SQS applications

In "sqs-editor" and "sqs-reader" directory,

mvn exec:java

Optional: Build JavaWebStart enabled SQS applications

Prepare code signing certification

Option A: Buy your code signing certification from somewhere

Option B: Create your self-certification for test or internal-use.

Create key pair named 'myself'.

keytool -keystore KEYSTORE -alias MYSELF -genkey

Generate a self-certificate.

keytool -keystore KEYSTORE -alias MYSELF -selfcert

Create JNLP File and Signed Jar Files

Create your "setting.xml" file

Copy "setting.example.xml" file in "sqs-editor" and "sqs-reader" project to your "${HOME}\.m2\" directory and rename it as "setting.xml".

Configure your code signing certification

Edit following properties in your "setting.xml" file to access your keystore.

    <sign.storepass>L401</sign.storepass>
    <sign.keystore>/Users/hiroya/verisign-cuc-2009.p12</sign.keystore>
    <sign.storetype>pkcs12</sign.storetype>
    <sign.alias>chiba university of commerce の verisign, inc. id</sign.alias>

Configure your signing authority properties.

Edit following properties in your "setting.xml" file to configure your signing authorities.

    <signingOrganizationName>Chiba University of Commerce</signingOrganizationName>
    <signingOrganizationURL>http://www.cuc.ac.jp/</signingOrganizationURL>
    <signedBy>Hiroya KUBO</signedBy>

Configure paths to executables in your OS environment.

Edit following properties in your "setting.xml" file to configure paths to executables in your OS environment.

    <bin.rsync>/opt/local/bin/rsync</bin.rsync>
    <bin.ssh>/usr/bin/ssh</bin.ssh>

Configure host and account information to deploy the JNLP file and Sined Jar files.

Edit following properties in your "setting.xml" file to configure host and account information to deploy the JNLP file and sined jar files.

    <deploy.date>2011/12/04</deploy.date>
    <deploy.username>hiroya</deploy.username>
    <deploy.hostname>sqs2.net</deploy.hostname>
    <deploy.hostdir>/var/www/${deploy.date}</deploy.hostdir>

Create JNLP File and Sign Jar Files

In "sqs-editor" and "sqs-reader" directory,

mvn install

Then, a JNLP file and signed jar files will be automatically generate under "target/jnlp" directories, and deploy them to your host.

Optional: Create IzPack Installer

mvn package

... under construction ...
... under construction ...
... under construction ...

Create tarballs

In "sqs-util", "sqs-translator", "sqs-editor" and "sqs-reader" directory,

mvn assembly:assembly -DdescriptorId=src

Then, under the "target" directory, You can see:

  • -src.tar.gz
  • -src.tar.bz2
  • -src.zip