BindingProperty flavorProperty = properties.createBinding("flavor");
flavorProperty.setProvider(new PropertyProvider("return window.properties.flavor;"));
flavorProperty.addTargetLibraryDefinedValue(flavorProperty.getRootCondition(), "Vanilla");
flavorProperty.addTargetLibraryDefinedValue(flavorProperty.getRootCondition(), "Chocolate");
ConfigurationProperty emulateStackProperty =
properties.createConfiguration("emulateStack", false);
emulateStackProperty.setValue("TRUE");
compiler.jprogram = new JProgram(new MinimalRebuildCache());
// Builds property provider classes and a property provider registrator to register them.
precompiler.buildPropertyProviderRegistrator(allRootTypes,