Lines Matching +full:- +full:- +full:configuration
6 * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
56 * @var array Allowed configuration strings that are relevant for doxygen.
65 * @var String[] Configuration strings that are only relevant for the snippet syntax.
75 if ($this->db === null) {
77 $this->db = new SQLiteDB('doxycode', DOKU_PLUGIN . 'doxycode/db/');
81 msg('Couldn\'t load sqlite.', -1);
100 …* @param Array &$config Arguments from the snippet syntax containing the configuration for the sni…
106 if ($this->db === null) {
114 $row = $this->db->queryRecord('SELECT * FROM Tasks WHERE TaskID = ?', [$config['taskID']]);
121 $id = $this->db->exec(
129 $id = $this->db->exec(
142 $id = $this->db->exec(
143 … 'INSERT INTO Tasks (TaskID, State, Timestamp, Configuration) VALUES (?, ?, CURRENT_TIMESTAMP, ?)',
148 $this->filterDoxygenAttributes($config, false),
158 $tmp_dir = $this->createJobFile($jobID, $config, $content);
169 'Configuration' => json_encode($this->filterDoxygenAttributes($config, true), true)
172 $new = $this->db->saveRecord('Jobs', $data);
184 …* @param Array &$config Arguments from the snippet syntax containing the configuration for the sni…
186 * @param Array $tag_conf Tag file configuration used for passing the tag files to doxygen
194 if (!$this->lock()) {
198 return $this->addBuildJob($jobID, $conf, $content);
203 // no doxygen instance is running - we can immediately build the file!
208 $tmp_dir = $this->createJobFile($jobID, $config, $content);
211 $this->unlock();
217 $buildsuccess = $this->runDoxygen($tmp_dir, $tag_conf);
221 $this->deleteTaskDir($tmp_dir);
225 $this->unlock();
240 if ($this->db === null) {
245 $row = $this->db->queryRecord('SELECT * FROM Tasks WHERE TaskID = ?', $id);
265 if ($this->db === null) {
271 $row = $this->db->queryRecord('SELECT * FROM Jobs WHERE JobID = ?', $jobID);
276 return $this->getTaskState($row['TaskID']);
283 * Return the doxygen relevant build task configuration of a build task.
285 … * This is useful in a context where the configuration can not be obtained from the snippet syntax.
288 * There we need the configuration for matching the used tag files.
291 * @return Array Task configuration including the used tag files
295 if ($this->db === null) {
300 $row = $this->db->queryRecord('SELECT Configuration FROM Tasks WHERE TaskID = ?', $taskID);
303 return json_decode($row['Configuration'], true);
310 * Return the doxygen relevant build task configuration configuration of a build job.
312 … * This is useful in a context where the configuration can not be obtained from the snippet syntax.
315 * We then call getTaskConf to get the task configuration.
318 * @return Array Task configuration including the used tag files
322 if ($this->db === null) {
328 $row = $this->db->queryRecord('SELECT * FROM Jobs WHERE JobID = ?', $jobID);
330 // get the Configuration from the Task
332 return $this->getTaskConf($row['TaskID']);
339 * Get the HTML relevant configuration of a build job.
341 … * This is useful in a context where the configuration can not be obtained from the snippet syntax.
344 * @return Array Task configuration including linenumbers, filename, etc.
348 if ($this->db === null) {
354 $row = $this->db->queryRecord('SELECT Configuration FROM Jobs WHERE JobID = ?', $jobID);
357 return json_decode($row['Configuration'], true);
396 if (time() - @filemtime($lock) > $this->getConf('runner_max_execution_time')) {
397 // looks like a stale lock - remove it
428 * We then load the tag file configuration for those tag files and try to execute the build.
439 if (!$this->lock()) {
445 $row = $this->db->queryRecord('SELECT * FROM Tasks WHERE TaskID = ?', $taskID);
449 $this->unlock();
453 $config = json_decode($row['Configuration'], true);
462 $tag_config = $tagmanager->getFilteredTagConfig($config['tagfiles']);
464 // update the maximum execution time according to configuration
465 // TODO: maybe check if this configuration is present?
466 set_time_limit($this->getConf('runner_max_execution_time'));
469 $tmpDir = $this->createTaskDir($taskID);
473 $this->db->exec(
479 $success = $this->runDoxygen($tmpDir, $tag_config);
483 $this->db->exec(
488 $this->db->exec(
497 $this->deleteTaskDir($tmpDir);
500 $this->unlock();
508 * The doxygen configuration is passed to doxygen via a pipe and the TAGFILES parameter
509 * is overridden with the tag file configuration passed to this function.
517 * @param Array $tag_conf Tag file configuration
527 $doxygenExecutable = $this->getConf('doxygen_executable');
534 // Path to your Doxygen configuration file
536 // a doxygen configuration that is not overwritten by plugin updates
537 $doxygenConfig = DOKU_PLUGIN . $this->getPluginName() . '/doxygen.conf';
551 … $tagfiles .= '"' . $tagmanager->getTagFileDir() . $key . '.xml=' . $conf['docu_url'] . '"';
555 …// TODO: allow more configuration settings for doxygen execution through the doxygen_conf parameter
560 … "cd $build_dir && ( cat $doxygenConfig ; echo 'TAGFILES=$tagfiles' ) | $doxygenExecutable -",
653 * @param Array &$config Configuration from the snippet syntax
659 $tmpDir = $this->createTaskDir($config['taskID']);
665 … // we expect a cache filename (md5) - the xml output from the build job will have this filename
689 if ($this->db === null) {
694 $rows = $this->db->queryAll(
705 * Filter the doxygen relevant attributes from a configuration array.
708 * Examples: tag file configuration
710 …* The configuration also includes attributes that only influence task scheduling (e.g. 'render_tas…
715 * @param Array $config Configuration from the snippet syntax.
716 * @param bool $exclude Return only doxygen relevant configuration or everying else
717 * @return Array filtered configuration
725 $filtered_config = array_intersect_key($config, array_flip($this->conf_doxygen_keys));
727 $filtered_config = array_diff_key($config, array_flip($this->conf_doxygen_keys));
732 $filtered_config = array_diff_key($filtered_config, array_flip($this->conf_doxycode_keys));