Hi Mark,

On 10/7/2013 3:37 PM, Mark H. Wood wrote:
> <rant>
> Well, let me add the "why are we doing this?" view.
>
> Both by its name ("build.properties") and by its usage (by Maven) this
> file ought to contain only information that Maven needs to build the
> product.  It should contain nothing which only matters during
> installation.  Which is just about all of it.  Taking a quick look, I
> don't see *any* properties which should have significance to Maven or
> our POMs.
>
> build.properties has the wrong name and is in the wrong place.  It
> belongs to the installation process.  It should be called
> "install.properties" and it should be used and/or applied by Ant, or
> whatever tool we use to drive installation.  In that position it could
> be thought of as a saved-installer-answers file for replaying an
> installation (although you could hand-craft one beforehand, or edit as
> needed).  We could even have a simple "wizard" to lead people through
> the questions and file the answers.

You bring up some good points which, generally speaking, I agree with. 
It is a bit odd to be using "build.properties" from Maven, since it 
mostly is specifying installation configurations. As I understand it, 
the two routes you mention would have differing pros/cons:


Current Route (build.properties & filtering in Maven)
------------------------------------------------------
   * Pros:
      * Allows IDEs to "run" DSpace from 
[src]/dspace/target/dspace-[version]-build/ (as dspace.cfg is fully 
filtered there)
      * Can maintain *.properties files separately (e.g. not in GitHub) 
& can have multiple for differing environments.
   * Cons:
      * Requires a rebuild (mvn package) & redeploy (ant update) for any 
changes
      * As noted, most/all configs need not be specified during Maven build
      * As noted, we have questions around what configs are in this 
build.properties


Installation Route (install.properties & filtering in Ant)
-----------------------------------------------------
   * Pros:
      * Configs specified only at point of installation/update. Changes 
just require a redeploy (ant update)
      * Would potentially allow us to distribute a fully compiled DSpace 
Installer (which only needs Ant to deploy -- no Maven needed if you 
don't want to compile DSpace locally)
      * Could still potentially maintain these *.properties files 
separately.
   * Cons:
      * Where would the 'install.properties' reside?  It cannot be in 
the /target directory as that is an ephemeral location. Perhaps it'd 
need to be copied to the /target/ by Maven?
      * Is IDE integration made slightly more complex?  DSpace Configs 
would not be filtered until Ant is run, so can IDEs still point at 
/target webapps for debugging/testing?
      * We still will have questions around what configs are in this 
install.properties (different institutions will likely still want 
different fields)

Not sure if this is helpful either, but just thought I'd add to Mark's 
interesting brainstorm. Please keep in mind this is still a brainstorm, 
and I'm not implying we should change directions here, just want to look 
at our options more closely.

- Tim

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
Dspace-devel mailing list
Dspace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to