-
Notifications
You must be signed in to change notification settings - Fork 0
Project Migration Scripts Deprecated #5
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
Open
WalterOrl
wants to merge
1
commit into
main
Choose a base branch
from
scripts_update
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,227 +1,28 @@ | ||
| # Migration Template | ||
| # 📦 Migration Template (Deprecated) | ||
|
|
||
| This repository provides an example of what the migration of a DaVinci Configurator 5 (DvCfg5) project can look like. | ||
| With the release of **DaVinci Configurator Classic 6.3**, we introduced a new tool called **DaVinci Assistant**. | ||
|
|
||
| The steps described here do not represent a universal procedure for migrating any arbitrary DvCfg5 project. Some fundamental steps - such as tool or BSW package migration - can certainly be reused. However, additional or modified steps may be required depending on the specific project context. | ||
| In particular, the migration of the BSW package (SIP) from R34 to R35 is only initiated here. The actual migration still needs to be performed manually as before. | ||
| ## 🚀 DaVinci Assistant | ||
|
|
||
| > All steps mentioned here are described in more detail in the official tool documentation: [Documentation - DaVinci Configurator Classic 6](https://help.vector.com/davinci-configurator-classic/en/current/dvcfg-classic/6.2-SP0/index.html). | ||
| The **dvassistant** has fully taken over the functionality previously provided by the scripts in this folder. | ||
| As a result, these scripts have been **removed**. | ||
|
|
||
| ## 📦 What Does This Folder Contain? | ||
| ### ✅ Why dvassistant? | ||
|
|
||
| - **\_config.ps1**: Sets the user-defined paths required for the migration. | ||
| - **\_\_MasterWorkflow.ps1**: Starts the overall migration workflow. | ||
| Using **dvassistant**, migrations can now be executed: | ||
|
|
||
| ## 🚀 Getting Started | ||
| - with a **clean and user-friendly interface** | ||
| - in a **more automated and reliable way** | ||
| - with **improved user handling** compared to the legacy scripts | ||
|
|
||
| 1. Set the workspace and user‑specific variables in **\_config.ps1**. | ||
| 2. Run the **\_\_MasterWorkflow.ps1** script in PowerShell. | ||
| 3. Go through the workflow step by step by entering the ID of the required step. | ||
| ## 📖 Documentation | ||
|
|
||
| > [!IMPORTANT] | ||
| > | ||
| > - Steps that are not needed and not always required can be skipped. | ||
| > - Changing the execution order of steps may cause errors in the workflow. | ||
| > - Steps can be marked as not completed again by entering the ID of a step that has already been completed. | ||
| > - in \_config.ps1 it is expected that the DCF has the same name as the DPA/DVJSON. | ||
| For further details, usage instructions, and examples, please refer to the official documentation: | ||
|
|
||
| ## 🛠 Requirements | ||
| 👉 **[DaVinci Assistant - Documentation](https://help.vector.com/davinci-configurator-classic/en/latest/user-manual/migration/version-5/guided-migration.html#_davinci_assistant)** | ||
|
|
||
| - [DaVinci Configurator Version 6.2.1](https://www.vector.com/de/de/download/davinci-configurator-classic-6-2-1/) or higher | ||
| - [DaVinci Developer Version 4.17 (SP2)](https://www.vector.com/de/de/download/davinci-developer-classic-4-17-45-sp2/) or higher | ||
| - [vVIRTUALtarget 9 (SP5)](https://www.vector.com/de/de/download/vvirtualtarget-windows-9-sp5/) or higher | ||
| - R35 BSW package | ||
| - Diagnostic file is a CDD (for ODX-based projects, only the diagnostic import step needs to be adapted) | ||
| - Invariant project (for variant projects, only the diagnostic import step needs to be adapted) | ||
| --- | ||
|
|
||
| ## 🧩 Migration Workflow | ||
|
|
||
| ### High-Level Workflow | ||
|
|
||
| ```mermaid | ||
| %%{init: { | ||
| "theme": "base", | ||
| "flowchart": { | ||
| "htmlLabels": false, /* Pfeile/Marker docken an die echte Box (SVG) */ | ||
| "wrap": true, /* automatischer Zeilenumbruch */ | ||
| "padding": 12, /* Innenabstand im Knoten */ | ||
| "arrowMarkerAbsolute": true /* stabile Pfeilspitzen */ | ||
| } | ||
| }}%% | ||
|
|
||
| flowchart LR | ||
| classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFF; | ||
|
|
||
| A["Tool Migration</br>(DaVinci Configurator, DaVinci Developer and vVirtualtarget)"] | ||
| B["BSW-Package (SIP) Migration</br>R34 → R35"] | ||
| C["Diagnostic Import"] | ||
| D["Store User Code Blocks"] | ||
| class A,B,C,D step; | ||
|
|
||
| A --> B --> C --> D | ||
| click A "https://github.com/vectorgrp/davinci-samples/blob/main/project-migration/README.md#tool-migration" | ||
| click B "https://github.com/vectorgrp/davinci-samples/blob/main/project-migration/README.md#bsw-package-sip-migration" | ||
| click C "https://github.com/vectorgrp/davinci-samples/blob/main/project-migration/README.md#diagnostic-import" | ||
| click D "https://github.com/vectorgrp/davinci-samples/blob/main/project-migration/README.md#store-user-code-blocks" | ||
| ``` | ||
|
|
||
| ## Tool Migration | ||
|
|
||
| The tool migration is divided into the migration of DaVinci Configurator 6 (DvCfg6), DaVinci Developer (DvDev), and vVIRTUALtarget (VTT). | ||
| During the DvCfg6 migration, a new project folder containing the new project file [dvjson](https://help.vector.com/davinci-configurator-classic/en/current/dvcfg-classic/6.2-SP0/migration/pro-project-migration.html#_resulting_configuration_files_structure) is created. The name of the DvCfg6 project is derived from the DvCfg5 project (DPA name). | ||
| The new project folder also follows a revised directory structure, which is described in more detail [here](https://help.vector.com/davinci-configurator-classic/en/current/dvcfg-classic/6.2-SP0/migration/pro-project-migration.html#_resulting_project_directory_structure). The content previously stored in the DPA file is now represented in the dvjson format and split across multiple JSON files. This results in significantly improved readability, easier tracking, and more efficient handling of configuration settings. | ||
|
|
||
| In the context of DvDev, we refer more to a conversion rather than a migration. This conversion is necessary to prepare the entire project for the new interaction model between DvCfg6 and DvDev (for more information, see [Interactions with DaVinci Developer Classic](https://help.vector.com/davinci-configurator-classic/en/current/dvcfg-classic/6.2-SP0/migration/critical-changes.html#_interactions_with_davinci_developer_classic)). In the context of VTT, we refer to this step as an update (for more information, see [Update a vVIRTUALtarget Project or a VTTMAKE File](https://help.vector.com/vVIRTUALtarget/9.5/en/Help/Content/Topics/General/AUTOSARClassicECUs/vVIRTUALtargetMigrationDPAtoDVJSON.htm?Highlight=configurator%206)). | ||
|
|
||
| ### DaVinci Configurator 6 Migration | ||
|
|
||
| After running the dvcfg_migration.ps1 script (which executes project-migration.exe), it is very important to check the DVCFG_migration.log for errors. | ||
| To avoid follow‑up errors, these issues should be fixed whenever possible. | ||
| In addition to the DVCFG_migration.log, the ModelMergeReport.sarif (located at Output\Log\ProjectLoad\) can also be very helpful. | ||
| After fixing an error, a derive must be executed so that the tool becomes aware of the correction for subsequent steps. | ||
| An example script is provided in the misc folder and must be executed separately from the MasterWorkflow. | ||
|
|
||
| ```mermaid | ||
| flowchart TD | ||
| classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFF; | ||
|
|
||
| A["project-migration.exe"] | ||
| B["DVCFG_migration.log"] | ||
| C["Errors?"] | ||
| Y["yes"] | ||
| N["no"] | ||
| S["check SARIF file and fix errors"] | ||
| M["misc/_derive_ecuc.ps1"] | ||
|
|
||
| subgraph Z[" "] | ||
| D["DvCfg migration done"] | ||
| end | ||
|
|
||
| style Z fill:transparent,stroke:none,stroke-width:0,color:transparent | ||
| class A,B,C,D,N,D,Y,S,M step; | ||
| A --> B --> C --> N --> D | ||
| C --> Y --> S --> M --> C | ||
| ``` | ||
|
|
||
| > For more information, see [Migrating Projects to DaVinci Configurator Classic Version 6](https://help.vector.com/davinci-configurator-classic/en/current/dvcfg-classic/6.2-SP0/migration/project-migration.html) | ||
|
|
||
| ### DaVinci Developer Conversation | ||
|
|
||
| The link refers to the newly created dvjson file inside the DCF. | ||
|
|
||
| ```mermaid | ||
| flowchart TD | ||
| classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF; | ||
|
|
||
| A["link dvjson in dcf"] | ||
| B["convert dvdevc workspace"] | ||
| class A,B step; | ||
|
|
||
| A --> B | ||
| ``` | ||
|
|
||
| > For more information, see [Workspace Conversion](https://help.vector.com/davinci-developer-classic/current/en/help/html/index.html?page=workspace_conversion) | ||
|
|
||
| ### Migrate VTT Project | ||
|
|
||
| This will create a VTT folder inside the Config directory. A backup file will also be created in the DvCfg5 project. | ||
|
|
||
| ```mermaid | ||
| flowchart TD | ||
| classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF; | ||
|
|
||
| A["update vVIRTUALtarget"] | ||
| class A step; | ||
| ``` | ||
|
|
||
| > For more information, see [Update a vVIRTUALtarget Project or a VTTMAKE File](https://help.vector.com/vVIRTUALtarget/9.5/en/Help/Content/Topics/General/AUTOSARClassicECUs/vVIRTUALtargetMigrationDPAtoDVJSON.htm?Highlight=configurator%206) | ||
|
|
||
| ## BSW-Package (SIP) Migration | ||
|
|
||
| The migration is only triggered as part of the shown workflow. The well‑known SIP migration from previous releases still needs to be performed manually. | ||
|
|
||
| ```mermaid | ||
| flowchart TD | ||
| classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF; | ||
| A["open dvcfg6 gui"] | ||
| B["Do SIP migration steps in dvcfg6 GUI"] | ||
| C["Errors?"] | ||
| N["no"] | ||
| Y["yes"] | ||
| S["check SARIF file and fix errors"] | ||
| R["close and open dvcfg6 gui"] | ||
|
|
||
| subgraph Z[" "] | ||
| D["Project should load successfull"] | ||
| end | ||
|
|
||
| style Z fill:transparent,stroke:none,stroke-width:0,color:transparent | ||
| class A,B,C,D,N,Y,N,S,R step; | ||
|
|
||
| A --> B | ||
| B --> C | ||
| C --> Y | ||
| S --> R | ||
| R --> C | ||
| C --> N | ||
| N --> D | ||
| Y --> S | ||
| ``` | ||
|
|
||
| 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. 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) | ||
|
|
||
| ## Diagnostic Import | ||
|
|
||
| The diagnostic import workflow shown here is only an example. Other workflows - such as generating and converting the CDD file using the [DaVinci-AUTOSAR-JSON (DVARJSON)](https://help.vector.com/davinci-configurator-classic/en/current/davinci-autosar-json/6.2-SP0/index.html) - are also possible. Alternatively, these steps can be performed manually with the support of the [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=VectorGroup.dvarjson). All these different methods ultimately achieve the same result. | ||
|
|
||
| ```mermaid | ||
| flowchart TD | ||
|
|
||
| classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF; | ||
|
|
||
| A["get pre processing data</br>(file_preprocessing_data.json)"] | ||
| B["generate DDM controll file"] | ||
| C["convert CDD to ARXML"] | ||
| D["import diagnostic-modules (arxml) in dvcfg"] | ||
|
|
||
| class A,B,C,D step; | ||
|
|
||
| A --> B --> C --> D | ||
| ``` | ||
|
|
||
| The file_preprocessing_data.json file is generated by project-migration.exe. | ||
| It stores the preprocessed information of the DPA project. For example, the name of the ECU Instance used in the DvCfg5 project is stored there. | ||
| If the project contains variants, both the extraction of this information from the JSON file and the storage of it in the control file must be adapted accordingly. | ||
| Once these adjustments are made, the diagnostic import can also be executed for variant projects. | ||
|
|
||
| ## Store User Code Blocks | ||
|
|
||
| Starting with DvCfg6, user code blocks are no longer managed automatically during source file generation. Instead, you now have full control through the DaVinci User Code Tool (DvUCT). | ||
| Storing the UCBs is only one part of the process. For the actual usage of user code after code generation, it is also necessary to restore the UCBs afterwards. | ||
|
|
||
| ```mermaid | ||
| flowchart TD | ||
| classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF; | ||
|
|
||
| A["store user code blocks"] | ||
| class A step; | ||
| ``` | ||
|
|
||
| > For more information, see [Generate Source Files with Custom User Code Blocks](https://help.vector.com/davinci-configurator-classic/en/current/dvcfg-classic/6.2-SP0/generation/user-code-handling.html) | ||
|
|
||
| ## What project can be migrated directly with this template? | ||
|
|
||
| - A DvCfg5 project that uses a DaVinci Developer Classic workspace | ||
| - A DvCfg5 project that does not use a DaVinci Developer Classic workspace | ||
| - A DvCfg5 project that uses vVIRTUALtarget | ||
| - A DvCfg5 project that does not use vVIRTUALtarget | ||
| - A DvCfg5 project that uses a CDD file for the diagnostic modules | ||
| - A DvCfg5 project that uses no diagnostic modules | ||
|
|
||
| For other kind of projects these steps need to be adapted individual or further steps need to be added. | ||
| > ⚠️ **Note** | ||
| > This repository is kept for reference purposes only. | ||
| > Please use **dvassistant** for all future migrations. | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
its only stated that DaVinci assistant does what has previously been done by some scripts.
there is no description what DaVinci assistant actually does.