I committed some minor changes to trunk that resolve this for me. I
tried your setlocal approach, and that didn't work. The JAVA_OPTS
variable is simply not adapted, which is logical since the 'endlocal'
statement reverts variables to their state at 'setlocal'.

I looked through the other commands in the bin directory, and I don't
think that the changes I made should interfere with them. Would you
mind having a look, just to be sure? Thanks!

On Thu, Apr 10, 2008 at 7:55 PM, Juris Galang
<[EMAIL PROTECTED]> wrote:
> If it  (your setenv.bat) already works - then I think the book or the said
> chapter could go on without waiting for this JIRA to be resolved.
>
>
>
>
>  On Apr 9, 2008, at 11:07 PM, Geert Bevin wrote:
>
> > Thanks, created the issue http://jira.terracotta.org/jira/browse/CDV-719
> >
> > (note that this is actually for the book, so a quick definitive and
> > simple approach should be found)
> >
> > On Thu, Apr 10, 2008 at 7:14 AM, Juris Galang
> > <[EMAIL PROTECTED]> wrote:
> >
> > >
> > > I think boot-jar-path was/is intended to be called only by other
> > > scripts.
> > > But there's the chance that a user will call it outside of a script -
> > > hence the line:
> > >
> > >   if not defined JAVA_HOME set JAVA_HOME="%TC_INSTALL_DIR%\jre"
> > >
> > > Later on I/we added this line:
> > >
> > >
> > >  set JAVA_HOME="%JAVA_HOME:"=%"
> > >
> > > To handle quoting and embedded space issues.
> > >
> > > Anyway, I don't think is ever meant to be called outside of a script -
> > > it was more likely written or refactored out of dso-env for clarity
> > > (dso-env, btw, is the only script that references it) --- that is also
> > > likely why there is no setlocal/endlocal pair in boot-jar-path.bat.
> > >
> > > We could get rid of the lines of code I mentioned above, OR: fold it
> > > back-in dso-env so that there's no script in our kit that would appear
> > > broken when called outside of another script --- but post a JIRA for
> > > this, so that Fiona, et. al., could weigh-in.
> > >
> > >
> > >
> > >
> > > On Apr 9, 2008, at 12:57 PM, Juris Galang wrote:
> > >
> > > > I'll take a closer look at what boot-jarpath.bat is doing...
> > > >
> > > > On Apr 9, 2008, at 11:15 AM, Geert Bevin wrote:
> > > >
> > > > > I can use that, but I'm wondering why boot-jar-path.bat has to set
> > > > > and/or modify the global JAVA_HOME var? I think it would be better
> in
> > > > > case you use this script to ensure a quoted JAVA_HOME path in any of
> > > > > the other startup script, to maybe use TC_JAVA_HOME that the rest
> > > > > uses. This makes less surprising for people to use dso-env.bat since
> > > > > it only intervenes with TC_* variables and not with JAVA_HOME.
> > > > >
> > > > > On Wed, Apr 9, 2008 at 8:09 PM, Juris Galang
> <[EMAIL PROTECTED]
> > > > >
> > > > > > wrote:
> > > > > >
> > > > > > >
> > > > > > > > This line removes all the quotes from the value of JAVA_HOME
> and
> > > > > > > > then
> > > > > > > > surrounds it with quotes. This is what makes our scripts work.
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > I forgot to add:This is what makes our scripts work when JAVA_HOME
> > > > > > happens to have embedded paths and handed off to our script with
> > > > > > quotes.
> > > > > > But it also works if it was set without quotes (we end up adding
> it
> > > > > > ourselves)
> > > > > >
> > > > > >
> > > > > > BTW, I recreated your script:
> > > > > >
> > > > > > @echo off
> > > > > > setlocal
> > > > > > set TC_INSTALL_DIR="c:\foo bar\terracotta-2.7.0-SNAPSHOT"
> > > > > >
> > > > > > set TC_CONFIG_PATH="localhost:9510"
> > > > > > call %TC_INSTALL_DIR%\bin\dso-env.bat -q
> > > > > > set JAVA_OPTS=%TC_JAVA_OPTS% %JAVA_OPTS%
> > > > > > echo
> > > > > > endlocal
> > > > > >
> > > > > > But I've wrapped it in setlocal/endlocal. It seemed to run fine (I
> > > > > > had
> > > > > > to start the TC server first so I wont get the warnings)
> > > > > > It creates a bootjar and sets the JAVA_OPTS variable to:
> > > > > >
> > > > > > -Xbootclasspath/p:"c:\foo bar\terracotta-2.7.0-snapshot\bin\..\lib
> > > > > > \dso-
> > > > > > boot\dso-boot-hotspot_win32_160_01.jar" -Dtc.install-root="c:\foo
> > > > > > bar
> > > > > > \terracotta-2.7.0-snapshot\bin\.." -Dtc.config="localhost:9510"
> > > > > >
> > > > > > Is this what you need?
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Apr 9, 2008, at 1:57 AM, Geert Bevin wrote:
> > > > > >
> > > > > > > Well, the problem here is that I want provide easy instructions
> for
> > > > > > > people to activate Terracotta on an existing Tomcat
> installation.
> > > > > > > The
> > > > > > > setenv.bat approach is what is usually recommended, and it
> works,
> > > > > > > except for boot-jar-path.bat changing the JAVA_HOME variable
> that
> > > > > > > is
> > > > > > > already there. I personally think that those scripts should have
> no
> > > > > > > side-effects at all on existing environment variables if they're
> > > > > > > called through dso-env.bat. It's also weird that JAVA_HOME is by
> > > > > > > default set in boot-jar-path.bat to the JRE that ships with
> > > > > > > Terracotta
> > > > > > > for the entire environment, if it wasn't there before. That
> makes
> > > > > > > using dso-env.bat a lot less appealing.
> > > > > > >
> > > > > > > On Wed, Apr 9, 2008 at 10:43 AM, Juris Galang
> > > > > > > <[EMAIL PROTECTED]> wrote:
> > > > > > >
> > > > > > > >
> > > > > > > > >
> > > > > > > > > set JAVA_HOME="%JAVA_HOME:"=%"
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > This line removes all the quotes from the value of JAVA_HOME
> and
> > > > > > > > then
> > > > > > > > surrounds it with quotes. This is what makes our scripts work.
> > > > > > > > However before we do a call to a 3rd Party script, we remove
> the
> > > > > > > > quotes from some environment variables (often this includes
> > > > > > > > JAVA_HOME)
> > > > > > > >
> > > > > > > > Anyway, don't change the line above, I'll work with you to
> make
> > > > > > > > your
> > > > > > > > script work.
> > > > > > > >
> > > > > > > > For reference, on scripts that work with existing Tomcat
> > > > > > > > installations, look into the
> tools/sessions/configurator-sandbox
> > > > > > > > directory of a TC installation - and look into the start.bat
> > > > > > > > script
> > > > > > > > of
> > > > > > > > any of the tomcatx.x directories (except tomcat5.5, which
> assumes
> > > > > > > > tomcat is installed in the vendors directory of your TC
> > > > > > > > installation)
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > >
> > > > > > > > On Apr 9, 2008, at 1:28 AM, Geert Bevin wrote:
> > > > > > > >
> > > > > > > > > Hi,
> > > > > > > > >
> > > > > > > > > I've been trying to get Terracotta to work easily on Windows
> > > > > > > > > with an
> > > > > > > > > existing Tomcat installation. For that I create a setenv.bat
> > > > > > > > > file in
> > > > > > > > > the bin dir with these instructions:
> > > > > > > > >
> > > > > > > > > set TC_INSTALL_DIR="C:\terracotta-2.7.0-snapshot"
> > > > > > > > > set TC_CONFIG_PATH="localhost:9510"
> > > > > > > > > call %TC_INSTALL_DIR%\bin\dso-env.bat -q
> > > > > > > > > set JAVA_OPTS=%TC_JAVA_OPTS% %JAVA_OPTS%
> > > > > > > > >
> > > > > > > > > With this, Tomcat fails to startup due to an error while
> running
> > > > > > > > > their
> > > > > > > > > setclasspath.bat file.
> > > > > > > > >
> > > > > > > > > I tracked this down to our boot-jar-path.bat script that
> always
> > > > > > > > > surrounds an existing JAVA_HOME env variable with double
> quotes.
> > > > > > > > > This
> > > > > > > > > causes the line
> > > > > > > > >
> > > > > > > > > if not "%JAVA_HOME%" == "" goto gotJdkHome
> > > > > > > > >
> > > > > > > > > to fail in setclasspath.bat.
> > > > > > > > >
> > > > > > > > > Any thoughts? I'm really a novice with windows batch
> scripts,
> > > > > > > > > so I'd
> > > > > > > > > appreciate some help here. Personally, I'd remove the
> following
> > > > > > > > > line
> > > > > > > > > from boot-jar-path.bat:
> > > > > > > > >
> > > > > > > > > set JAVA_HOME="%JAVA_HOME:"=%"
> > > > > > > > >
> > > > > > > > > ... and then adapt the commands that use JAVA_HOME or any
> derived
> > > > > > > > > variables to have double quotes.
> > > > > > > > >
> > > > > > > > > Thanks,
> > > > > > > > >
> > > > > > > > > Geert
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Geert Bevin
> > > > > > > > > Terracotta - http://www.terracotta.org
> > > > > > > > > Uwyn "Use what you need" - http://uwyn.com
> > > > > > > > > RIFE Java application framework - http://rifers.org
> > > > > > > > > Music and words - http://gbevin.com
> > > > > > > > > _______________________________________________
> > > > > > > > > tc-dev mailing list
> > > > > > > > > [email protected]
> > > > > > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev
> > > > > > > > >
> > > > > > > >
> > > > > > > > _______________________________________________
> > > > > > > > tc-dev mailing list
> > > > > > > > [email protected]
> > > > > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Geert Bevin
> > > > > > > Terracotta - http://www.terracotta.org
> > > > > > > Uwyn "Use what you need" - http://uwyn.com
> > > > > > > RIFE Java application framework - http://rifers.org
> > > > > > > Music and words - http://gbevin.com
> > > > > > > _______________________________________________
> > > > > > > tc-dev mailing list
> > > > > > > [email protected]
> > > > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev
> > > > > > >
> > > > > >
> > > > > > _______________________________________________
> > > > > > tc-dev mailing list
> > > > > > [email protected]
> > > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Geert Bevin
> > > > > Terracotta - http://www.terracotta.org
> > > > > Uwyn "Use what you need" - http://uwyn.com
> > > > > RIFE Java application framework - http://rifers.org
> > > > > Music and words - http://gbevin.com
> > > > > _______________________________________________
> > > > > tc-dev mailing list
> > > > > [email protected]
> > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev
> > > > >
> > > >
> > > >
> > >
> > > _______________________________________________
> > > tc-dev mailing list
> > > [email protected]
> > > http://lists.terracotta.org/mailman/listinfo/tc-dev
> > >
> > >
> >
> >
> >
> > --
> > Geert Bevin
> > Terracotta - http://www.terracotta.org
> > Uwyn "Use what you need" - http://uwyn.com
> > RIFE Java application framework - http://rifers.org
> > Music and words - http://gbevin.com
> >
>
>



-- 
Geert Bevin
Terracotta - http://www.terracotta.org
Uwyn "Use what you need" - http://uwyn.com
RIFE Java application framework - http://rifers.org
Music and words - http://gbevin.com
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to