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

Refactor the SDK files to enable a monolithic repository #317

Merged

Conversation

s-heppner
Copy link
Contributor

@s-heppner s-heppner commented Oct 25, 2024

We decided to follow a monolithic approach with our Eclipse BaSyx Python project, where multiple packages are contained in the same GitHub repository, in order to enforce compatibility between them at every PR using our CI tools. This PR prepares the repository by moving all the SDK code from . to ./sdk and adapting the paths at the necessary spots.

The new repository structure is going to be as follows:

.github
| - sdk (The base SDK)
|   | - basyx
|   | - pyproject.toml
|   | - README.md
| - server (The Docker server implementation)
| - compliance_tool (A Tool for checking AAS object compliance to the metamodel)
README.md
CONTRIBUTING.md
LICENSE

In order to adapt the repository, I had to do the following steps:

d12f637 Move SDK code from . to ./sdk

2ec791e Update sdk/pyproject.toml and .gitignore to new repository structure

After moving the SDK from the root of the repository (.) to ./sdk, we adapt the sdk/pyproject.toml with the necessary changes.
Namely, setuptools-scm needs to know where the repository root is. While we're at it, we change the write_to option which is deprecated to the new version_file option. See the scm documentation here.

We also adapt the .gitignore by ignoring the prior ignored files now in all directories, not just the repository root.

093bde1 Adapt sdk/README.md, add repository level README.md

This adapts the existing sdk/README.md to suit the new repository structure. Furthermore, we add a new repository level ./README.md.

dde25b9 .github/workflows: Adapt paths in ci.yml

This adapts the .github/workflows/ci.yml to the new repository structure. Namely, we prefix all jobs with sdk- to differentiate them from jobs concerning other future packages and adapt the paths of them to reflect the moving of the SDK code from . to ./sdk.

After moving the SDK from the root of the
repository (`.`) to `./sdk`, we adapt the
`sdk/pyproject.toml` with the necessary changes.
Namely, `setuptools-scm` needs to know where the
repository root is. While we're at it, we change
the `write_to` option which is deprecated to the
new `version_file` option.

We also adapt the `.gitignore` by ignoring the
prior ignored files now in all directories, not
just the repository root.
This adapts the existing `sdk/README.md` to suit
the new repository structure. Furthermore, we add
a new repository level `./README.md`.
This adapts the `.github/workflows/ci.yml` to the
new repository structure. Namely, we prefix all
jobs with `sdk-` to differentiate them from jobs
concerning other future packages and adapt the
paths of them to reflect the moving of the SDK
code from `.` to `./sdk`.
@s-heppner s-heppner marked this pull request as ready for review October 25, 2024 14:15
@Frosty2500
Copy link
Contributor

LGTM, I see no problems 👍

@s-heppner s-heppner merged commit 6e0ea62 into eclipse-basyx:main Nov 2, 2024
8 checks passed
@s-heppner s-heppner deleted the Refactor/MonolithicRepository branch November 2, 2024 08:50
s-heppner added a commit to rwth-iat/basyx-python-sdk-http-server-docker that referenced this pull request Nov 4, 2024
Previously, the Eclipse BaSyx-Python SDK contained
just the SDK module. With the recent refactoring
of the SDK GitHub repository towards a monolithic
structure, the SDK module moved into the `./sdk`
subdirectory, see [basyx-python-sdk#317].

With the new repository structure, we obviously
have to adapt the install path of the SDK in this
Dockerfile, which has been done here.

[basyx-python-sdk#317]: eclipse-basyx/basyx-python-sdk#317
Frosty2500 pushed a commit to rwth-iat/basyx-python-sdk that referenced this pull request Nov 11, 2024
Previously, the Eclipse BaSyx-Python SDK contained
just the SDK module. With the recent refactoring
of the SDK GitHub repository towards a monolithic
structure, the SDK module moved into the `./sdk`
subdirectory, see [basyx-python-sdk#317].

With the new repository structure, we obviously
have to adapt the install path of the SDK in this
Dockerfile, which has been done here.

[basyx-python-sdk#317]: eclipse-basyx#317
s-heppner added a commit that referenced this pull request Nov 17, 2024
Previously, the Eclipse BaSyx-Python SDK contained
just the SDK module. With the recent refactoring
of the SDK GitHub repository towards a monolithic
structure, the SDK module moved into the `./sdk`
subdirectory, see [basyx-python-sdk#317].

With the new repository structure, we obviously
have to adapt the install path of the SDK in this
Dockerfile, which has been done here.

[basyx-python-sdk#317]: #317
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants