On the JDBC front I think it is essentially ready to go in this release,  my 
main concern is integrating it into the build.

Right now it is not called out as a module of the top level POM so does not 
automatically get built by mvn unless you go and build in the jena-jdbc 
directory yourself.

However it is a slow build at ~5 mins or a modern machine like my 2011 MacBook 
Pro, and much longer on older/heavily contended machines like Apache build 
servers.  Therefore my concern is whether developers are willing to stomach a 
longer build on their local machines?

One thought I had was about using maven profiles, right now I have the 
following in my local uncommitted top level POM:

<profiles>
<profile>
<!--
This is the dev profile, it only builds the common modules and
does not build the slow building JDBC modules or the distribution packages
-->
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>jena-parent</module>
<module>jena-iri</module>
<module>jena-core</module>
<module>jena-arq</module>
<module>jena-tdb</module>
<module>jena-text</module>
<module>jena-sdb</module>
<module>jena-fuseki</module>
<!-- Slow to build - exclude from default dev build -->
<!-- <module>jena-jdbc</module>-->
<module>apache-jena-libs</module>
<!-- Don't build distro package every time -->
<!-- <module>apache-jena</module> -->
</modules>
</profile>
<profile>
<!--
This is the complete profile, it builds everything including slow building 
modules and
the distribution packages.
This profile should be enabled when cutting a release
-P apache-release,complete
-->
<id>complete</id>
<modules>
<module>jena-parent</module>
<module>jena-iri</module>
<module>jena-core</module>
<module>jena-arq</module>
<module>jena-tdb</module>
<module>jena-text</module>
<module>jena-sdb</module>
<module>jena-fuseki</module>
<module>jena-jdbc</module>
<module>apache-jena-libs</module>
<module>apache-jena</module>
</modules>
</profile>
</profiles>

Would people be OK with going with something like this?  It would mean that by 
default we only build the common modules and then when we come to do releases 
or want a more thorough build we can build the complete thing (or even add a 
third release specific profile?).  We may want to have a little more discussion 
about which modules go in which profile and how many profiles we want to have.  
I can commit what I have now and people can iterate on it?

Getting back to JDBC specifics, no there is not any website documentation yet.  
However the javadoc is pretty comprehensive so with a couple of basic web pages 
written up may be sufficient, I will try and at least stub those pages out 
today.

Rob

Reply via email to