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 undertest
. one isdata
and other issrc
. test-integration
-
test-integration
is a folder for an integration test. There are two sub folders undertest-integration
.docker
hasDockerfile
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 subprojectbuild.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 updatetips.yaml
index file.
additional materials
scripts
-
You can find several user defined scripts in
scripts
folder. These scripts are installed in thescripts
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.