How to Build Executables

Version 1 (Hiroya Kubo, 2010-01-04 17:06)

1 1 Hiroya Kubo
h1. How to Build Executables
2 1 Hiroya Kubo
3 1 Hiroya Kubo
h2. Preparation
4 1 Hiroya Kubo
5 1 Hiroya Kubo
h3. Checkout modules
6 1 Hiroya Kubo
7 1 Hiroya Kubo
See document "Subversion Repository":http://dev.sqs2.net/documents/show/2
8 1 Hiroya Kubo
9 1 Hiroya Kubo
You must checkout following:
10 1 Hiroya Kubo
11 1 Hiroya Kubo
* sqs-util
12 1 Hiroya Kubo
* sqs-translator
13 1 Hiroya Kubo
* sqs-editor
14 1 Hiroya Kubo
* sqs-reader
15 1 Hiroya Kubo
16 1 Hiroya Kubo
h3. Build Libraries and Install them into Your Local Repository
17 1 Hiroya Kubo
18 1 Hiroya Kubo
In the "sqs-util" and "sqs-translator" directory,
19 1 Hiroya Kubo
<pre>
20 1 Hiroya Kubo
mvn install
21 1 Hiroya Kubo
</pre>
22 1 Hiroya Kubo
23 1 Hiroya Kubo
24 1 Hiroya Kubo
h2. Create JNLP File and Sign Jar Files
25 1 Hiroya Kubo
26 1 Hiroya Kubo
h3. Buy your code signing certification from somewhere.
27 1 Hiroya Kubo
28 1 Hiroya Kubo
* United States:
29 1 Hiroya Kubo
** GlobalSign(1 year $229): http://www.globalsign.com/code-signing/
30 1 Hiroya Kubo
** VeriSign(1 year $499): http://www.verisign.com/code-signing/content-signing-certificates/sun-java/index.html
31 1 Hiroya Kubo
32 1 Hiroya Kubo
* Japan:
33 1 Hiroya Kubo
** GlobalSign(1 year 59850 yen): http://jp.globalsign.com/introduce/new/codesign.html
34 1 Hiroya Kubo
** VeriSign(1year 94500 yen): https://www.verisign.co.jp/codesign/objectsigning/index.html
35 1 Hiroya Kubo
36 1 Hiroya Kubo
h3. Configure your code signing certification.
37 1 Hiroya Kubo
38 1 Hiroya Kubo
Open pom.xml file in "sqs-editor" and "sqs-reader" project and edit it to match your configuration:
39 1 Hiroya Kubo
40 1 Hiroya Kubo
xpath: /project/build/plugins/plugin/configuration/sign/
41 1 Hiroya Kubo
42 1 Hiroya Kubo
<pre>
43 1 Hiroya Kubo
<sign>
44 1 Hiroya Kubo
 <keystore>C:\YOUR\KEYSTORE.p12</keystore>
45 1 Hiroya Kubo
 <keypass />
46 1 Hiroya Kubo
 <storepass>YOUR_KEYSTORE_PASSWORD</storepass>
47 1 Hiroya Kubo
 <storetype>pkcs12</storetype>
48 1 Hiroya Kubo
 <alias>YOUR_KEY_ID_IN_THE_KEYSTORE</alias>
49 1 Hiroya Kubo
 <verify>false</verify>
50 1 Hiroya Kubo
</sign>
51 1 Hiroya Kubo
</pre>
52 1 Hiroya Kubo
53 1 Hiroya Kubo
You must configure following items at least:
54 1 Hiroya Kubo
* keystore
55 1 Hiroya Kubo
* keypass
56 1 Hiroya Kubo
* storepass
57 1 Hiroya Kubo
* storetype
58 1 Hiroya Kubo
* alias
59 1 Hiroya Kubo
60 1 Hiroya Kubo
h3. Configure your signing authority properties.
61 1 Hiroya Kubo
62 1 Hiroya Kubo
You must edit your pom.xml :
63 1 Hiroya Kubo
64 1 Hiroya Kubo
Open pom.xml file in "sqs-editor" and "sqs-reader" project and edit it to match your configuration:
65 1 Hiroya Kubo
66 1 Hiroya Kubo
xpath: /project/properties
67 1 Hiroya Kubo
68 1 Hiroya Kubo
<pre>
69 1 Hiroya Kubo
	<license>Apache License, Version 2.0</license>
