ALF-14: Enable plugin triggers build script to include plugin changes

This commit is contained in:
SatoshiDark
2016-06-09 16:57:42 -04:00
parent c243869d18
commit 40d78b67d0
4 changed files with 1463 additions and 3 deletions

37
build.php Normal file
View File

@@ -0,0 +1,37 @@
<?php
/**
* Process Maker Php Build tool v. 0.3.1
* Rev. 05-27-2016
*
* Use this as an external tool for Phpstorm
* Configure as it follows:
*
* Name: PM php Builder
* Group: Process Maker
* Description: Process Maker Php Builder.
* Tools Settings
* Program: $PhpExecutable$
* Parameters:
* build.php --base_dir=$ProjectFileDir$ --mode=prod --extension
* --extensionDir=$ProjectFileDir$/workflow/engine/plugins
* Working Directory: $ProjectFileDir$
* Please, notice you can change --extensionDir to your own extension folder.
*
* Also, use the respective directory owner permisions:
* ~/processmaker$ sudo chown -R www-data:www-data workflow/public_html/
* ~/processmaker$ sudo chown -R www-data:www-data vendor/colosa/MichelangeloFE/build
*
* Use a shortcut:
*
* Go to Settings -> Appearance & Behavior -> Keymap, search for ProcessMaker, open the context
* menu of the option and select Add Keyboard Shortcut, use whatever shortcut you want, for example Alt+b
*
* If you need help: php build.php --help
*
*/
include_once('class.Build.php');
use Build\Utils\ProcessMakerPhpBuilderHelper;
$phpBuilder = new ProcessMakerPhpBuilderHelper();
$phpBuilder->utils->echoContent("Config finished, start deploying...");
$phpBuilder->buildAll();

1397
class.Build.php Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -1791,7 +1791,6 @@ class PMPluginRegistry
return $this->_aOpenReassignCallback;
}
public function getPluginsData()
{
return $this->_aPlugins;
@@ -1825,7 +1824,7 @@ class PMPluginRegistry
*/
public function isEnterprisePlugin($pluginName, $path = null)
{
$path = (!is_null($path) && $path != '')? rtrim($path, '/\\') . PATH_SEP : PATH_PLUGINS;
$path = (!is_null($path) && $path != '') ? rtrim($path, '/\\') . PATH_SEP : PATH_PLUGINS;
$pluginFile = $pluginName . '.php';
//Return
@@ -1834,5 +1833,20 @@ class PMPluginRegistry
str_replace(["\n", "\r", "\t"], ' ', file_get_contents($path . $pluginFile))
);
}
/**
* Use this for extensions
*
* @return array with namespace and plugin folder
*/
public function getEnabledPlugins()
{
$enabledPlugins = array();
foreach ($this->_aPluginDetails as $row) {
if ($row->enabled) {
$enabledPlugins[$row->sNamespace] = $row->sPluginFolder;
}
}
return $enabledPlugins;
}
}

View File

@@ -21,6 +21,8 @@
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*/
include_once (PATH_TRUNK."/class.Build.php");
use Build\Utils\ProcessMakerPhpBuilderHelper;
// lets display the items
$pluginFile = $_GET['id'];
@@ -86,6 +88,16 @@ if ($handle = opendir( PATH_PLUGINS )) {
}
}
closedir( $handle );
/**
* Calls PMExtensionClass Builder to include Plugins changes.
*/
$phpBuilder = new ProcessMakerPhpBuilderHelper();
$phpBuilder->enabledExtensions = $oPluginRegistry->getEnabledPlugins();
if (!empty($phpBuilder->enabledExtensions)) {
$phpBuilder->extension = true;
}
$phpBuilder->buildAll();
}
//$oPluginRegistry->showArrays();