Skip to content

Commit 6ee3a83

Browse files
authored
Project Migration Scripts Deprecated (#5)
1 parent 694f258 commit 6ee3a83

17 files changed

Lines changed: 24 additions & 837 deletions

README.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@ This repository provides sample resources to help you integrate DaVinci Configur
88

99
- **Ready-Set-Go-Scripts** demonstrating how DaVinci Configurator Classic Version 6 integrates into typical MICROSAR projects.
1010
- **davinci-workspace-setup**: Create a new DaVinci Project and link additional workspaces. Execute project import and update.
11-
- **project-migration**: Project migration template as example workflow.
12-
- **Project-Migration**
13-
- Tool Migration (DaVinci Configurator, DaVinci Developer, vVIRTUALtarget)
14-
- BSW-Package Migration Trigger
15-
- Diagnostic Import
16-
- Store User Code Blocks
1711
- **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:
1812
- Create a new DaVinci Project or reuse an existing one
1913
- Execute EcuC-as-Code

ready-set-go-scripts/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44

55
- **Ready-Set-Go-Scripts** demonstrating how DaVinci Configurator Classic integrates into typical MICROSAR projects.
66
- **davinci-workspace-setup**: Create a new DaVinci Project and link additional workspaces. Execute project import and update.
7-
- **project-migration**: Project migration template as example workflow.
7+
- **project-migration (Deprecated)**: The **dvassistant** has fully taken over the functionality previously provided by the scripts in this folder.
Lines changed: 23 additions & 214 deletions
Original file line numberDiff line numberDiff line change
@@ -1,227 +1,36 @@
1-
# Migration Template
1+
# 📦 Migration Template (Deprecated)
22

3-
This repository provides an example of what the migration of a DaVinci Configurator 5 (DvCfg5) project can look like.
3+
With the release of **DaVinci Configurator Classic 6.3**, we introduced a new tool called **DaVinci Assistant**.
44

5-
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.
6-
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.
5+
## 🚀 DaVinci Assistant
76

8-
> 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).
7+
The **dvassistant** has fully taken over the functionality previously provided by the scripts in this folder.
8+
As a result, these scripts have been **removed**.
99

10-
## 📦 What Does This Folder Contain?
10+
DaVinci Assistant is a CLI Tool that provides a guided migration process that walks you through the following migration steps:
1111

12-
- **\_config.ps1**: Sets the user-defined paths required for the migration.
13-
- **\_\_MasterWorkflow.ps1**: Starts the overall migration workflow.
12+
- Update Project Structure
13+
- Update BSW Package
14+
- Update Data Files
15+
- Update User Code Blocks
16+
- Update Tool Links
1417

15-
## 🚀 Getting Started
18+
### ✅ Why dvassistant?
1619

17-
1. Set the workspace and user‑specific variables in **\_config.ps1**.
18-
2. Run the **\_\_MasterWorkflow.ps1** script in PowerShell.
19-
3. Go through the workflow step by step by entering the ID of the required step.
20+
Using **dvassistant**, migrations can now be executed:
2021

21-
> [!IMPORTANT]
22-
>
23-
> - Steps that are not needed and not always required can be skipped.
24-
> - Changing the execution order of steps may cause errors in the workflow.
25-
> - Steps can be marked as not completed again by entering the ID of a step that has already been completed.
26-
> - in \_config.ps1 it is expected that the DCF has the same name as the DPA/DVJSON.
22+
- with a **clean and user-friendly interface**
23+
- in a **more automated and reliable way**
24+
- with **improved user handling** compared to the legacy scripts
2725

28-
## 🛠 Requirements
26+
## 📖 Documentation
2927

