Merge pull request #410 from bantu/sami

Automated API Documenation using Sami

* bantu/sami:
  Add api target to phing build script.
  Add sami configuration file.
  Add sami/sami 1.* as a development dependency.
This commit is contained in:
Andreas Fischer 2014-07-20 21:20:32 +02:00
commit 8796130b14
4 changed files with 509 additions and 5 deletions

View File

@ -4,7 +4,7 @@
default="all" default="all"
> >
<target name="all" depends="sniff" /> <target name="all" depends="sniff,api" />
<!-- Code Sniffer --> <!-- Code Sniffer -->
<target name="sniff" depends="sniff-php-code,sniff-php-tests" /> <target name="sniff" depends="sniff-php-code,sniff-php-tests" />
@ -23,4 +23,10 @@
dir=".." checkreturn="true" passthru="true" /> dir=".." checkreturn="true" passthru="true" />
</target> </target>
<!-- API Generation -->
<target name="api">
<exec command="vendor/bin/sami.php update build/sami.conf.php"
dir=".." passthru="true" />
</target>
</project> </project>

31
build/sami.conf.php Normal file
View File

@ -0,0 +1,31 @@
<?php
// Prevent e.g. 'Notice: Constant MATH_BIGINTEGER_MONTGOMERY already defined'.
class MyArrayStore extends Sami\Store\ArrayStore
{
public function removeClass(Sami\Project $project, $name)
{
unset($this->classes[$name]);
}
}
$iterator = Symfony\Component\Finder\Finder::create()
->files()
->name('*.php')
->in(__DIR__ . '/../phpseclib/')
;
$versions = Sami\Version\GitVersionCollection::create(__DIR__ . '/../')
->add('master')
->add('php5')
;
return new Sami\Sami($iterator, array(
'theme' => 'enhanced',
'versions' => $versions,
'title' => 'phpseclib API Documentation',
'build_dir' => __DIR__.'/api/output/%version%',
'cache_dir' => __DIR__.'/api/cache/%version%',
'default_opened_level' => 2,
'store' => new MyArrayStore,
));

View File

