protected function initPhingProperties(Project $project) { // Apply all file properties, then all non-file properties $properties = new Properties(); foreach ($this->fileProps as $key => $value) { $properties->put($key, $value); } foreach ($this->customProps as $key => $value) { $properties->put($key, $value); } // Then swap out placeholder values foreach ($properties->getProperties() as $key => $value) { $value = ProjectConfigurator::replaceProperties($project, $value, $properties->getProperties()); $project->setProperty($key, $value); } }