Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add creation of variant docs #113

Merged
merged 8 commits into from
Jan 9, 2024

Conversation

xxthunder
Copy link
Member

backup

Copy link

github-actions bot commented Jan 3, 2024

Test Results

42 tests   42 ✅  3m 5s ⏱️
 1 suites   0 💤
 1 files     0 ❌

Results for commit 327872c.

♻️ This comment has been updated with latest results.

@xxthunder xxthunder force-pushed the feature/target-SWE.1-report-SWE.6 branch 4 times, most recently from f91b678 to 6308d97 Compare January 4, 2024 08:07
@xxthunder xxthunder changed the title feat: new target for overall docs - SWE.1 SW requirements feat: add creation of variant docs Jan 4, 2024
@xxthunder xxthunder force-pushed the feature/target-SWE.1-report-SWE.6 branch 3 times, most recently from 9014896 to 63b230d Compare January 4, 2024 16:12
@xxthunder xxthunder self-assigned this Jan 4, 2024
@xxthunder xxthunder added enhancement New feature or request don't merge labels Jan 4, 2024
@xxthunder xxthunder force-pushed the feature/target-SWE.1-report-SWE.6 branch from 63b230d to 12cac27 Compare January 4, 2024 16:41
@cuinixam cuinixam force-pushed the feature/target-SWE.1-report-SWE.6 branch from 12cac27 to 642b15f Compare January 5, 2024 11:10
@xxthunder xxthunder force-pushed the feature/target-SWE.1-report-SWE.6 branch from 5353ef3 to f0e0caa Compare January 6, 2024 18:30
@cuinixam cuinixam force-pushed the feature/target-SWE.1-report-SWE.6 branch from bc4616a to fedd9f7 Compare January 8, 2024 15:48
@cuinixam cuinixam force-pushed the feature/target-SWE.1-report-SWE.6 branch from fedd9f7 to b5c8923 Compare January 8, 2024 15:53
@cuinixam cuinixam force-pushed the feature/target-SWE.1-report-SWE.6 branch from 8b1fb2d to 1cae615 Compare January 9, 2024 09:00
@cuinixam cuinixam force-pushed the feature/target-SWE.1-report-SWE.6 branch from df8278d to 0da12f4 Compare January 9, 2024 10:43
cookiecutter = {version="==2.1.1"}
gcovr = "*"
hammocking = "*"
kconfiglib = "*"

[dev-packages]
jinja2 = "*"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copied all dependencies from SPLED to make sure the docs and spl-core python integration tests are working.
Keep in mind that the integration tests are using the spl-core python venv, that is why we have to add so many dev dependencies.

@@ -1 +1,4 @@
📄 About
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Create extra chapter to avoid the long list of CHANGELOG entries in the main toc tree.

@@ -0,0 +1,19 @@
✨ Features
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This chapter describes the main spl-core features for the users.

@@ -4,25 +4,27 @@ Basic Concepts and Naming Conventions
What is a Software Product Line (SPL)?
--------------------------------------

An SPL is a software project that contains shared and configurable source code elements known as `components <https://engweb.marquardt.de/sple/spl-core/develop/getting_started/concepts.html#what-is-a-component>`_, which are used to develop several versions of a computer program, also known as `variants <https://engweb.marquardt.de/sple/spl-core/develop/getting_started/concepts.html#what-is-a-variant>`_.
An SPL is a software project that contains shared and configurable source code elements known as :ref:`components <what_is_a_component>`, which are used to develop several versions of a computer program, also known as :ref:`variants <what_is_a_variant>`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove all hardcoded references!

@@ -1,8 +1,9 @@
🔧 Reference
🛠️ Reference
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The old emoji was looking like a bone 😞

@@ -26,8 +26,7 @@ def configure(self, variant: Variant, build_kit: str = "prod"):
f" -B{self.workspace_artifacts.get_build_dir(variant, build_kit)}"
f" -G Ninja "
f" -DBUILD_KIT:STRING={build_kit}"
f" -DFLAVOR:STRING={variant.flavor}"
f" -DSUBSYSTEM:STRING={variant.subsystem}"
f" -DVARIANT:STRING={variant.to_string()}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SPL core needs to know about a variant. The flavor and subsystem information is obsolete.

@@ -4,25 +4,30 @@ verify_ssl = true
name = "pypi"

[packages]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy all dependencies from SPLED to get the documentation and integration tests working


")

# create the code coverage rst file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Create coverate rst file to be able to automatically link to the coverage/index.html

\"component_test_junit_xml\": \"${_component_test_junit_xml}\",
\"include_patterns\": [\"${_rel_component_doc_dir}/**\",\"${_rel_sphinx_output_dir}/**\"]
}")
\"component_info\": ${_component_info},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to store multiple keys for a component. All component relevant info is stored in component_info

set(_cov_out_html reports/html/${_rel_component_reports_out_dir}/coverage/index.html)
file(RELATIVE_PATH _cov_out_json ${CMAKE_CURRENT_BINARY_DIR} ${_component_coverage_json})
add_custom_command(
OUTPUT ${_cov_out_html}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the component report, one needs to generate the coverage/index.html inside the component report sphinx output directory. This will avoid the need to copy the coverage/* directory inside the component report sphinx output directory.

)

# No OUTPUT is defined to force execution of this target every time
add_custom_target(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to split the component doxygen generation target because it is required by both, the component and variant reports.

")

# Iterate over all components and create coverage and doxysphinx variant specific targets
foreach(component_info ${COMPONENTS_INFO})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For every component we need to create specific coverage and doxysphinx targets to make sure the output files are generate in the overall variant sphinx output directory. This will avoid the need to copy all the component coverage and doxygen files from the component directories to the variant directory.

Copy link
Contributor

@cuinixam cuinixam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🚀🤖

@cuinixam cuinixam merged commit c4b3b0a into develop Jan 9, 2024
4 checks passed
@cuinixam cuinixam deleted the feature/target-SWE.1-report-SWE.6 branch January 9, 2024 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants