I know it's not a requirement to support OSGi environments but past experience has led me to try to maintain like packages within jars and not split them across jars if at all possible. I've had grueling problems trying to integrate Accumulo into Apache Karaf containers and spend hours troubleshooting to find that the cause was packages being split between jars.
That being said- we could simply make note of it to users who are planning on integrating with OSGi environments because they can easily create uber-jars containing everything... but if we can fix that now in 1.5, I'd be more apt to do that. On Tue, May 21, 2013 at 12:27 PM, Keith Turner <ke...@deenlo.com> wrote: > On Tue, May 21, 2013 at 12:16 PM, Corey Nolet <cjno...@gmail.com> wrote: > > > I think it's worth asking because a few people expressed interest in > moving > > the mini cluster to it's own module. Do we want this for 1.5 or do we > wait > > until 1.6 and provide a deprecation strategy? > > > > I think we should move it in 1.5 XOR leave the package name the same in > 1.6, but move it to another module. Either way avoids API changes for > users. > > > > > > > > > > > On Mon, May 20, 2013 at 2:10 PM, Corey Nolet <cjno...@gmail.com> wrote: > > > > > Agreed, they also slow down the build. > > > > > > > > > On Mon, May 20, 2013 at 2:09 PM, Christopher <ctubb...@apache.org> > > wrote: > > > > > >> Maybe... or 'jar-with-dependencies' assembly, or something similar, > > >> might be useful. > > >> I'd probably argue for it to be in a de-activated profile, by default, > > >> though. Shaded jars can become problematic if people start using them > > >> as dependencies. > > >> > > >> -- > > >> Christopher L Tubbs II > > >> http://gravatar.com/ctubbsii > > >> > > >> > > >> On Mon, May 20, 2013 at 2:00 PM, Corey Nolet <cjno...@gmail.com> > wrote: > > >> > This may be far out into space- but how would you guys feel about > > >> providing > > >> > a shaded jar in the pom for a new mini module? This may make it > easier > > >> for > > >> > users to run the mini accumulo cluster without hadoop/zookeeper > > >> installed. > > >> > > > >> > > > >> > On Mon, May 20, 2013 at 1:56 PM, Christopher <ctubb...@apache.org> > > >> wrote: > > >> > > > >> >> ACCUMULO-1436 for fixing "provided" dependencies. > > >> >> > > >> >> -- > > >> >> Christopher L Tubbs II > > >> >> http://gravatar.com/ctubbsii > > >> >> > > >> >> > > >> >> On Mon, May 20, 2013 at 12:52 PM, Christopher <ctubb...@apache.org > > > > >> wrote: > > >> >> > You're right. I'm not sure why our internal dependencies would be > > >> >> > marked as provided... except maybe I made that mistake to try to > > deal > > >> >> > with the mess of the 'copy-dependencies' stuff. That should be > > fixed. > > >> >> > > > >> >> > -- > > >> >> > Christopher L Tubbs II > > >> >> > http://gravatar.com/ctubbsii > > >> >> > > > >> >> > > > >> >> > On Mon, May 20, 2013 at 10:24 AM, John Vines <vi...@apache.org> > > >> wrote: > > >> >> >> Jim, accumulo-start is a provided dependency for all of the > other > > >> >> versions. > > >> >> >> So when you list accumulo-server as a dependency, it does not > pull > > >> in > > >> >> the > > >> >> >> provided dependencies. > > >> >> >> > > >> >> >> This is sort of what I was getting at before, Chris. The > provided > > >> jars > > >> >> >> don't get pulled in/referenced when they are marked as provided. > > For > > >> >> >> external dependencies, that totally makes sense. But I don't > know > > >> why we > > >> >> >> need to mark other accumulo parts as provided. I find it > difficult > > >> to > > >> >> >> believe that that is a standard maven configuration. It is > > extremely > > >> >> >> painful for downstream clients. > > >> >> >> > > >> >> >> > > >> >> >> On Mon, May 20, 2013 at 9:10 AM, Jim Klucar <klu...@gmail.com> > > >> wrote: > > >> >> >> > > >> >> >>> The question mark was in my statement because I didn't actually > > >> know > > >> >> if it > > >> >> >>> created a circular dependency. It appears that Corey found it > > >> doesn't > > >> >> have > > >> >> >>> one. All I did was put a dependency on accumulo-master and saw > > that > > >> >> when I > > >> >> >>> did so, Maven didn't pull accumulo-start for me. From my > > >> understanding, > > >> >> >>> that is the whole point of Maven, to handle the > sub-dependencies > > of > > >> >> what > > >> >> >>> I'm trying to use and when I tried to use MiniAccumuloCluster, > it > > >> >> didn't > > >> >> >>> pull all the right dependencies. > > >> >> >>> > > >> >> >>> > > >> >> >>> On Mon, May 20, 2013 at 8:44 AM, Corey Nolet < > cjno...@gmail.com> > > >> >> wrote: > > >> >> >>> > > >> >> >>> > I take that back- the start module does not have an explicit > > >> >> dependency > > >> >> >>> on > > >> >> >>> > accumulo-server. As long as the Main.class is used from the > > >> assembly > > >> >> >>> > artifact's classpath, everything should work fine. > > >> >> >>> > > > >> >> >>> > > > >> >> >>> > On Mon, May 20, 2013 at 8:21 AM, Corey Nolet < > > cjno...@gmail.com> > > >> >> wrote: > > >> >> >>> > > > >> >> >>> > > The only part that makes a circular dependency is including > > the > > >> >> >>> > > MiniAccumuloRunner in the Main.class. I'm not sure if that > > >> warrants > > >> >> >>> > needing > > >> >> >>> > > to rearchitect the runner, since it was made to give users > > the > > >> >> ability > > >> >> >>> to > > >> >> >>> > > interact with the Miniaccumulocluster as a single node > > >> accumulo. > > >> >> It was > > >> >> >>> > > also made to make the maven plugin much easier and > > standardize > > >> the > > >> >> >>> > > interface. Seems like two options are to remove the runner > > >> option > > >> >> from > > >> >> >>> > the > > >> >> >>> > > Main.class or move it to the start module. > > >> >> >>> > > > > >> >> >>> > > Personally, I'd opt for moving the runner to the start > > module. > > >> >> >>> > > On May 20, 2013 8:12 AM, "David Medinets" < > > >> >> david.medin...@gmail.com> > > >> >> >>> > > wrote: > > >> >> >>> > > > > >> >> >>> > >> Combine this work with Dave Marion's work and put > > >> >> MiniAccumuloRunner > > >> >> >>> > into > > >> >> >>> > >> an add-on script? > > >> >> >>> > >> > > >> >> >>> > >> > > >> >> >>> > >> On Mon, May 20, 2013 at 7:49 AM, Corey Nolet < > > >> cjno...@gmail.com> > > >> >> >>> wrote: > > >> >> >>> > >> > > >> >> >>> > >> > I think the ability to run "./bin/accumulo mini" may > have > > >> >> introduced > > >> >> >>> > >> this > > >> >> >>> > >> > circular dependency. Perhaps the MiniAccumuloRunner > should > > >> be > > >> >> moved > > >> >> >>> > >> > somewhere else. > > >> >> >>> > >> > On May 20, 2013 12:07 AM, "Christopher" < > > >> ctubb...@apache.org> > > >> >> >>> wrote: > > >> >> >>> > >> > > > >> >> >>> > >> > > What do you mean there isn't a way to know this? > Doesn't > > >> the > > >> >> >>> server > > >> >> >>> > >> > > POM express the dependency on start, explicitly? > > >> >> >>> > >> > > > > >> >> >>> > >> > > How are you executing MiniAccumuloCluster when you get > > >> this > > >> >> error? > > >> >> >>> > I'm > > >> >> >>> > >> > > guessing you have a project with a dependency on > > >> >> >>> "accumulo-server"? > > >> >> >>> > >> > > > > >> >> >>> > >> > > Can you elaborate more on this circular dependency > risk > > >> you > > >> >> >>> mention? > > >> >> >>> > >> > > I'm not sure how "accumulo-server" depending on > > >> >> "accumulo-start" > > >> >> >>> is > > >> >> >>> > a > > >> >> >>> > >> > > circular dependency. Are you suggesting > "accumulo-start" > > >> also > > >> >> has > > >> >> >>> a > > >> >> >>> > >> > > dependency on "accumulo-server"? Because... it > > >> shouldn't... > > >> >> >>> > >> > > > > >> >> >>> > >> > > -- > > >> >> >>> > >> > > Christopher L Tubbs II > > >> >> >>> > >> > > http://gravatar.com/ctubbsii > > >> >> >>> > >> > > > > >> >> >>> > >> > > > > >> >> >>> > >> > > On Sun, May 19, 2013 at 10:10 PM, Jim Klucar < > > >> >> klu...@gmail.com> > > >> >> >>> > >> wrote: > > >> >> >>> > >> > > > MiniAccumuloCluster moved to the 'server' module, > > which > > >> is > > >> >> fine. > > >> >> >>> > >> > > However, I > > >> >> >>> > >> > > > now have to have a dependency on accumulo-start and > > >> >> >>> > accumulo-server > > >> >> >>> > >> to > > >> >> >>> > >> > be > > >> >> >>> > >> > > > able to use the MiniAccumuloCluster. There isn't > > really > > >> >> any way > > >> >> >>> > of > > >> >> >>> > >> > know > > >> >> >>> > >> > > > that until you fire up a MiniAccumloCluster object > and > > >> call > > >> >> >>> > .start() > > >> >> >>> > >> > and > > >> >> >>> > >> > > > get a ClassNotFoundException on the Main class from > > >> >> >>> > accumulo-start. > > >> >> >>> > >> > > Seems > > >> >> >>> > >> > > > like depending on accumulo-server should pull in > > >> >> accumulo-start > > >> >> >>> > >> > (creates > > >> >> >>> > >> > > > circular dependency?) or some other solution should > be > > >> >> found. > > >> >> >>> > >> > > > > >> >> >>> > >> > > > >> >> >>> > >> > > >> >> >>> > > > > >> >> >>> > > > >> >> >>> > > >> >> > > >> > > > > > > > > >