<?xml version="1.0"?>
<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.netbeans.html</groupId>
    <artifactId>pom</artifactId>
    <version>1.1</version>
  </parent>
  <groupId>org.netbeans.html</groupId>
  <artifactId>net.java.html.boot</artifactId>
  <version>1.1</version>
  <packaging>bundle</packaging>
  <name>Browser Bootstrap</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <publicPackages>net.java.html.js,net.java.html.boot,org.netbeans.html.boot.spi</publicPackages>
  </properties>
  <build>
      <plugins>
          <plugin>
              <groupId>org.apache.felix</groupId>
              <artifactId>maven-bundle-plugin</artifactId>
              <configuration>
                  <instructions>
                      <Agent-Class>org.netbeans.html.boot.impl.JsAgent</Agent-Class>
                      <Premain-Class>org.netbeans.html.boot.impl.JsAgent</Premain-Class>
                      <Eclipse-BuddyPolicy>dependent</Eclipse-BuddyPolicy>
                  </instructions>
              </configuration>
          </plugin>
      </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm</artifactId>
      <type>jar</type>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <scope>test</scope>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-util-lookup</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.netbeans.html</groupId>
      <artifactId>net.java.html</artifactId>
      <version>${project.version}</version>
      <type>jar</type>
    </dependency>
  </dependencies>
    <description>Builder to launch your Java/HTML based application.</description>
</project>
