You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Victor NOËL <vi...@linagora.com> on 2015/05/12 14:58:14 UTC

Why spi-annotation content is included in camel-core?

Hi,

Why is spi-annotation included in camel-core?

It's bothering because:
  - the source are not in camel-core so one can't see the definition of 
the annotatons (so it's not easy to use them like that).
  - and then if we add spi-annotation to the pom, there is duplicate 
classes from the two artefacts which is not very nice in term of code 
quality.

Is there really a reason to do that?

Thanks,

Victor

Re: Why spi-annotation content is included in camel-core?

Posted by Victor NOËL <vi...@linagora.com>.
Ok, but I'm building a camel component here, so I need to access these 
classes and use them as a developer (i.e. read their documentation).
Anyway, an end-user will be able to use these classes, that you want it 
or not, since they are included in camel-core, so why not simply keep 
the dependency to spi-annotation explicit instead of trying to hide 
these classes while you cannot?

Now, if I depends on spi-annotations (which I guess is what you expect 
component developers to do), then one of my code quality tool 
(duplicate-finder-maven-plugin) complain that camel-core and 
spi-annotations contain the same classes, and that they are different 
classes… that's actually why I first considered there was something 
wrong with it.
Its output is the following:
[WARNING] Found duplicate and different classes in 
[org.apache.camel:camel-core:2.15.2, 
org.apache.camel:spi-annotations:2.15.2]:
[WARNING]   org.apache.camel.spi.Metadata
[WARNING]   org.apache.camel.spi.UriEndpoint
[WARNING]   org.apache.camel.spi.UriParam
[WARNING]   org.apache.camel.spi.UriParams
[WARNING]   org.apache.camel.spi.UriPath

At least, if there are included in camel-core, they should be the same 
bytecode classes, no?

Victor


Le 12/05/2015 15:20, Claus Ibsen a écrit :
> Hi
>
> As end users you should not depend on spi-annotations - only camel-core.
> spi-annotations is an internal model used as part of building
> camel-core using the camel apt compiler plugin.
>
> On Tue, May 12, 2015 at 2:58 PM, Victor NOËL <vi...@linagora.com> wrote:
>> Hi,
>>
>> Why is spi-annotation included in camel-core?
>>
>> It's bothering because:
>>   - the source are not in camel-core so one can't see the definition of the
>> annotatons (so it's not easy to use them like that).
>>   - and then if we add spi-annotation to the pom, there is duplicate classes
>> from the two artefacts which is not very nice in term of code quality.
>>
>> Is there really a reason to do that?
>>
>> Thanks,
>>
>> Victor
>
>


Re: Why spi-annotation content is included in camel-core?

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

As end users you should not depend on spi-annotations - only camel-core.
spi-annotations is an internal model used as part of building
camel-core using the camel apt compiler plugin.

On Tue, May 12, 2015 at 2:58 PM, Victor NOËL <vi...@linagora.com> wrote:
> Hi,
>
> Why is spi-annotation included in camel-core?
>
> It's bothering because:
>  - the source are not in camel-core so one can't see the definition of the
> annotatons (so it's not easy to use them like that).
>  - and then if we add spi-annotation to the pom, there is duplicate classes
> from the two artefacts which is not very nice in term of code quality.
>
> Is there really a reason to do that?
>
> Thanks,
>
> Victor



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/