diff core/lib/Drupal/Core/Updater/UpdaterInterface.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/lib/Drupal/Core/Updater/UpdaterInterface.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,68 @@
+<?php
+
+namespace Drupal\Core\Updater;
+
+/**
+ * Defines an interface for a class which can update a Drupal project.
+ *
+ * An Updater currently serves the following purposes:
+ *   - It can take a given directory, and determine if it can operate on it.
+ *   - It can move the contents of that directory into the appropriate place
+ *     on the system using FileTransfer classes.
+ *   - It can return a list of "next steps" after an update or install.
+ *   - In the future, it will most likely perform some of those steps as well.
+ */
+interface UpdaterInterface {
+
+  /**
+   * Checks if the project is installed.
+   *
+   * @return bool
+   */
+  public function isInstalled();
+
+  /**
+   * Returns the system name of the project.
+   *
+   * @param string $directory
+   *   A directory containing a project.
+   */
+  public static function getProjectName($directory);
+
+  /**
+   * Returns the path to the default install location for the current project.
+   *
+   * @return string
+   *   An absolute path to the default install location.
+   */
+  public function getInstallDirectory();
+
+  /**
+   * Returns the name of the root directory under which projects will be copied.
+   *
+   * @return string
+   *   A relative path to the root directory.
+   */
+  public static function getRootDirectoryRelativePath();
+
+  /**
+   * Determines if the Updater can handle the project provided in $directory.
+   *
+   * @param string $directory
+   *
+   * @return bool
+   *   TRUE if the project is installed, FALSE if not.
+   */
+  public static function canUpdateDirectory($directory);
+
+  /**
+   * Actions to run after an install has occurred.
+   */
+  public function postInstall();
+
+  /**
+   * Actions to run after an update has occurred.
+   */
+  public function postUpdate();
+
+}