<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012 Eclipse Foundation.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php
 
  Contributors:
     Igor Fedorenko - initial implementation
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>rt.equinox.bundles</artifactId>
    <groupId>org.eclipse.equinox.bundles</groupId>
    <version>4.6.0-SNAPSHOT</version>
    <relativePath>../../</relativePath>
  </parent>
  <groupId>org.eclipse.equinox</groupId>
  <artifactId>org.eclipse.equinox.bidi</artifactId>
  <version>0.10.100-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <!--
             Build java profile J2SE-1.3 set in build.properties does not provide
             OSGi/Minimum-1.2 defined in bundle manifest. Probably need to report
             this to the equinox team to reconsile the two, but for now just
             override build profile in pom.xml.
           -->
          <executionEnvironment>OSGi/Minimum-1.2</executionEnvironment>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
