-
Notifications
You must be signed in to change notification settings - Fork 42
/
compile.txt
135 lines (100 loc) · 4.27 KB
/
compile.txt
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
--------------------------------------------
trolCommander compilation instructions
--------------------------------------------
1. Configuration
The first step to compiling trolCommander is making sure all the proper
libraries and tools are installed.
Pre-requesites are:
- JDK 1.7 or greater
This can be retrieved from http://java.sun.com/
- Ant 1.6.5 or greater
This can be retrieved from http://ant.apache.org/
Optional tools are:
- FindBugs 1.3.1 or greater.
This is used to generate bytecode analysis reports.
It can be retrieved from http://findbugs.sourceforge.net/
- NSIS 2.20 or greater
This is used to generate Win32 setup files.
It can be retrieved from http://nsis.sourceforge.net/
- Launch4J 3.0.0 or greater
This is used to generate Win32 executable files.
It can be retrieved from http://launch4j.sourceforge.net/
- p7zip 4.43 or greater
This is used to compress JAR files further than the Sun tools can.
It can be retrieved from http://p7zip.sourceforge.net/
Once these tools have been installed, you might want / need to configure
the trolCommander build process.
This is done by copying ./build_template.properties to ./build.properties and
editing it.
The values that need to be set are:
- 7za.executable (non-required)
Path to the 7za executable.
This is used to compress trolCommander's JAR file better than Java's ZIP
implementation.
If this property is not set, standard ZIP compression will be used.
- store.path (non-required)
Password of the keystore file used to generate a signed trolCommander JAR file.
If this property is not set, you won't be able to generate signed JAR files.
If you're not Maxence, you can safely ignore this property.
- nsis.dir (non-required)
Path to the NSIS installation directory.
This is used to generate a trolCommander Win32 native setup.
If this property is not set, you won't be able to generate Win32 setups.
- launch4j.dir (non-required)
Path to the Launch4J installation directory.
This is used to generate a trolCommander Win32 executable.
If this property is not set, you won't be able to generate Win32 or portable
releases.
2. Compiling trolCommander
There are various ways of compiling trolCommander. The most immediately
useful are:
- ant
This will compile all the modified Java files and run the resulting
application.
- ant jar
This will compile all the modified Java files and store the binaries
in ./dist/trolcommander_unobf.jar.
This jar file is meant for debug, and running it will output a fair amount
of tracing information.
- ant obfuscate
This will compile and obfuscate all the Java files and store
the binaries in ./dist/trolcommander_obf.jar.
- ant compress
This is identical to ant obfuscate, but will use 7za if it's available to
produce an even slimmer version of the JAR file in ./dist/trolcommander.jar.
This JAR file is the one we use for release.
- ant clean
Deletes all temporary files.
- ant compile
Compiles all the modified Java files and stores the output in
./tmp/compile/classes
- ant source
Packages the sources and stores them in
./dist/trolcommander-<version>-src.tar.gz
- ant deb
Generates a Debian package in ./dist/trolcommander_<version>_all.deb
- ant exe
Generates a Win32 executable version of trolCommander in ./dist/trolCommander.exe.
- ant portable
Generates the portable version of trolCommander in
./dist/trolcommander-<version>-portable.tar.gz.
The portable version is meant for 'roaming' usage, typically from a USB key.
- ant setup-exe
Generates a Win32 executable setup in ./dist/trolcommander-setup.exe
- ant tgz
Generates a Unix release file and stores it in ./dist/trolcommander.tar.gz
- ant jnlp
Generates a Webstart description file in ./dist/trolcommander.jnlp
- ant sign
Generates a signed JAR file in ./dist/trolcommander_signed.jar
- ant app
Generates a Mac OS X application bundle in ./dist/trolCommander.app.
Note that the application will only work if ran on an OS that has a chmod
command.
- ant nightly
Generates all know distribution files in 'nightly' mode.
Nightly builds will have slightly different names.
- ant release
Generates all known release files.
- ant reports
Generates reports about various aspects of trolCommander.