diff --git a/README.md b/README.md index 4fae49c..da42618 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,75 @@ -# DaVinci Samples - -Welcome to **DaVinci Samples**, an open-source repository designed to help developers understand and adopt **DaVinci Configurator Classic Version 6** workflows more easily. - -## πŸ“Œ What is This Repository For? - -This repository provides sample resources to help you integrate DaVinci Configurator Classic Version 6 workflows: - -- **Ready-Set-Go-Scripts** demonstrating how DaVinci Configurator Classic Version 6 integrates into typical MICROSAR projects. - - Create a new DaVinci project and link additional workspaces. - - Project Import and Update -- **Project-Migration** - - Tool Migration (DaVinci Configurator, DaVinci Developer, vVIRTUALtarget) - - BSW-Package Migration Trigger - - Diagnostic Import - - Store User Code Blocks -- **Build-Starter** shows how to build and automate configurations using Bazel and modern build systems. You can leverage various Bazel rules depending on your build needs: - - Create a new DaVinci Project or reuse an existing one - - Execute EcuC-as-Code - - Project Import and Update - - Validate and generate the DaVinci Project - -## πŸ›  Requirements - -Always required: - -- Activated DaVinci Configurator Classic Version 6 License -- A valid MICROSAR BSW package - -If using scripts: - -- DaVinci Developer Classic (Release 4.17 SP2 or newer) -- DaVinci Team (Release 6.2 or newer) - -If using pipelines (if using Bazel): - -- Bazel by Google (see [.bazeliskrc](.bazeliskrc) for version) - -If using EcuC as Code: - -- EcuC-As-Code Development Kit - -## πŸš€ Getting Started - -1. Clone the repository: - - ```bash - git clone https://github.com/vectorgrp/davinci-samples.git - ``` - -2. Explore the samples: - - Navigate to the folder that matches your use case. -3. Follow the instructions in each folder’s README to get started. - -## πŸ“‚ Repository Structure - -```text -davinci-samples/ - β”œβ”€ build-starter/ # Bazel-based project setup example - β”œβ”€ project-migration/ # Project migration template as example workflow - β”œβ”€ ready-set-go-scripts/ # Ready-to-use scripts for quick workflow setup - β”œβ”€ .bazelrc # Bazel configuration file defining build options and settings - β”œβ”€ .editorconfig # Editor configuration for consistent coding styles across IDEs - β”œβ”€ .gitignore # Specifies files and directories to be ignored by Git - β”œβ”€ LICENSE # License information - β”œβ”€ MODULE.bazel # Bazel module definition for dependency management - β”œβ”€ MODULE.bazel.lock # Lock file for Bazel module dependencies to ensure reproducible builds - β”œβ”€ README.md # Main documentation for the repository - └─ SECURITY.md # Security policy -``` - -## πŸ“– Documentation - -Check the repository folders for step-by-step guides and explanations. - -[Learn more about DaVinci Configurator Classic Version 6.](https://help.vector.com/davinci-configurator-classic/en/current/index.html) +# DaVinci Samples + +Welcome to **DaVinci Samples**, an open-source repository designed to help developers understand and adopt **DaVinci Configurator Classic Version 6** workflows more easily. + +## πŸ“Œ What is This Repository For? + +This repository provides sample resources to help you integrate DaVinci Configurator Classic Version 6 workflows: + +- **Ready-Set-Go-Scripts** demonstrating how DaVinci Configurator Classic Version 6 integrates into typical MICROSAR projects. + - **davinci-workspace-setup**: Create a new DaVinci Project and link additional workspaces. Execute project import and update. + - **project-migration**: Project migration template as example workflow. +- **Project-Migration** + - Tool Migration (DaVinci Configurator, DaVinci Developer, vVIRTUALtarget) + - BSW-Package Migration Trigger + - Diagnostic Import + - Store User Code Blocks +- **Build-Starter** shows how to build and automate configurations using Bazel and modern build systems. You can leverage various Bazel rules depending on your build needs: + - Create a new DaVinci Project or reuse an existing one + - Execute EcuC-as-Code + - Project Import and Update + - Validate and generate the DaVinci Project + +## πŸ›  Requirements + +Always required: + +- Activated DaVinci Configurator Classic Version 6 License +- A valid MICROSAR BSW package + +If using scripts: + +- DaVinci Developer Classic (Release 4.17 SP2 or newer) +- DaVinci Team (Release 6.2 or newer) + +If using pipelines (if using Bazel): + +- Bazel by Google (see [.bazeliskrc](.bazeliskrc) for version) + +If using EcuC as Code: + +- EcuC-As-Code Development Kit + +## πŸš€ Getting Started + +1. Clone the repository: + + ```bash + git clone https://github.com/vectorgrp/davinci-samples.git + ``` + +2. Explore the samples: + - Navigate to the folder that matches your use case. +3. Follow the instructions in each folder’s README to get started. + +## πŸ“‚ Repository Structure + +```text +davinci-samples/ + β”œβ”€ build-starter/ # Bazel-based project setup example + β”œβ”€ ready-set-go-scripts/ # Ready-to-use scripts for quick workflow setup + β”œβ”€ .bazelrc # Bazel configuration file defining build options and settings + β”œβ”€ .editorconfig # Editor configuration for consistent coding styles across IDEs + β”œβ”€ .gitignore # Specifies files and directories to be ignored by Git + β”œβ”€ LICENSE # License information + β”œβ”€ MODULE.bazel # Bazel module definition for dependency management + β”œβ”€ MODULE.bazel.lock # Lock file for Bazel module dependencies to ensure reproducible builds + β”œβ”€ README.md # Main documentation for the repository + └─ SECURITY.md # Security policy +``` + +## πŸ“– Documentation + +Check the repository folders for step-by-step guides and explanations. + +[Learn more about DaVinci Configurator Classic Version 6.](https://help.vector.com/davinci-configurator-classic/en/current/index.html) diff --git a/ready-set-go-scripts/README.md b/ready-set-go-scripts/README.md index 513f441..8089611 100644 --- a/ready-set-go-scripts/README.md +++ b/ready-set-go-scripts/README.md @@ -3,53 +3,5 @@ ## πŸ“¦ What Does This Folder Contain? - **Ready-Set-Go-Scripts** demonstrating how DaVinci Configurator Classic integrates into typical MICROSAR projects. - - - Create a new DaVinci Project and link additional workspaces - - Project Import and Update - -## 🧩 Ready-Set-Go-Script Options - -- **DaVinci_WorkspaceSetup.bat** sets up and links DaVinci workspaces, and executes input file processing and updates. - - This script automates the creation and setup of DaVinci projects using both DaVinci Configurator Classic and DaVinci Developer Classic. - It ensures workspaces exist or creates them, links CFG6 and DEV workspaces, analyzes input files with EcuXPro derives ECU configuration, and updates the CFG6 project automatically. - Note: This script is for a non-variant project only! - - ```mermaid - flowchart TB - subgraph B["Step 1: Store variables"] - B1["Step 1.1: Ask user for tool installation paths"] - B2["Step 1.2: Project specifics"] - B3["Step 1.3: Tool-specific variables"] - B1 --> B2 --> B3 - end - subgraph C["Step 2: Check workspaces"] - C1["Ask for CFG6 workspace"] - C2["Ask for DEV workspace"] - end - A["Step 0: Initialize logging"] --> B - B --> C - C --> |"Workspaces do not exist "|D["Step 3: Create missing workspaces/projects"] - C --> |"Workspaces exist"|E - D --> E["Step 4: Convert and link DEV workspace to CFG6 workspace"] - E --> F["Step 5: Add DEV workspace reference to General.json"] - F --> G["Step 6: Analyze input files with EcuXPro"] - G --> H["Step 7: Execute extractSystemDesc.bat after path update"] - H --> I["Step 8: Derive ECUC from MergedECUExtract.arxml"] - I --> J["Step 9: Project update"] - J --> K["Step 10: Log completion"] - ``` - -## πŸš€ Getting Started with DaVinci_WorkspaceSetup.bat - -1. Set variables in Step 1 as needed. -2. Run the script by double-clicking or executing via command line. -3. Check the output (Log file: Output_Log.txt). - -## πŸͺ„ Tips - -- Always verify that installation paths are correct before running the script. -- Enclose paths in double quotes to handle spaces. -- Use the log file (Output_Log.txt) to debug any issues. -- This script assumes a basic understanding of AUTOSAR and DaVinci project structure. -- This script assumes either no CFG6 and/or DEV workspaces exist beforehand OR that the existing workspaces have never been linked before + - **davinci-workspace-setup**: Create a new DaVinci Project and link additional workspaces. Execute project import and update. + - **project-migration**: Project migration template as example workflow. diff --git a/ready-set-go-scripts/DaVinci_WorkspaceSetup.bat b/ready-set-go-scripts/davinci-workspace-setup/DaVinci_WorkspaceSetup.bat similarity index 100% rename from ready-set-go-scripts/DaVinci_WorkspaceSetup.bat rename to ready-set-go-scripts/davinci-workspace-setup/DaVinci_WorkspaceSetup.bat diff --git a/ready-set-go-scripts/davinci-workspace-setup/README.md b/ready-set-go-scripts/davinci-workspace-setup/README.md new file mode 100644 index 0000000..22ee962 --- /dev/null +++ b/ready-set-go-scripts/davinci-workspace-setup/README.md @@ -0,0 +1,46 @@ +# Ready-Set-Go-Script DaVinci Workspace Setup + +- **DaVinci_WorkspaceSetup.bat** sets up and links DaVinci workspaces, and executes input file processing and updates. + + This script automates the creation and setup of DaVinci projects using both DaVinci Configurator Classic and DaVinci Developer Classic. + It ensures workspaces exist or creates them, links CFG6 and DEV workspaces, analyzes input files with EcuXPro derives ECU configuration, and updates the CFG6 project automatically. + Note: This script is for a non-variant project only! + + ```mermaid + flowchart TB + subgraph B["Step 1: Store variables"] + B1["Step 1.1: Ask user for tool installation paths"] + B2["Step 1.2: Project specifics"] + B3["Step 1.3: Tool-specific variables"] + B1 --> B2 --> B3 + end + subgraph C["Step 2: Check workspaces"] + C1["Ask for CFG6 workspace"] + C2["Ask for DEV workspace"] + end + A["Step 0: Initialize logging"] --> B + B --> C + C --> |"Workspaces do not exist "|D["Step 3: Create missing workspaces/projects"] + C --> |"Workspaces exist"|E + D --> E["Step 4: Convert and link DEV workspace to CFG6 workspace"] + E --> F["Step 5: Add DEV workspace reference to General.json"] + F --> G["Step 6: Analyze input files with EcuXPro"] + G --> H["Step 7: Execute extractSystemDesc.bat after path update"] + H --> I["Step 8: Derive ECUC from MergedECUExtract.arxml"] + I --> J["Step 9: Project update"] + J --> K["Step 10: Log completion"] + ``` + +## πŸš€ Getting Started with DaVinci_WorkspaceSetup.bat + +1. Set variables in Step 1 as needed. +2. Run the script by double-clicking or executing via command line. +3. Check the output (Log file: Output_Log.txt). + +## πŸͺ„ Tips + +- Always verify that installation paths are correct before running the script. +- Enclose paths in double quotes to handle spaces. +- Use the log file (Output_Log.txt) to debug any issues. +- This script assumes a basic understanding of AUTOSAR and DaVinci project structure. +- This script assumes either no CFG6 and/or DEV workspaces exist beforehand OR that the existing workspaces have never been linked before diff --git a/project-migration/README.md b/ready-set-go-scripts/project-migration/README.md similarity index 93% rename from project-migration/README.md rename to ready-set-go-scripts/project-migration/README.md index e4d1618..764fcdb 100644 --- a/project-migration/README.md +++ b/ready-set-go-scripts/project-migration/README.md @@ -170,7 +170,8 @@ flowchart TD The BSW package migration in the GUI works the same way as it did in DvCfg5. To enable the diagnostic import afterwards, the following steps must be executed: -[BSW-Package migration 1](_images/sip_migration_1.png), [BSW-Package migration 2](_images/sip_migration_2.png) and [BSW-Package migration 3](_images/sip_migration_3.png). If in the following project load an error pops up, it is recommended to check the Output\Log\ProjectLoad\ModelMergeReport.sarif file. These errors are mostly merge errors caused by AUTOSAR elements being defined in multiple files. +[BSW-Package migration 1](_images/sip_migration_1.png), [BSW-Package migration 2](_images/sip_migration_2.png) and [BSW-Package migration 3](_images/sip_migration_3.png). If in the following project load an error pops up, it is recommended to check the Output\Log\ProjectLoad\ModelMergeReport.sarif file. These errors are mostly merge errors caused by AUTOSAR elements being defined in multiple files. The recommendation is to solve these conflicts manually to make sure everything is merged correct. A description on how to do this is given in the documentation: [Model Merge Behavior on Project Load](https://help.vector.com/davinci-configurator-classic/en/current/dvcfg-classic/6.2.3-SP2/configuration/projects/model-merge-on-project-load.html). In general it is also possible to solve the conflicts with the setting _"allowMergeConflicts": true_. If using this option it is still required to check the merge results to make sure all decisions were made correct. + After completing these steps, the BSW package migration is triggered, and the next step in the workflow can be executed. > For more information, see [Migrating Project to Newer BSW Package](https://help.vector.com/davinci-configurator-classic/en/current/dvcfg-classic/6.2-SP0/migration/bsw-migration.html) diff --git a/project-migration/__MasterWorkflow.ps1 b/ready-set-go-scripts/project-migration/__MasterWorkflow.ps1 similarity index 100% rename from project-migration/__MasterWorkflow.ps1 rename to ready-set-go-scripts/project-migration/__MasterWorkflow.ps1 diff --git a/project-migration/_config.ps1 b/ready-set-go-scripts/project-migration/_config.ps1 similarity index 100% rename from project-migration/_config.ps1 rename to ready-set-go-scripts/project-migration/_config.ps1 diff --git a/project-migration/_images/sip_migration_1.png b/ready-set-go-scripts/project-migration/_images/sip_migration_1.png similarity index 100% rename from project-migration/_images/sip_migration_1.png rename to ready-set-go-scripts/project-migration/_images/sip_migration_1.png diff --git a/project-migration/_images/sip_migration_2.png b/ready-set-go-scripts/project-migration/_images/sip_migration_2.png similarity index 100% rename from project-migration/_images/sip_migration_2.png rename to ready-set-go-scripts/project-migration/_images/sip_migration_2.png diff --git a/project-migration/_images/sip_migration_3.png b/ready-set-go-scripts/project-migration/_images/sip_migration_3.png similarity index 100% rename from project-migration/_images/sip_migration_3.png rename to ready-set-go-scripts/project-migration/_images/sip_migration_3.png diff --git a/project-migration/diag_import.ps1 b/ready-set-go-scripts/project-migration/diag_import.ps1 similarity index 100% rename from project-migration/diag_import.ps1 rename to ready-set-go-scripts/project-migration/diag_import.ps1 diff --git a/project-migration/dvcfg_migration.ps1 b/ready-set-go-scripts/project-migration/dvcfg_migration.ps1 similarity index 100% rename from project-migration/dvcfg_migration.ps1 rename to ready-set-go-scripts/project-migration/dvcfg_migration.ps1 diff --git a/project-migration/dvdevc_migration.ps1 b/ready-set-go-scripts/project-migration/dvdevc_migration.ps1 similarity index 100% rename from project-migration/dvdevc_migration.ps1 rename to ready-set-go-scripts/project-migration/dvdevc_migration.ps1 diff --git a/project-migration/misc/derive_ecuc.ps1 b/ready-set-go-scripts/project-migration/misc/derive_ecuc.ps1 similarity index 100% rename from project-migration/misc/derive_ecuc.ps1 rename to ready-set-go-scripts/project-migration/misc/derive_ecuc.ps1 diff --git a/project-migration/modules/MigrationHelpers.psm1 b/ready-set-go-scripts/project-migration/modules/MigrationHelpers.psm1 similarity index 100% rename from project-migration/modules/MigrationHelpers.psm1 rename to ready-set-go-scripts/project-migration/modules/MigrationHelpers.psm1 diff --git a/project-migration/open_dvcfg6_gui.ps1 b/ready-set-go-scripts/project-migration/open_dvcfg6_gui.ps1 similarity index 100% rename from project-migration/open_dvcfg6_gui.ps1 rename to ready-set-go-scripts/project-migration/open_dvcfg6_gui.ps1 diff --git a/project-migration/stop_dvcfg6_core.ps1 b/ready-set-go-scripts/project-migration/stop_dvcfg6_core.ps1 similarity index 100% rename from project-migration/stop_dvcfg6_core.ps1 rename to ready-set-go-scripts/project-migration/stop_dvcfg6_core.ps1 diff --git a/project-migration/store_user_code_blocks.ps1 b/ready-set-go-scripts/project-migration/store_user_code_blocks.ps1 similarity index 100% rename from project-migration/store_user_code_blocks.ps1 rename to ready-set-go-scripts/project-migration/store_user_code_blocks.ps1 diff --git a/project-migration/update_vtt.ps1 b/ready-set-go-scripts/project-migration/update_vtt.ps1 similarity index 100% rename from project-migration/update_vtt.ps1 rename to ready-set-go-scripts/project-migration/update_vtt.ps1