Hi

compiler is likely a bad name, as there are some JDK distributions
with their own compilers (IBM J9 compiler, azul has a compiler, etc).
So lets kees keep the native/graalvm in camel-quarkus for now, that is
where this innovation is happening.

However the other thing with the maturity level is a good idea and we
should add that to the model.

On Tue, Apr 7, 2020 at 10:03 AM Alex Dettinger <aldettin...@gmail.com> wrote:
>
> 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
> > >>
> > >
> >
> >



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to