<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>
        <groupId>org.eclipse.blockchain</groupId>
        <artifactId>org.eclipse.blockchain.tycho</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <relativePath>../org.eclipse.blockchain.tycho</relativePath>
    </parent>

    <groupId>org.eclipse.blockchain</groupId>
    <artifactId>org.eclipse.blockchain.product</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>eclipse-plugin</packaging>
</project>