Maven profile activation using a list of mutually exclusive values

1.2k Views Asked by At

I'm working on a project that depends on SWT. It uses Maven as build tool and dependency management system. Because SWT is platform-dependent, I need to tell Maven which dependency on which platform should be used.

Maven profiles are usually utilized to conditionally include dependencies according to the os.family and os.arch properties like that:

<profiles>
  <profile>
    <id>Linux-x86</id>
    <activation>
      <os>
        <family>linux</family>
        <arch>i386</arch>
      </os>
    </activation>
    <dependencies>
      <dependency>
        <!-- some platform-specific dependency goes here -->
      </dependency>
    </dependencies>
  </profile>
</profiles>

The problem is that os.arch could have several different values - "i386", "i486", "i586" etc. but, in the SWT world, they all map to "x86".

Is there any possibility to specify a mutually exclusive list of values (os.arch in my precise case) as condition in Maven without the need to create a separate profile for each value?

1

There are 1 best solutions below

3
On

haven´t tested it but there is an arch x86

see the maven doc ....

Maven Profiles

maven enforcer plugin

os arch variables