~malte.nuhn/jhelioviewer/opendialog

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
**************************
*  JHelioviewer INSTALL  *
**************************

JHelioviewer is written in Java. In order to build the whole project you need Apache Ant. 
However Eclipse can be used during the development phase.
JHelioviewer uses the version control system Bazaar in order to keep track of 
revisions, releases, milestones, bugs and blueprints. 

The source code is hosted on Launchpad: https://launchpad.net/jhelioviewer

This document serves only as a quick reference for building the source code. More detailed 
instructions as well as development guidelines and information can be found on
http://www.helioviewer.org/wiki/index.php?title=JHelioviewer_Development_Information


Build instructions
-------------------
I) Get the source code. There are two alternatives:

	a) 	Get the latest trunk using Bazaar (http://bazaar.canonical.com/en/):
			1.) Install Bazaar
			2.) Choose a destination directory for the source code
			3.) Open a terminal and type: 
				bzr branch lp:jhelioviewer ${PATH_TO_DESTINATION_DIRECTORY}

	b) 	Get the source code of the latest release from http://www.jhelioviewer.org/ 
		and extract the archive to a directory of your choice

II) Build the source code with Ant (http://ant.apache.org/)
	1.) 	Open a terminal and change to the directory containing the source code and the ant buildfile (build.xml)
	2.) 	Type one of the following to build JHelioviewer:
				ant (just builds JHelioviewer.jar)
				ant release-all (builds all release files for all platforms including JHelioviewer.jar and a package containing the source code)
								NOTE: that the dmg can only be built on MacOS X
								NOTE: you need to have checked out the source with bazaar in order to package the source code
				ant release-no-src (the same as release-all except that the source code is not packaged)
									NOTE: use this if you downloaded the source from the website
				ant release-windows (build JHelioviewer-Setup.exe)
				ant release-tar (build JHelioviewer.tar.gz)
				ant release-mac (build JHelioviewer.dmg containing JHelioviewer.app)

III) Additional notes
	1.) 	In order to build the java documentation type:
				ant doc

	2.) 	In order to delete temporary build files type:
				ant clean
				
			You should only do this when necessary because the build process 
			is much faster if not all files have to be built again

	3.) 	If you want to start JHelioviewer from a JNLP file from inside a web browser you need to sign JHelioviewer.jar 
			(http://java.sun.com/developer/technicalArticles/Programming/jnlp/). To do so you can set a special property when starting ant:
				ant -Dsign.jar=true release-all
	
			You will be asked for your keystore, keystore password, alias and private key password during the build process. 
			Alternatively you can pass these information as properties:
				ant -Dsign.jar=true "-Dsign.keystore=${MY_KEY_STORE}" "-Dsign.storepass=${MY_STORE_PASSWORD}" "-Dsign.alias=${MY_ALIAS}" "-Dsign.keypass=${MY_KEY_PASSWORD}"  release-all
	
	4.) 	If you do not want to recompile the source code and just want to bundle the existing binaries type:
				ant bundle-all (generates all release files including source code package)
				ant bundle-no-src (the same as bundle-all except that the source code is not packaged)
				ant bundle-windows
				ant bundle-mac
				ant bundle-tar
	
	5.) 	In order to just bundle the source code type:
				ant bundle-src
		

Eclipse
---------
You can also import JHelioviewer in Eclipse.
1.) IMPORTANT: You have to generate some parts of the source code before you can build the project in Eclipse:
    To do so go to the source code directory from within a terminal and type:
		ant precompile
2.) Open Eclipse and make the jhelioviewer directory the working directory
3.) Open the 'Import...' dialog and select the option to import an existing project
4.) Choose the current working directory as the root directory