Hi

I ran nightly-smoke on my Windows 7 via Cygwin, and ran into two errors as
depicted below. JAVA7_HOME is set to /d/java/sun-java-70 and it seems to
work with other ant targets, e.g. precommit, test etc.

prepare-release-no-sign:
    [mkdir] Created dir: D:\dev\lucene\lucene-trunk\lucene\build\fakeRelease
     [copy] Copying 401 files to
D:\dev\lucene\lucene-trunk\lucene\build\fakeRelease\lucene
     [copy] Copying 194 files to
D:\dev\lucene\lucene-trunk\lucene\build\fakeRelease\solr
*     [exec] JAVA7_HOME is D:\d\java\sun-java-70*

This seems to be caused by this line:

  <env key="JAVA7_HOME" file="${JAVA7_HOME}"/>

If I replace it by this, I don't get the error anymore (but there's a
different one, see below):

  <env key="JAVA7_HOME" value="${JAVA7_HOME}"/>

According to http://ant.apache.org/manual/Tasks/exec.html, 'value' denotes
"The literal value for the environment variable." while 'file' is "The
value for the environment variable. *Will be replaced by the absolute
filename of the file by Ant*.".

Anyone can confirm it is ok to make this change?

After making this change, I hit another error:

prepare-release-no-sign:
    [mkdir] Created dir: D:\dev\lucene\lucene-trunk\lucene\build\fakeRelease
     [copy] Copying 401 files to
D:\dev\lucene\lucene-trunk\lucene\build\fakeRelease\lucene
     [copy] Copying 194 files to
D:\dev\lucene\lucene-trunk\lucene\build\fakeRelease\solr
     [exec] JAVA7_HOME is /d/java/sun-java-70
     [exec] NOTE: output encoding is UTF-8

     [exec] Traceback (most recent call last):
     [exec]   File
"D:\dev\lucene\lucene-trunk\dev-tools\scripts\smokeTestRelease.py", line
1357, in <module>
     [exec]     main()
     [exec]   File
"D:\dev\lucene\lucene-trunk\dev-tools\scripts\smokeTestRelease.py", line
1301, in main
     [exec]     smokeTest(baseURL, version, tmpDir, isSigned)
     [exec]   File
"D:\dev\lucene\lucene-trunk\dev-tools\scripts\smokeTestRelease.py", line
1312, in smokeTest
     [exec]     os.makedirs(tmpDir)
     [exec]   File "/usr/lib/python3.2/os.py", line 152, in makedirs
     [exec]     mkdir(name, mode)
     [exec] OSError: [Errno 2] No such file or directory:
'/cygdrive/d/dev/lucene/lucene-trunk/D:\\dev\\lucene\\lucene-trunk\\lucene\\build\\fakeReleaseTmp'

See the last line, how the fakeRelease location is corrupt. Could it be
this line:

  <arg file="${fakeReleaseTmp}"/>

The property fakeReleaseTmp is defined as relative path:

  <property name="fakeReleaseTmp" location="lucene/build/fakeReleaseTmp"/>

In Eclipse, when I hover over the property, it displays the correct full
path. But I wonder if Ant gets confused ... I'm running now with file=
replaced by value=, but it will take some time for this to complete (the
previous error I got was after 48 minutes).

Again, can anyone confirm this change is safe?

Shai

Reply via email to