Commit 6a89adcf authored by alexpott's avatar alexpott

Issue #2110153 by Xano, Mile23: Fixed Upgrade phpunit/php-file-iterator from 1.3.3 to 1.3.4.

parent 8caad964
......@@ -774,16 +774,16 @@
},
{
"name": "phpunit/php-file-iterator",
"version": "1.3.3",
"version": "1.3.4",
"source": {
"type": "git",
"url": "git://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "1.3.3"
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "acd690379117b042d1c8af1fafd61bde001bf6bb"
},
"dist": {
"type": "zip",
"url": "https://github.com/sebastianbergmann/php-file-iterator/zipball/1.3.3",
"reference": "1.3.3",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb",
"reference": "acd690379117b042d1c8af1fafd61bde001bf6bb",
"shasum": ""
},
"require": {
......@@ -810,12 +810,12 @@
}
],
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
"homepage": "http://www.phpunit.de/",
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
"keywords": [
"filesystem",
"iterator"
],
"time": "2012-10-11 04:44:38"
"time": "2013-10-10 15:34:57"
},
{
"name": "phpunit/php-text-template",
......
<?php
// autoload.php generated by Composer
// autoload.php @generated by Composer
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit2f086fd5a6ac4778e93c60384b7d424a::getLoader();
return ComposerAutoloaderInitdcdeef3a2347836a4b3309cb54064cf9::getLoader();
......@@ -49,7 +49,7 @@ class ClassLoader
public function getPrefixes()
{
return $this->prefixes;
return call_user_func_array('array_merge', $this->prefixes);
}
public function getFallbackDirs()
......@@ -98,19 +98,21 @@ public function add($prefix, $paths, $prepend = false)
return;
}
if (!isset($this->prefixes[$prefix])) {
$this->prefixes[$prefix] = (array) $paths;
$first = $prefix[0];
if (!isset($this->prefixes[$first][$prefix])) {
$this->prefixes[$first][$prefix] = (array) $paths;
return;
}
if ($prepend) {
$this->prefixes[$prefix] = array_merge(
$this->prefixes[$first][$prefix] = array_merge(
(array) $paths,
$this->prefixes[$prefix]
$this->prefixes[$first][$prefix]
);
} else {
$this->prefixes[$prefix] = array_merge(
$this->prefixes[$prefix],
$this->prefixes[$first][$prefix] = array_merge(
$this->prefixes[$first][$prefix],
(array) $paths
);
}
......@@ -119,8 +121,8 @@ public function add($prefix, $paths, $prepend = false)
/**
* Registers a set of classes, replacing any others previously set.
*
* @param string $prefix The classes prefix
* @param array|string $paths The location(s) of the classes
* @param string $prefix The classes prefix
* @param array|string $paths The location(s) of the classes
*/
public function set($prefix, $paths)
{
......@@ -129,7 +131,7 @@ public function set($prefix, $paths)
return;
}
$this->prefixes[$prefix] = (array) $paths;
$this->prefixes[substr($prefix, 0, 1)][$prefix] = (array) $paths;
}
/**
......@@ -195,6 +197,7 @@ public function loadClass($class)
*/
public function findFile($class)
{
// work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
if ('\\' == $class[0]) {
$class = substr($class, 1);
}
......@@ -205,7 +208,7 @@ public function findFile($class)
if (false !== $pos = strrpos($class, '\\')) {
// namespaced class name
$classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)) . DIRECTORY_SEPARATOR;
$classPath = strtr(substr($class, 0, $pos), '\\', DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
$className = substr($class, $pos + 1);
} else {
// PEAR-like class name
......@@ -213,13 +216,16 @@ public function findFile($class)
$className = $class;
}
$classPath .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
$classPath .= strtr($className, '_', DIRECTORY_SEPARATOR) . '.php';
foreach ($this->prefixes as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) {
return $dir . DIRECTORY_SEPARATOR . $classPath;
$first = $class[0];
if (isset($this->prefixes[$first])) {
foreach ($this->prefixes[$first] as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
if (file_exists($dir . DIRECTORY_SEPARATOR . $classPath)) {
return $dir . DIRECTORY_SEPARATOR . $classPath;
}
}
}
}
......
<?php
// autoload_classmap.php generated by Composer
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname(dirname($vendorDir));
......
<?php
// autoload_namespaces.php generated by Composer
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname(dirname($vendorDir));
return array(
'Zend\\Stdlib\\' => $vendorDir . '/zendframework/zend-stdlib',
'Zend\\Feed\\' => $vendorDir . '/zendframework/zend-feed',
'Zend\\Escaper\\' => $vendorDir . '/zendframework/zend-escaper',
'Twig_' => $vendorDir . '/twig/twig/lib',
'Symfony\\Component\\Yaml\\' => $vendorDir . '/symfony/yaml',
'Symfony\\Component\\Validator\\' => $vendorDir . '/symfony/validator',
'Symfony\\Component\\Translation\\' => $vendorDir . '/symfony/translation',
'Symfony\\Component\\Serializer\\' => $vendorDir . '/symfony/serializer',
'Symfony\\Component\\Routing\\' => $vendorDir . '/symfony/routing',
'Symfony\\Component\\Process\\' => $vendorDir . '/symfony/process',
'Symfony\\Component\\HttpKernel\\' => $vendorDir . '/symfony/http-kernel',
'Symfony\\Component\\HttpFoundation\\' => $vendorDir . '/symfony/http-foundation',
'Symfony\\Component\\EventDispatcher\\' => $vendorDir . '/symfony/event-dispatcher',
'Symfony\\Component\\DependencyInjection\\' => $vendorDir . '/symfony/dependency-injection',
'Symfony\\Component\\Debug\\' => $vendorDir . '/symfony/debug',
'Symfony\\Component\\ClassLoader\\' => $vendorDir . '/symfony/class-loader',
'Symfony\\Cmf\\Component\\Routing' => $vendorDir . '/symfony-cmf/routing',
'Psr\\Log\\' => $vendorDir . '/psr/log',
'Guzzle\\Stream' => $vendorDir . '/guzzle/stream',
'Guzzle\\Parser' => $vendorDir . '/guzzle/parser',
'Guzzle\\Http' => $vendorDir . '/guzzle/http',
'Guzzle\\Common' => $vendorDir . '/guzzle/common',
'Gliph' => $vendorDir . '/sdboyer/gliph/src',
'EasyRdf_' => $vendorDir . '/easyrdf/easyrdf/lib',
'Drupal\\Driver' => $baseDir . '/drivers/lib',
'Drupal\\Core' => $baseDir . '/core/lib',
'Drupal\\Component' => $baseDir . '/core/lib',
'Doctrine\\Common\\Lexer\\' => $vendorDir . '/doctrine/lexer/lib',
'Doctrine\\Common\\Inflector\\' => $vendorDir . '/doctrine/inflector/lib',
'Doctrine\\Common\\Collections\\' => $vendorDir . '/doctrine/collections/lib',
'Doctrine\\Common\\Cache\\' => $vendorDir . '/doctrine/cache/lib',
'Doctrine\\Common\\Annotations\\' => $vendorDir . '/doctrine/annotations/lib',
'Doctrine\\Common\\' => $vendorDir . '/doctrine/common/lib',
'Assetic' => $vendorDir . '/kriswallsmith/assetic/src',
'Zend\\Stdlib\\' => array($vendorDir . '/zendframework/zend-stdlib'),
'Zend\\Feed\\' => array($vendorDir . '/zendframework/zend-feed'),
'Zend\\Escaper\\' => array($vendorDir . '/zendframework/zend-escaper'),
'Twig_' => array($vendorDir . '/twig/twig/lib'),
'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'),
'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
'Symfony\\Component\\Serializer\\' => array($vendorDir . '/symfony/serializer'),
'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'),
'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'),
'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'),
'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'),
'Symfony\\Component\\ClassLoader\\' => array($vendorDir . '/symfony/class-loader'),
'Symfony\\Cmf\\Component\\Routing' => array($vendorDir . '/symfony-cmf/routing'),
'Psr\\Log\\' => array($vendorDir . '/psr/log'),
'Guzzle\\Stream' => array($vendorDir . '/guzzle/stream'),
'Guzzle\\Parser' => array($vendorDir . '/guzzle/parser'),
'Guzzle\\Http' => array($vendorDir . '/guzzle/http'),
'Guzzle\\Common' => array($vendorDir . '/guzzle/common'),
'Gliph' => array($vendorDir . '/sdboyer/gliph/src'),
'EasyRdf_' => array($vendorDir . '/easyrdf/easyrdf/lib'),
'Drupal\\Driver' => array($baseDir . '/drivers/lib'),
'Drupal\\Core' => array($baseDir . '/core/lib'),
'Drupal\\Component' => array($baseDir . '/core/lib'),
'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'),
'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib'),
'Doctrine\\Common\\Collections\\' => array($vendorDir . '/doctrine/collections/lib'),
'Doctrine\\Common\\Cache\\' => array($vendorDir . '/doctrine/cache/lib'),
'Doctrine\\Common\\Annotations\\' => array($vendorDir . '/doctrine/annotations/lib'),
'Doctrine\\Common\\' => array($vendorDir . '/doctrine/common/lib'),
'Assetic' => array($vendorDir . '/kriswallsmith/assetic/src'),
);
<?php
// autoload_real.php generated by Composer
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit2f086fd5a6ac4778e93c60384b7d424a
class ComposerAutoloaderInitdcdeef3a2347836a4b3309cb54064cf9
{
private static $loader;
......@@ -19,9 +19,9 @@ public static function getLoader()
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit2f086fd5a6ac4778e93c60384b7d424a', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitdcdeef3a2347836a4b3309cb54064cf9', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit2f086fd5a6ac4778e93c60384b7d424a', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitdcdeef3a2347836a4b3309cb54064cf9', 'loadClassLoader'));
$vendorDir = dirname(__DIR__);
$baseDir = dirname(dirname($vendorDir));
......@@ -32,7 +32,7 @@ public static function getLoader()
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->add($namespace, $path);
$loader->set($namespace, $path);
}
$classMap = require __DIR__ . '/autoload_classmap.php';
......@@ -42,8 +42,10 @@ public static function getLoader()
$loader->register(true);
require $vendorDir . '/kriswallsmith/assetic/src/functions.php';
require $baseDir . '/core/lib/Drupal.php';
$includeFiles = require __DIR__ . '/autoload_files.php';
foreach ($includeFiles as $file) {
require $file;
}
return $loader;
}
......
<?php
// include_paths.php generated by Composer
// include_paths.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname(dirname($vendorDir));
......@@ -10,8 +10,8 @@
$vendorDir . '/phpunit/phpunit-mock-objects',
$vendorDir . '/phpunit/php-timer',
$vendorDir . '/phpunit/php-token-stream',
$vendorDir . '/phpunit/php-file-iterator',
$vendorDir . '/phpunit/php-code-coverage',
$vendorDir . '/phpunit/phpunit',
$vendorDir . '/symfony/yaml',
$vendorDir . '/phpunit/php-file-iterator',
);
......@@ -409,53 +409,6 @@
"tokenizer"
]
},
{
"name": "phpunit/php-file-iterator",
"version": "1.3.3",
"version_normalized": "1.3.3.0",
"source": {
"type": "git",
"url": "git://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "1.3.3"
},
"dist": {
"type": "zip",
"url": "https://github.com/sebastianbergmann/php-file-iterator/zipball/1.3.3",
"reference": "1.3.3",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"time": "2012-10-11 04:44:38",
"type": "library",
"installation-source": "dist",
"autoload": {
"classmap": [
"File/"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
""
],
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sb@sebastian-bergmann.de",
"role": "lead"
}
],
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
"homepage": "http://www.phpunit.de/",
"keywords": [
"filesystem",
"iterator"
]
},
{
"name": "phpunit/php-code-coverage",
"version": "1.2.11",
......@@ -2115,5 +2068,52 @@
"database",
"routing"
]
},
{
"name": "phpunit/php-file-iterator",
"version": "1.3.4",
"version_normalized": "1.3.4.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "acd690379117b042d1c8af1fafd61bde001bf6bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb",
"reference": "acd690379117b042d1c8af1fafd61bde001bf6bb",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"time": "2013-10-10 15:34:57",
"type": "library",
"installation-source": "dist",
"autoload": {
"classmap": [
"File/"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
""
],
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sb@sebastian-bergmann.de",
"role": "lead"
}
],
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
"keywords": [
"filesystem",
"iterator"
]
}
]
......@@ -3,6 +3,11 @@ File_Iterator 1.3
This is the list of changes for the File_Iterator 1.3 release series.
File_Iterator 1.3.4
-------------------
* Symlinks are now followed.
File_Iterator 1.3.3
-------------------
......
......@@ -2,7 +2,7 @@
/**
* php-file-iterator
*
* Copyright (c) 2009-2012, Sebastian Bergmann <sb@sebastian-bergmann.de>.
* Copyright (c) 2009-2013, Sebastian Bergmann <sebastian@phpunit.de>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
......@@ -35,8 +35,8 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package File
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Sebastian Bergmann <sebastian@phpunit.de>
* @copyright 2009-2013 Sebastian Bergmann <sebastian@phpunit.de>
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
* @since File available since Release 1.0.0
*/
......@@ -45,8 +45,8 @@
* FilterIterator implementation that filters files based on prefix(es) and/or
* suffix(es). Hidden files and files from hidden directories are also filtered.
*
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Sebastian Bergmann <sebastian@phpunit.de>
* @copyright 2009-2013 Sebastian Bergmann <sebastian@phpunit.de>
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
* @version Release: @package_version@
* @link http://github.com/sebastianbergmann/php-file-iterator/tree
......
......@@ -2,7 +2,7 @@
/**
* php-file-iterator
*
* Copyright (c) 2009-2012, Sebastian Bergmann <sb@sebastian-bergmann.de>.
* Copyright (c) 2009-2013, Sebastian Bergmann <sebastian@phpunit.de>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
......@@ -35,8 +35,8 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package File
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Sebastian Bergmann <sebastian@phpunit.de>
* @copyright 2009-2013 Sebastian Bergmann <sebastian@phpunit.de>
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
* @since File available since Release 1.3.0
*/
......
......@@ -2,7 +2,7 @@
/**
* php-file-iterator
*
* Copyright (c) 2009-2012, Sebastian Bergmann <sb@sebastian-bergmann.de>.
* Copyright (c) 2009-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
......@@ -36,7 +36,7 @@
*
* @package File
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
* @copyright 2009-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
* @since File available since Release 1.3.0
*/
......
......@@ -2,7 +2,7 @@
/**
* php-file-iterator
*
* Copyright (c) 2009-2012, Sebastian Bergmann <sb@sebastian-bergmann.de>.
* Copyright (c) 2009-2013, Sebastian Bergmann <sebastian@phpunit.de>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
......@@ -35,8 +35,8 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package File
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Sebastian Bergmann <sebastian@phpunit.de>
* @copyright 2009-2013 Sebastian Bergmann <sebastian@phpunit.de>
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
* @since File available since Release 1.3.0
*/
......@@ -47,8 +47,8 @@
* RecursiveDirectoryIterator for each given path. The list of unique
* files is returned as an array.
*
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Sebastian Bergmann <sebastian@phpunit.de>
* @copyright 2009-2013 Sebastian Bergmann <sebastian@phpunit.de>
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
* @version Release: @package_version@
* @link http://github.com/sebastianbergmann/php-file-iterator/tree
......
......@@ -2,7 +2,7 @@
/**
* php-file-iterator
*
* Copyright (c) 2009-2012, Sebastian Bergmann <sb@sebastian-bergmann.de>.
* Copyright (c) 2009-2013, Sebastian Bergmann <sebastian@phpunit.de>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
......@@ -35,8 +35,8 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package File
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Sebastian Bergmann <sebastian@phpunit.de>
* @copyright 2009-2013 Sebastian Bergmann <sebastian@phpunit.de>
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
* @since File available since Release 1.1.0
*/
......@@ -46,8 +46,8 @@
* an AppendIterator that contains an RecursiveDirectoryIterator for each given
* path.
*
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Sebastian Bergmann <sebastian@phpunit.de>
* @copyright 2009-2013 Sebastian Bergmann <sebastian@phpunit.de>
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
* @version Release: @package_version@
* @link http://github.com/sebastianbergmann/php-file-iterator/tree
......@@ -104,7 +104,7 @@ public function getFileIterator($paths, $suffixes = '', $prefixes = '', array $e
$iterator->append(
new File_Iterator(
new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($path)
new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::FOLLOW_SYMLINKS)
),
$suffixes,
$prefixes,
......
File_Iterator
Copyright (c) 2009-2012, Sebastian Bergmann <sebastian@phpunit.de>.
Copyright (c) 2009-2013, Sebastian Bergmann <sebastian@phpunit.de>.
All rights reserved.
Redistribution and use in source and binary forms, with or without
......
......@@ -6,7 +6,7 @@
"iterator",
"filesystem"
],
"homepage": "http://www.phpunit.de/",
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
"license": "BSD-3-Clause",
"authors": [
{
......
{
"name": "phpunit/php-file-iterator",
"keywords": [ "iterator", "filesystem" ],
"license": "BSD-3-Clause",
"homepage": "http://www.phpunit.de/",
"dependency_map": {},
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"irc": "irc://irc.freenode.net/phpunit"
},
"autoload": {
"classmap": [ "File/" ]
},
"include_path": [
""
],
"version": false,
"time": false
}
\ No newline at end of file
......@@ -17,9 +17,9 @@
<email>sb@sebastian-bergmann.de</email>
<active>yes</active>
</lead>
<date>2012-10-05</date>
<date>2013-10-10</date>
<version>
<release>1.3.3</release>
<release>1.3.4</release>
<api>1.3.0</api>
</version>
<stability>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment