-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetversions.php
executable file
·45 lines (44 loc) · 1.32 KB
/
setversions.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/php
<?php
$values = [
'lastmodif' => date('M d, Y')
];
$composer = file_get_contents('composer.lock');
$packages_lock = file_get_contents("package-lock.json");
$packages = [
"autocompleter",
"bootstrappaginator",
"daterangepickerhelper",
"formsbootstrap",
"menuandtabutils",
"tablebuilder",
"tagsinput",
"uploader",
];
$regexpattern = '/\\"name\\": \\"seblhaire\\/%s\\",\\s+\\"version\\": \\"([\d\.]+)\\"/m';
foreach ($packages as $pack){
$regex = sprintf($regexpattern, $pack);
//var_dump($regex);
$i = preg_match($regex, $composer, $matches);
$values[$pack] = $matches[1];
}
$packages = [
'fontawesome' => '@fortawesome\\/fontawesome\\-free',
"bootstrap" => 'bootstrap',
"jquery" => 'jquery',
'daterangepicker' => 'daterangepicker'
];
$regexpattern = '/%s\\":\\s+{\\s+\\"version\\": \\"([\d\.]+)\\"/m';
foreach ($packages as $key => $pack){
$regex = sprintf($regexpattern, $pack);
$i = preg_match($regex, $packages_lock, $matches);
$values[$key] = $matches[1];
}
$resultfile = "<?php" . PHP_EOL . "// generated by ./serversion.php . Don't modify" . PHP_EOL . PHP_EOL .
"return [" . PHP_EOL;
foreach ($values as $key => $value){
$resultfile .= " \"" . $key . "\" => \"" . $value . "\"," . PHP_EOL;
}
$resultfile .= "];" . PHP_EOL;
file_put_contents("config/versions.php", $resultfile);
?>