jhipster/generator-jhipster

Drop `jhipster-dependencies` dependency.

mshima opened this issue · 8 comments

Overview of the feature request

Drop jhipster-dependencies dependency and use spring-boot's dependency management.
jhipster-framework will be kept.

Motivation for or Use Case

The idea of jhispter-dependencies is to add a centralized dependency management for jhipster project to unify and simplify dependencies.
Currently we have a mixed of jhispter-dependencies and generator-jhipster managed dependencies, so the purpose is only partially met.

Removing jhispter-dependencies will provide:

  • less maintenance burden.
  • easier release process (generator-jhipster only, jhipster-framework when needed).
  • unified repository for dependency versions.
  • better CI due to selective built-in generator-jhipster managed dependencies.
  • spring-boot standard built tool implementation.
Related issues or PR
  • Checking this box is mandatory (this is just to show you read everything)

What do you think @mraible @DanielFran @deepu105?

Does this mean we can use spring-boot-starter-parent as a parent in generated projects? I remember talking to Josh Long a few years ago and he was appalled that JHipster managed its own dependencies rather than relying on Spring Boot's parent.

Does this mean we can use spring-boot-starter-parent as a parent in generated projects?

We probably can use spring-boot-dependencies only.
I think the benefit of spring-boot-starter-parent is to avoid dependency conflicts outside <dependencies>.

I remember talking to Josh Long a few years ago and he was appalled that JHipster managed its own dependencies rather than relying on Spring Boot's parent.

We will be still managing our own dependencies, but at generator-jhipster side only.

We are managing on generator-jhipster side:

And at jhipster-dependencies side:

Only springdoc-openapi dependency in jhipster-dependencies is used by the application jhipster --defaults.

I am in favour too!
Since we found a different behaviour with the bom in last maven release, it is better to manage the dependencies in the generator.

Indeed we define a custom testcontainers version.
But the version from spring-boot-dependencies is used anyway

Less overhead for releases and being closes to upstream boot would be a beneficial imho. So lets do it.