30-
- [DaVinci Configurator Version 6.2.1](https://www.vector.com/de/de/download/davinci-configurator-classic-6-2-1/) or higher
31-
- [DaVinci Developer Version 4.17 (SP2)](https://www.vector.com/de/de/download/davinci-developer-classic-4-17-45-sp2/) or higher
32-
- [vVIRTUALtarget 9 (SP5)](https://www.vector.com/de/de/download/vvirtualtarget-windows-9-sp5/) or higher
33-
- R35 BSW package
34-
- Diagnostic file is a CDD (for ODX-based projects, only the diagnostic import step needs to be adapted)
35-
- Invariant project (for variant projects, only the diagnostic import step needs to be adapted)
28+
For further details, usage instructions, and examples, please refer to the official documentation:
3629

37-
## 🧩 Migration Workflow
30+
👉 **[DaVinci Assistant - Documentation](https://help.vector.com/davinci-configurator-classic/en/latest/user-manual/migration/version-5/guided-migration.html#_davinci_assistant)**
3831

39-
### High-Level Workflow
32+
---
4033

41-
```mermaid
42-
%%{init: {
43-
"theme": "base",
44-
"flowchart": {
45-
"htmlLabels": false, /* Pfeile/Marker docken an die echte Box (SVG) */
46-
"wrap": true, /* automatischer Zeilenumbruch */
47-
"padding": 12, /* Innenabstand im Knoten */
48-
"arrowMarkerAbsolute": true /* stabile Pfeilspitzen */
49-
}
50-
}}%%
51-
52-
flowchart LR
53-
classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFF;
54-
55-
A["Tool Migration</br>(DaVinci Configurator, DaVinci Developer and vVirtualtarget)"]
56-
B["BSW-Package (SIP) Migration</br>R34 → R35"]
57-
C["Diagnostic Import"]
58-
D["Store User Code Blocks"]
59-
class A,B,C,D step;
60-
61-
A --> B --> C --> D
62-
click A "https://github.com/vectorgrp/davinci-samples/blob/main/project-migration/README.md#tool-migration"
63-
click B "https://github.com/vectorgrp/davinci-samples/blob/main/project-migration/README.md#bsw-package-sip-migration"
64-
click C "https://github.com/vectorgrp/davinci-samples/blob/main/project-migration/README.md#diagnostic-import"
65-
click D "https://github.com/vectorgrp/davinci-samples/blob/main/project-migration/README.md#store-user-code-blocks"
66-
```
67-
68-
## Tool Migration
69-
70-
The tool migration is divided into the migration of DaVinci Configurator 6 (DvCfg6), DaVinci Developer (DvDev), and vVIRTUALtarget (VTT).
71-
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).
72-
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.
73-
74-
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)).
75-
76-
### DaVinci Configurator 6 Migration
77-
78-
After running the dvcfg_migration.ps1 script (which executes project-migration.exe), it is very important to check the DVCFG_migration.log for errors.
79-
To avoid follow‑up errors, these issues should be fixed whenever possible.
80-
In addition to the DVCFG_migration.log, the ModelMergeReport.sarif (located at Output\Log\ProjectLoad\) can also be very helpful.
81-
After fixing an error, a derive must be executed so that the tool becomes aware of the correction for subsequent steps.
82-
An example script is provided in the misc folder and must be executed separately from the MasterWorkflow.
83-
84-
```mermaid
85-
flowchart TD
86-
classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFF;
87-
88-
A["project-migration.exe"]
89-
B["DVCFG_migration.log"]
90-
C["Errors?"]
91-
Y["yes"]
92-
N["no"]
93-
S["check SARIF file and fix errors"]
94-
M["misc/_derive_ecuc.ps1"]
95-
96-
subgraph Z[" "]
97-
D["DvCfg migration done"]
98-
end
99-
100-
style Z fill:transparent,stroke:none,stroke-width:0,color:transparent
101-
class A,B,C,D,N,D,Y,S,M step;
102-
A --> B --> C --> N --> D
103-
C --> Y --> S --> M --> C
104-
```
105-
106-
> 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)
107-
108-
### DaVinci Developer Conversation
109-
110-
The link refers to the newly created dvjson file inside the DCF.
111-
112-
```mermaid
113-
flowchart TD
114-
classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF;
115-
116-
A["link dvjson in dcf"]
117-
B["convert dvdevc workspace"]
118-
class A,B step;
119-
120-
A --> B
121-
```
122-
123-
> For more information, see [Workspace Conversion](https://help.vector.com/davinci-developer-classic/current/en/help/html/index.html?page=workspace_conversion)
124-
125-
### Migrate VTT Project
126-
127-
This will create a VTT folder inside the Config directory. A backup file will also be created in the DvCfg5 project.
128-
129-
```mermaid
130-
flowchart TD
131-
classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF;
132-
133-
A["update vVIRTUALtarget"]
134-
class A step;
135-
```
136-
137-
> 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)
138-
139-
## BSW-Package (SIP) Migration
140-
141-
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.
142-
143-
```mermaid
144-
flowchart TD
145-
classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF;
146-
A["open dvcfg6 gui"]
147-
B["Do SIP migration steps in dvcfg6 GUI"]
148-
C["Errors?"]
149-
N["no"]
150-
Y["yes"]
151-
S["check SARIF file and fix errors"]
152-
R["close and open dvcfg6 gui"]
153-
154-
subgraph Z[" "]
155-
D["Project should load successfull"]
156-
end
157-
158-
style Z fill:transparent,stroke:none,stroke-width:0,color:transparent
159-
class A,B,C,D,N,Y,N,S,R step;
160-
161-
A --> B
162-
B --> C
163-
C --> Y
164-
S --> R
165-
R --> C
166-
C --> N
167-
N --> D
168-
Y --> S
169-
```
170-
171-
The BSW package migration in the GUI works the same way as it did in DvCfg5.
172-
To enable the diagnostic import afterwards, the following steps must be executed:
173-
[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.
174-
175-
After completing these steps, the BSW package migration is triggered, and the next step in the workflow can be executed.
176-
177-
> 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)
178-
179-
## Diagnostic Import
180-
181-
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.
182-
183-
```mermaid
184-
flowchart TD
185-
186-
classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF;
187-
188-
A["get pre processing data</br>(file_preprocessing_data.json)"]
189-
B["generate DDM controll file"]
190-
C["convert CDD to ARXML"]
191-
D["import diagnostic-modules (arxml) in dvcfg"]
192-
193-
class A,B,C,D step;
194-
195-
A --> B --> C --> D
196-
```
197-
198-
The file_preprocessing_data.json file is generated by project-migration.exe.
199-
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.
200-
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.
201-
Once these adjustments are made, the diagnostic import can also be executed for variant projects.
202-
203-
## Store User Code Blocks
204-
205-
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).
206-
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.
207-
208-
```mermaid
209-
flowchart TD
210-
classDef step fill:#B70032,stroke:#7a001f,stroke-width:2px,color:#FFFFFF;
211-
212-
A["store user code blocks"]
213-
class A step;
214-
```
215-
216-
> 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)
217-
218-
## What project can be migrated directly with this template?
219-
220-
- A DvCfg5 project that uses a DaVinci Developer Classic workspace
221-
- A DvCfg5 project that does not use a DaVinci Developer Classic workspace
222-
- A DvCfg5 project that uses vVIRTUALtarget
223-
- A DvCfg5 project that does not use vVIRTUALtarget
224-
- A DvCfg5 project that uses a CDD file for the diagnostic modules
225-
- A DvCfg5 project that uses no diagnostic modules
226-
227-
For other kind of projects these steps need to be adapted individual or further steps need to be added.
34+
> ⚠️ **Note**
35+
> This repository is kept for reference purposes only.
36+
> Please use **dvassistant** for all future migrations.

0 commit comments

Comments
 (0)