mirror of
https://github.com/apple/pkl.git
synced 2026-03-25 02:21:11 +01:00
Aggregate junit report into one file (#1056)
Some systems require junit report to be in a single file. For example `bazel` https://bazel.build/reference/test-encyclopedia needs single file to be available in `XML_OUTPUT_FILE` path. To avoid implementing junit aggregation in pkl wrappers in different places this PR instead adds a `--junit-aggregate-reports` flag to return all junit reports as a single file. Additional flag `--junit-aggregate-suite-name` is added to allow overriding global test suite name from default `pkl-tests`
This commit is contained in:
@@ -465,9 +465,31 @@ Default: (none) +
|
||||
Example: `./build/test-results` +
|
||||
Directory where to store JUnit reports.
|
||||
|
||||
By default, one file will be created for each test module. This behavior can be changed with `--junit-aggregate-reports`, which will instead create a single JUnit report file with all test results.
|
||||
|
||||
No JUnit reports will be generated if this option is not present.
|
||||
====
|
||||
|
||||
[[junit-aggregate-reports]]
|
||||
.--junit-aggregate-reports
|
||||
[%collapsible]
|
||||
====
|
||||
Aggregate JUnit reports into a single file.
|
||||
|
||||
By default it will be `pkl-tests.xml` but you can override it using `--junit-aggregate-suite-name` flag.
|
||||
====
|
||||
|
||||
[[junit-aggregate-suite-name]]
|
||||
.--junit-aggregate-suite-name
|
||||
[%collapsible]
|
||||
====
|
||||
Default: (none) +
|
||||
Example: `my-tests` +
|
||||
The name of the root JUnit test suite.
|
||||
|
||||
Used in combination with `--junit-aggregate-reports` flag.
|
||||
====
|
||||
|
||||
[[overwrite]]
|
||||
.--overwrite
|
||||
[%collapsible]
|
||||
@@ -555,6 +577,26 @@ Directory where to store JUnit reports.
|
||||
No JUnit reports will be generated if this option is not present.
|
||||
====
|
||||
|
||||
[[junit-aggregate-reports]]
|
||||
.--junit-aggregate-reports
|
||||
[%collapsible]
|
||||
====
|
||||
Aggregate JUnit reports into a single file.
|
||||
|
||||
By default it will be `pkl-tests.xml` but you can override it using `--junit-aggregate-suite-name` flag.
|
||||
====
|
||||
|
||||
[[junit-aggregate-suite-name]]
|
||||
.--junit-aggregate-suite-name
|
||||
[%collapsible]
|
||||
====
|
||||
Default: (none) +
|
||||
Example: `my-tests` +
|
||||
The name of the root JUnit test suite.
|
||||
|
||||
Used in combination with `--junit-aggregate-reports` flag.
|
||||
====
|
||||
|
||||
.--overwrite
|
||||
[%collapsible]
|
||||
====
|
||||
|
||||
@@ -195,7 +195,7 @@ Example 1: `multipleFileOutputDir = layout.projectDirectory.dir("output")` +
|
||||
Example 2: `+multipleFileOutputDir = layout.projectDirectory.file("%{moduleDir}/output")+`
|
||||
The directory where a module's output files are placed.
|
||||
|
||||
Setting this option causes Pkl to evaluate a module's `output.files` property
|
||||
Setting this option causes Pkl to evaluate a module's `output.files` property
|
||||
and write the files specified therein.
|
||||
Within `output.files`, a key determines a file's path relative to `multipleFileOutputDir`,
|
||||
and a value determines the file's contents.
|
||||
@@ -207,7 +207,7 @@ This option cannot be used together with any of the following:
|
||||
|
||||
This option supports the same placeholders as xref:output-file[outputFile].
|
||||
|
||||
For additional details, see xref:language-reference:index.adoc#multiple-file-output[Multiple File Output]
|
||||
For additional details, see xref:language-reference:index.adoc#multiple-file-output[Multiple File Output]
|
||||
in the language reference.
|
||||
====
|
||||
|
||||
@@ -298,6 +298,22 @@ Example: `junitReportsDir = layout.buildDirectory.dir("reports")` +
|
||||
Whether and where to generate JUnit XML reports.
|
||||
====
|
||||
|
||||
[[junit-aggregate-reports]]
|
||||
.junitAggregateReports: Property<Boolean>
|
||||
[%collapsible]
|
||||
====
|
||||
Default: `false` +
|
||||
Aggregate JUnit reports into a single file.
|
||||
====
|
||||
|
||||
[[junit-aggregate-suite-name]]
|
||||
.junitAggregateSuiteName: Property<String>
|
||||
[%collapsible]
|
||||
====
|
||||
Default: `null` +
|
||||
The name of the root JUnit test suite.
|
||||
====
|
||||
|
||||
[[overwrite]]
|
||||
.overwrite: Property<Boolean>
|
||||
[%collapsible]
|
||||
@@ -391,7 +407,7 @@ For Spring Boot applications, and for users of `pkl-config-java` compiling the g
|
||||
Default: `"org.pkl.config.java.mapper.NonNull"` +
|
||||
Example: `nonNullAnnotation = "org.project.MyAnnotation"` +
|
||||
Fully qualified name of the annotation type to use for annotating non-null types. +
|
||||
The specified annotation type must be annotated with `@java.lang.annotation.Target(ElementType.TYPE_USE)`
|
||||
The specified annotation type must be annotated with `@java.lang.annotation.Target(ElementType.TYPE_USE)`
|
||||
or the generated code may not compile.
|
||||
====
|
||||
|
||||
@@ -431,7 +447,7 @@ build.gradle.kts::
|
||||
+
|
||||
[source,kotlin]
|
||||
----
|
||||
pkl {
|
||||
pkl {
|
||||
kotlinCodeGenerators {
|
||||
register("genKotlin") {
|
||||
sourceModules.addAll(files("Template1.pkl", "Template2.pkl"))
|
||||
|
||||
Reference in New Issue
Block a user