<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2013 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.framework</artifactId>
    <groupId>org.eclipse.equinox.framework</groupId>
    <version>4.21.0-SNAPSHOT</version>
    <relativePath>../../</relativePath>
  </parent>
  <groupId>org.eclipse.osgi</groupId>
  <artifactId>org.eclipse.osgi</artifactId>
  <version>3.17.0-SNAPSHOT</version>
  <packaging>eclipse-plugin</packaging>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-compiler-plugin</artifactId>
        <version>${tycho.version}</version>
        <configuration>
          <compilerArgs>
            <arg>-nowarn:[${project.basedir}/osgi/src${path.separator}${project.basedir}/felix/src]</arg>
          </compilerArgs>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.moditect</groupId>
        <artifactId>moditect-maven-plugin</artifactId>
        <version>1.0.0.RC1</version>
        <executions>
          <execution>
            <id>add-module-infos</id>
            <phase>package</phase>
            <goals>
                <goal>add-module-info</goal>
            </goals>
            <configuration>
                <module>
                  <moduleInfoSource>
open module org.eclipse.osgi {
	requires java.xml;

	exports org.eclipse.equinox.log;
	exports org.eclipse.osgi.container;
	exports org.eclipse.osgi.container.builders;
	exports org.eclipse.osgi.container.namespaces;
	exports org.eclipse.osgi.framework.console;
	exports org.eclipse.osgi.framework.eventmgr;
	exports org.eclipse.osgi.framework.log;
	exports org.eclipse.osgi.launch;
	exports org.eclipse.osgi.report.resolution;
	exports org.eclipse.osgi.service.datalocation;
	exports org.eclipse.osgi.service.debug;
	exports org.eclipse.osgi.service.environment;
	exports org.eclipse.osgi.service.localization;
	exports org.eclipse.osgi.service.pluginconversion;
	exports org.eclipse.osgi.service.resolver;
	exports org.eclipse.osgi.service.runnable;
	exports org.eclipse.osgi.service.security;
	exports org.eclipse.osgi.service.urlconversion;
	exports org.eclipse.osgi.signedcontent;
	exports org.eclipse.osgi.storagemanager;
	exports org.eclipse.osgi.util;
	exports org.osgi.dto;
	exports org.osgi.framework;
	exports org.osgi.framework.connect;
	exports org.osgi.framework.dto;
	exports org.osgi.framework.hooks.bundle;
	exports org.osgi.framework.hooks.resolver;
	exports org.osgi.framework.hooks.service;
	exports org.osgi.framework.hooks.weaving;
	exports org.osgi.framework.launch;
	exports org.osgi.framework.namespace;
	exports org.osgi.framework.startlevel;
	exports org.osgi.framework.startlevel.dto;
	exports org.osgi.framework.wiring;
	exports org.osgi.framework.wiring.dto;
	exports org.osgi.resource;
	exports org.osgi.resource.dto;
	exports org.osgi.service.condpermadmin;
	exports org.osgi.service.log;
	exports org.osgi.service.log.admin;
	exports org.osgi.service.packageadmin;
	exports org.osgi.service.permissionadmin;
	exports org.osgi.service.resolver;
	exports org.osgi.service.startlevel;
	exports org.osgi.service.url;
	exports org.osgi.util.tracker;

	provides org.osgi.framework.launch.FrameworkFactory with org.eclipse.osgi.launch.EquinoxFactory;
	provides org.osgi.framework.connect.ConnectFrameworkFactory with org.eclipse.osgi.launch.EquinoxFactory;

	uses org.osgi.framework.connect.FrameworkUtilHelper;
}
                  </moduleInfoSource>
                </module>
                <overwriteExistingFiles>true</overwriteExistingFiles>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>
