Skip to content

WAIL Project Structure

Mat Kelly edited this page Nov 9, 2017 · 3 revisions

Project Structure

This page describes the structure of the code, assets, and other files that make up WAIL both for usage and for building the application from source.

wail-[name]

The directories with the prefix of wail contain files directly related to the application itself. Briefly, each directory contains:

  • wail-archiver: browser based crawler code
  • wail-core: window, archives, crawl, and process managers and files relating to running the core of WAIL
  • wail-twitter: Twitter monitoring code
  • wail-ui: user interface (UI) code and all entry points for WAIL and its background windows

More detailed information about each directory's contents can be found in the WAIL name modules section.

bundledApps

This directory contains all binaries packaged with WAIL, namely Heritrix and Pywb as well as any additional binaries WAIL relies on

webpackConfigs

This directory contains the webpack configuration files (dev and production) used by WAIL

  • core: webpack config files for WAIL core
  • deving: webpack config file used for hot reloading only a specific subsection of WAIL if needed
  • test: webpack config files used to build WAIL for testing
  • ui: webpack config files used for the UI of WAIL

tools

This directory contains support scripts used in the development process of WAIL.

tests

This directory contains programmatic tests to help verify correctness of functionality in WAIL.

directories during development of WAIL

  • wail-config: contains the settings database files and logs used or generated during development
  • zips: contains the zip files for open-jdks
  • memgators: contains the memgators used by wail
  • dist: contains the bundles produced when building the production version of WAIL
  • release: contains the binaries of WAIL produced when building the application