aboutsummaryrefslogtreecommitdiff
path: root/_build
diff options
context:
space:
mode:
authorVictor Häggqvist <[email protected]>2014-06-22 13:40:55 +0200
committerVictor Häggqvist <[email protected]>2014-06-22 13:40:55 +0200
commit61a021a728e3dfa7b452b1884188780e6dcae01e (patch)
tree63e1a1d6dc15228e9e1cf346811881f8e32c08f4 /_build
init
Diffstat (limited to '_build')
-rw-r--r--_build/build.config.php18
-rw-r--r--_build/build.transport.php106
-rw-r--r--_build/data/transport.snippets.php23
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;
+