# disable listing of feature in any category
properties.1.name=org.eclipse.equinox.p2.type.category
properties.1.value=false

#instructions.configure=\
#org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(type:0,location:http${#58}//download.eclipse.org/technology/epp/packages/luna,name:EPP Packages Repository);\
#org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(type:1,location:http${#58}//download.eclipse.org/technology/epp/packages/luna,name:EPP Packages Repository);

#instructions.unconfigure=\
#org.eclipse.equinox.p2.touchpoint.eclipse.removeRepository(type:0,location:http${#58}//download.eclipse.org/technology/epp/packages/luna);\
#org.eclipse.equinox.p2.touchpoint.eclipse.removeRepository(type:1,location:http${#58}//download.eclipse.org/technology/epp/packages/luna);



