instructions.configure=\
addRepository(type:0,location:http${#58}//download.eclipse.org/eclipse/updates/4.10,name:The Eclipse Project Updates);\
addRepository(type:1,location:http${#58}//download.eclipse.org/eclipse/updates/4.10,name:The Eclipse Project Updates);\
addRepository(type:0,location:http${#58}//download.eclipse.org/releases/2018-12,name:2018-12);\
addRepository(type:1,location:http${#58}//download.eclipse.org/releases/2018-12,name:2018-12);\
  mkdir(path:${installFolder}/dropins);
requires.1.namespace=org.eclipse.equinox.p2.iu
requires.1.name=toolingorg.eclipse.configuration.macosx
requires.1.filter=(osgi.os=macosx)
requires.1.range=[1.0.0,1.0.0]
requires.1.greedy=true

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

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

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

# Restrict range so we are not an automatic update for 3.x.
update.id = org.eclipse.platform.sdk
update.range = [4.0,$version$)
update.severity = 0
update.description = An update for 4.x generation Platform SDK

# Set the product property type
properties.0.name = org.eclipse.equinox.p2.type.product
properties.0.value = true

properties.1.name = org.eclipse.equinox.p2.description
properties.1.value = Initial 4.10 Release of the Platform SDK.

properties.2.name = org.eclipse.equinox.p2.provider
properties.2.value = Eclipse.org
