-
Notifications
You must be signed in to change notification settings - Fork 3
Compiling
Daniel Tischner edited this page Jul 14, 2018
·
8 revisions
Compiling the backend can either be done manually or by using Apache Ant and the given build.xml.
To compile the backend using Apache Ant execute the build.xml. Available targets are
-
compile- Compiles all.javafiles in thesrcandtestdirectory into.classfiles and stores them in abindirectory -
test- Runs all files with a suffix ofTest.javain thetestdirectory using JUnit -
checkstyle- Checks the style of all.javafiles in thesrcandtestdirectory using Checkstyle -
doc- Generates Javadoc for all classes in thesrcdirectory and stores it in adocdirectory -
jar- Generates several.jarfiles-
xxx-src.jar- All.javafiles, including the tests -
xxx-test.jar- All.classfiles, including the tests -
xxx-doc.jar- The Javadoc packed in ajar -
xxx.jar- Runnable backend, without any libraries, they need to be included on the classpath -
xxx-standalone.jar- Runnable backend, including all libraries
-
-
clean- Deletes thebinanddocdirectory and all.jarfiles generated by thejartarget -
all- Executes the targetsdoc,test,checkstyleandjar
The simplest is to just navigate to the build.xml and execute
ant allCobweb has several dependencies on external libraries. They are all included in the backend/lib/ directory. For manual compilation all those libraries need to be on the classpath.
The directory is organized in the following way
-
base- Libraries needed to compile the application, excluding all test-files-
commons-compress- Apache Commons Compress (1.16.1) for parsing compressed files likegzandxz -
eclipse-collections- Eclipse Collections (9.1.0) for space and time optimizations -
gson- GSON (2.8.4) for handlingJSONin server requests and responses -
jdbc-sqlite- SQLite JDBC (3.21.0) for connecting to an external database, can be exchanged by a different JDBC driver -
lexiSearch- LexiSearch (1.0) for answering fuzzy prefix searches -
logback- SLF4J (1.7.25) for logging and LogBack (1.2.3) as logger driver, can be exchanged by a different logger driver -
onebusaway-gtfs- onebusaway-gtfs (1.3.4) for handlingGTFSfiles -
osm4j- osm4j-core (0.1.0) and osm4j-xml (0.1.1) for handlingOSMfiles
-
-
misc- Libraries needed for additional tasks-
checkstyle- Checkstyle (8.3) and its configuration file, needed for thecheckstyletarget of thebuild.xml
-
-
test- Libraries needed to compile the test-files