Split code generation into components.
authorAdam Roses Wight <awight@wikimedia.org>
Sun, 1 Dec 2013 00:31:22 +0000 (16:31 -0800)
committerAdam Roses Wight <awight@wikimedia.org>
Tue, 3 Dec 2013 12:01:38 +0000 (04:01 -0800)
commit5e434adfb236f4c0fb267534d4741ffdd5dd559d
tree9a62269bda2c13db9d242feb2ed569f5024e34be
parente39816b56dfedf17d5f5c886a88258e4f6ba6df5
Split code generation into components.

Parsing the specification has become its own class.

Templating has been abstracted, now beautifying is built into all php
generation.  We lose the singleton efficiency, it gained us a few seconds
at most.

Generation tasks are split into ITasks, and are fed the main CG object
as if it were a configuration object.  Eventually we will want to make
the configuration a first-class object so that it is customizable.

----------------------------------------
* CRM-13871: Provide an ORM layer: Doctrine
  http://issues.civicrm.org/jira/browse/CRM-13871
15 files changed:
.gitignore
CRM/Core/CodeGen/BaseTask.php [new file with mode: 0644]
CRM/Core/CodeGen/Config.php [new file with mode: 0644]
CRM/Core/CodeGen/DAO.php [new file with mode: 0644]
CRM/Core/CodeGen/I18n.php [new file with mode: 0644]
CRM/Core/CodeGen/ITask.php [new file with mode: 0644]
CRM/Core/CodeGen/Main.php
CRM/Core/CodeGen/Reflection.php [new file with mode: 0644]
CRM/Core/CodeGen/Schema.php [new file with mode: 0644]
CRM/Core/CodeGen/Specification.php [new file with mode: 0644]
CRM/Core/CodeGen/Test.php [new file with mode: 0644]
CRM/Core/CodeGen/Util/Template.php [new file with mode: 0644]
CRM/Core/CodeGen/Util/Xml.php [new file with mode: 0644]
tests/phpunit/CiviTest/.gitignore [new file with mode: 0644]
xml/templates/civicrm_version_sql.tpl [new file with mode: 0644]