Indeed, and conversely we could imagine graal being replaced by another
compile-to-native technology in quarkus or quarkus being able to support a
new kind of VM.
So the place is more in the Camel Quarkus catalog and we may stick to the
quarkus terminology.

As such, I see native as a better term than graal. And the only quarkus
word generalizing JVM + Native I could think about from quarkus wording is
"mode".
In a way, supporterCompilers could be an idea too, but I don't see JVM has
a possible value then. Maybe there are some other quarkus words applying ?

On Mon, Apr 6, 2020 at 10:23 PM Peter Palaga <ppal...@redhat.com> wrote:

> On 06/04/2020 11:48, Alex Dettinger wrote:
> > a) I think building on top of sinceVersion is good.
> >
> > b) I don't have strong opinion yet where such information should go.
> > I don't feel native is the right word, I would tend to see this as a kind
> > of platform level support like
> >
> karaf/spring-boot/camel-k/quarkus-jvm/quarkus-graal/any-concurrent-of-graal.
>
> Each Camel subproject has its own Catalog: Camel Spring Boot Catalog
> contains the info about components supported on Spring Boot, Camel
> Quarkus Catalog is supposed to contain the info about the components
> supported on Quarkus, etc. So the runtime platform info is implicitly
> there already and there is IMO no point in having the platform name as a
> prefix in the values of the attribute.
> The proposed attribute should allow to classify another level of detail
> within the given platform. It is quite well thinkable that one day we
> will support Spring Boot in native mode - it is still Spring Boot, but a
> different flavor.
>
> Now is "GraalVM" a better name than "Native"? I think both would work
> for what we need to encode in Camel Quarkus. However, if we go with
> "GraalVM", there is some shift in semantics: GraalVM is just one of
> potentially many native compilers and one component may support more
> than one of them. Hence the type of the attribute should not be an enum,
> but rather a list of supported compilers. Thus the name of the attribute
> should perhaps be adjusted to "supportedCompilers" or similar. (I wonder
> whether "JVM" can be seen as a compiler?)
>
> -- P
>
> > hth ;)
> > Alex
> >
> > On Mon, Apr 6, 2020 at 10:36 AM Claus Ibsen <claus.ib...@gmail.com>
> wrote:
> >
> >> On Mon, Apr 6, 2020 at 10:14 AM Omar Al-Safi <o...@oalsafi.com> wrote:
> >>>
> >>> IMO, I'd mark a component as `stable` after a few Camel releases
> >>> that include the component, no idea how many, but this at least gives
> me
> >>> the hint that the component is stable enough for this use. That means,
> a
> >>> new component that is being added to camel code base, I'd mark it as
> >>> `Preview`. At least in that sense, it can make sense here.
> >>>
> >>
> >> Yeah but that is also what since version is for, you can see that
> >> today, see the since column,
> >> https://camel.apache.org/components/latest/
> >>
> >> But yes we could have a default rule in the build tooling so when we
> >> build a release, it would use preview (if no explicit set and that the
> >> component is new, or N-1 release old).
> >> Then we dont need to remember to update all these components manually
> over
> >> time.
> >>
> >>
> >>> Regards,
> >>> Omar
> >>>
> >>> On Mon, Apr 6, 2020 at 9:59 AM Claus Ibsen <claus.ib...@gmail.com>
> >> wrote:
> >>>
> >>>> Hi
> >>>>
> >>>> Background this PR
> >>>> https://github.com/apache/camel/pull/3698
> >>>>
> >>>> a)
> >>>> I think it can benefit Camel components if we are able to define what
> >>>> maturity/stability level the component is (find a good name). For
> >>>> example we could the values that other projects uses such as Quarkus
> >>>> and WildFly: Stable, Preview, Experimental
> >>>>
> >>>> However the devil is in the wording. For example does Stable mean that
> >>>> it's stable forever. And that is a NO. A camel component may change
> >>>> between LTS releases, as we want to innovate fast and move on. For
> >>>> example a 3rd party dependency upgrade may cause some changes, or a
> >>>> major upgrade which we want. SB1 to SB2 etc. netty3 -> netty4. And
> >>>> sometimes we created a new component and other times we upgraded the
> >>>> existing component.
> >>>>
> >>>> b)
> >>>> The second information that may benefit, is whether a component would
> >>>> be compilable for native via graalvm. But at this moment then I think
> >>>> this information is best kept in camel-quarkus as this is where we
> >>>> know whether its fully native or jvm only.
> >>>>
> >>>> So I would keep this information in the camel quarkus catalog only.
> >>>>
> >>>>
> >>>>
> >>>> Ad a)
> >>>> We could then store this information about maturity level in the
> >>>> <properties> section of pom.xml where we already store labels,
> >>>> description, and whether its deprecated.
> >>>>
> >>>> <properties>
> >>>>    <stability>stable</stability>
> >>>>    ...
> >>>> </properties>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Claus Ibsen
> >>>> -----------------
> >>>> http://davsclaus.com @davsclaus
> >>>> Camel in Action 2: https://www.manning.com/ibsen2
> >>>>
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> http://davsclaus.com @davsclaus
> >> Camel in Action 2: https://www.manning.com/ibsen2
> >>
> >
>
>

Reply via email to