Extension Structure ADR ready to be merged

17 views
Skip to first unread message

clement escoffier

unread,
Dec 8, 2025, 11:07:14 AM (8 days ago) Dec 8
to Quarkus Development mailing list
Hello,

The Extension Structure ADR (https://github.com/quarkusio/quarkus/pull/48688) is now ready to be merged. If I don’t get a strong veto, I will merge it on Thursday. 

Thanks,

Clement

David Lloyd

unread,
Dec 8, 2025, 12:50:01 PM (8 days ago) Dec 8
to quark...@googlegroups.com
My comment from Oct. 15 was never addressed. I think there should be at least a "no, you are wrong David" or "we may address this in a future revision" or something.

--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/quarkus-dev/CCCE4E82-7C8D-4A6A-850F-A2478D70FF41%40gmail.com.


--
- DML • he/him

Ladislav Thon

unread,
Dec 8, 2025, 3:27:19 PM (8 days ago) Dec 8
to Quarkus Development mailing list
Dne po 8. 12. 2025 18:50 uživatel 'David Lloyd' via Quarkus Development mailing list <quark...@googlegroups.com> napsal:
My comment from Oct. 15 was never addressed. I think there should be at least a "no, you are wrong David" or "we may address this in a future revision" or something.

I think it's actually been said a few times that this could be reconsidered in the future, but I also think this would be a terrible idea. All build systems that I'm aware of, _including Maven_, call the directory where all build intermediate and final outputs are stored, the "build directory". Its location is typically configurable, but by convention, it's usually called `build`. Maven is not a rule; it's an exception. I understand the arguments that `build` would be the best name for what we need, but pragmatically, it would also be the worst name.

If we need a better name than `deployment`, of which I'm not convinced, I'm gonna step out of my/our comfort zone and say that the very presence of this directory is what defines a Quarkus extension. Therefore, this directory should be called `extension`.

LT


On Mon, Dec 8, 2025 at 10:08 AM clement escoffier <clement....@gmail.com> wrote:
Hello,

The Extension Structure ADR (https://github.com/quarkusio/quarkus/pull/48688) is now ready to be merged. If I don’t get a strong veto, I will merge it on Thursday. 

Thanks,

Clement

--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/quarkus-dev/CCCE4E82-7C8D-4A6A-850F-A2478D70FF41%40gmail.com.


--
- DML • he/him

--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.

David Lloyd

unread,
Dec 8, 2025, 4:41:53 PM (8 days ago) Dec 8
to quark...@googlegroups.com
On Mon, Dec 8, 2025 at 2:27 PM Ladislav Thon <lad...@gmail.com> wrote:
Dne po 8. 12. 2025 18:50 uživatel 'David Lloyd' via Quarkus Development mailing list <quark...@googlegroups.com> napsal:
My comment from Oct. 15 was never addressed. I think there should be at least a "no, you are wrong David" or "we may address this in a future revision" or something.

I think it's actually been said a few times that this could be reconsidered in the future, ...

All I saw was a discussion that was ongoing and then a somewhat unrelated comment saying "build is a no-go" but without any real concluding explanation.
 
but I also think this would be a terrible idea. All build systems that I'm aware of, _including Maven_, call the directory where all build intermediate and final outputs are stored, the "build directory". Its location is typically configurable, but by convention, it's usually called `build`. Maven is not a rule; it's an exception. I understand the arguments that `build` would be the best name for what we need, but pragmatically, it would also be the worst name.

My point was that `build` is the best submodule name because it is the best intermediate module name. That doesn't mean the directory has to be named `build`, regardless of how prevalent (or not) the usage of `build` as an output directory is. Saying we can't have a module called `com.foo.something.build` because of Gradle (even if it's actually Gradle+every other build system in the universe except Maven) is silly; module name and subdirectory name are not bound together in any way. If the directory name is a problem, then don't use that directory name, it's really that simple. Hell, we could name the module subdirectories for the full module name if we really wanted to avoid ambiguity e.g `com.foo.something.build/`.

If we need a better name than `deployment`, of which I'm not convinced, I'm gonna step out of my/our comfort zone and say that the very presence of this directory is what defines a Quarkus extension. Therefore, this directory should be called `extension`.

I think this is a reasonable option as well. Certainly more reasonable than "deployment" anyway.
--
- DML • he/him

Alexey Loubyansky

unread,
Dec 8, 2025, 5:48:24 PM (8 days ago) Dec 8
to quark...@googlegroups.com
Builder? SDK?

--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.

clement escoffier

unread,
Dec 9, 2025, 2:08:10 AM (7 days ago) Dec 9
to quark...@googlegroups.com
Hello,

As I mentioned in an earlier comment, this topic will be addressed in a separate ADR. I’d prefer not to delay this one for several more months without a clear path forward. I believe we should avoid using build; Ladislav explained the reasoning well. It’s unfortunate, since I agree it was the strongest name, which is why I used it previously.

Clement

Ladislav Thon

unread,
Dec 9, 2025, 3:45:39 AM (7 days ago) Dec 9
to quark...@googlegroups.com
po 8. 12. 2025 v 22:41 odesílatel 'David Lloyd' via Quarkus Development mailing list <quark...@googlegroups.com> napsal:
On Mon, Dec 8, 2025 at 2:27 PM Ladislav Thon <lad...@gmail.com> wrote:
Dne po 8. 12. 2025 18:50 uživatel 'David Lloyd' via Quarkus Development mailing list <quark...@googlegroups.com> napsal:
My comment from Oct. 15 was never addressed. I think there should be at least a "no, you are wrong David" or "we may address this in a future revision" or something.
but I also think this would be a terrible idea. All build systems that I'm aware of, _including Maven_, call the directory where all build intermediate and final outputs are stored, the "build directory". Its location is typically configurable, but by convention, it's usually called `build`. Maven is not a rule; it's an exception. I understand the arguments that `build` would be the best name for what we need, but pragmatically, it would also be the worst name.

My point was that `build` is the best submodule name because it is the best intermediate module name. That doesn't mean the directory has to be named `build`, regardless of how prevalent (or not) the usage of `build` as an output directory is. Saying we can't have a module called `com.foo.something.build` because of Gradle (even if it's actually Gradle+every other build system in the universe except Maven) is silly; module name and subdirectory name are not bound together in any way. If the directory name is a problem, then don't use that directory name, it's really that simple. Hell, we could name the module subdirectories for the full module name if we really wanted to avoid ambiguity e.g `com.foo.something.build/`.

Do you mean module in the JPMS sense or in the Maven sense? Or both? If it is a component in a module name (at least in the JPMS sense), it's also most likely gonna be a component in a package name, and if it's gonna be a component in a package name, it's gonna be a directory name. My main complain is that there are tools that expect `build` is a common directory name for build output; tools that don't necessarily have to be associated with Java or Maven. For example, I just generated a Maven project in IntelliJ and the generated `.gitignore` contains `build/` (for some reason, it's associated with NetBeans?).
 
But if we establish a different convention for directory names, then sure, why not. Except is this a good reason to establish a new convention? I mean, not _entirely_ new, I've seen directories named by the full module name in some Eclipse projects, but still... I'm sure we can find a good name that doesn't require us to revamp the universe. `builder` is a good suggestion.

LT
Reply all
Reply to author
Forward
0 new messages