Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1) - OpenOCPP extracted (firmware OCPP 1.6J/2.0.1) - ShapeShifter library installed (pip install -e) - ShapeShifter specification extracted - EVerest extracted TODO updated with progress
This commit is contained in:
58
tools/citrineos-core-main/apps/Server/copy-assets.ts
Normal file
58
tools/citrineos-core-main/apps/Server/copy-assets.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
// SPDX-FileCopyrightText: 2025 Contributors to the CitrineOS Project
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
import * as path from 'path';
|
||||
import { promises as fs } from 'fs';
|
||||
|
||||
const source = process.argv[2];
|
||||
const target = process.argv[3];
|
||||
|
||||
console.log(`Copying assets from ${source} to ${target}`);
|
||||
|
||||
if (!source || !target) {
|
||||
console.error(
|
||||
`Error: need valid source and target. Received source: ${source}, target: ${target}`,
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
async function copyDirectory(src: string, dest: string) {
|
||||
try {
|
||||
await fs.mkdir(dest, { recursive: true });
|
||||
console.log(`Created "${dest}" directory`);
|
||||
|
||||
const entries = await fs.readdir(src, { withFileTypes: true });
|
||||
|
||||
for (const entry of entries) {
|
||||
const srcPath = path.join(src, entry.name);
|
||||
const destPath = path.join(dest, entry.name);
|
||||
|
||||
if (entry.isDirectory()) {
|
||||
await copyDirectory(srcPath, destPath);
|
||||
} else {
|
||||
await fs.copyFile(srcPath, destPath);
|
||||
console.log(`Copied ${srcPath} to ${destPath}`);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Error copying directory:', err);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
async function copy(s: string, t: string) {
|
||||
const srcDir = path.resolve(s);
|
||||
const destDir = path.resolve(t);
|
||||
await copyDirectory(srcDir, destDir);
|
||||
console.log(`Successfully copied assets from ${srcDir} to ${destDir}`);
|
||||
}
|
||||
|
||||
copy(source, target)
|
||||
.then(() => {
|
||||
console.log(`Completed copying assets from ${source} to ${target}`);
|
||||
process.exit(0);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error('Unhandled error:', err);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user