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

Bundle-Version: 1.0.1
-buildpath: \
	${^-buildpath},\
	osgi.core;version=6.0.0,\
	osgi.cmpn,\
	org.apache.felix.http.api,\
	org.apache.felix.http.servlet-api,\
	org.apache.felix.dependencymanager,\
	org.apache.ace.gogo;version=latest,\
	org.apache.felix.gogo.runtime,\
	org.apache.ace.authentication.api;version=latest,\
	org.apache.ace.http.api;version=latest
	
Bundle-Activator: org.apache.ace.gogo.servlet.Activator
Private-Package: org.apache.ace.gogo.servlet
