As a result of Greenstone3 working with 'ant', jar dependencies essentially need to be worked out manually. Because the code base is largely static, then this is not typically a significant burden. The purpose of the directory area of the code base is to provide some scripts that assist in the process of working out what jar files need to be added when a new 'jar stack' is added in. For example, to support Google Signin to Greenstone3, code as been added to the code base that makes use of the Java 'google-api-client' jar. This in turn requires various other supporting jar files. Inside the subdirectory: google-api-client-jars you will find scripts that help automate this process. In this subdirectory you will only find Unix scripts, which is OK. The list of jar files needed only needs to be worked out once and then added to the Greenstone jar/lib area. With the necessary jar files install, subsequent 'ant compile-core' commands -- whenever and whereever in terms of the OS being used -- are run, the jar files needed to successfully compile will be found.