Project

General

Profile

Development Environment » History » Version 9

Luke Murphey, 07/27/2010 11:25 PM

1 1 Luke Murphey
h1. Development Environment
2 1 Luke Murphey
3 1 Luke Murphey
Below is information regarding what you'll need if you want to modify or develop NSIA. You can use whatever IDE you like, or you can use a "preconfigured instance of Eclipse":http://ondemand.yoxos.com/geteclipse/rap?profiles=868129468_1269911860683718583. 
4 1 Luke Murphey
5 1 Luke Murphey
h2. Compiler Requirements
6 1 Luke Murphey
7 1 Luke Murphey
NSIA requires Java JDK 6 (1.6) in order to compile successfully. It will not compile on earlier versions of Java (including Java 1.5).
8 1 Luke Murphey
9 1 Luke Murphey
h2. Libraries
10 1 Luke Murphey
11 1 Luke Murphey
Make sure that the libraries (under the _/lib_ directory) are on the classpath. Additionally, JUnit 3 is required for the unit tests. Note that you will get errors if you link to JUnit 4 as opposed to JUnit 3. 
12 2 Luke Murphey
13 6 Luke Murphey
h2. Build Script
14 6 Luke Murphey
15 6 Luke Murphey
NSIA includes an Ant task for handling various development related functions. You'll need to have the svnbinclean run every time a build occurs so that SVN does not think that the java-bin scratch directory is part of the repository.
16 6 Luke Murphey
17 4 Luke Murphey
h2. Local Build Properties
18 4 Luke Murphey
19 5 Luke Murphey
The build script uses a local build properties that sets variables that dictate how the build process will be performed. Below are the attributes that are used:
20 4 Luke Murphey
21 5 Luke Murphey
|_.Property                              |_.Example                  |_.Description                                                               |
22 5 Luke Murphey
| value.build.version                    | 0.9.2                     | Current version of the application (used when creating the Debian package) |
23 5 Luke Murphey
| value.build.debianpackage.directory    | build/dpkg                | Directory to use as the temporary directory for building the Debian package|
24 5 Luke Murphey
| value.build.licensekey                 | 1111-2222-3333-4444-5555  | License key to be used for downloading definitions that will included with the NSIA package (not currently used) |
25 4 Luke Murphey
26 7 Luke Murphey
h2. Creating Debian Packages Using jDeb
27 7 Luke Murphey
28 9 Luke Murphey
The project includes a build target for creating Debian packages using jDeb. For the build script to work you must add the jDeb and Apache commpress library to the Ant classpath. To do this in Eclipse, go to Window --> Preferences, Ant --> Runtime. Select "Global Entries" in the Classpath tab and then select "Add External JARs...". Add both the attachment:jdeb-0.8,jar and the "Apache commons compress":http://commons.apache.org/compress/download_compress.cgi (commons-compress-1.0.jar) Jar files.
29 7 Luke Murphey
30 2 Luke Murphey
h2. "Access restriction: Class is not accessible due to restriction..."
31 2 Luke Murphey
32 2 Luke Murphey
Eclipse may not let NSIA compile giving the message "Access restriction: Class is not accessible due to restriction on required library". This issue is due to an Eclipse setting. To fix it, change the "Forbidden reference" setting to "Ignore"; this setting is under "Errors/Warnings":
33 3 Luke Murphey
34 3 Luke Murphey
!Project_Access_Restriction.png!