73 lines
1.9 KiB
PHP
73 lines
1.9 KiB
PHP
<?php
|
|
// This file is part of the Studyplan plugin for Moodle
|
|
//
|
|
// Moodle is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// Moodle is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Moodle. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
/**
|
|
* Build script to properly create a distribution zip
|
|
* @package local_treestudyplan
|
|
* @copyright 2023 P.M. Kuipers
|
|
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
*/
|
|
define('CLI_SCRIPT', true);
|
|
require_once("../../config.php");
|
|
$plugin = new stdClass;
|
|
require_once('version.php');
|
|
|
|
$a = explode("_", $plugin->component, 2);
|
|
$plugin->type = $a[0];
|
|
$plugin->name = $a[1];
|
|
|
|
$excludepaths = [
|
|
"build", // Dir for build zip files.
|
|
"build/*",
|
|
"build.*",
|
|
"vuemode.sh",
|
|
".git",
|
|
".git/*",
|
|
".gitignore",
|
|
".vscode",
|
|
".vscode/*",
|
|
"*.zip",
|
|
];
|
|
|
|
// Determine some paths.
|
|
$wd = realpath(dirname(__FILE__));
|
|
$parent = dirname($wd);
|
|
$plugindirname = basename($wd);
|
|
$builddir = $wd."/"."build";
|
|
$zipname = $builddir."/"."{$plugin->name}-{$plugin->version}.zip";
|
|
|
|
// Create the exclude line.
|
|
$exclude = "-x ";
|
|
foreach ($excludepaths as $x) {
|
|
$exclude .= "'{$plugindirname}/{$x}' ";
|
|
}
|
|
|
|
if (!is_dir($builddir)) {
|
|
mkdir($builddir);
|
|
if (!is_dir($builddir)) {
|
|
print("Cannot access dir '{$builddir}' to store zip files\n");
|
|
exit(1);
|
|
}
|
|
}
|
|
|
|
$cwd = getcwd();
|
|
chdir($parent);
|
|
|
|
$cmd = "zip -r '{$zipname}' '{$plugindirname}' {$exclude}";
|
|
system($cmd);
|
|
|
|
chdir($cwd);
|