Hi Berin,

the maven bootstrap *is* the install, and the maven directory is the only place we are installing maven stuff. lib.repo is a place 'outside' of maven, which we rely on, and install the maven jar into, so from maven's install process it's very simple:

${lib.repo}/maven.jar and ${maven.home}

We really need to document that lib.repo CAN'T be in maven.home.
--
dIon Gillard, Multitask Consulting
Work:      http://www.multitask.com.au
Developers: http://adslgateway.multitask.com.au/developers



Berin Loritsch <[EMAIL PROTECTED]>

05/04/02 01:40 AM
Please respond to turbine-maven-user

       
        To:        [EMAIL PROTECTED]
        cc:        
        Subject:        Build failing with lib.repo inside maven



I have my install set up somewhat like Ant does its install, with
Ant's necessary libs as a child directory of the ANT install
location.

I thought that it would be releatively clean to do that with maven.

So I have the root directory:

/usr/local/maven

and My lib.repo as a child of that:

/usr/local/maven/lib.repo

However, in the bootstrap build, maven tries to delete the install
directory--thus trying to delete lib.repo.  Because we are using
libraries in lib.repo, the install fails.

What is more fundamental is the concept of an installer.  An app
that is installed should keep track of what it installed, so that
it can remove it later.  That way the uninstallation of Maven is
more intelligent--and does not accidentally delete files that were
manually added by the user.

One way this is accomplished is by the use of an install descriptor.
M$, Cygwin, and several other installer programs use this approach.
The descriptor file lists all the information necessary to clean out
the install (it can be as simple as a list of files, or it can be
as complex as an ant file) automatically.  The installer (a new
maven ant task?) would populate the descriptor with a reference to
each and every file that is copied to the install location.  The
uninstaller (again a new maven ant task?) would read the descriptor
and remove all the necessary files.

I think this will be the best way to manage installs.  Blindly deleting
a directory is fine if the directory is supposed to be temporary
(like the build directory).  It is not not fine when the user may have
taken the time to update the look and feel of the site--and the new
install wipes out his work!

--

"They that give up essential liberty to obtain a little temporary safety
 deserve neither liberty nor safety."
                - Benjamin Franklin



Reply via email to