properties.0.name = org.eclipse.oomph.p2.iu.compatibility
properties.0.value = Major
instructions.configure=setProgramProperty(propName:org.eclipse.update.reconcile,propValue:false);setProgramProperty(propName:osgi.requiredJavaVersion,propValue:1.8);setProgramProperty(propName:p2.userAgent,propValue:eclipse/oomph/installer);setProgramProperty(propName:oomph.setup.product.catalog.filter,propValue:);setProgramProperty(propName:oomph.setup.product.filter,propValue:);setProgramProperty(propName:oomph.setup.product.version.filter,propValue:);setProgramProperty(propName:oomph.setup.jre.choice,propValue:true);
instructions.unconfigure=setProgramProperty(propName:org.eclipse.update.reconcile,propValue:);setProgramProperty(propName:p2.userAgent,propValue:);setProgramProperty(propName:oomph.setup.product.catalog.filter,propValue:);setProgramProperty(propName:oomph.setup.product.filter:);setProgramProperty(propName:oomph.setup.product.version.filter,propValue:);setProgramProperty(propName:oomph.setup.jre.choice,propValue:);