Source tree of OmegaT project
This section describes a source tree and each folders' roles.
main source code
There are three main source code, one is source code, others are test codes.
srcis a main folder where OmegaT source code is stored.
There are three sub folders under
org: main source code. -
schemas: XML schemas for JAXB code generation. -
gen: generated source code by JAXB jxc command.
testis a test folder where unit and regression test is stored. There are two sub folders under
test. one is
dataand other is
test-integrationis a folder for an integration test. There are two sub folders under
Dockerfilefor test server and client environment to help developer to run the test automation.
doc_srcis a home folder for manuals, and start guide.
docs_develis a place for developer notes that you read now. These are written by Markdown and the developer note can be converted into html using MkDocs document processing system.
There are manuals in the folder that is generated from document source in the
doc_srcfolder. A content here is updated by project manager, document/localization administrator or lead developer.
Packaging script copy all the contents here into distribution package. When user click
help->user manualmenu, browser will be open with contents here.
sub modules code
tipofthedayfolder is a place of one of subprojects of OmegaT. This provides a feature of "Tip of the Day" startup screen as an OmegaT plugin. There is subproject
build.gradlefile under the folder and most configuration is in it.
A source tree is placed under Maven standard.
Contents which are displayed on "Tip of the Day" dialog is defined in
docsfolder. When you add new contents in it, you also requires update
You can find several user defined scripts in
scriptsfolder. These scripts are installed in the
scriptsfolder in installation system directory.
There are several important document file here.
changes.txthas a change log of versions.
readme_*.txtis a localized readme files.
libraries.txthold license information about dependencies.
There are also
*-specificfolders that is used when building installer or distribution packages.
licensesubfolder hold raw license texts of dependencies libraries.
When you download source package and extract zip file, you will find a folder
providedwhich has all the dependencies jar files. When the folder provided exist, OmegaT can be built without downloading dependencies from the internet. This is to guarantee users to get all necessary materials even when one of dependency stop a distribution of its version.
There are logo images that is used for OS menu icons and window UI decorations.
There are files used by
CI/CD and quality assurance configs
It is a folder where
checkstyleconfiguration file is stored. When launch `./gradlew checkstyleJava verification command, the config file is used in a process.
It is a folder where CI/CD scripts are stored.
dot files and folders
.githubis a folder that has configurations for GitHub service.
It is a configuration file when developer run an integration-test in the automated way.
It is a configuration file for readthedocs.org service how to build developer note on it.
It defines an internal plugins which source is inside main source tree. plugin metadata will be generated automatically in artifacts
This is a sample file of
local.propertiesthat is required for maintainer to define a signature key and passphrase, account of publish site and related.