# sigil-defaults.properties

# Default version of all Sigil projects
version: 0.9.0.${buildQualifier:-SNAPSHOT}

# Default bundle headers
header;update-site: ${update.site:-${.}/site}
header;Bundle-Category: development
header;Bundle-ContactAddress: http://felix.apache.org
header;Bundle-Vendor: The Apache Software Foundation

# Default package version ranges
# if no version specified, BND uses resolved version, dropping minor number

package;org.apache.felix.sigil.*:				0.9.0.${buildQualifier:-SNAPSHOT}

package;aQute.lib.osgi:						0.0.0

# junit
package;junit.framework:					4.4.0
	
# apache commons	
package;org.apache.commons.lang:				2.4.0
package;org.apache.commons.lang.text:				2.4.0
package;org.apache.commons.cli:					1.2.0

# apache ant
package;org.apache.tools.ant:					1.7.0

package;org.apache.ivy*:					[2.0.0,2.0.0]
package;org.apache.tools.ant*:					1.7.1

# ganymede
# package;org.eclipse.core.resources:				3.4.1
# package;org.eclipse.core.runtime.content:			1.5.4
# package;org.eclipse.ui:					3.4.1
# package;org.eclipse.core.runtime.jobs:			3.4.0
# package;org.eclipse.debug.core:				3.4.0
# package;org.eclipse.debug.ui:					3.4.2
# package;org.eclipse.jdt.core:					3.4.2
# package;org.eclipse.jface.dialogs:				3.4.1
# package;org.eclipse.jface.preference:				3.4.1
# package;org.eclipse.jface.resource:				3.4.1
# package;org.eclipse.jface.util:					3.4.1
# package;org.eclipse.jface.window:				3.4.1
# package;org.eclipse.ui.console:					3.3.1
# package;org.eclipse.ui.dialogs:					3.4.1
# package;org.eclipse.ui.plugin:					3.4.1
# package;org.eclipse.core.commands:				3.4.0
# package;org.eclipse.core.commands.common:			3.4.0
# package;org.eclipse.core.internal.preferences:			3.2.201
# package;org.eclipse.draw2d:					3.4.2
# org.eclipse.jdt
# package;org.eclipse.jdt.core.compiler:				3.4.2
# package;org.eclipse.jdt.core.dom:				3.4.2
# package;org.eclipse.jdt.core.dom.rewrite:			3.4.2
# package;org.eclipse.jdt.internal.corext.dom:			3.4.2
# package;org.eclipse.jdt.internal.corext.util:			3.4.2
# package;org.eclipse.jdt.internal.ui:				3.4.2
# package;org.eclipse.jdt.internal.ui.propertiesfileeditor:	3.4.2
# package;org.eclipse.jdt.ui:					3.4.2
# package;org.eclipse.jdt.ui.text:				3.4.2
# package;org.eclipse.jdt.ui.text.java:				3.4.2
# package;org.eclipse.jdt.ui.wizards:				3.4.2

# org.eclipse.jface
# package;org.eclipse.jface.action:				3.4.1
# package;org.eclipse.jface.fieldassist:				3.4.1
# package;org.eclipse.jface.layout:				3.4.1
# package;org.eclipse.jface.operation:				3.4.1
# package;org.eclipse.jface.text:					3.4.2
# package;org.eclipse.jface.text.contentassist:			3.4.2
# package;org.eclipse.jface.viewers:				3.4.1
# package;org.eclipse.jface.wizard:				3.4.1

# org.eclipse.ltk
# package;org.eclipse.ltk.core.refactoring:			3.4.2

# org.eclipse.pde
# package;org.eclipse.pde.internal.ui.editor:			3.4.0
# package;org.eclipse.pde.internal.ui.parts:			3.4.0

# org.eclipse.ui
# package;org.eclipse.ui.actions:					3.4.1
# package;org.eclipse.ui.cheatsheets:				3.3.101
# package;org.eclipse.ui.editors.text:				3.4.0
# package;org.eclipse.ui.forms:					3.3.103
# package;org.eclipse.ui.forms.editor:				3.3.103
# package;org.eclipse.ui.forms.events:				3.3.103
# package;org.eclipse.ui.forms.widgets:				3.3.103
# package;org.eclipse.ui.handlers:				3.4.1
# package;org.eclipse.ui.ide:					3.4.2
# package;org.eclipse.ui.part:					3.4.1
# package;org.eclipse.ui.progress:				3.4.1
# package;org.eclipse.ui.texteditor:				3.4.0
# package;org.eclipse.ui.wizards.newresource:			3.4.2

# org.eclipse.zest
# package;org.eclipse.zest.core.viewers:				1.0.0
# package;org.eclipse.zest.core.widgets:				1.0.0
# package;org.eclipse.zest.layouts:				1.0.0
# package;org.eclipse.zest.layouts.algorithms:			1.0.0

# galileo
package;org.eclipse.*:				0.0.0


# OSGi framework
package;org.osgi.framework:					1.4.0
package;org.osgi.framework.launch:				1.0.0
package;org.osgi.service.prefs:					1.1.0
package;org.osgi.service.packageadmin				1.2.0
package;org.osgi.util.tracker:					1.3.3

# Gogo
package;org.osgi.service.command:				0.2.0
