<?xml version="1.0" encoding="UTF-8"?>

<!-- 

Copyright (c) 2012 Martin Reiterer 

All rights reserved. This program and the accompanying materials 
are made available under the terms of the Eclipse Public License 
v1.0 which accompanies this distribution, and is available at 
http://www.eclipse.org/legal/epl-v10.html 

Contributors: Martin Reiterer - setup of tycho build for babel tools

-->

<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>
  <artifactId>org.eclipse.babel.core</artifactId>
  <version>0.8.0-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>

  <parent>
    <groupId>org.eclipse.babel.plugins</groupId>
    <artifactId>org.eclipse.babel.tapiji.tools.parent</artifactId>
    <version>0.0.2-SNAPSHOT</version>
    <relativePath>..</relativePath>
  </parent>
  
  <properties>
    <tycho-version>0.16.0</tycho-version>
  </properties>

  <build>
    <plugins>
      <plugin>
        <!-- enable tycho build extension -->
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-maven-plugin</artifactId>
        <version>${tycho-version}</version>
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build>
  
  <repositories>
    <!-- configure p2 repository to resolve against -->
    <repository>
      <id>indigo</id>
      <layout>p2</layout>
      <url>http://download.eclipse.org/releases/indigo/</url>
    </repository>
  </repositories>
</project>