Skip to content

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.

src

src is a main folder where OmegaT source code is stored.

There are three sub folders under src. - org: main source code. - schemas: XML schemas for JAXB code generation. - gen: generated source code by JAXB jxc command.

test

test is a test folder where unit and regression test is stored. There are two sub folders under test. one is data and other is src.

test-integration

test-integration is a folder for an integration test. There are two sub folders under test-integration.

docker has Dockerfile for test server and client environment to help developer to run the test automation.

documentations

doc_src

doc_src is a home folder for manuals, and start guide.

docs_devel

docs_devel is 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.

docs

There are manuals in the folder that is generated from document source in the doc_src folder. 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 manual menu, browser will be open with contents here.

sub modules code

tipoftheday

tipoftheday folder 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.gradle file 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 docs folder. When you add new contents in it, you also requires update tips.yaml index file.

additional materials

scripts

You can find several user defined scripts in scripts folder. These scripts are installed in the scripts folder in installation system directory.

release

There are several important document file here. changes.txt has a change log of versions. readme_*.txt is a localized readme files. libraries.txt hold license information about dependencies.

There are also *-specific folders that is used when building installer or distribution packages.

lib

license subfolder hold raw license texts of dependencies libraries.

When you download source package and extract zip file, you will find a folder provided which 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.

images

There are logo images that is used for OS menu icons and window UI decorations.

gradle

There are files used by Gradle build system.

CI/CD and quality assurance configs

config

It is a folder where checkstyle configuration file is stored. When launch `./gradlew checkstyleJava verification command, the config file is used in a process.

ci

It is a folder where CI/CD scripts are stored.

dot files and folders

.github

.github is a folder that has configurations for GitHub service.

.docker-compose.yml

It is a configuration file when developer run an integration-test in the automated way.

.readthedocs.yaml

It is a configuration file for readthedocs.org service how to build developer note on it.

Plugins.properties

It defines an internal plugins which source is inside main source tree. plugin metadata will be generated automatically in artifacts MANIFEST.MF file.

local.properties.sample

This is a sample file of local.properties that is required for maintainer to define a signature key and passphrase, account of publish site and related.