instructions.configure=\
addRepository(type:0,location:http${#58}//download.eclipse.org/eclipse/updates/4.20,name:The Eclipse Project Updates);\
addRepository(type:1,location:http${#58}//download.eclipse.org/eclipse/updates/4.20,name:The Eclipse Project Updates);\
addRepository(type:0,location:http${#58}//download.eclipse.org/releases/2021-06,name:2021-06);\
addRepository(type:1,location:http${#58}//download.eclipse.org/releases/2021-06,name:2021-06);\
  mkdir(path:${installFolder}/dropins);
requires.1.namespace=org.eclipse.equinox.p2.iu
requires.1.name=toolingorg.eclipse.sdk.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.sdk.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.sdk.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.sdk.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.sdk.configuration
units.2.version=1.0.0
units.2.provides.1.namespace=org.eclipse.equinox.p2.iu
units.2.provides.1.name=toolingorg.eclipse.sdk.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.sdk.ide
update.range = [4.0,$version$)
update.severity = 0
update.description = An update for 4.x generation Eclipse 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 = 4.20 Release of the Eclipse SDK.

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

