Generate Validator metadata for entitites in Robo command

[MAILPOET-2437]
This commit is contained in:
Jan Jakeš
2019-10-23 17:00:23 +02:00
committed by Jack Kitterhing
parent 59480cdfb2
commit 72a6b3d65f

View File

@@ -301,12 +301,24 @@ class RoboFile extends \Robo\Tasks {
} }
function doctrineGenerateMetadata() { function doctrineGenerateMetadata() {
$metadata_dir = \MailPoet\Doctrine\ConfigurationFactory::METADATA_DIR; $doctrine_metadata_dir = \MailPoet\Doctrine\ConfigurationFactory::METADATA_DIR;
$this->_exec("rm -rf $metadata_dir"); $validator_metadata_dir = \MailPoet\Doctrine\Validator\ValidatorFactory::METADATA_DIR;
$this->_exec("rm -rf $doctrine_metadata_dir");
$this->_exec("rm -rf $validator_metadata_dir");
$entity_manager = $this->createDoctrineEntityManager(); $entity_manager = $this->createDoctrineEntityManager();
$entity_manager->getMetadataFactory()->getAllMetadata(); $doctrine_metadata = $entity_manager->getMetadataFactory()->getAllMetadata();
$this->say("Doctrine metadata generated to: $metadata_dir");
$annotation_reader_provider = new \MailPoet\Doctrine\Annotations\AnnotationReaderProvider();
$validator_factory = new \MailPoet\Doctrine\Validator\ValidatorFactory($annotation_reader_provider);
$validator = $validator_factory->createValidator();
foreach ($doctrine_metadata as $metadata) {
$validator->getMetadataFor($metadata->getName());
}
$this->say("Doctrine metadata generated to: $doctrine_metadata_dir");
$this->say("Validator metadata generated to: $validator_metadata_dir");
} }
function doctrineGenerateProxies() { function doctrineGenerateProxies() {
@@ -975,7 +987,8 @@ class RoboFile extends \Robo\Tasks {
if (\MailPoet\Config\Env::$db_prefix === null) { if (\MailPoet\Config\Env::$db_prefix === null) {
\MailPoet\Config\Env::$db_prefix = ''; // ensure some prefix is set \MailPoet\Config\Env::$db_prefix = ''; // ensure some prefix is set
} }
$configuration = (new \MailPoet\Doctrine\ConfigurationFactory(true))->createConfiguration(); $annotation_reader_provider = new \MailPoet\Doctrine\Annotations\AnnotationReaderProvider();
$configuration = (new \MailPoet\Doctrine\ConfigurationFactory(true, $annotation_reader_provider))->createConfiguration();
$platform_class = \MailPoet\Doctrine\ConnectionFactory::PLATFORM_CLASS; $platform_class = \MailPoet\Doctrine\ConnectionFactory::PLATFORM_CLASS;
return \MailPoetVendor\Doctrine\ORM\EntityManager::create([ return \MailPoetVendor\Doctrine\ORM\EntityManager::create([
'driver' => \MailPoet\Doctrine\ConnectionFactory::DRIVER, 'driver' => \MailPoet\Doctrine\ConnectionFactory::DRIVER,