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

Merging/combining multiple projects #26

Open
umarcor opened this issue Nov 1, 2021 · 0 comments
Open

Merging/combining multiple projects #26

umarcor opened this issue Nov 1, 2021 · 0 comments
Labels
Enhancement New feature or request

Comments

@umarcor
Copy link
Member

umarcor commented Nov 1, 2021

A VivadoProjectFile and a OSVVMProjectFile represent a project file. They offer a Parse() method, which fills a property called ProjectModel. So currently, each file has it's own project model. I'm not sure how we can define a merge operation an them.

Maybe that would be the case for the parent project:

project = Project("Parent", rootDirectory=Path.cwd())
osvvmFileSet = FileSet("OSVVM", project=project)
osvvmProjectFile = OSVVMProjectFile(osvvmPath, fileSet=osvvmFileSet)
osvvmProjectFile.Parse()

osvvmProject = osvvmProjectFile.ProjectModel

Maybe, we can have a

osvvmFileSet.Merge(osvvmProject)

or so?

Originally posted by @Paebbels in #25 (comment)

I believe it would be desirable to have a Merge operation for combining any two projects. I know that many possible combinations will produce conflicts, so I think we don't need a "too clever" approach but just produce meaningful failures when such conflicts arise. Then, it's up to users to understand/know what they can combine and what they cannot.

Particular use cases for combining two projects are: OSVVM and XPR in the context of tsfpga, or OSVVM and VUnit's API in the context of VUnit and OSVB.

Originally posted by @umarcor in #25 (comment)

@umarcor umarcor added the Enhancement New feature or request label Nov 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request
Development

No branches or pull requests

1 participant