On Fri, 2016-07-22 at 19:53 +0200, Oliver Lietz wrote:
> On Thursday 21 July 2016 19:06:37 Robert Munteanu wrote:
> > On Thu, 2016-07-21 at 13:59 +0200, Oliver Lietz wrote:
> > > On Wednesday 20 July 2016 17:24:15 Robert Munteanu wrote:
> [...]
> > > That can be done always by editing SlingVersionResolver.java
> > > directly.
> > > Using feature.xml should ensure (tests in bootstrap) that all
> > > bundles
> > > are 
> > > compatible (form a runnable Sling instance) and updates don't
> > > have to
> > > be done 
> > > twice.
> > 
> > Right, I think that's the toughest part - making sure the bundle
> > versions
> > are in sync.
> > 
> > Also, a couple of suggestions related to further reducing the
> > boilerplate.
> > 
> > 1. Simpler HTTP port detection
> > 
> > If no http port is specified we can just pick a random one and log
> > it, or
> > otherwise we have
> > 
> >    withHttpPort(int port);
> > 
> > method which takes a specified HTTP port.
> > 
> > 2. Automatic management of the working directory
> > 
> > In the event ITs we manually manage:
> > 
> > - the working directory
> > - sling.home
> > - repository.home ( or alternatively the OSGi configs for the
> > segment node
> > store and the lucene index provider )
> > 
> > Could we also move these inside the module? I don't think we even
> > need a
> > config option here, just auto-manage them.
> > 
> > If you agree, I'll file enhancement requests.
> 
> See my latest commits in Testing PaxExam (SLING-5893 and SLING-5894)
> and 
> Scripting Thymeleaf. There is now test support (similar to what I've
> done for 
> Launchpad Karaf ITs) and a default configuration. I've tried to find
> the 
> perfect balance between automation and adaptability.
> 
> Let me know if it works for you.

Looks good, thank you! If I get one more nitpick :-) it would be asking
to include the oak-segment bundle declaration in the method that
configures it ( slingLaunchpadOakTarConfiguration ). If I invoke that
method it's clear that I want the oak-segment bundle included as well.

I've also filed a couple of enhancement requests based on what I have
seen in other modules - basically boilerplate we copy/paste between
@Configuration methods.

Other than that, it's not 100% clear to me why, but it seems that there
isn't a 'good' Servlet API bundle included in the current SlingOptions
class. There is the geronimo specs Jar, but IIUC it's for version 3.0
only and we use 3.1 already in some place.

I've solved this by adding 

  mavenBundle().groupId("org.apache.felix").artifactId("org.apache.feli
x.http.servlet-api").version("1.1.2")

to the build.

Thanks,

Robert

Reply via email to