Hi Logged a ticket https://issues.apache.org/jira/browse/CAMEL-6673
Looks like shading works nicely. I will give it a test spin before committing any changes. But the .class files get included in camel-core and available for everybody now. On Tue, Aug 27, 2013 at 12:26 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: > 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 >>> > < >>> >>> > babak.vahdat@ >>> >>> > >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 >>> >> > < >>> >> >>> >> > christian.posta@ >>> >> >>> >> > >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 -- 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