/** * Creates a new source. * * @param string $name The name of the source * @param string $sourceDirectory Source directory used for files * @param string $buildDirectory Build directory contains all archives * @param string $scm Defines used SCM, may be 'git', 'none' and 'subversion' * @param string $url URL for accessing subversion * @param string $username Username neccessary if subversion repository is protected * @param string $password Password neccessary if subversion repository is protected * @param boolean $trustServerCert Automaticly trust server certificate * @param boolean $enableCheckout Enables checkout ability * @param integer $position Position used to order sources * @return SourceEditor */ public static function create($name, $sourceDirectory, $buildDirectory, $scm, $url, $username, $password, $trustServerCert, $enableCheckout, $position) { // handle dir seperators $sourceDirectory = FileUtil::unifyDirSeperator($sourceDirectory); $buildDirectory = FileUtil::unifyDirSeperator($buildDirectory); // validate SCM $scm = self::validateSCM($scm); // save data $sourceID = self::insert($name, array('sourceDirectory' => $sourceDirectory, 'buildDirectory' => $buildDirectory, 'scm' => $scm, 'url' => $url, 'username' => $username, 'password' => $password, 'trustServerCert' => $trustServerCert, 'enableCheckout' => $enableCheckout)); // get source $source = new SourceEditor($sourceID, null); // set position $source->setPosition($position); // create permissions $source->createPermissions(); return $source; }