@ -51,6 +51,7 @@
"require-dev": { "require-dev": {
"phing/phing": "2.7.*", "phing/phing": "2.7.*",
"phpunit/phpunit": "4.0.*", "phpunit/phpunit": "4.0.*",
"sami/sami": "1.*",
"squizlabs/php_codesniffer": "1.*" "squizlabs/php_codesniffer": "1.*"
}, },
"suggest": { "suggest": {

474
composer.lock generated
View File

@ -1,13 +1,109 @@
{ {
"_readme": [ "_readme": [
"This file locks the dependencies of your project to a known state", "This file locks the dependencies of your project to a known state",
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file" "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
], ],
"hash": "5aa15d99ad03d53bff56d47fdbd53211", "hash": "9cd5afc2a6149e787c5b50511476b94b",
"packages": [ "packages": [
], ],
"packages-dev": [ "packages-dev": [
{
"name": "michelf/php-markdown",
"version": "1.4.1",
"source": {
"type": "git",
"url": "https://github.com/michelf/php-markdown.git",
"reference": "de9a19c7bf352d41cc99ed86c3c0ef17e87394b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/de9a19c7bf352d41cc99ed86c3c0ef17e87394b6",
"reference": "de9a19c7bf352d41cc99ed86c3c0ef17e87394b6",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-lib": "1.4.x-dev"
}
},
"autoload": {
"psr-0": {
"Michelf": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Michel Fortin",
"email": "michel.fortin@michelf.ca",
"homepage": "http://michelf.ca/",
"role": "Developer"
},
{
"name": "John Gruber",
"homepage": "http://daringfireball.net/"
}
],
"description": "PHP Markdown",
"homepage": "http://michelf.ca/projects/php-markdown/",
"keywords": [
"markdown"
],
"time": "2014-05-05 02:43:50"
},
{
"name": "nikic/php-parser",
"version": "v0.9.4",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "1e5e280ae88a27effa2ae4aa2bd088494ed8594f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1e5e280ae88a27effa2ae4aa2bd088494ed8594f",
"reference": "1e5e280ae88a27effa2ae4aa2bd088494ed8594f",
"shasum": ""
},
"require": {
"php": ">=5.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "0.9-dev"
}
},
"autoload": {
"psr-0": {
"PHPParser": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Nikita Popov"
}
],
"description": "A PHP parser written in PHP",
"keywords": [
"parser",
"php"
],
"time": "2013-08-25 17:11:40"
},
{ {
"name": "phing/phing", "name": "phing/phing",
"version": "2.7.0", "version": "2.7.0",
@ -44,7 +140,8 @@
"authors": [ "authors": [
{ {
"name": "Michiel Rook", "name": "Michiel Rook",
"email": "mrook@php.net" "email": "mrook@php.net",
"role": "Lead"
}, },
{ {
"name": "Phing Community", "name": "Phing Community",
@ -439,6 +536,113 @@
], ],
"time": "2014-03-18 08:56:48" "time": "2014-03-18 08:56:48"
}, },
{
"name": "pimple/pimple",
"version": "v1.0.2",
"source": {
"type": "git",
"url": "https://github.com/fabpot/Pimple.git",
"reference": "ae11e57e8c2bb414b2ff93396dbbfc0eb92feb94"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fabpot/Pimple/zipball/ae11e57e8c2bb414b2ff93396dbbfc0eb92feb94",
"reference": "ae11e57e8c2bb414b2ff93396dbbfc0eb92feb94",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Pimple": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
}
],
"description": "Pimple is a simple Dependency Injection Container for PHP 5.3",
"homepage": "http://pimple.sensiolabs.org",
"keywords": [
"container",
"dependency injection"
],
"time": "2013-03-08 08:21:40"
},
{
"name": "sami/sami",
"version": "v1.4",
"source": {
"type": "git",
"url": "https://github.com/fabpot/Sami.git",
"reference": "70f29c781f7bef30181c814b9471b2ceac694454"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fabpot/Sami/zipball/70f29c781f7bef30181c814b9471b2ceac694454",
"reference": "70f29c781f7bef30181c814b9471b2ceac694454",
"shasum": ""
},
"require": {
"michelf/php-markdown": "~1.3",
"nikic/php-parser": "0.9.*",
"php": ">=5.3.0",
"pimple/pimple": "1.0.*",
"symfony/console": "~2.1",
"symfony/filesystem": "~2.1",
"symfony/finder": "~2.1",
"symfony/process": "~2.1",
"symfony/yaml": "~2.1",
"twig/twig": "1.*"
},
"bin": [
"sami.php"
],
"type": "application",
"extra": {
"branch-alias": {
"dev-master": "1.4-dev"
}
},
"autoload": {
"psr-0": {
"Sami": "."
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
}
],
"description": "Sami, an API documentation generator",
"homepage": "http://sami.sensiolabs.org",
"keywords": [
"phpdoc"
],
"time": "2014-06-25 11:24:03"
},
{ {
"name": "sebastian/diff", "name": "sebastian/diff",
"version": "1.1.0", "version": "1.1.0",
@ -591,7 +795,8 @@
}, },
{ {
"name": "Adam Harvey", "name": "Adam Harvey",
"email": "aharvey@php.net" "email": "aharvey@php.net",
"role": "Lead"
}, },
{ {
"name": "Bernhard Schussek", "name": "Bernhard Schussek",
@ -711,6 +916,210 @@
], ],
"time": "2014-02-04 23:49:58" "time": "2014-02-04 23:49:58"
}, },
{
"name": "symfony/console",
"version": "v2.5.2",
"target-dir": "Symfony/Component/Console",
"source": {
"type": "git",
"url": "https://github.com/symfony/Console.git",
"reference": "386fa63407805959bd2c5fe540294721ad4224c8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Console/zipball/386fa63407805959bd2c5fe540294721ad4224c8",
"reference": "386fa63407805959bd2c5fe540294721ad4224c8",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"psr/log": "~1.0",
"symfony/event-dispatcher": "~2.1"
},
"suggest": {
"psr/log": "For using the console logger",
"symfony/event-dispatcher": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Console\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony Console Component",
"homepage": "http://symfony.com",
"time": "2014-07-15 14:15:12"
},
{
"name": "symfony/filesystem",
"version": "v2.5.2",
"target-dir": "Symfony/Component/Filesystem",
"source": {
"type": "git",
"url": "https://github.com/symfony/Filesystem.git",
"reference": "c1309b0ee195ad264a4314435bdaecdfacb8ae9c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/c1309b0ee195ad264a4314435bdaecdfacb8ae9c",
"reference": "c1309b0ee195ad264a4314435bdaecdfacb8ae9c",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Filesystem\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony Filesystem Component",
"homepage": "http://symfony.com",
"time": "2014-07-09 09:05:48"
},
{
"name": "symfony/finder",
"version": "v2.5.2",
"target-dir": "Symfony/Component/Finder",
"source": {
"type": "git",
"url": "https://github.com/symfony/Finder.git",
"reference": "576d8f69feec477067e91b6bd0367c113e76a1a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Finder/zipball/576d8f69feec477067e91b6bd0367c113e76a1a0",
"reference": "576d8f69feec477067e91b6bd0367c113e76a1a0",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Finder\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony Finder Component",
"homepage": "http://symfony.com",
"time": "2014-07-15 14:15:12"
},
{
"name": "symfony/process",
"version": "v2.5.2",
"target-dir": "Symfony/Component/Process",
"source": {
"type": "git",
"url": "https://github.com/symfony/Process.git",
"reference": "5e53efbf61a7fbf73c79e3e08feea50f64c20bfa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Process/zipball/5e53efbf61a7fbf73c79e3e08feea50f64c20bfa",
"reference": "5e53efbf61a7fbf73c79e3e08feea50f64c20bfa",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Process\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony Process Component",
"homepage": "http://symfony.com",
"time": "2014-07-09 09:05:48"
},
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
"version": "v2.4.3", "version": "v2.4.3",
@ -759,6 +1168,63 @@
"description": "Symfony Yaml Component", "description": "Symfony Yaml Component",
"homepage": "http://symfony.com", "homepage": "http://symfony.com",
"time": "2014-03-12 18:29:58" "time": "2014-03-12 18:29:58"
},
{
"name": "twig/twig",
"version": "v1.16.0",
"source": {
"type": "git",
"url": "https://github.com/fabpot/Twig.git",
"reference": "8ce37115802e257a984a82d38254884085060024"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fabpot/Twig/zipball/8ce37115802e257a984a82d38254884085060024",
"reference": "8ce37115802e257a984a82d38254884085060024",
"shasum": ""
},
"require": {
"php": ">=5.2.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.16-dev"
}
},
"autoload": {
"psr-0": {
"Twig_": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Armin Ronacher2",
"email": "armin.ronacher@active-4.com",
"role": "Project Founder"
},
{
"name": "Twig Team",
"homepage": "https://github.com/fabpot/Twig/graphs/contributors",
"role": "Contributors"
}
],
"description": "Twig, the flexible, fast, and secure template language for PHP",
"homepage": "http://twig.sensiolabs.org",
"keywords": [
"templating"
],
"time": "2014-07-05 12:19:05"
} }
], ],
"aliases": [ "aliases": [