Issue #3103918 by greg.1.anderson, Mile23, alexpott, Mixologic, catch: [policy + patch] Decide on backwards compatibility policy for Composer plugins in Drupal 8

merge-requests/2419/head
Gábor Hojtsy 2020-02-21 10:34:07 +01:00
parent 973a74ad93
commit 151825efee
29 changed files with 58 additions and 0 deletions

View File

@ -6,6 +6,8 @@ use Composer\Package\RootPackageInterface;
/**
* Determine configuration.
*
* @internal
*/
class Message {

View File

@ -11,6 +11,8 @@ use Composer\Script\ScriptEvents;
/**
* A Composer plugin to display a message after creating a project.
*
* @internal
*/
class MessagePlugin implements PluginInterface, EventSubscriberInterface {

View File

@ -12,6 +12,8 @@ use Composer\Package\PackageInterface;
*
* If the root-level composer.json allows drupal/core, and drupal/core allows
* drupal/assets, then the later package will also implicitly be allowed.
*
* @internal
*/
class AllowedPackages implements PostPackageEventListenerInterface {

View File

@ -6,6 +6,8 @@ use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability;
/**
* List of all commands provided by this package.
*
* @internal
*/
class CommandProvider implements CommandProviderCapability {

View File

@ -11,6 +11,8 @@ use Symfony\Component\Console\Output\OutputInterface;
*
* Manually run the scaffold operation that normally happens after
* 'composer install'.
*
* @internal
*/
class ComposerScaffoldCommand extends BaseCommand {

View File

@ -8,6 +8,8 @@ use Drupal\Composer\Plugin\Scaffold\Operations\ScaffoldResult;
/**
* Generates an 'autoload.php' that includes the autoloader created by Composer.
*
* @internal
*/
final class GenerateAutoloadReferenceFile {

View File

@ -7,6 +7,8 @@ use Composer\Util\ProcessExecutor;
/**
* Provide some Git utility operations
*
* @internal
*/
class Git {

View File

@ -17,6 +17,8 @@ use Drupal\Composer\Plugin\Scaffold\Operations\ScaffoldFileCollection;
*
* Contains the primary logic which determines the files to be fetched and
* processed.
*
* @internal
*/
class Handler {

View File

@ -4,6 +4,8 @@ namespace Drupal\Composer\Plugin\Scaffold;
/**
* Injects config values from an associative array into a string.
*
* @internal
*/
class Interpolator {

View File

@ -6,6 +6,8 @@ use Composer\IO\IOInterface;
/**
* Manage the .gitignore file.
*
* @internal
*/
class ManageGitIgnore {

View File

@ -12,6 +12,8 @@ use Composer\Util\Filesystem;
* Projects that describe scaffold files do so via their scaffold options.
* This data is pulled from the 'drupal-scaffold' portion of the extras
* section of the project data.
*
* @internal
*/
class ManageOptions {

View File

@ -6,6 +6,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldFilePath;
/**
* Provides default behaviors for operations.
*
* @internal
*/
abstract class AbstractOperation implements OperationInterface {

View File

@ -8,6 +8,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldOptions;
/**
* Scaffold operation to add to the beginning and/or end of a scaffold file.
*
* @internal
*/
class AppendOp extends AbstractOperation {

View File

@ -8,6 +8,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldOptions;
/**
* Joins two operations on the same file into a single operation.
*
* @internal
*/
class ConjunctionOp extends AbstractOperation {

View File

@ -4,6 +4,8 @@ namespace Drupal\Composer\Plugin\Scaffold\Operations;
/**
* Holds parameter data for operation objects during operation creation only.
*
* @internal
*/
class OperationData {

View File

@ -8,6 +8,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldFilePath;
/**
* Create Scaffold operation objects based on provided metadata.
*
* @internal
*/
class OperationFactory {

View File

@ -8,6 +8,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldOptions;
/**
* Interface for scaffold operation objects.
*
* @internal
*/
interface OperationInterface {

View File

@ -9,6 +9,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldOptions;
/**
* Scaffold operation to copy or symlink from source to destination.
*
* @internal
*/
class ReplaceOp extends AbstractOperation {

View File

@ -10,6 +10,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldOptions;
/**
* Collection of scaffold files.
*
* @internal
*/
class ScaffoldFileCollection implements \IteratorAggregate {

View File

@ -6,6 +6,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldFilePath;
/**
* Record the result of a scaffold operation.
*
* @internal
*/
class ScaffoldResult {

View File

@ -8,6 +8,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldOptions;
/**
* Scaffold operation to skip a scaffold file (do nothing).
*
* @internal
*/
class SkipOp extends AbstractOperation {

View File

@ -18,6 +18,8 @@ use Drupal\Composer\Plugin\Scaffold\CommandProvider as ScaffoldCommandProvider;
/**
* Composer plugin for handling drupal scaffold.
*
* @internal
*/
class Plugin implements PluginInterface, EventSubscriberInterface, Capable {

View File

@ -8,6 +8,8 @@ use Composer\Installer\PackageEvent;
* Interface for post package event listeners.
*
* @see \Drupal\Composer\Plugin\Scaffold\Handler::onPostPackageEvent
*
* @internal
*/
interface PostPackageEventListenerInterface {

View File

@ -12,6 +12,8 @@ use Drupal\Composer\Plugin\Scaffold\Operations\OperationInterface;
* scaffold file also has an 'operation' object that controls how the scaffold
* file will be placed (e.g. via copy or symlink, or maybe by appending multiple
* files together). The operation may have one or more source files.
*
* @internal
*/
class ScaffoldFileInfo {

View File

@ -15,6 +15,8 @@ use Composer\Util\Filesystem;
* source files used to create them. Static factory methods named
* destinationPath and sourcePath, respectively, are provided to create
* ScaffoldFilePath objects.
*
* @internal
*/
class ScaffoldFilePath {

View File

@ -8,6 +8,8 @@ namespace Drupal\Composer\Plugin\Scaffold;
* Projects that describe scaffold files do so via their scaffold options. This
* data is pulled from the 'drupal-scaffold' portion of the extras section of
* the project data.
*
* @internal
*/
class ScaffoldOptions {

View File

@ -9,6 +9,8 @@ use Composer\Package\RootPackageInterface;
*
* Default configuration is merged with the root package's
* extra:drupal-core-vendor-hardening configuration.
*
* @internal
*/
class Config {

View File

@ -8,6 +8,8 @@ namespace Drupal\Composer\Plugin\VendorHardening;
* IMPORTANT: This file is duplicated at /lib/Drupal/Component/FileSecurity.
* If any change is made here, the same change should be made in the duplicate.
* See https://www.drupal.org/project/drupal/issues/3079481.
*
* @internal
*/
class FileSecurity {

View File

@ -21,6 +21,8 @@ use Composer\Util\Filesystem;
* directory within an HTTP server's docroot.
*
* @see https://www.drupal.org/docs/develop/using-composer/using-drupals-vendor-cleanup-composer-plugin
*
* @internal
*/
class VendorHardeningPlugin implements PluginInterface, EventSubscriberInterface {