Mark Hindess wrote:
On 11 July 2006 at 16:42, "Ivan Volosyuk" <[EMAIL PROTECTED]> wrote:
[snip]

Working on it. Not sure I like the way make is called from ant build.
Here is an example:

(from modules/luni/build.xml)

    <target name="clean.native" if="is.windows">
        <exec failonerror="true"
              executable="${make.command}"
              dir="${hy.luni.src.main.native}/vmi/${hy.os}">
            <env key="HY_HDK" value="${hy.hdk}" />
                    <arg line="clean" />
        </exec>
        <exec failonerror="true"
              executable="${make.command}"
              dir="${hy.luni.src.main.native}/luni/${hy.os}">
            <env key="HY_HDK" value="${hy.hdk}" />
                    <arg line="clean" />
        </exec>
                <exec failonerror="true"
              executable="${make.command}"
              dir="${hy.luni.src.main.native}/launcher/${hy.os}">
            <env key="HY_HDK" value="${hy.hdk}" />
                    <arg line="clean" />
        </exec>
        <exec failonerror="true"
              executable="${make.command}"
              dir="${hy.luni.src.main.native}/vmls/${hy.os}">
            <env key="HY_HDK" value="${hy.hdk}" />
                    <arg line="clean" />
        </exec>
    </target>

This means that I should copy paste the environment variable from ant
variable conversion code in dozen of places. BTW, why the clean up is
just windows specific? What about Linux?

Good question.  I look forward to Oliver's answer. ;-)


Thanks Mark ;) This is just a mistake Ive made in the Ant script - the
if="is.windows" bit definitely shouldn't be there.

Shall I open a JIRA for it's removal, or are you happy to just take the if
test out Mark?

I'm going to create some kind of macro command which will include all
common settings for make execution. (/me is reading manuals)

Excellent idea.  Something like (untested):

  <make dir="${hy.luni.src.main.native}/vmls/${hy.os}" target="clean" />

and:

  <macrodef name="make">
    <attribute name="dir" />
    <attribute name="target" default="" />
    <sequential>
      <exec failonerror="true"
            executable="${make.command}"
            dir="@{dir}">
        <env key="HY_HDK" value="${hy.hdk}" />
        <arg line="@{target}" />
      </exec>
    <sequential>
  </macrodef>

(You might have to make the default for target "all".)

At the moment the only common file you could put this in is
properties.xml which isn't elegant but it might be okay for now.  We
really need to have a common file that gets moved to the deploy tree -
like the make fragments.

That is definitely a good idea. I did it the long way because I don't really
know a great deal about Ant macros - I was more interested in getting it
working first, and was hoping that someone would come along and simplify
it later.

Regards,
Oliver

Regards,
 Mark.



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
Oliver Deakin
IBM United Kingdom Limited


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to