<?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.2.2</version>
  </parent>
  <groupId>org.netbeans.html</groupId>
  <artifactId>net.java.html</artifactId>
  <version>1.2.2</version>
  <packaging>bundle</packaging>
  <name>HTML Context</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <publicPackages>net.java.html,org.netbeans.html.context.spi</publicPackages>
  </properties>
  <build>
      <plugins>
          <plugin>
              <groupId>org.apache.felix</groupId>
              <artifactId>maven-bundle-plugin</artifactId>
              <configuration>
                  <instructions>
                      <Eclipse-BuddyPolicy>dependent</Eclipse-BuddyPolicy>
                  </instructions>
              </configuration>
          </plugin>
      </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.netbeans.api</groupId>
      <artifactId>org-openide-util-lookup</artifactId>
      <scope>test</scope>
      <type>jar</type>
    </dependency>
  </dependencies>
    <description>Representation of an HTML page context a Java program operates in.</description>
</project>
