README.md 2.92 KB
Newer Older
SAPONE Alann's avatar
SAPONE Alann committed
1 2
ETC-42
===========================
SAPONE Alann's avatar
SAPONE Alann committed
3

SAPONE Alann's avatar
SAPONE Alann committed
4 5 6
Introduction
------------
The ETC-42 is a generic exposure time calculator.
SAPONE Alann's avatar
SAPONE Alann committed
7
It has initialy been written at LAM (Laboratoire d'astrophysique de Marseille).
SAPONE Alann's avatar
SAPONE Alann committed
8

SAPONE Alann's avatar
SAPONE Alann committed
9 10 11 12 13 14 15
Dependencies
------------
- Maven
- dvipng
- Latex full
- JRE 1.7+
- JDK 1.7+ (Open JDK isn't supported)
SAPONE Alann's avatar
SAPONE Alann committed
16

SAPONE Alann's avatar
SAPONE Alann committed
17 18
How to build
------------
SAPONE Alann's avatar
SAPONE Alann committed
19
To build, you need you use *Maven* as following in project root folder:
SAPONE Alann's avatar
SAPONE Alann committed
20 21 22
```
mvn package
```
SAPONE Alann's avatar
SAPONE Alann committed
23

SAPONE Alann's avatar
SAPONE Alann committed
24 25 26
Modules Description
-------------------
ETC-DataModel:
SAPONE Alann's avatar
SAPONE Alann committed
27 28
- This module defines the data structures which the different ETC modules use to communicate.

SAPONE Alann's avatar
SAPONE Alann committed
29
ETC-Persistence:
SAPONE Alann's avatar
SAPONE Alann committed
30 31
- This module provides the persistency level of the ETC application. The current implementation is using an embedded database to persist the ETC data.

SAPONE Alann's avatar
SAPONE Alann committed
32
ETC-Calculator:
SAPONE Alann's avatar
SAPONE Alann committed
33 34
- This module is responsible for performing SNR calculations.

SAPONE Alann's avatar
SAPONE Alann committed
35
ETC-UI:
SAPONE Alann's avatar
SAPONE Alann committed
36 37 38
- This module is resposible for the communication with the user (User Interface).
There are currently two implementations, a graphical interface build with Swing and a terminal mode interface.

SAPONE Alann's avatar
SAPONE Alann committed
39
ETC-DataImportExport:
SAPONE Alann's avatar
SAPONE Alann committed
40 41
- This module provides functionality for importing and exporting data from files or VO enabled applications.

SAPONE Alann's avatar
SAPONE Alann committed
42
ETC-Controller:
SAPONE Alann's avatar
SAPONE Alann committed
43 44
- This module works as a conector of all the above projects and implements the possible schenarios of usage of the program.

SAPONE Alann's avatar
SAPONE Alann committed
45
ETC-Jar:
SAPONE Alann's avatar
SAPONE Alann committed
46 47
- This module creates a single executable jar containing all the necessary files to be used for easy ETC distribution.

SAPONE Alann's avatar
SAPONE Alann committed
48 49
ETC-WebStart:
- This module creates a Web Start version of the ETC.
SAPONE Alann's avatar
SAPONE Alann committed
50

SAPONE Alann's avatar
SAPONE Alann committed
51
ETC-Documentation:
SAPONE Alann's avatar
SAPONE Alann committed
52
- This module creates the latex documentation of the ETC.
SAPONE Alann's avatar
SAPONE Alann committed
53

SAPONE Alann's avatar
SAPONE Alann committed
54 55
Where to get generated outputs ?
-----------------------------
SAPONE Alann's avatar
SAPONE Alann committed
56
The files to use for distribution (output of the build) are:
SAPONE Alann's avatar
SAPONE Alann committed
57 58 59 60 61 62 63 64 65 66
```
  - ETC-Jar/target/ETC-Jar-<version>.jar
    A stand alone executable jar
```
```
  - ETC-WebStart/target/ETC-WebStart-<version>.zip
    A zip file containing the web start version of ETC
```
```
  - ETC-Documentation/target
SAPONE Alann's avatar
SAPONE Alann committed
67
    In this directory are the pdf versions of the Latex documentation
SAPONE Alann's avatar
SAPONE Alann committed
68
```
SAPONE Alann's avatar
SAPONE Alann committed
69

SAPONE Alann's avatar
SAPONE Alann committed
70 71
Build the javadoc
-----------------
SAPONE Alann's avatar
SAPONE Alann committed
72 73
The ETC javadoc uses Latexlet to create scientific equations. For this reason
the following requirements must be met before building it:
SAPONE Alann's avatar
SAPONE Alann committed
74
  - dvipng installed and in the path
SAPONE Alann's avatar
SAPONE Alann committed
75
To create the javadoc execute the following command in the ETC directory:
SAPONE Alann's avatar
SAPONE Alann committed
76 77 78
```
mvn javadoc:javadoc
```
SAPONE Alann's avatar
SAPONE Alann committed
79
This will build the javadoc of each project separately and will put the files
SAPONE Alann's avatar
SAPONE Alann committed
80
in the directories <project>/target/site/apidocs
SAPONE Alann's avatar
SAPONE Alann committed
81

SAPONE Alann's avatar
SAPONE Alann committed
82 83
Common Problems and Solutions
-----------------------------
SAPONE Alann's avatar
SAPONE Alann committed
84 85 86
Here are listed some common problems during the ETC compilation and how to
solve them.

SAPONE Alann's avatar
SAPONE Alann committed
87
"invalid target release: 1.x" error:
SAPONE Alann's avatar
SAPONE Alann committed
88 89 90 91 92
If when building the ETC this error appears, most probably the JAVA_HOME library
is not set correctly. This is a common problem on Mac OS. The solution is to
set the JAVA_HOME variable to the correct directory. The java home directory
differs from system to system and it depends on the configuration, but the
common place for it (for Mac OS) is:
SAPONE Alann's avatar
SAPONE Alann committed
93
/Library/Java/Home