//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2010, 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
//
// This program and the accompanying materials are made available
// under the terms of the MIT License which is available at
// https://opensource.org/licenses/MIT
//
// SPDX-License-Identifier: MIT
//////////////////////////////////////////////////////////////////////////////

// Including common attributes to set for all documents within this directory.
include::_root_attributes.asciidoc[]

// Enable inclusion of custom content from '*-docinfo*.html' files.
:docinfo: private

// Enable custom stylesheet.
:stylesheet: assets/asciidoctor-escet-dev.css

// Use this for asciidoc documents containing a title.
:doctype: book

= Eclipse ESCET(TM) development documentation
:author: Copyright (c) 2010, 2026 Contributors to the Eclipse Foundation
:favicon: favicon.png

This documentation concerns the development of the Eclipse Supervisory Control Engineering Toolkit (Eclipse ESCET) open-source project.

ifeval::["{escet-deploy-folder-name}" != "nightly"]
TIP: The latest development information can be found in the link:https://eclipse.dev/escet/nightly/development[development documentation of the nightly release].
endif::[]

ifdef::website-output[]
TIP: You can link:eclipse-escet-dev-manual.pdf[download this manual] as a PDF as well.
endif::website-output[]

[[virtual-toc-target--development]]
*Eclipse ESCET development*

This manual includes information related to the development of the Eclipse ESCET toolkit as a whole, as it applies to all its languages and tools.

The following topics are discussed in more detail:

* <<development-dev-list-chapter-index>>
* <<development-development-process-chapter-index>>
* <<development-contributing-chapter-index>>
* <<development-issue-tracking-chapter-index>>
* <<development-dev-env-setup-chapter-index>>
* <<development-git-repo-chapter-index>>
* <<development-coding-standards-chapter-index>>
* <<development-building-and-testing-chapter-index>>
* <<development-release-process-chapter-index>>
* <<development-third-party-tools-chapter-index>>
* <<development-dependency-upgrades-chapter-index>>
* <<development-license-year-update-chapter-index>>
* <<legal-chapter-index>>

*Common libraries and development tools*

Furthermore, this manual includes information on various common libraries and development tools.
These libraries and development tools are shared by the various end-user languages and tools that comprise the Eclipse ESCET toolkit.

Information on the following libraries and development tools is available:

* <<app-framework-chapter-index>>
* <<dsm-chapter-index>>
* <<multivalue-chapter-index>>
* <<rail-chapter-index>>
* <<setext-chapter-index>>

// Development

[[virtual-toc-entry--development]]
== Eclipse ESCET development

include::development/dev-list.asciidoc[leveloffset=+3]

include::development/development-process.asciidoc[leveloffset=+3]

include::development/contributing.asciidoc[leveloffset=+3]

include::development/issue-tracking.asciidoc[leveloffset=+3]

include::development/dev-env-setup.asciidoc[leveloffset=+3]

include::development/git-repo.asciidoc[leveloffset=+3]

include::development/coding-standards.asciidoc[leveloffset=+3]

include::development/building-and-testing.asciidoc[leveloffset=+3]

include::development/release-process.asciidoc[leveloffset=+3]

include::development/third-party-tools.asciidoc[leveloffset=+3]

include::development/dependency-upgrades.asciidoc[leveloffset=+3]

include::development/license-year-update.asciidoc[leveloffset=+3]

// Application framework

include::app-framework/index.asciidoc[leveloffset=+2]

include::app-framework/introduction.asciidoc[leveloffset=+3]

include::app-framework/standalone-vs-eclipse.asciidoc[leveloffset=+3]

include::app-framework/application-class.asciidoc[leveloffset=+3]

include::app-framework/exception-framework.asciidoc[leveloffset=+3]

include::app-framework/exit-codes.asciidoc[leveloffset=+3]

include::app-framework/io-framework.asciidoc[leveloffset=+3]

include::app-framework/option-framework.asciidoc[leveloffset=+3]

include::app-framework/compiler-framework.asciidoc[leveloffset=+3]

include::app-framework/implement-your-application.asciidoc[leveloffset=+3]

include::app-framework/registration.asciidoc[leveloffset=+3]

include::app-framework/execution.asciidoc[leveloffset=+3]

// DSM library

include::dsm/index.asciidoc[leveloffset=+2]

include::dsm/entrypoint.asciidoc[leveloffset=+3]

include::dsm/algorithm.asciidoc[leveloffset=+3]

include::dsm/busdetection.asciidoc[leveloffset=+3]

include::dsm/references.asciidoc[leveloffset=+3]

// Multi-value Decision Diagrams

include::multivalue/index.asciidoc[leveloffset=+2]

include::multivalue/goals.asciidoc[leveloffset=+3]

include::multivalue/variables-and-relations.asciidoc[leveloffset=+3]

include::multivalue/combining-relations.asciidoc[leveloffset=+3]

include::multivalue/computing.asciidoc[leveloffset=+3]

include::multivalue/practical-usage.asciidoc[leveloffset=+3]

// Rail diagram generator

include::rail/index.asciidoc[leveloffset=+2]

include::rail/introduction.asciidoc[leveloffset=+3]

include::rail/examples.asciidoc[leveloffset=+3]

include::rail/customizing-output.asciidoc[leveloffset=+3]

include::rail/commandline.asciidoc[leveloffset=+3]

include::rail/lexical-syntax.asciidoc[leveloffset=+3]

include::rail/grammar.asciidoc[leveloffset=+3]

include::rail/debugging.asciidoc[leveloffset=+3]

// SeText scanner/parser generator

include::setext/index.asciidoc[leveloffset=+2]

include::setext/lexical-syntax.asciidoc[leveloffset=+3]

include::setext/specifying-lexical-syntax.asciidoc[leveloffset=+3]

include::setext/regular-expressions.asciidoc[leveloffset=+3]

include::setext/terminal-descriptions.asciidoc[leveloffset=+3]

include::setext/imports.asciidoc[leveloffset=+3]

include::setext/scanner-hooks.asciidoc[leveloffset=+3]

include::setext/specifying-grammars.asciidoc[leveloffset=+3]

include::setext/parser-hooks.asciidoc[leveloffset=+3]

include::setext/usage-hints.asciidoc[leveloffset=+3]

include::setext/generated-scanners-parsers.asciidoc[leveloffset=+3]

include::setext/using-in-an-eclipse-plugin-project.asciidoc[leveloffset=+3]

include::setext/limitations.asciidoc[leveloffset=+3]

// Legal

include::legal.asciidoc[leveloffset=+2]

ifdef::pdf-output[]
[index]
== Index
endif::pdf-output[]
