* Makefile for phpxmlrpc library.
* To be used with the Pake tool: https://github.com/indeyets/pake/wiki
*
- * @copyright (c) 2015 - 2019 G. Giunta
+ * @copyright (c) 2015-2021 G. Giunta
*
* @todo !important allow user to specify location of docbook xslt instead of the one installed via composer
*/
return self::buildDir().'/workspace';
}
+ public static function toolsDir()
+ {
+ return self::buildDir().'/tools';
+ }
+
/// most likely things will break if this one is moved outside of BuildDir
public static function distDir()
{
*/
public static function applyXslt($inFile, $xssFile, $outFileOrDir)
{
-
if (!file_exists($inFile)) {
throw new \Exception("File $inFile cannot be found");
}
/**
* Downloads source code in the build workspace directory, optionally checking out the given branch/tag
+ * @todo allow using current installation as source, bypassing git clone in workspace - at least for doc generation
*/
function run_init($task=null, $args=array(), $cliOpts=array())
{
*/
function run_doc($task=null, $args=array(), $cliOpts=array())
{
+ // in
+ $srcDir = Builder::workspaceDir();
+ // out
$docDir = Builder::workspaceDir().'/doc';
// API docs
// from phpdoc comments using phpdocumentor
- //$cmd = Builder::tool('php');
- //pake_sh("$cmd vendor/phpdocumentor/phpdocumentor/bin/phpdoc run -d ".Builder::workspaceDir().'/src'." -t ".Builder::workspaceDir().'/doc/api --title PHP-XMLRPC');
+ $cmd = Builder::tool('php');
+ pake_sh("$cmd " . Builder::toolsDir(). "/vendor/bin/phpdoc run --cache-folder ".Builder::buildDir()."/.phpdoc -d ".$srcDir.'/src'." -t ".$docDir.'/api --title PHP-XMLRPC');
// from phpdoc comments using Sami
- $samiConfig = <<<EOT
+ // deprecated on 2021/12, as Sami is abandonware
+ /*$samiConfig = <<<EOT
<?php
\$iterator = Symfony\Component\Finder\Finder::create()
->files()
EOT;
file_put_contents('build/sami_config.php', $samiConfig);
$cmd = Builder::tool('php');
- pake_sh("$cmd vendor/sami/sami/sami.php update -vvv build/sami_config.php");
+ pake_sh("$cmd " . Builder::toolsDir(). "/vendor/bin/sami.php update -vvv build/sami_config.php");*/
// User Manual
// html (single file) from asciidoc
$cmd = Builder::tool('asciidoctor');
- pake_sh("$cmd -d book $docDir/manual/phpxmlrpc_manual.adoc");
+ pake_sh("$cmd -d book -o $docDir/manual/phpxmlrpc_manual.html $srcDir/doc/manual/phpxmlrpc_manual.adoc");
// then docbook from asciidoc
/// @todo create phpxmlrpc_manual.xml with the good version number
/// @todo create phpxmlrpc_manual.xml with the date set to the one of last commit (or today?)
- pake_sh("$cmd -d book -b docbook $docDir/manual/phpxmlrpc_manual.adoc");
+ pake_sh("$cmd -d book -b docbook -o $docDir/manual/phpxmlrpc_manual.xml $srcDir/doc/manual/phpxmlrpc_manual.adoc");
# Other tools for docbook...
#
# convertdoc command for xmlmind xxe editor
# convertdoc docb.toHTML xmlrpc_php.xml -u out
#
- # saxon + xerces xml parser + saxon extensions + xslthl: adds a little syntax highligting
+ # saxon + xerces xml parser + saxon extensions + xslthl: adds a little syntax highlighting
# (bold and italics only, no color) for php source examples...
# java \
# -classpath c:\programmi\saxon\saxon.jar\;c:\programmi\saxon\xslthl.jar\;c:\programmi\xerces\xercesImpl.jar\;C:\htdocs\xmlrpc_cvs\docbook-xsl\extensions\saxon65.jar \