Path: blob/master/src/applications/harbormaster/artifact/HarbormasterArtifact.php
12256 views
<?php123abstract class HarbormasterArtifact extends Phobject {45private $buildArtifact;67abstract public function getArtifactTypeName();89public function getArtifactTypeSummary() {10return $this->getArtifactTypeDescription();11}1213abstract public function getArtifactTypeDescription();14abstract public function getArtifactParameterSpecification();15abstract public function getArtifactParameterDescriptions();16abstract public function willCreateArtifact(PhabricatorUser $actor);1718public function readArtifactHTTPParameter($key, $value) {19return $value;20}2122public function validateArtifactData(array $artifact_data) {23$artifact_spec = $this->getArtifactParameterSpecification();24PhutilTypeSpec::checkMap($artifact_data, $artifact_spec);25}2627public function renderArtifactSummary(PhabricatorUser $viewer) {28return null;29}3031public function releaseArtifact(PhabricatorUser $actor) {32return;33}3435public function getArtifactDataExample() {36return null;37}3839public function setBuildArtifact(HarbormasterBuildArtifact $build_artifact) {40$this->buildArtifact = $build_artifact;41return $this;42}4344public function getBuildArtifact() {45return $this->buildArtifact;46}4748final public function getArtifactConstant() {49return $this->getPhobjectClassConstant('ARTIFACTCONST', 32);50}5152final public static function getAllArtifactTypes() {53return id(new PhutilClassMapQuery())54->setAncestorClass(__CLASS__)55->setUniqueMethod('getArtifactConstant')56->execute();57}5859final public static function getArtifactType($type) {60return idx(self::getAllArtifactTypes(), $type);61}6263}646566