Issue #3103918 by greg.1.anderson, Mile23, alexpott, Mixologic, catch: [policy + patch] Decide on backwards compatibility policy for Composer plugins in Drupal 8
parent
973a74ad93
commit
151825efee
|
@ -6,6 +6,8 @@ use Composer\Package\RootPackageInterface;
|
|||
|
||||
/**
|
||||
* Determine configuration.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class Message {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@ use Composer\Plugin\Capability\CommandProvider as CommandProviderCapability;
|
|||
|
||||
/**
|
||||
* List of all commands provided by this package.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class CommandProvider implements CommandProviderCapability {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -7,6 +7,8 @@ use Composer\Util\ProcessExecutor;
|
|||
|
||||
/**
|
||||
* Provide some Git utility operations
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class Git {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@ namespace Drupal\Composer\Plugin\Scaffold;
|
|||
|
||||
/**
|
||||
* Injects config values from an associative array into a string.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class Interpolator {
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@ use Composer\IO\IOInterface;
|
|||
|
||||
/**
|
||||
* Manage the .gitignore file.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class ManageGitIgnore {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldFilePath;
|
|||
|
||||
/**
|
||||
* Provides default behaviors for operations.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
abstract class AbstractOperation implements OperationInterface {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@ namespace Drupal\Composer\Plugin\Scaffold\Operations;
|
|||
|
||||
/**
|
||||
* Holds parameter data for operation objects during operation creation only.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class OperationData {
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldFilePath;
|
|||
|
||||
/**
|
||||
* Create Scaffold operation objects based on provided metadata.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class OperationFactory {
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldOptions;
|
|||
|
||||
/**
|
||||
* Interface for scaffold operation objects.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
interface OperationInterface {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -10,6 +10,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldOptions;
|
|||
|
||||
/**
|
||||
* Collection of scaffold files.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class ScaffoldFileCollection implements \IteratorAggregate {
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldFilePath;
|
|||
|
||||
/**
|
||||
* Record the result of a scaffold operation.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class ScaffoldResult {
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ use Drupal\Composer\Plugin\Scaffold\ScaffoldOptions;
|
|||
|
||||
/**
|
||||
* Scaffold operation to skip a scaffold file (do nothing).
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class SkipOp extends AbstractOperation {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ use Composer\Installer\PackageEvent;
|
|||
* Interface for post package event listeners.
|
||||
*
|
||||
* @see \Drupal\Composer\Plugin\Scaffold\Handler::onPostPackageEvent
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
interface PostPackageEventListenerInterface {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
||||
|
|
Loading…
Reference in New Issue