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

Private-Package: \
	org.apache.ace.nodelauncher.amazon.impl,\
	META-INF.services;-split-package:=merge-first,\
	META-INF.maven.*;-split-package:=merge-first,\
	functions;-split-package:=merge-first,\
	org.jclouds.*;-split-package:=merge-first,\
	com.google.*;-split-package:=merge-first,\
	net.schmizz.*;-split-package:=merge-first,\
	org.nnsoft.*;-split-package:=merge-first,\
	org.aopalliance.*;-split-package:=merge-first,\
	net.oauth.*;-split-package:=merge-first,\
	org.apache.commons.io.*;-split-package:=merge-first,\
	javax.inject;-split-package:=merge-first,\
	javax.annotation.*;-split-package:=merge-first,\
	javax.ws.*;-split-package:=merge-first,\
	org.slf4j.*;-split-package:=merge-first,\
	org.bouncycastle.*;-split-package:=merge-first,\
	com.sun.jersey.*;-split-package:=merge-first
Bundle-Activator: org.apache.ace.nodelauncher.amazon.impl.Activator
Import-Package: \
	!com.google.*,\
	!junit.*,\
	!javax.mail.*,\
	!javax.inject.*,\
	!javax.ws.*,\
	!com.jamesmurty.utils,\
	!com.jcraft.jzlib,\
	!javax.swing*,\
	!org.apache.commons.io.*,\
	!org.bouncycastle.*,\
	!sun.misc,\
	!com.sun.*,\
	!org.slf4j.*,\
	!COM.jrockit.reflect,\
	!COM.newmonics.PercClassLoader,\
	!jrockit.vm,\
	!net.sf.cglib.asm.util,\
	!org.apache.bsf,\
	!org.apache.bsf.*,\
	!org.apache.tools.ant,\
	!org.apache.tools.ant.types,\
	!sun.reflect,\
	*
Export-Package: \
	org.jclouds.compute.domain,\
	org.apache.ace.nodelauncher.amazon
Include-Resource:\
	META-INF/services/org.jclouds.apis.ApiMetadata=resources/org.jclouds.apis.ApiMetadata
Bundle-Version: 2.0.1
Bundle-Name: Apache ACE NodeLauncher Amazon
Bundle-Description: Registers a NodeLauncher service for Amazon
