diff options
author | Victor Häggqvist <[email protected]> | 2014-06-22 13:40:55 +0200 |
---|---|---|
committer | Victor Häggqvist <[email protected]> | 2014-06-22 13:40:55 +0200 |
commit | 61a021a728e3dfa7b452b1884188780e6dcae01e (patch) | |
tree | 63e1a1d6dc15228e9e1cf346811881f8e32c08f4 /_build |
init
Diffstat (limited to '')
-rw-r--r-- | _build/build.config.php | 18 | ||||
-rw-r--r-- | _build/build.transport.php | 106 | ||||
-rw-r--r-- | _build/data/transport.snippets.php | 23 |
3 files changed, 147 insertions, 0 deletions
diff --git a/_build/build.config.php b/_build/build.config.php new file mode 100644 index 0000000..45b3cef --- /dev/null +++ b/_build/build.config.php @@ -0,0 +1,18 @@ +<?php +/** + * parse it + * + * @package parsedown + * @subpackage build + */ +define('MODX_BASE_PATH', '/vagrant/modx/'); +define('MODX_CORE_PATH', MODX_BASE_PATH . 'core/'); +define('MODX_MANAGER_PATH', MODX_BASE_PATH . 'manager/'); +define('MODX_CONNECTORS_PATH', MODX_BASE_PATH . 'connectors/'); +define('MODX_ASSETS_PATH', MODX_BASE_PATH . 'assets/'); + +define('MODX_BASE_URL','/modx/'); +/* define('MODX_CORE_URL', MODX_BASE_URL . 'core/'); */ /* There isn't a core URL!! */ +define('MODX_MANAGER_URL', MODX_BASE_URL . 'manager/'); +define('MODX_CONNECTORS_URL', MODX_BASE_URL . 'connectors/'); +define('MODX_ASSETS_URL', MODX_BASE_URL . 'assets/'); diff --git a/_build/build.transport.php b/_build/build.transport.php new file mode 100644 index 0000000..837b18b --- /dev/null +++ b/_build/build.transport.php @@ -0,0 +1,106 @@ +<?php +/** + * Parsedown build script + * + * @author Victor Häggqvist <[email protected]> + * @copyright Copyright 2014, Victor Häggqvist + * @package parsedown + * @subpackage build + */ +$tstart = explode(' ', microtime()); +$tstart = $tstart[1] + $tstart[0]; +set_time_limit(0); + +/* define package names */ +define('PKG_NAME','Parsedown'); +define('PKG_NAME_LOWER','parsedown'); +define('PKG_VERSION','0.1.0'); +define('PKG_RELEASE','beta'); + +/* define build paths */ +$root = dirname(dirname(__FILE__)).'/'; +$sources = array( + 'root' => $root, + 'build' => $root . '_build/', + 'data' => $root . '_build/data/', + //'resolvers' => $root . '_build/resolvers/', + 'elements' => $root.'core/components/'.PKG_NAME_LOWER.'/elements/', + + 'source_core' => $root.'core/components/'.PKG_NAME_LOWER, + 'docs' => $root.'core/components/'.PKG_NAME_LOWER.'/docs/', + // 'lexicon' => $root . 'core/components/'.PKG_NAME_LOWER.'/lexicon/', +); +unset($root); + +/* override with your own defines here (see build.config.sample.php) */ +require_once $sources['build'] . 'build.config.php'; +require_once MODX_CORE_PATH . 'model/modx/modx.class.php'; + +$modx= new modX(); +$modx->initialize('mgr'); +$modx->setLogLevel(modX::LOG_LEVEL_INFO); +$modx->setLogTarget('ECHO'); + +$modx->loadClass('transport.modPackageBuilder','',false, true); +$builder = new modPackageBuilder($modx); +$builder->createPackage(PKG_NAME_LOWER,PKG_VERSION,PKG_RELEASE); +$builder->registerNamespace(PKG_NAME_LOWER,false,true,'{core_path}components/'.PKG_NAME_LOWER.'/'); + +/* create category */ +$category= $modx->newObject('modCategory'); +$category->set('id',1); +$category->set('category',PKG_NAME); + +/* add snippets */ +$modx->log(modX::LOG_LEVEL_INFO,'Packaging in snippets...'); +$snippets = include $sources['data'].'transport.snippets.php'; +if (empty($snippets)) $modx->log(modX::LOG_LEVEL_ERROR,'Could not package in snippets.'); +$category->addMany($snippets); + + +/* create category vehicle */ +$attr = array( + xPDOTransport::UNIQUE_KEY => 'category', + xPDOTransport::PRESERVE_KEYS => false, + xPDOTransport::UPDATE_OBJECT => true, + xPDOTransport::RELATED_OBJECTS => true, + xPDOTransport::RELATED_OBJECT_ATTRIBUTES => array ( + 'Snippets' => array( + xPDOTransport::PRESERVE_KEYS => false, + xPDOTransport::UPDATE_OBJECT => true, + xPDOTransport::UNIQUE_KEY => 'name', + ), + ), +); +$vehicle = $builder->createVehicle($category,$attr); + +$modx->log(modX::LOG_LEVEL_INFO,'Adding file resolvers to category...'); + +$vehicle->resolve('file',array( + 'source' => $sources['source_core'], + 'target' => "return MODX_CORE_PATH . 'components/';", +)); +$builder->putVehicle($vehicle); + + + +/* now pack in the license file, readme and setup options */ +$modx->log(modX::LOG_LEVEL_INFO,'Adding package attributes and setup options...'); +$builder->setPackageAttributes(array( + 'license' => file_get_contents($sources['docs'] . 'license.txt'), + 'readme' => file_get_contents($sources['docs'] . 'readme.txt'), + 'changelog' => file_get_contents($sources['docs'] . 'changelog.txt'), + /*'setup-options' => array( + 'source' => $sources['build'].'setup.options.php', + ),*/ +)); + +/* zip up package */ +$modx->log(modX::LOG_LEVEL_INFO,'Packing up transport package zip...'); +$builder->pack(); + +$tend= explode(" ", microtime()); +$tend= $tend[1] + $tend[0]; +$totalTime= sprintf("%2.4f s",($tend - $tstart)); +$modx->log(modX::LOG_LEVEL_INFO,"\nPackage Built.\nExecution time: {$totalTime}\n"); +exit (); diff --git a/_build/data/transport.snippets.php b/_build/data/transport.snippets.php new file mode 100644 index 0000000..b9548d6 --- /dev/null +++ b/_build/data/transport.snippets.php @@ -0,0 +1,23 @@ +<?php +/** + * @package parsedown + * @subpackage build + */ +function getSnippetContent($filename) { + $o = file_get_contents($filename); + $o = trim(str_replace(array('<?php','?>'),'',$o)); + return $o; +} + +$snippets = array(); + +$snippets[1] = $modx->newObject('modSnippet'); +$snippets[1]->fromArray(array( + 'id' => 1, + 'name' => 'Parsedown', + 'description' => 'A markdown parser with GFM support', + 'snippet' => getSnippetContent($sources['elements'].'snippets/snippet.parsedown.php'), +),'',true,true); + +return $snippets; + |