I'd like to see a <platform> element in the next generation pom that can
be used to specify the desired platform for this build.

I see this working in a similar way to the <prerequisites> element, but
be more appropriate.

How I see this working...

Java::

<platform>
  <java>1.5</java>
</platform>

This would be a signal for the maven client to look for a JDK 1.5 or
newer, the javadoc plugin to turn on target 1.5 option, source plugin to
turn on source 1.5 (target can be specified older, but default to this
java version), and various other plugins or reports could use this
specification also.

If you attempt to execute this build with JDK 1.4, it fails, and warns
you to upgrade your JDK.
If you attempt to execute this build with JDK 1.6, it works, but forces
the source/target.

.Net::

<platform>
  <dotnet>1.1</dotnet>
</platform>

Similar to the java version.  Not much work here, could easily be a
<packaging> type.

Native::

<platform>
  <native>
    <type>unix</type>
    <flavours>
      <flavour>osx-ppc</flavour>
      <flavour>osx-intel</flavour>
      <flavour>osx-universal</flavour>
      <flavour>linux-i386</flavour>
      <flavour>linux-ppc</flavour>
      <flavour>solaris-intel</flavour>
      <flavour>hpux-intel</flavour>
    </flavours>
  </native>
</platform>

In areas like this, the platform element shines. In this mode, the build
can produce any of the specified flavours, but no others.  Continuum
could even kick in and issue a build for each flavour and report back
the results.

What do you think?

- Joakim

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to