instructions.configure=\
addRepository(type:0,location:http${#58}//download.eclipse.org/stem/update-site/,name:STEM Add-ons);\
addRepository(type:1,location:http${#58}//download.eclipse.org/stem/update-site/,name:STEM Add-ons);\
mkdir(path:${installFolder}/dropins);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/Eclipse.app/);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/launcher);\
org.eclipse.equinox.p2.touchpoint.natives.remove(path:${installFolder}/launcher.exe);\

###################################
# Disable Eclipse Feature Plugins #
###################################

requires.0.namespace=org.eclipse.equinox.p2.iu
requires.0.name=configure.org.eclipse.search
requires.0.range=[$version$,$version$]
requires.0.greedy=true

units.0.id=configure.org.eclipse.search
units.0.version=$version$
units.0.provides.1.namespace=org.eclipse.equinox.p2.iu
units.0.provides.1.name=configure.org.eclipse.search
units.0.provides.1.version=$version$
units.0.instructions.install=
units.0.hostRequirements.1.namespace=osgi.bundle
units.0.hostRequirements.1.name=org.eclipse.search
units.0.hostRequirements.1.range=[0.0.0,10.0.0]
units.0.hostRequirements.1.greedy=false
units.0.hostRequirements.2.namespace=org.eclipse.equinox.p2.eclipse.type
units.0.hostRequirements.2.name=bundle
units.0.hostRequirements.2.range=[0.0.0,10.0.0)
units.0.hostRequirements.2.greedy=false
units.0.requires.1.namespace=osgi.bundle
units.0.requires.1.name=org.eclipse.search
units.0.requires.1.range=[0.0.0,10.0.0]
units.0.requires.1.greedy=false

# disable org.eclipse.ui.externaltools
requires.1.namespace=org.eclipse.equinox.p2.iu
requires.1.name=configure.org.eclipse.ui.externaltools
requires.1.range=[$version$,$version$]
requires.1.greedy=true

units.1.id=configure.org.eclipse.ui.externaltools
units.1.version=$version$
units.1.provides.1.namespace=org.eclipse.equinox.p2.iu
units.1.provides.1.name=configure.org.eclipse.ui.externaltools
units.1.provides.1.version=$version$
units.1.instructions.install=
units.1.hostRequirements.1.namespace=osgi.bundle
units.1.hostRequirements.1.name=org.eclipse.ui.externaltools
units.1.hostRequirements.1.range=[0.0.0,10.0.0]
units.1.hostRequirements.1.greedy=false
units.1.hostRequirements.2.namespace=org.eclipse.equinox.p2.eclipse.type
units.1.hostRequirements.2.name=bundle
units.1.hostRequirements.2.range=[0.0.0,10.0.0)
units.1.hostRequirements.2.greedy=false
units.1.requires.1.namespace=osgi.bundle
units.1.requires.1.name=org.eclipse.ui.externaltools
units.1.requires.1.range=[0.0.0,10.0.0]
units.1.requires.1.greedy=false

# disable org.eclipse.core.externaltools
requires.2.namespace=org.eclipse.equinox.p2.iu
requires.2.name=configure.org.eclipse.core.externaltools
requires.2.range=[$version$,$version$]
requires.2.greedy=true

units.2.id=configure.org.eclipse.core.externaltools
units.2.version=$version$
units.2.provides.1.namespace=org.eclipse.equinox.p2.iu
units.2.provides.1.name=configure.org.eclipse.core.externaltools
units.2.provides.1.version=$version$
units.2.instructions.install=
units.2.hostRequirements.1.namespace=osgi.bundle
units.2.hostRequirements.1.name=org.eclipse.core.externaltools
units.2.hostRequirements.1.range=[0.0.0,10.0.0]
units.2.hostRequirements.1.greedy=false
units.2.hostRequirements.2.namespace=org.eclipse.equinox.p2.eclipse.type
units.2.hostRequirements.2.name=bundle
units.2.hostRequirements.2.range=[0.0.0,10.0.0)
units.2.hostRequirements.2.greedy=false
units.2.requires.1.namespace=osgi.bundle
units.2.requires.1.name=org.eclipse.core.externaltools
units.2.requires.1.range=[0.0.0,10.0.0]
units.2.requires.1.greedy=false

# disable org.eclipse.debug.core
requires.3.namespace=org.eclipse.equinox.p2.iu
requires.3.name=configure.org.eclipse.debug.core
requires.3.range=[$version$,$version$]
requires.3.greedy=true

units.3.id=configure.org.eclipse.debug.core
units.3.version=$version$
units.3.provides.1.namespace=org.eclipse.equinox.p2.iu
units.3.provides.1.name=configure.org.eclipse.debug.core
units.3.provides.1.version=$version$
units.3.instructions.install=
units.3.hostRequirements.1.namespace=osgi.bundle
units.3.hostRequirements.1.name=org.eclipse.debug.core
units.3.hostRequirements.1.range=[0.0.0,10.0.0]
units.3.hostRequirements.1.greedy=false
units.3.hostRequirements.2.namespace=org.eclipse.equinox.p2.eclipse.type
units.3.hostRequirements.2.name=bundle
units.3.hostRequirements.2.range=[0.0.0,10.0.0)
units.3.hostRequirements.2.greedy=false
units.3.requires.1.namespace=osgi.bundle
units.3.requires.1.name=org.eclipse.debug.core
units.3.requires.1.range=[0.0.0,10.0.0]
units.3.requires.1.greedy=false

# disable org.eclipse.debug.ui
requires.4.namespace=org.eclipse.equinox.p2.iu
requires.4.name=configure.org.eclipse.debug.ui
requires.4.range=[$version$,$version$]
requires.4.greedy=true

units.4.id=configure.org.eclipse.debug.ui
units.4.version=$version$
units.4.provides.1.namespace=org.eclipse.equinox.p2.iu
units.4.provides.1.name=configure.org.eclipse.debug.ui
units.4.provides.1.version=$version$
units.4.instructions.install=
units.4.hostRequirements.1.namespace=osgi.bundle
units.4.hostRequirements.1.name=org.eclipse.debug.ui
units.4.hostRequirements.1.range=[0.0.0,10.0.0]
units.4.hostRequirements.1.greedy=false
units.4.hostRequirements.2.namespace=org.eclipse.equinox.p2.eclipse.type
units.4.hostRequirements.2.name=bundle
units.4.hostRequirements.2.range=[0.0.0,10.0.0)
units.4.hostRequirements.2.greedy=false
units.4.requires.1.namespace=osgi.bundle
units.4.requires.1.name=org.eclipse.debug.ui
units.4.requires.1.range=[0.0.0,10.0.0]
units.4.requires.1.greedy=false



#############################################
### Customize Mac OS X Workspace Location ###
#############################################

requires.5.namespace=org.eclipse.equinox.p2.iu
requires.5.name=tooling.org.eclipse.configuration.macosx
requires.5.filter=(osgi.os=macosx)
requires.5.range=[1.0.0,1.0.0]
requires.5.greedy=true

units.5.id=tooling.org.eclipse.configuration.macosx
units.5.version=1.0.0
units.5.provides.1.namespace=org.eclipse.equinox.p2.iu
units.5.provides.1.name=tooling.org.eclipse.configuration.macosx
units.5.provides.1.version=1.0.0
units.5.filter=(osgi.os=macosx)
units.5.touchpoint.id=org.eclipse.equinox.p2.osgi
units.5.touchpoint.version=1.0.0
units.5.instructions.configure=setProgramProperty(propName:osgi.instance.area.default,propValue:../../../workspace);
units.5.instructions.unconfigure=setProgramProperty(propName:osgi.instance.area.default,propValue:);




