machines/Gruntfile.js
2023-11-12 21:43:05 +01:00

83 lines
10 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.grunt = void 0;
const path = require("path");
const glob_1 = require("@plastichub/osr-cli-commons/glob");
const osr_fs_utils_1 = require("@plastichub/osr-fs-utils");
const _1 = require("./");
const component_1 = require("./component");
const grunt = (grunt) => {
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
sshexec: {
update: {
debug: true,
verbose: true,
commands: 'sh update-osr.sh'
}
}
});
grunt.loadNpmTasks("grunt-extend-config");
const cad_tasks = [];
const git_tasks = [];
const items = (category, includeProducts = false) => {
const componentsPath = path.resolve(category);
let components = (0, glob_1.files)(componentsPath, '**/**/config.json');
// components = components.filter(isValidLibraryComponent)
components = components.filter((c) => {
try {
const config = (0, osr_fs_utils_1.readOSRConfig)(c);
if (config) {
if (config.forum === false) {
return false;
}
if (!includeProducts) {
return !config.code && !config.cscartId && !config.steps;
}
else {
}
}
return true;
}
catch (error) {
_1.logger.error(`Invalid config : ${c}`);
}
});
return components;
};
let components = [
...items('./injection/components', true),
...items('./extrusion/components', true),
...items('./sheetpress/components', true),
...items('./sheetpress/', true),
...items('./shredder', true),
...items('./injection'),
...items('./compression'),
...items('./extrusion')
];
const root = path.resolve('.');
components = components.filter(osr_fs_utils_1.isValidLibraryComponent);
components = components.map((c) => {
const dir = path.relative(root, path.parse(c).dir);
return (0, glob_1.forward_slash)(dir);
});
const componentTasks = (items) => {
items.forEach((i) => {
(0, component_1.productCADTask)(grunt, i, {}, cad_tasks),
(0, component_1.productGitSyncTask)(grunt, i, {}, git_tasks);
});
};
_1.logger.debug(`Registered component tasks for`, components);
componentTasks(components);
grunt.registerTask('components-update', [
'components-cad',
'components-git'
]);
grunt.registerTask('default', [
'components-update'
]);
require("@plastichub/osr-tasks").initConfig(grunt, {});
};
exports.grunt = grunt;
module.exports = exports.grunt;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3J1bnRmaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGFza3MvR3J1bnRmaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE0QjtBQUU1QiwyREFBdUU7QUFFdkUsMkRBQWlGO0FBQ2pGLHlCQUEyQjtBQUUzQiwyQ0FHb0I7QUFFYixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzNCLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDYixHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1FBQ3hDLE9BQU8sRUFBRTtZQUNMLE1BQU0sRUFBRTtnQkFDSixLQUFLLEVBQUUsSUFBSTtnQkFDWCxPQUFPLEVBQUUsSUFBSTtnQkFDYixRQUFRLEVBQUUsa0JBQWtCO2FBQy9CO1NBQ0o7S0FDSixDQUFDLENBQUE7SUFFRixLQUFLLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUE7SUFFekMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3BCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQTtJQUVwQixNQUFNLEtBQUssR0FBRyxDQUFDLFFBQVEsRUFBRSxlQUFlLEdBQUcsS0FBSyxFQUFFLEVBQUU7UUFDaEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUM3QyxJQUFJLFVBQVUsR0FBRyxJQUFBLFlBQUssRUFBQyxjQUFjLEVBQUUsbUJBQW1CLENBQWEsQ0FBQTtRQUN2RSwwREFBMEQ7UUFDMUQsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFJO2dCQUVBLE1BQU0sTUFBTSxHQUFHLElBQUEsNEJBQWEsRUFBQyxDQUFDLENBQXFCLENBQUE7Z0JBQ25ELElBQUksTUFBTSxFQUFFO29CQUNSLElBQUcsTUFBTSxDQUFDLEtBQUssS0FBSSxLQUFLLEVBQUM7d0JBQ3JCLE9BQU8sS0FBSyxDQUFBO3FCQUNmO29CQUNELElBQUksQ0FBQyxlQUFlLEVBQUU7d0JBQ2xCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUE7cUJBQzNEO3lCQUFNO3FCQUNOO2lCQUNKO2dCQUNELE9BQU8sSUFBSSxDQUFBO2FBQ2Q7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDWixTQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFBO2FBQ3hDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLFVBQVUsQ0FBQTtJQUNyQixDQUFDLENBQUE7SUFFRCxJQUFJLFVBQVUsR0FDVjtRQUVJLEdBQUcsS0FBSyxDQUFDLHdCQUF3QixFQUFDLElBQUksQ0FBQztRQUN2QyxHQUFHLEtBQUssQ0FBQyx3QkFBd0IsRUFBQyxJQUFJLENBQUM7UUFDdkMsR0FBRyxLQUFLLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDO1FBQ3pDLEdBQUcsS0FBSyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7UUFDL0IsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQztRQUMzQixHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDdkIsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBQ3pCLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztLQUMxQixDQUFBO0lBRUwsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QixVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxzQ0FBdUIsQ0FBQyxDQUFBO0lBQ3ZELFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNsRCxPQUFPLElBQUEsb0JBQWEsRUFBQyxHQUFHLENBQUMsQ0FBQTtJQUM3QixDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hCLElBQUEsMEJBQWMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUM7Z0JBQ25DLElBQUEsOEJBQWtCLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDbkQsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUE7SUFFRCxTQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBRTFELGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUUxQixLQUFLLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFO1FBQ3BDLGdCQUFnQjtRQUNoQixnQkFBZ0I7S0FDbkIsQ0FBQyxDQUFBO0lBRUYsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUU7UUFDMUIsbUJBQW1CO0tBQ3RCLENBQUMsQ0FBQTtJQUVGLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDMUQsQ0FBQyxDQUFBO0FBbkZZLFFBQUEsS0FBSyxTQW1GakI7QUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLGFBQUssQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCdcblxuaW1wb3J0IHsgZmlsZXMsIGZvcndhcmRfc2xhc2ggfSBmcm9tICdAcGxhc3RpY2h1Yi9vc3ItY2xpLWNvbW1vbnMvZ2xvYidcbmltcG9ydCB7IElDb21wb25lbnRDb25maWcgfSBmcm9tICdAcGxhc3RpY2h1Yi9vc3ItY29tbW9ucy8nXG5pbXBvcnQgeyBpc1ZhbGlkTGlicmFyeUNvbXBvbmVudCwgcmVhZE9TUkNvbmZpZyB9IGZyb20gJ0BwbGFzdGljaHViL29zci1mcy11dGlscydcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vJ1xuXG5pbXBvcnQge1xuICAgIHByb2R1Y3RDQURUYXNrLFxuICAgIHByb2R1Y3RHaXRTeW5jVGFza1xufSBmcm9tICcuL2NvbXBvbmVudCdcblxuZXhwb3J0IGNvbnN0IGdydW50ID0gKGdydW50KSA9PiB7XG4gICAgZ3J1bnQuaW5pdENvbmZpZyh7XG4gICAgICAgIHBrZzogZ3J1bnQuZmlsZS5yZWFkSlNPTihcInBhY2thZ2UuanNvblwiKSxcbiAgICAgICAgc3NoZXhlYzoge1xuICAgICAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgICAgICAgZGVidWc6IHRydWUsXG4gICAgICAgICAgICAgICAgdmVyYm9zZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb21tYW5kczogJ3NoIHVwZGF0ZS1vc3Iuc2gnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KVxuXG4gICAgZ3J1bnQubG9hZE5wbVRhc2tzKFwiZ3J1bnQtZXh0ZW5kLWNvbmZpZ1wiKVxuXG4gICAgY29uc3QgY2FkX3Rhc2tzID0gW11cbiAgICBjb25zdCBnaXRfdGFza3MgPSBbXVxuXG4gICAgY29uc3QgaXRlbXMgPSAoY2F0ZWdvcnksIGluY2x1ZGVQcm9kdWN0cyA9IGZhbHNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHNQYXRoID0gcGF0aC5yZXNvbHZlKGNhdGVnb3J5KVxuICAgICAgICBsZXQgY29tcG9uZW50cyA9IGZpbGVzKGNvbXBvbmVudHNQYXRoLCAnKiovKiovY29uZmlnLmpzb24nKSBhcyBzdHJpbmdbXVxuICAgICAgICAvLyBjb21wb25lbnRzID0gY29tcG9uZW50cy5maWx0ZXIoaXNWYWxpZExpYnJhcnlDb21wb25lbnQpXG4gICAgICAgIGNvbXBvbmVudHMgPSBjb21wb25lbnRzLmZpbHRlcigoYykgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHJlYWRPU1JDb25maWcoYykgYXMgSUNvbXBvbmVudENvbmZpZ1xuICAgICAgICAgICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYoY29uZmlnLmZvcnVtID09PWZhbHNlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghaW5jbHVkZVByb2R1Y3RzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWNvbmZpZy5jb2RlICYmICFjb25maWcuY3NjYXJ0SWQgJiYgIWNvbmZpZy5zdGVwc1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihgSW52YWxpZCBjb25maWcgOiAke2N9YClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudHNcbiAgICB9XG5cbiAgICBsZXQgY29tcG9uZW50cyA9XG4gICAgICAgIFtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLi4uaXRlbXMoJy4vaW5qZWN0aW9uL2NvbXBvbmVudHMnLHRydWUpLFxuICAgICAgICAgICAgLi4uaXRlbXMoJy4vZXh0cnVzaW9uL2NvbXBvbmVudHMnLHRydWUpLFxuICAgICAgICAgICAgLi4uaXRlbXMoJy4vc2hlZXRwcmVzcy9jb21wb25lbnRzJywgdHJ1ZSksXG4gICAgICAgICAgICAuLi5pdGVtcygnLi9zaGVldHByZXNzLycsIHRydWUpLFxuICAgICAgICAgICAgLi4uaXRlbXMoJy4vc2hyZWRkZXInLHRydWUpLFxuICAgICAgICAgICAgLi4uaXRlbXMoJy4vaW5qZWN0aW9uJyksXG4gICAgICAgICAgICAuLi5pdGVtcygnLi9jb21wcmVzc2lvbicpLFxuICAgICAgICAgICAgLi4uaXRlbXMoJy4vZXh0cnVzaW9uJylcbiAgICAgICAgXVxuXG4gICAgY29uc3Qgcm9vdCA9IHBhdGgucmVzb2x2ZSgnLicpXG4gICAgY29tcG9uZW50cyA9IGNvbXBvbmVudHMuZmlsdGVyKGlzVmFsaWRMaWJyYXJ5Q29tcG9uZW50KVxuICAgIGNvbXBvbmVudHMgPSBjb21wb25lbnRzLm1hcCgoYykgPT4ge1xuICAgICAgICBjb25zdCBkaXIgPSBwYXRoLnJlbGF0aXZlKHJvb3QsIHBhdGgucGFyc2UoYykuZGlyKVxuICAgICAgICByZXR1cm4gZm9yd2FyZF9zbGFzaChkaXIpXG4gICAgfSlcblxuICAgIGNvbnN0IGNvbXBvbmVudFRhc2tzID0gKGl0ZW1zKSA9PiB7XG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGkpID0+IHtcbiAgICAgICAgICAgIHByb2R1Y3RDQURUYXNrKGdydW50LCBpLCB7fSwgY2FkX3Rhc2tzKSxcbiAgICAgICAgICAgICAgICBwcm9kdWN0R2l0U3luY1Rhc2soZ3J1bnQsIGksIHt9LCBnaXRfdGFza3MpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgbG9nZ2VyLmRlYnVnKGBSZWdpc3RlcmVkIGNvbXBvbmVudCB0YXNrcyBmb3JgLCBjb21wb25lbnRzKVxuXG4gICAgY29tcG9uZW50VGFza3MoY29tcG9uZW50cylcblxuICAgIGdydW50LnJlZ2lzdGVyVGFzaygnY29tcG9uZW50cy11cGRhdGUnLCBbXG4gICAgICAgICdjb21wb25lbnRzLWNhZCcsXG4gICAgICAgICdjb21wb25lbnRzLWdpdCdcbiAgICBdKVxuXG4gICAgZ3J1bnQucmVnaXN0ZXJUYXNrKCdkZWZhdWx0JywgW1xuICAgICAgICAnY29tcG9uZW50cy11cGRhdGUnXG4gICAgXSlcblxuICAgIHJlcXVpcmUoXCJAcGxhc3RpY2h1Yi9vc3ItdGFza3NcIikuaW5pdENvbmZpZyhncnVudCwge30pXG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ3J1bnQiXX0=