You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
move org.eclipse.digitaltwin.basyx.core.LoggingPropertySourceLoader to new artifact basyx.springcore - would help to reduce dependencies to basyx.core
#331
Open
in-fke opened this issue
Jun 28, 2024
· 2 comments
I would like to remove the dependency to spring-context spring-boot-starter from basyx.core in order to de-couple dependencies better, especially for BaSyx Clients. This may only be the first step in a couple of steps to eventually decouple the clients from Spring.
The class org.eclipse.digitaltwin.basyx.core.LoggingPropertySourceLoader is the only class in basyx.core that depends on spring-boot.
It derives from org.springframework.boot.env.PropertiesPropertySourceLoader in order to log the location.
Then this derivative is used in these four projects:
basyx.aasenvironment.component
basyx.aasrepository.component
basyx.conceptdescriptionrepository.component
basyx.submodelrepository.component
in the file META-INF/spring.factories, stating org.springframework.boot.env.PropertySourceLoader=org.eclipse.digitaltwin.basyx.spring.LoggingPropertySourceLoader
My suggestion:
split "basyx.core" into "basyx.core" and "basyx.springcore" (the name is analog to "basyx.mongodbcore")
Move the class org.eclipse.digitaltwin.basyx.core.LoggingPropertySourceLoader to org.eclipse.digitaltwin.basyx.springcore.LoggingPropertySourceLoader
Have the above four projects depend on "basyx.springcore"
Remove dependencies from "basyx.core" to "spring-context" and "spring-boot-starter"
Step 4 has the side effect, that other projects would rely on these transitive dependencies, adjust accordingly.
I have already the changes in a fork - I could make a PR for this.
Regards,
Florian
The text was updated successfully, but these errors were encountered:
Thanks for raising this issue.
We will discuss this internally on how to do this efficiently and how severe this is.
We will get back to you regarding this once we are done with the discussions.
I would like to remove the dependency to spring-context spring-boot-starter from basyx.core in order to de-couple dependencies better, especially for BaSyx Clients. This may only be the first step in a couple of steps to eventually decouple the clients from Spring.
The class
org.eclipse.digitaltwin.basyx.core.LoggingPropertySourceLoader
is the only class in basyx.core that depends on spring-boot.It derives from
org.springframework.boot.env.PropertiesPropertySourceLoader
in order to log the location.Then this derivative is used in these four projects:
in the file META-INF/spring.factories, stating
org.springframework.boot.env.PropertySourceLoader=org.eclipse.digitaltwin.basyx.spring.LoggingPropertySourceLoader
My suggestion:
org.eclipse.digitaltwin.basyx.core.LoggingPropertySourceLoader
toorg.eclipse.digitaltwin.basyx.springcore.LoggingPropertySourceLoader
I have already the changes in a fork - I could make a PR for this.
Regards,
Florian
The text was updated successfully, but these errors were encountered: