You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-34Lines changed: 1 addition & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,7 @@ Note that on POSIX platforms the Python 3 executable is called `python3`, while
21
21
Additionally, under POSIX, `pip3` is not installed per default, while under Windows it is installed with Python as `pip`.
22
22
To be compatible with Windows _(yes, that's the wrong way around - blame MS!)_, we currently need the `python` and `pip` symlinks point to `python3` and `pip3`_(or better `python3 -m pip`)_ respectively. Everything else may work, but has not been tested.
23
23
24
+
24
25
Note also that on current Windows versions [Microsoft hijacks](https://docs.microsoft.com/en-us/windows/python/faqs#why-does-running-pythonexe-open-the-microsoft-store) the `python` and `python3` executables.
If you have the `conan-config` package installed (MeVisLab internal only, see README.md in the main MeVisLab directory), you can instead use:
51
-
```
52
-
cd recipes/<recipe_name>
53
-
conan tp:build .
54
-
```
55
-
to build both the debug and release packages.
56
-
57
-
58
51
To fetch the package sources (includes applying patches):
59
52
```
60
53
cd recipes/<recipe_name>
61
54
conan source .
62
55
```
63
-
64
-
65
-
## Jenkins Integration
66
-
67
-
### Pipeline Description
68
-
There are mainly two Jenkins files that control the build of all thirdparty libraries and tools: `Jenkinsfile` and `JenkinsfileLibrary` (both in the repository root). The first file parses `build_configuration.yml` and triggers the sequential build of all tiers, starting with tier0. For further details see the chapter _Build Configuration_.
69
-
70
-
The conan package system is written in a way that it checks if the package itself or one of its dependencies has been changed since the last successful build. If nothing has changed, then the build and archiving step is skipped.
71
-
Since even this check takes a certain amount of time, an additional optimization has been implemented. All changed files are collected since the last successful build of the complete thirdparty/branch build. And only those directly affected projects and the tiers below are triggered to be rebuild. This shortens the build time enormously. If one of the files `Jenkinsfile`, `JenkinsfileLibrary`, or `build_configuration.yml` is part of any changeset, then this optimization is skipped and all tiers with all projects are build.
72
-
73
-
### Build Configuration
74
-
The build configuration is described in the `build_configuration.yml` file, which references all the libraries and tools needed to build MeVisLab.
75
-
Organizing the dependencies can be very tedious and cumbersome, especially when attempting to describe the smallest possible dependency graph.
76
-
To simplify this, dependencies are broken down into different tiers, with the content of each tier organized according to the dependencies of the individual libraries and tools.
77
-
For instance, if library A depends on another library B, then B must be referenced in one of the upper tiers (e.g. a tier with a lower number).
78
-
79
-
The build of each library and tool for all specified platforms and build types must finish within a defined time frame. There is a default timeout that is used for all packages.
80
-
However, if a certain package requires significantly more time, there is the possibility to define a timeout exception.
81
-
82
-
These are the parameters that are defined in the file:
83
-
84
-
| Parameter | Description |
85
-
| --------- | ------------|
86
-
| timeout_default: | Default time in minutes for all packages not specified otherwise |
87
-
| timeout_exception: | A map of all packages with their individual timeouts |
88
-
| tiers: | An ordered list of all tiers, starting with tier0 |
0 commit comments