coin: Add instructions to generate docs during testing
A single configuration provides qdoc and qtattributionsscanner via provisioning. The environment variables instruct QDoc to run in testing mode; it ignores linking warnings (since we don't have .index files for external documentation modules) and terminates with non-zero exit code if documentation warnings exceed the limit set in the documentation config. The provisioned binaries are portable, packaged together with their dependencies. As they are installed under /opt, the instructions create symlinks to the binaries in the install directory before building the 'generate_docs' target. Pick-to: 6.2 Task-number: QTBUG-78069 Fixes: QTBUG-95554 Change-Id: I4a4765250247e2fc6eddd153c36cf8126ddd10ae Reviewed-by: Paul Wicking <paul.wicking@qt.io>
This commit is contained in:
parent
bcf3f63d52
commit
439f6c9576
36
coin/instructions/coin_module_test_docs.yaml
Normal file
36
coin/instructions/coin_module_test_docs.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QDOC_NOLINKERRORS
|
||||
variableValue: 1
|
||||
- type: EnvironmentVariable
|
||||
variableName: QDOC_ENABLE_WARNINGLIMIT
|
||||
variableValue: 1
|
||||
- type: SetBuildDirectory
|
||||
directory: "{{.SourceDir}}"
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}"
|
||||
- type: ExecuteCommand
|
||||
command: "cp -rfs /opt/qt-doctools/. {{.InstallDir}}"
|
||||
userMessageOnFailure: >
|
||||
Failed to create links to provisioned binaries.
|
||||
- type: EnvironmentVariable
|
||||
variableName: COIN_CMAKE_ARGS
|
||||
variableValue: "-DQT_BUILD_TESTS=OFF {{.SourceDir}}"
|
||||
- !include "{{qt/qtbase}}/call_cmake.yaml"
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} cmake --build . --target generate_docs -v"
|
||||
ignoreExitCode: false
|
||||
maxTimeInSeconds: 1800
|
||||
maxTimeBetweenOutput: 900
|
||||
userMessageOnFailure: >
|
||||
Documentation check failed, see the log for details.
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: features
|
||||
contains_value: "TestDocs"
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
39
coin/instructions/coin_qtbase_test_docs.yaml
Normal file
39
coin/instructions/coin_qtbase_test_docs.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
type: Group
|
||||
instructions:
|
||||
- type: EnvironmentVariable
|
||||
variableName: QDOC_NOLINKERRORS
|
||||
variableValue: 1
|
||||
- type: EnvironmentVariable
|
||||
variableName: QDOC_ENABLE_WARNINGLIMIT
|
||||
variableValue: 1
|
||||
- type: SetBuildDirectory
|
||||
directory: "{{.SourceDir}}"
|
||||
- type: ChangeDirectory
|
||||
directory: "{{.BuildDir}}"
|
||||
- type: ExecuteCommand
|
||||
command: "cp -rfs /opt/qt-doctools/. {{.InstallDir}}"
|
||||
userMessageOnFailure: >
|
||||
Failed to create links to provisioned binaries.
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} cmake {{.Env.CONFIGURE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{.InstallDir}} -DQT_BUILD_TESTS=OFF {{.SourceDir}}"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
maxTimeInSeconds: 6000
|
||||
maxTimeBetweenOutput: 1200
|
||||
userMessageOnFailure: >
|
||||
Failed to call cmake.
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.ENV_PREFIX}} cmake --build . --target generate_docs -v"
|
||||
ignoreExitCode: false
|
||||
maxTimeInSeconds: 1800
|
||||
maxTimeBetweenOutput: 900
|
||||
userMessageOnFailure: >
|
||||
Documentation check failed, see the log for details.
|
||||
enable_if:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: property
|
||||
property: features
|
||||
contains_value: "TestDocs"
|
||||
- condition: property
|
||||
property: host.os
|
||||
equals_property: target.os
|
@ -10,3 +10,4 @@ instructions:
|
||||
|
||||
Test:
|
||||
- !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml"
|
||||
- !include "{{qt/qtbase}}/coin_qtbase_test_docs.yaml"
|
||||
|
Loading…
x
Reference in New Issue
Block a user