Hi

I wonder if we can shade spi-annotations into the camel-core module,
so its included out of the box?
As they are needed at runtime, for example by components extending
UriEndpointComponent etc.

If not we should IMHO have it as required dependency and would need
for it to be an OSGi bundle, and added to the features.xml so its
installed in OSGi also.


On Sat, Aug 17, 2013 at 8:42 PM, Christian Posta
<christian.po...@gmail.com> wrote:
> Sounds good. I will give it another try with Java 7 and make sure
> appropriate profiles get enabled.
>
> Thanks Babak!
>
> On Saturday, August 17, 2013, Babak Vahdat wrote:
>
>> Aha now I see, well if you make use of Java 7 and IntelliJ can't handle
>> this
>> then that sounds like a IntelliJ bug to me because in that case the apt
>> profile IS enabled and IntelliJ should take the apt module dependency into
>> account like any other POM dependencies. There was also a user reporting
>> the
>> same problem with IntelliJ. Using the maven-idea-plugin instead of
>> IntelliJ's own "import" functionality solved the problem for him:
>>
>>
>> http://camel.465427.n5.nabble.com/About-the-spi-annotations-dependency-tp5736873p5737084.html
>>
>> And that's also what we've got on the Wiki as well:
>>
>> http://camel.apache.org/building.html#Building-UsinganIDE
>>
>> That all said I think by making this dependency as optional, James original
>> idea was to NOT bump this dependency transitively to the POM of all those
>> Camel component, data format writers out there as the usage of this new
>> feature should be understood as "optional" so people should not get that
>> transitively but explicitly through their own POMs:
>>
>> http://camel.apache.org/endpoint-annotations.html
>>
>> I hope James will comment on this thread if I'm wrong :)
>>
>> Babak
>>
>>
>> ceposta wrote
>> > Very interesting. That sounds like lots of headaches, so keeping optional
>> > is fine if it solves that.
>> > I was just noticing in Intellij that it couldn't compile camel-sql
>> because
>> > it didn't bring in that dependency since it was marked optional. But
>> > that's
>> > an easy headache to fix compared to the ones you mention :)
>> >
>> >
>> > On Sat, Aug 17, 2013 at 1:11 AM, Babak Vahdat
>> > &lt;
>>
>> > babak.vahdat@
>>
>> > &gt;wrote:
>> >
>> >> Hi Christian,
>> >>
>> >> I think having the optional flag set to true is indeed good as we used
>> to
>> >> have problems to build & run the tests using Java 6 profile on the
>> >> CI-Server, e.g. the profile "Camel.trunk.fulltest". See also here:
>> >>
>> >> https://github.com/apache/camel/blob/master/components/pom.xml#L221
>> >>
>> >> Also note that the apt module by itself brings a transitive dependency
>> to
>> >> spi-annotations:
>> >>
>> >> https://github.com/apache/camel/blob/master/tooling/apt/pom.xml#L43
>> >>
>> >> So I guess removing that optional flag would cause the same problems
>> >> again,
>> >> see also this thread:
>> >>
>> >>
>> >>
>> http://camel.465427.n5.nabble.com/Our-builds-looks-really-bad-tp5731673p5731743.html
>> >>
>> >> There's also another ODD issue we're facing with our Jenkins builds but
>> >> unfortunately it's still not resolved, causing a lot of yellow/red
>> >> bubbles
>> >> by our profiles as well as other Apache projects:
>> >>
>> >> https://issues.apache.org/jira/browse/INFRA-6218
>> >>
>> >> Which is another story...
>> >>
>> >> Babak
>> >>
>> >>
>> >> ceposta wrote
>> >> > Apply this for the fix :)
>> >> >
>> >> >
>> >> >
>> >> > diff --git a/camel-core/pom.xml b/camel-core/pom.xml
>> >> > index cd2f201..7409c90 100755
>> >> > --- a/camel-core/pom.xml
>> >> > +++ b/camel-core/pom.xml
>> >> > @@ -99,7 +99,6 @@
>> >> >
>> >> >
>> > <groupId>
>> >> > org.apache.camel
>> >> >
>> > </groupId>
>> >> >
>> >> >
>> > <artifactId>
>> >> > spi-annotations
>> >> >
>> > </artifactId>
>> >> >
>> >> >
>> > <version>
>> >> > ${project.version}
>> >> >
>> > </version>
>> >> > -
>> >> >
>> > <optional>
>> >> > true
>> >> >
>> > </optional>
>> >> >
>> >> >
>> > </dependency>
>> >> >
>> >> >
>> > <dependency>
>> >> >
>> >> > On Fri, Aug 16, 2013 at 1:43 PM, Christian Posta
>> >> > &lt;
>> >>
>> >> > christian.posta@
>> >>
>> >> > &gt;wrote:
>> >> >
>> >> >> So in camel-core, the spi-annotations dependency is marked "optional"
>> >> in
>> >> >> the pom.
>> >> >>
>> >> >>
>> >>
>> >> >>
>> >> >
>> > <dependency>
>> >> >>
>> >> >
>> > <groupId>
>> >> > org.apache.camel
>> >> >
>> > </groupId>
>> >> >>
>> >> >
>> > <artifactId>
>> >> > spi-annotations
>> >> >
>> > </artifactId>
>> >> >>
>> >> >
>> > <version>
>> >> > ${project.version}
>> >> >
>> > </version>
>> >> >>
>> >> >
>> > <optional>
>> >> > true
>> >> >
>> > </optional>
>> >> >>
>> >> >
>> > </dependency>
>> >> >>
>> >> >> But is it optional? Seems to be used in some of the core components,
>> >> so
>> >> >> should be there, right?
>> >> >>
>> >> >> --
>> >> >> *Christian Posta*
>> >> >> http://www.christianposta.com/blog
>> >> >> twitter: @christianposta
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > *Christian Posta*
>> >> > http://www.christianposta.com/blog
>> >> > twitter: @christianposta
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> View this message in context:View this message in context:
>> http://camel.465427.n5.nabble.com/spi-annotations-tp5737435p5737457.html
>> Sent from the Camel Development mailing list archive at Nabble.com.
>>
>
>
> --
> *Christian Posta*
> http://www.christianposta.com/blog
> twitter: @christianposta



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

Reply via email to