70 1 Hiroya Kubo
  	<main.class>net.sqs2.omr.swing.app.MarkReaderGUILauncher</main.class>
71 1 Hiroya Kubo
	<icon>omr.gif</icon>
72 1 Hiroya Kubo
	<maxHeapSize>812m</maxHeapSize>
73 1 Hiroya Kubo
	<group>SQS</group>
74 1 Hiroya Kubo
	<signingOrganizationName>Chiba University of Commerce</signingOrganizationName>
75 1 Hiroya Kubo
	<signingOrganizationURL>http://www.cuc.ac.jp/</signingOrganizationURL>
76 1 Hiroya Kubo
	<signedBy>Hiroya KUBO</signedBy>
77 1 Hiroya Kubo
  	<date>2009/12/29</date>
78 1 Hiroya Kubo
</pre>
79 1 Hiroya Kubo
80 1 Hiroya Kubo
You must configure following properties:
81 1 Hiroya Kubo
82 1 Hiroya Kubo
* signingOrganizationName
83 1 Hiroya Kubo
* signingOrganizationURL
84 1 Hiroya Kubo
* signedBy
85 1 Hiroya Kubo
* date
86 1 Hiroya Kubo
87 1 Hiroya Kubo
88 1 Hiroya Kubo
h3. Configure your host account properties.
89 1 Hiroya Kubo
90 1 Hiroya Kubo
You must configure following properties:
91 1 Hiroya Kubo
92 1 Hiroya Kubo
* LOGNAME
93 1 Hiroya Kubo
* HOST
94 1 Hiroya Kubo
* WEBAPP.dir
95 1 Hiroya Kubo
96 1 Hiroya Kubo
97 1 Hiroya Kubo
h3. Create JNLP File and Sign Jar Files
98 1 Hiroya Kubo
99 1 Hiroya Kubo
In "sqs-editor" and "sqs-reader" directory,
100 1 Hiroya Kubo
101 1 Hiroya Kubo
<pre>
102 1 Hiroya Kubo
mvn install
103 1 Hiroya Kubo
</pre>
104 1 Hiroya Kubo
105 1 Hiroya Kubo
Then, JNLP file and signed jar files are automatically generated under "target/jnlp" directories and uploaded to your Web site.
106 1 Hiroya Kubo
107 1 Hiroya Kubo
108 1 Hiroya Kubo
h2. Create IzPack Installer
109 1 Hiroya Kubo
110 1 Hiroya Kubo
<pre>
111 1 Hiroya Kubo
mvn package
112 1 Hiroya Kubo
</pre>
113 1 Hiroya Kubo
114 1 Hiroya Kubo
... under construction ...
115 1 Hiroya Kubo
... under construction ...
116 1 Hiroya Kubo
... under construction ...
117 1 Hiroya Kubo
118 1 Hiroya Kubo
119 1 Hiroya Kubo
h2. Create tarballs
120 1 Hiroya Kubo
121 1 Hiroya Kubo
In "sqs-util", "sqs-translator", "sqs-editor" and "sqs-reader" directory,
122 1 Hiroya Kubo
123 1 Hiroya Kubo
<pre>
124 1 Hiroya Kubo
mvn assembly:assembly -DdescriptorId=src
125 1 Hiroya Kubo
</pre>
126 1 Hiroya Kubo
127 1 Hiroya Kubo
Then, under the "target" directory, You can see:
128 1 Hiroya Kubo
129 1 Hiroya Kubo
* -src.tar.gz
130 1 Hiroya Kubo
* -src.tar.bz2
131 1 Hiroya Kubo
* -src.zip
132 1 Hiroya Kubo
133 1 Hiroya Kubo
h2. Exec applications
134 1 Hiroya Kubo
135 1 Hiroya Kubo
In "sqs-editor" and "sqs-reader" directory,
136 1 Hiroya Kubo
137 1 Hiroya Kubo
<pre>
138 1 Hiroya Kubo
mvn exec:java
139 1 Hiroya Kubo
</pre>