Salome HOME
spns #40779: implement git multiserver approach: github, gitpub, tuleap
[tools/sat.git] / doc / src / index.rst
1
2 .. include:: ../rst_prolog.rst
3
4 .. empty first toctree is used for pdf contents maxdepth, see sphinx/builders/latex/__init__.py, toctrees[0].get('maxdepth')
5
6 .. toctree::
7    :maxdepth: 2
8
9 .. **********
10 .. SalomeTool
11 .. **********
12
13
14 Welcome
15 =======
16
17 **SAT** is a tool that makes it easy to build on various linux platforms and windows large software, which rely on a lot of prerequisites.
18 It was originally created for the maintenance and the packaging of SALOME platform (its name comes from **Sa**\ lome\ **T**\ ools), its usage is now wider.
19 The following features should be highlighted:
20
21  * the **definition** of the application content: which products (prerequisites, codes, modules) are necessary and which versions are required
22  * the **configuration** of the application : how to get the source of products, how to compile them, which options to use, etc. The configuration can be conditionally overwritten, this feature allows application developers taking into account platform specifics.
23  * the **preparation** of the complete software: all the required sources with correct versions are retrieved from git/svn/cvs repositories, or from already prepared tarballs.
24  * management of **patches** if some are required to compile on specific platforms (portage)
25  * management of the **environment** to set up at compile time and at runtime
26  * automatic **compilation** of the complete application (the application with all its products).
27  * production of a **launcher** that sets up the environment and starts the application
28  * management of **tests**: both unit and integration tests are managed
29  * **packaging**: creation of binary and/or source packages to distribute the application on various platforms
30  * **overwriting** the configuration in command line: it allows users setting easily their own preferences or options
31  
32 SAT uses **python**, and many of its strength come from its power and straightforwardness. It is compatible with both python2 and python3 versions.
33 SAT is a Command Line Interface (CLI_) based on python language. It is a suite of commands, which are detailed later in this documentation.
34 These commands are used to perform the operations on the application. SAT enables command completion by sourcing the provided complete_sat.sh script.
35
36 Like similar tool, SAT doesn't like modified environments, as this can cause conflicts while compiling products or using applications. It is recommended that SAT users run with a **clean environment**, especially for PATH, LD_LIBRARY_PATH and PYTHONPATH. ~/.bashrc file should be as thin as possible!
37
38
39 Documentation
40 =============
41
42 .. toctree::
43    :maxdepth: 2
44
45    Installation of SAT <installation_of_sat>
46    Using SAT <usage_of_sat>
47    Configuration <configuration>
48
49
50 List of Commands
51 ================
52
53 .. toctree::
54    :maxdepth: 1
55    
56    doc <commands/doc>
57    config <commands/config>
58    prepare <commands/prepare>
59    compile <commands/compile>
60    launcher <commands/launcher>
61    log <commands/log>
62    environ <commands/environ>
63    clean <commands/clean>
64    package <commands/package>
65    generate <commands/generate>
66    init <commands/init>
67    template <commands/template>
68    application <commands/application>
69    install <commands/install>
70
71
72 Release Notes
73 =============
74
75 .. toctree::
76    :maxdepth: 1
77
78    Release Notes 5.8.0 <release_notes/release_notes_5.8.0>
79    Release Notes 5.7.0 <release_notes/release_notes_5.7.0>
80    Release Notes 5.6.0 <release_notes/release_notes_5.6.0>
81    Release Notes 5.5.0 <release_notes/release_notes_5.5.0>
82    Release Notes 5.4.0 <release_notes/release_notes_5.4.0>
83    Release Notes 5.3.0 <release_notes/release_notes_5.3.0>
84    Release Notes 5.2.0 <release_notes/release_notes_5.2.0>
85    Release Notes 5.1.0 <release_notes/release_notes_5.1.0>
86    Release Notes 5.0.0 <release_notes/release_notes_5.0.0>
87