summaryrefslogtreecommitdiffstats
path: root/coin/instructions/cmake_documentation_build.yaml
blob: 2675e63c48f0d8dacfa0c54d94421e0c5ef5f650 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
type: Group
instructions:
  - type: ChangeDirectory
    directory: "{{.SourceDir}}"
  # If documentation feature is present, Coin installs top-level documentation
  # built by product(qt5) build into <module_name>_doc_build/doc. Coin will
  # silently omit installing the top-level documentations if not built by the product.
  - type: ExecuteCommand
    command: "rsync -a {{.SourceDir}}_doc_build/doc {{.SourceDir}}"
    maxTimeInSeconds: 300
    maxTimeBetweenOutput: 300
    userMessageOnFailure: Failed to copy top-level docs to build dir.
  # Filter list is created to exclude everything else than the
  # generated documentation from the documentation archive.
  - type: CreateFileListFromDirectory
    directory: "{{.SourceDir}}/doc"
    filterListFileName: "doc_build_filter"
    userMessageOnFailure: "Failed to create filter list for docs"
  - type: ExecuteCommand
    command: "{{.Env.ENV_PREFIX}} cmake --build . --target docs -v"
    maxTimeInSeconds: 6000
    maxTimeBetweenOutput: 1200
    userMessageOnFailure: Failed to generate documentation.
  - type: UploadArtifact
    archiveDirectory: "{{.SourceDir}}/doc"
    transferType: UploadModuleDocumentation
    filterListFileName: "doc_build_filter"
    maxTimeInSeconds: 1200
    maxTimeBetweenOutput: 1200
enable_if:
  condition: and
  conditions:
  - condition: property
    property: features
    contains_value: Documentation
  - condition: runtime
    env_var: BUILD_DOCUMENTATION
    not_equals_value: null