Rob and I seem to be competing for the most commit email in a batch ...
he's ahead with 52 over my 51 :-)
The batch I've just put in creates a sub-module structure for structure
for Fuseki2.
I'm not entire happy with the module design but I feel it's (much)
closer to a proper answer and need refining. In order to get our
processes stable, I thought it was better to make the major change now.
Please yell if anything get broken as a result.
And I would appreciate suggestions to improve it.
Modules:
jena-fuseki2 top and parent
jena-fuseki2-core The servlets and webapp
jena-fuseki2-war Package as a WAR file
jena-fuseki2-server Build an uber jar
jena-fuseki2-dist Build a binary distribution
Fuseki can be run as a standalone server (like and compatible with
Fuseki1), as a webapp WAR in Tomcat et al, and, eventually, an embedded
mode.
What I don't like about the current partition is:
1/ Testing: it gets done in jena-fuseki2-core, but that needs a
webserver so the Jetty specific part is in jena-fuseki2-core. It'd like
it to be pure servlets.
2/ Development: being about to run it without classpath management is
really helpful. This is current run jena-fuseki2-core with it's jetty
server.
Maybe a jena-fuseki2-embedded could be done with the Jetty setup there
and put all testing that needs a running server to that as well. Seems
a little artificial.
3/ The webapp for the admin and data management is in jena-fuseki2-core
- it needs to get into the war file and the distribution for the onejar
server file. This is currently by file name reference across modules
and that feels like the wrong thing to do.
One possibility is always making a WAR file, making the standalone
server be a runner for the WAR file. The downside is that what was a
single jar that can run directly and also used as a "jar of all Jena"
(caveat - current setup needs a setup fix if run directly - the wrapper
scripts set environment variables).
As a war file, there are more bits and pieces yet the single file means
that the bits and pieces don't get separated. The server is meant to be
the really, really way to run it.
Does anyone know of a process to convert between a WAR file and a
uberjar (either way could be useful) short of grunging the file layout
explicitly.
Andy