# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0).

# The Jar Main-Class header
Main-Class: org.apache.ace.agent.launcher.Launcher
Bundle-Version: 1.0.1
Bundle-Name: Apache ACE Agent launcher
Bundle-Description: Standalone launcher that start an OSGi framework with an embedded ACE Agent

# Include the felix defaults
Include-Resource: ${repo;org.apache.ace.agent;latest},\
	META-INF/services/org.apache.ace.agent.launcher.BundleProvider=resources/org.apache.ace.agent.launcher.BundleProvider
  
Private-Package: org.apache.ace.agent.launcher,\
	org.apache.commons.cli
