-
Notifications
You must be signed in to change notification settings - Fork 3
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
CoMPAS-Open-SCD should adhere to the new monorepo structure #266
Comments
We can split this story up into multiple substories
|
Changed files |
Questions: Should openSCD be able to import ISD files? |
Things to do:
|
How to migrate: Steps that we need to take
Move the following:
A) Update .github/dependabot.yml B) Update .github/build-project.yml C) Update .github/release-project.yml D) Update .github/test-and-build.yml E) Update .github/test.yml
A) Create a new B) Create a new .gitignore C) Create a new package.json {
"name": "compas-openscd-monorepo",
"version": "0.0.1",
"description": "CoMPAS OpenSCD base distribution and plugins",
"private": true,
"workspaces": [
"packages/*"
],
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/com-pas/compas-open-scd.git"
},
"license": "Apache-2.0"
}
Copy plugins over: Adjust build process: Step 5B will be easiest and cleanest, just some playing around with Snowpack.
|
Hello there, Thank you for opening this issue! We appreciate your interest in our project. If you believe this issue is still relevant and requires attention, please provide any additional context, updates, or details that might help us understand the problem better. If the issue is no longer relevant, you can simply close it. If you're uncertain, you can always reopen it later. Remember, our project thrives on community contributions, and your input matters. We're here to collaborate and improve. |
Intro
The Open-SCD project recently went from a monolith to a mono-repo architecture. In order to accomplish this a restructure was needed. This has a severe effect on the Compas-Open-SCD repository. The Compas-Open-SCD repository is a fork of the Open-SCD project and has added functionalities to it. If we want to apply the newest changes of the Open-SCD project, we first have to do some manual labor in order to prevent merge conflicts.
Changes made to the fork
As said above, the Compas-Open-SCD repository is a fork, but with alterations. Before we know how to resolve the coming merge conflicts. We need to make sure we know which files are added and which ones are altered, so we can take those into account. These files are noted in the lists below.
New files added to the project
Files from Open-SCD that are altered
Dependencies from Open-SCD
newLogEvent, newOpenDocEvent, newWizardEvent, LitElementConstructor, Mixin, newPendingStateEvent, Wizard, WizardInputElement, newUserInfoEvent, createElement, newActionEvent, isPublic, ComplexAction, SimpleAction, cloneElement, , EditorAction, getValue, WizardActor, getDescriptionAttribute, getInstanceAttribute, getNameAttribute, newSubWizardEvent, checkValidity, WizardAction, wizardInputSelector, compareNames, newIssueEvent
from src/foundation.jsNsdoc
from src/foundation/nsdoc.jsSCL_NAMESPACE, isSCLNamespace
from src/schemas.jsWizardTextField
from src/wizard-textfield.jsEditingElement
from src/Editing.jsmergeWizard
from src/wizards.jsSelectedItemsChangedEvent
from src/oscd-filter-button.jspatterns
from src/wizards/foundation/limits.jsnewLoadNsdocEvent
from src/Setting.jswizards
from src/wizards/wizard-library.jsSuggestions to approach this issue
Step 1: Apply the restructure
Now that the file structure is clear a proof of concept can be made to see if the merge issues can be resolved. There are 2 options here to start.
Both approaches have merit and can be done. However approach #1 will keep the git history of Compas-Open-SCD in tact. If that's desirable the first approach would be best.
Step 2: Move out compas related software
The idea is that the open-scd package should be completely identical to the open-scd package we fork from. This will mean that The entire list from the new files should be moved to a
packages/compas
folder. Be sure that this folder has a dependency to thepackages/open-scd
folder.Step 3: Move out tests for the Compas software
When the source code is succesfully moved out and the dependencies work correctly the tests can be moved out and run. Be sure all tests are succesful.
Step 4: Make sure the docker container is correctly build
The docker container should eventually be build from the compas package in order to make sure everything is included.
Open questions
Before starting
The text was updated successfully, but these errors were encountered: