* Makefile for phpxmlrpc library.
* To be used with the Pake tool: https://github.com/indeyets/pake/wiki
*
- * @copyright (c) 2015 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
*/
);
protected static $options = array(
'repo' => 'https://github.com/gggeek/phpxmlrpc',
- 'branch' => 'php53'
+ 'branch' => 'master'
);
public static function libVersion()
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');
+ 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
+ // deprecated on 2021/12, as Sami is abandonware
+ /*$samiConfig = <<<EOT
+<?php
+ \$iterator = Symfony\Component\Finder\Finder::create()
+ ->files()
+ ->exclude('debugger')
+ ->exclude('demo')
+ ->exclude('doc')
+ ->exclude('tests')
+ ->in('./build/workspace');
+ return new Sami\Sami(\$iterator, array(
+ 'title' => 'PHP-XMLRPC',
+ 'build_dir' => 'build/workspace/doc/api',
+ 'cache_dir' => 'build/cache',
+ ));
+EOT;
+ file_put_contents('build/sami_config.php', $samiConfig);
+ $cmd = Builder::tool('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 \