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

_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to