| 21 | == 2. Create a local configuration == |
| 22 | |
| 23 | The configuration files included with a binary distribution are located in the `<base-src>/config/dist` directory. You should never modify these files directly for your local setup. Instead, place a copy of files that you need to modify in the `<base-src>/config/local` directory. When building BASE all targets exception the 'dist' target will first check the local configuration files. |
| 24 | |
| 25 | Note that the build process usually copies the configuration files to the `<base-src>/www/WEB-INF/classes` directory. The reason is that Tomcat can't read files outside the `WEB-INF` directory and this makes the subversion working copy identical to a binary distribution. |
| 26 | |
| 27 | * All utility programs, such as the installation program and the job agent, use the configuration files in `<base-src>/www/WEB-INF/classes`. |
| 28 | * The only exception is the test programs. They will read the configuration from `<base-src>/config/local` and `<base-src>/config/dist` directories. |
| 29 | * Running `ant clean` will remove the copied configuration files. |
| 30 | |
| 31 | == 3. Ant == |
| 32 | |
| 33 | We use [http://ant.apache.org/ Ant] to build and compile BASE. You will need at least version 1.8. All build instructions for Ant are in the build.xml file. |
| 34 | |
| 35 | A build is started with the command: |
| 36 | |
| 37 | {{{ ant <target> }}} |
| 38 | |
| 39 | where `<target>` is one of the named targets defined in the build file. You may specify multiple targets: |
| 40 | |
| 41 | {{{ant web jobagent}}} |
| 42 | |
| 43 | === Main build targets === |
| 44 | |
| 45 | These targets works on the entire BASE source code. They may take some time to finish, but everything will be checked and recompiled if needed. |
| 46 | |
| 47 | `ant dev` |
| 48 | Build everything for local use. This targets compiles the core, plugins, web application, job agent, etc. for local use. It doesn't generate javadoc documentation. |
| 49 | |
| 50 | `ant dist` |
| 51 | Build everything for distribution. This target compiles everything, generates the javadoc documentation, etc. Everything is placed in the dist subdirectory. |
| 52 | |
| 53 | `ant package` |
| 54 | Create compressed tar files of the distribution. |
| 55 | |
| 56 | `ant clean` |
| 57 | Remove all generated files. |
| 58 | |
| 59 | === Other useful targets === |
| 60 | |
| 61 | These targets are quicker to use if you know that you have only made changes to a specific module. |
| 62 | |
| 63 | `ant core` |
| 64 | Compile the core for local use. |
| 65 | |
| 66 | `ant coreplugins` |
| 67 | Compile the core plugins for local use. |
| 68 | |
| 69 | `ant web` |
| 70 | Compile the web client application for local use. |
| 71 | |
| 72 | `ant installprg` |
| 73 | Compile the installation programs for local use. |
| 74 | |
| 75 | `ant jobagent` |
| 76 | Compile the job agent for local use. |
| 77 | |
| 78 | `ant test` |
| 79 | Compile the test programs for local use. |
| 80 | |
| 81 | `ant doc` |
| 82 | Generate documentation for local use. This generates all documentation and may take a long time. |
| 83 | |
| 84 | `ant doc.javadoc` |
| 85 | Generate Javadoc documentation only. The documentation is generated in the `<base-src>/doc/api` directory. |
| 86 | |
| 87 | `ant doc.docbook.html` |
| 88 | Generate user- and administrator documentation from docbook in HTML format. Docbook will work with pure Java but performance is better if [http://xmlsoft.org/XSLT/ XSLTPROC] is installed. The documentation is generated in the `<base-src>/doc/html` directory. |
| 89 | |
| 90 | == Running BASE from the local installation == |
| 91 | |
| 92 | If you have followed the instructions so far the subversion working copy installation is compatible with a binary distribution. You canfind the installation programs, web application and all other things in the same places as for a binary installation. Read the [/chrome/site/latest/html/admindoc/installation_upgrade/installation_upgrade.html installation instructions] for more information. |