Skip to content
This repository has been archived by the owner on Nov 16, 2024. It is now read-only.

Libraries and dependencies

George Oastler edited this page Feb 27, 2020 · 1 revision

Libraries and dependencies are managed through two methods: raw jars or Gradle. All jars are stored under the root lib folder. A Maven hosted counterpart of each jar is listed in the build.gradle file to link using Gradle.

This project requires the following libraries / dependencies:

  • Guava: much better collections / immutable collections / convenience methods / advanced collections (such as Multimaps which are super handy).
  • Apache Commons Collections 4: similar to Guava but from Apache. Comes with handy iteration methods and some advanced data structures which do not exist in Guava. Granted there is some redundancy between Guava and Commons Collections, but there's no silver bullet.
  • JCommander: command line arguments parsing.
  • JUnit4: unit testing.
  • Apache Commons Math 3: various maths related functions, especially useful optimisers.
  • GSON: Google's package for producing JSON objects in Java. This isn't used majorly in anything but it would be nice to use it in the future for storing more dynamic results format (getting around the whole 1st/2nd/3rd line information issue!).
Clone this wiki locally