From 4dbb7dec3177c758e45a87c78c064cea220937f8 Mon Sep 17 00:00:00 2001 From: TomasVotruba Date: Fri, 9 Jun 2017 19:14:48 +0200 Subject: [PATCH] [DI] drop Nette packages --- README.md | 4 +- apigen.neon | 4 -- composer.json | 5 -- .../Annotation/src/DI/AnnotationExtension.php | 30 ----------- .../Latte/Filter/AnnotationFilterProvider.php | 4 +- packages/Annotation/src/config/services.neon | 15 ------ packages/Element/src/DI/ElementExtension.php | 30 ----------- .../Filter/MethodReflectionNamingFilter.php | 4 +- packages/Element/src/config/services.neon | 20 ------- .../src/DI/ModularConfigurationExtension.php | 39 -------------- .../src/config/services.neon | 15 ------ .../Reflection/src/DI/ReflectionExtension.php | 30 ----------- packages/Reflection/src/config/services.neon | 28 ---------- .../src/DI/StringRoutingExtension.php | 30 ----------- .../Filter/StringRoutingFiltersProvider.php | 4 +- .../StringRouting/src/config/services.neon | 9 ---- .../Templating/FilterProviderInterface.php | 11 ++++ src/DI/ApiGenExtension.php | 46 ---------------- src/DI/Container/ContainerFactory.php | 52 ------------------- .../LatteFiltersCollectorCompilerPass.php | 4 +- src/Latte/FiltersAwareLatteEngineFactory.php | 8 +-- src/config/config.neon | 13 ----- src/config/services.neon | 51 ------------------ 23 files changed, 26 insertions(+), 430 deletions(-) delete mode 100644 apigen.neon delete mode 100644 packages/Annotation/src/DI/AnnotationExtension.php delete mode 100644 packages/Annotation/src/config/services.neon delete mode 100644 packages/Element/src/DI/ElementExtension.php delete mode 100644 packages/Element/src/config/services.neon delete mode 100644 packages/ModularConfiguration/src/DI/ModularConfigurationExtension.php delete mode 100644 packages/ModularConfiguration/src/config/services.neon delete mode 100644 packages/Reflection/src/DI/ReflectionExtension.php delete mode 100644 packages/Reflection/src/config/services.neon delete mode 100644 packages/StringRouting/src/DI/StringRoutingExtension.php delete mode 100644 packages/StringRouting/src/config/services.neon create mode 100644 src/Contract/Templating/FilterProviderInterface.php delete mode 100644 src/DI/ApiGenExtension.php delete mode 100644 src/DI/Container/ContainerFactory.php delete mode 100644 src/config/config.neon delete mode 100644 src/config/services.neon diff --git a/README.md b/README.md index 6f79a3bce..ce7cc65a5 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ vendor/bin/apigen generate src tests --destination docs ## Configuration -Below is a minimal example configuration. Save it as a `apigen.neon` file in +Below is a minimal example configuration. Save it as a `apigen.yml` file in the root of your project: ```yaml @@ -110,7 +110,7 @@ This is already mentioned on Wiki. ## Themes -To enable a custom theme just provide `themeDirectory` configuration option in your `apigen.neon`: +To enable a custom theme just provide `themeDirectory` configuration option in your `apigen.yml`: ```yaml parameters: diff --git a/apigen.neon b/apigen.neon deleted file mode 100644 index 580fc9ab6..000000000 --- a/apigen.neon +++ /dev/null @@ -1,4 +0,0 @@ -parameters: - title: "ApiGen It-self" - visibilityLevels: [public, protected] - baseUrl: http://apigen.org diff --git a/composer.json b/composer.json index 52d32360f..9a8373c8d 100644 --- a/composer.json +++ b/composer.json @@ -16,14 +16,9 @@ "kukulich/fshl": "^2.1", "latte/latte": "^2.4", - "nette/bootstrap": "^2.4", - "nette/di": "^2.4", "nette/neon": "^2.4", - "contributte/console": "^0.1", - "contributte/event-dispatcher": "^0.3", "symplify/package-builder": "dev-master as 1.4", - "symplify/modular-latte-filters": "^1.4", "symfony/dependency-injection": "^3.3", "symfony/http-kernel": "^3.3", "symfony/config": "^3.3", diff --git a/packages/Annotation/src/DI/AnnotationExtension.php b/packages/Annotation/src/DI/AnnotationExtension.php deleted file mode 100644 index 4e8352e58..000000000 --- a/packages/Annotation/src/DI/AnnotationExtension.php +++ /dev/null @@ -1,30 +0,0 @@ -getContainerBuilder(), - $this->loadFromFile(__DIR__ . '/../config/services.neon') - ); - } - - public function beforeCompile(): void - { - DefinitionCollector::loadCollectorWithType( - $this->getContainerBuilder(), - AnnotationDecorator::class, - AnnotationSubscriberInterface::class, - 'addAnnotationSubscriber' - ); - } -} diff --git a/packages/Annotation/src/Latte/Filter/AnnotationFilterProvider.php b/packages/Annotation/src/Latte/Filter/AnnotationFilterProvider.php index d6df83c34..36076e46a 100644 --- a/packages/Annotation/src/Latte/Filter/AnnotationFilterProvider.php +++ b/packages/Annotation/src/Latte/Filter/AnnotationFilterProvider.php @@ -3,15 +3,15 @@ namespace ApiGen\Annotation\Latte\Filter; use ApiGen\Annotation\AnnotationDecorator; +use ApiGen\Contract\Templating\FilterProviderInterface; use ApiGen\Event\ProcessDocTextEvent; use ApiGen\Reflection\Contract\Reflection\AbstractReflectionInterface; use ApiGen\Reflection\Contract\Reflection\Partial\AnnotationsInterface; use Nette\InvalidArgumentException; use phpDocumentor\Reflection\DocBlock\Tag; use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symplify\ModularLatteFilters\Contract\DI\LatteFiltersProviderInterface; -final class AnnotationFilterProvider implements LatteFiltersProviderInterface +final class AnnotationFilterProvider implements FilterProviderInterface { /** * @var EventDispatcherInterface diff --git a/packages/Annotation/src/config/services.neon b/packages/Annotation/src/config/services.neon deleted file mode 100644 index 3dcfc470c..000000000 --- a/packages/Annotation/src/config/services.neon +++ /dev/null @@ -1,15 +0,0 @@ -- ApiGen\Annotation\AnnotationDecorator - -# Subscribers -- ApiGen\Annotation\AnnotationSubscriber\ReturnAnnotationSubscriber -- ApiGen\Annotation\AnnotationSubscriber\ParamAnnotationSubscriber -- ApiGen\Annotation\AnnotationSubscriber\SeeUsesCoversAnnotationSubscriber -- ApiGen\Annotation\AnnotationSubscriber\LinkAnnotationSubscriber - -# Element Full Name Resolver -- ApiGen\Annotation\FqsenResolver\ElementResolver -- phpDocumentor\Reflection\FqsenResolver -- phpDocumentor\Reflection\Types\ContextFactory - -# Latte -- ApiGen\Annotation\Latte\Filter\AnnotationFilterProvider diff --git a/packages/Element/src/DI/ElementExtension.php b/packages/Element/src/DI/ElementExtension.php deleted file mode 100644 index 149e9ebf6..000000000 --- a/packages/Element/src/DI/ElementExtension.php +++ /dev/null @@ -1,30 +0,0 @@ -getContainerBuilder(), - $this->loadFromFile(__DIR__ . '/../config/services.neon') - ); - } - - public function beforeCompile(): void - { - DefinitionCollector::loadCollectorWithType( - $this->getContainerBuilder(), - ReflectionCollectorCollector::class, - BasicReflectionCollectorInterface::class, - 'addReflectionCollector' - ); - } -} diff --git a/packages/Element/src/Latte/Filter/MethodReflectionNamingFilter.php b/packages/Element/src/Latte/Filter/MethodReflectionNamingFilter.php index aa3e3f983..9a1d79e4f 100644 --- a/packages/Element/src/Latte/Filter/MethodReflectionNamingFilter.php +++ b/packages/Element/src/Latte/Filter/MethodReflectionNamingFilter.php @@ -2,12 +2,12 @@ namespace ApiGen\Element\Latte\Filter; +use ApiGen\Contract\Templating\FilterProviderInterface; use ApiGen\Reflection\Contract\Reflection\Class_\ClassMethodReflectionInterface; use ApiGen\Reflection\Contract\Reflection\Interface_\InterfaceMethodReflectionInterface; use ApiGen\Reflection\Contract\Reflection\Trait_\TraitMethodReflectionInterface; -use Symplify\ModularLatteFilters\Contract\DI\LatteFiltersProviderInterface; -final class MethodReflectionNamingFilter implements LatteFiltersProviderInterface +final class MethodReflectionNamingFilter implements FilterProviderInterface { /** * @return callable[] diff --git a/packages/Element/src/config/services.neon b/packages/Element/src/config/services.neon deleted file mode 100644 index ada141b9d..000000000 --- a/packages/Element/src/config/services.neon +++ /dev/null @@ -1,20 +0,0 @@ -- ApiGen\Element\Latte\Filter\MethodReflectionNamingFilter - -- ApiGen\Element\AutocompleteElements -- ApiGen\Element\Namespace_\ParentEmptyNamespacesResolver - -# Class_ -- ApiGen\Element\Tree\ParentClassElementsResolver -- ApiGen\Element\Tree\SubClassesResolver - -# Interface_ -- ApiGen\Element\Tree\ImplementersResolver - -# Trait_ -- ApiGen\Element\Tree\TraitUsersResolver - -# Reflection Collector -- ApiGen\Element\ReflectionCollectorCollector -- ApiGen\Element\ReflectionCollector\AnnotationReflectionCollector -- ApiGen\Element\ReflectionCollector\NamespaceReflectionCollector -- ApiGen\Element\Cache\ReflectionWarmUpper diff --git a/packages/ModularConfiguration/src/DI/ModularConfigurationExtension.php b/packages/ModularConfiguration/src/DI/ModularConfigurationExtension.php deleted file mode 100644 index 2fb369a28..000000000 --- a/packages/ModularConfiguration/src/DI/ModularConfigurationExtension.php +++ /dev/null @@ -1,39 +0,0 @@ -getContainerBuilder(), - $this->loadFromFile(__DIR__ . '/../config/services.neon') - ); - } - - public function beforeCompile(): void - { - DefinitionCollector::loadCollectorWithType( - $this->getContainerBuilder(), - CommandDecorator::class, - CommandBoundInterface::class, - 'addOption' - ); - - DefinitionCollector::loadCollectorWithType( - $this->getContainerBuilder(), - ConfigurationResolver::class, - OptionInterface::class, - 'addOption' - ); - } -} diff --git a/packages/ModularConfiguration/src/config/services.neon b/packages/ModularConfiguration/src/config/services.neon deleted file mode 100644 index cca8e1119..000000000 --- a/packages/ModularConfiguration/src/config/services.neon +++ /dev/null @@ -1,15 +0,0 @@ -- ApiGen\ModularConfiguration\ConfigurationResolver -- ApiGen\ModularConfiguration\CommandDecorator - -# Options -- ApiGen\ModularConfiguration\Option\DestinationOption -- ApiGen\ModularConfiguration\Option\AnnotationGroupsOption -- ApiGen\ModularConfiguration\Option\BaseUrlOption -- ApiGen\ModularConfiguration\Option\SourceOption -- ApiGen\ModularConfiguration\Option\ThemeDirectoryOption -- ApiGen\ModularConfiguration\Option\VisibilityLevelOption -- ApiGen\ModularConfiguration\Option\TitleOption -- ApiGen\ModularConfiguration\Option\OverwriteOption - -# Parameters -- ApiGen\ModularConfiguration\Parameter\ParameterProvider diff --git a/packages/Reflection/src/DI/ReflectionExtension.php b/packages/Reflection/src/DI/ReflectionExtension.php deleted file mode 100644 index 09ed6472c..000000000 --- a/packages/Reflection/src/DI/ReflectionExtension.php +++ /dev/null @@ -1,30 +0,0 @@ -getContainerBuilder(), - $this->loadFromFile(__DIR__ . '/../config/services.neon') - ); - } - - public function beforeCompile(): void - { - DefinitionCollector::loadCollectorWithType( - $this->getContainerBuilder(), - TransformerCollector::class, - TransformerInterface::class, - 'addTransformer' - ); - } -} diff --git a/packages/Reflection/src/config/services.neon b/packages/Reflection/src/config/services.neon deleted file mode 100644 index 43e397397..000000000 --- a/packages/Reflection/src/config/services.neon +++ /dev/null @@ -1,28 +0,0 @@ -- ApiGen\Reflection\Parser\Parser -- ApiGen\Reflection\ReflectionStorage - -# DocBlock -- - factory: phpDocumentor\Reflection\DocBlockFactory::createInstance - -- ApiGen\Reflection\TransformerCollector - - -# Better Reflection Tranformers - -# Class -- ApiGen\Reflection\Transformer\BetterReflection\Class_\ClassReflectionTransformer -- ApiGen\Reflection\Transformer\BetterReflection\Class_\ClassPropertyReflectionTransformer -- ApiGen\Reflection\Transformer\BetterReflection\Class_\ClassMethodReflectionTransformer -# Function -- ApiGen\Reflection\Transformer\BetterReflection\Function_\FunctionReflectionTransformer -- ApiGen\Reflection\Transformer\BetterReflection\Function_\FunctionParameterReflectionTransformer -# Interface -- ApiGen\Reflection\Transformer\BetterReflection\Interface_\InterfaceReflectionTransformer -- ApiGen\Reflection\Transformer\BetterReflection\Interface_\InterfaceMethodReflectionTransformer -# Method -- ApiGen\Reflection\Transformer\BetterReflection\Method\MethodParameterReflectionTransformer -# Trait -- ApiGen\Reflection\Transformer\BetterReflection\Trait_\TraitPropertyReflectionTransformer -- ApiGen\Reflection\Transformer\BetterReflection\Trait_\TraitReflectionTransformer -- ApiGen\Reflection\Transformer\BetterReflection\Trait_\TraitMethodReflectionTransformer diff --git a/packages/StringRouting/src/DI/StringRoutingExtension.php b/packages/StringRouting/src/DI/StringRoutingExtension.php deleted file mode 100644 index 41aa3dffe..000000000 --- a/packages/StringRouting/src/DI/StringRoutingExtension.php +++ /dev/null @@ -1,30 +0,0 @@ -getContainerBuilder(), - $this->loadFromFile(__DIR__ . '/../config/services.neon') - ); - } - - public function beforeCompile(): void - { - DefinitionCollector::loadCollectorWithType( - $this->getContainerBuilder(), - StringRouter::class, - RouteInterface::class, - 'addRoute' - ); - } -} diff --git a/packages/StringRouting/src/Latte/Filter/StringRoutingFiltersProvider.php b/packages/StringRouting/src/Latte/Filter/StringRoutingFiltersProvider.php index 567bb0c4a..4951d5d21 100644 --- a/packages/StringRouting/src/Latte/Filter/StringRoutingFiltersProvider.php +++ b/packages/StringRouting/src/Latte/Filter/StringRoutingFiltersProvider.php @@ -2,15 +2,15 @@ namespace ApiGen\StringRouting\Latte\Filter; +use ApiGen\Contract\Templating\FilterProviderInterface; use ApiGen\Reflection\Contract\Reflection\AbstractReflectionInterface; use ApiGen\StringRouting\Route\NamespaceRoute; use ApiGen\StringRouting\Route\ReflectionRoute; use ApiGen\StringRouting\Route\SourceCodeRoute; use ApiGen\StringRouting\StringRouter; use Nette\InvalidArgumentException; -use Symplify\ModularLatteFilters\Contract\DI\LatteFiltersProviderInterface; -final class StringRoutingFiltersProvider implements LatteFiltersProviderInterface +final class StringRoutingFiltersProvider implements FilterProviderInterface { /** * @var StringRouter diff --git a/packages/StringRouting/src/config/services.neon b/packages/StringRouting/src/config/services.neon deleted file mode 100644 index fe58f9afa..000000000 --- a/packages/StringRouting/src/config/services.neon +++ /dev/null @@ -1,9 +0,0 @@ -- ApiGen\StringRouting\StringRouter - -# routes -- ApiGen\StringRouting\Route\NamespaceRoute -- ApiGen\StringRouting\Route\SourceCodeRoute -- ApiGen\StringRouting\Route\ReflectionRoute - -# Latte helper integration -- ApiGen\StringRouting\Latte\Filter\StringRoutingFiltersProvider diff --git a/src/Contract/Templating/FilterProviderInterface.php b/src/Contract/Templating/FilterProviderInterface.php new file mode 100644 index 000000000..1391d81dd --- /dev/null +++ b/src/Contract/Templating/FilterProviderInterface.php @@ -0,0 +1,11 @@ +getContainerBuilder(), - $this->loadFromFile(__DIR__ . '/../config/services.neon') - ); - - $this->setupTemplating(); - } - - public function beforeCompile(): void - { - $this->setupGeneratorQueue(); - } - - private function setupTemplating(): void - { - $containerBuilder = $this->getContainerBuilder(); - $containerBuilder->addDefinition($this->prefix('latteFactory')) - ->setClass(Engine::class) - ->addSetup('setTempDirectory', [sys_get_temp_dir() . '/_latte_cache']); - } - - private function setupGeneratorQueue(): void - { - DefinitionCollector::loadCollectorWithType( - $this->getContainerBuilder(), - GeneratorQueue::class, - GeneratorInterface::class, - 'addGenerator' - ); - } -} diff --git a/src/DI/Container/ContainerFactory.php b/src/DI/Container/ContainerFactory.php deleted file mode 100644 index f1a125e38..000000000 --- a/src/DI/Container/ContainerFactory.php +++ /dev/null @@ -1,52 +0,0 @@ -setTempDirectory($this->createAndReturnTempDir()); - - $this->loadConfigFiles($configurator); - $this->setDefaultExtensions($configurator); - - return $configurator->createContainer(); - } - - private function createAndReturnTempDir(): string - { - $tempDir = sys_get_temp_dir() . '/_apigen'; - FileSystem::delete($tempDir); - FileSystem::createDir($tempDir); - return $tempDir; - } - - private function loadConfigFiles(Configurator $configurator): void - { - $configurator->addConfig(__DIR__ . '/../../config/config.neon'); - $localConfig = getcwd() . '/' . self::CONFIG_NAME; - - if (file_exists($localConfig)) { - $configurator->addConfig($localConfig); - } - } - - private function setDefaultExtensions(Configurator $configurator): void - { - $configurator->defaultExtensions = [ - 'extensions' => ExtensionsExtension::class, - ]; - } -} diff --git a/src/DependencyInjection/CompilerPass/LatteFiltersCollectorCompilerPass.php b/src/DependencyInjection/CompilerPass/LatteFiltersCollectorCompilerPass.php index 7c6fe14ad..4be6afaab 100644 --- a/src/DependencyInjection/CompilerPass/LatteFiltersCollectorCompilerPass.php +++ b/src/DependencyInjection/CompilerPass/LatteFiltersCollectorCompilerPass.php @@ -2,10 +2,10 @@ namespace ApiGen\DependencyInjection\CompilerPass; +use ApiGen\Contract\Templating\FilterProviderInterface; use ApiGen\Latte\FiltersAwareLatteEngineFactory; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symplify\ModularLatteFilters\Contract\DI\LatteFiltersProviderInterface; use Symplify\PackageBuilder\Adapter\Symfony\DependencyInjection\DefinitionCollector; final class LatteFiltersCollectorCompilerPass implements CompilerPassInterface @@ -15,7 +15,7 @@ public function process(ContainerBuilder $containerBuilder): void DefinitionCollector::loadCollectorWithType( $containerBuilder, FiltersAwareLatteEngineFactory::class, - LatteFiltersProviderInterface::class, + FilterProviderInterface::class, 'addFiltersProvider' ); } diff --git a/src/Latte/FiltersAwareLatteEngineFactory.php b/src/Latte/FiltersAwareLatteEngineFactory.php index b9d2f9f5b..9a9708794 100644 --- a/src/Latte/FiltersAwareLatteEngineFactory.php +++ b/src/Latte/FiltersAwareLatteEngineFactory.php @@ -2,17 +2,17 @@ namespace ApiGen\Latte; +use ApiGen\Contract\Templating\FilterProviderInterface; use Latte\Engine; -use Symplify\ModularLatteFilters\Contract\DI\LatteFiltersProviderInterface; final class FiltersAwareLatteEngineFactory { /** - * @var LatteFiltersProviderInterface[] + * @var FilterProviderInterface[] */ private $filtersProviders = []; - public function addFiltersProvider(LatteFiltersProviderInterface $filtersProvider): void + public function addFiltersProvider(FilterProviderInterface $filtersProvider): void { $this->filtersProviders[] = $filtersProvider; } @@ -20,6 +20,8 @@ public function addFiltersProvider(LatteFiltersProviderInterface $filtersProvide public function create(): Engine { $latteEngine = new Engine; + $latteEngine->setTempDirectory(sys_get_temp_dir() . '/_latte_cache'); + foreach ($this->filtersProviders as $filtersProvider) { foreach ($filtersProvider->getFilters() as $name => $callback) { $latteEngine->addFilter($name, $callback); diff --git a/src/config/config.neon b/src/config/config.neon deleted file mode 100644 index a9d8b6478..000000000 --- a/src/config/config.neon +++ /dev/null @@ -1,13 +0,0 @@ -extensions: - - ApiGen\DI\ApiGenExtension - - ApiGen\Annotation\DI\AnnotationExtension - - ApiGen\Element\DI\ElementExtension - - ApiGen\Reflection\DI\ReflectionExtension - - ApiGen\ModularConfiguration\DI\ModularConfigurationExtension - - ApiGen\StringRouting\DI\StringRoutingExtension - - # Symfony components integration to Nette\DI - - Contributte\EventDispatcher\DI\EventDispatcherExtension - - Contributte\Console\DI\ConsoleExtension - - - Symplify\ModularLatteFilters\DI\ModularLatteFiltersExtension diff --git a/src/config/services.neon b/src/config/services.neon deleted file mode 100644 index 07c5c121a..000000000 --- a/src/config/services.neon +++ /dev/null @@ -1,51 +0,0 @@ -# ApiGenApplication -- ApiGen\Application\ApiGenApplication - -# Console -- ApiGen\Console\Helper\ProgressBar -- ApiGen\Console\Command\GenerateCommand -- Symfony\Component\Console\Output\ConsoleOutput -- ApiGen\Console\Progress\StepCounter - -# Utils -- ApiGen\Utils\FileSystem -- ApiGen\Utils\Finder\Finder -- ApiGen\Utils\RelativePathResolver - -# Configuration -- ApiGen\Configuration\Configuration - -# Generator -- ApiGen\EventSubscriber\ProgressBarEventSubscriber -- ApiGen\Generator\GeneratorQueue -- ApiGen\Generator\AnnotationGroupsGenerator -- ApiGen\Generator\ElementListGenerator -- ApiGen\Generator\IndexGenerator -- ApiGen\Generator\NamespaceGenerator -- ApiGen\Generator\ClassGenerator -- ApiGen\Generator\InterfaceGenerator -- ApiGen\Generator\TraitGenerator -- ApiGen\Generator\FunctionGenerator - -- ApiGen\Generator\InterfacesGenerator -- ApiGen\Generator\FunctionsGenerator -- ApiGen\Generator\TraitsGenerator -- ApiGen\Generator\ClassesGenerator -- ApiGen\Generator\EmptyNamespaceGenerator - -# Templating -- ApiGen\Templating\TemplateRenderer -- ApiGen\EventSubscriber\ConfigurationTemplateVariablesEventSubscriber -- ApiGen\EventSubscriber\ElementsTemplateVariablesEventSubscriber - -# Template Filters -- ApiGen\Utils\LinkBuilder - -# Syntax Highlighter -- ApiGen\SourceCodeHighlighter\SourceCodeHighlighter -- FSHL\Output\Html -- FSHL\Lexer\Php -- - class: FSHL\Highlighter - setup: - - setLexer(@FSHL\Lexer\Php)