ole1986/vscode-arma-dev

Generating mod.cpp produces error.

Closed this issue · 1 comments

Suggest adding callback to fs.writeFile function:

Original: fs.writeFile(destPath, data);
Suggested: fs.writeFile(destPath, data, (err)=>{logger.logError(err)});

exports.getPrefixFromFile = getPrefixFromFile;
function addModInfo(modDir) {
    let config = armadev_1.ArmaDev.Self.Config;
    let destPath = path.join(modDir, 'mod.cpp');
    let data = '';
    data += 'name = "' + config.title + ' v' + config.version + '";\n';
    data += 'author = "' + config.author + '";\n';
    if (config.website) {
        data += 'actionName = "Website";\n';
        data += 'action = "' + config.website + '";\n';
    }
    logger.logDebug('Data: ' + data);
    logger.logDebug('mod.cpp file location: ' + destPath);
    fs.writeFile(destPath, data, (err)=>{logger.logError(err)});
    logger.logDebug('Finished writing to mod.cpp');
}

I added some additional logging in this function to troubleshoot the issue. Not really needed, but it was a helpful checkpoint. When attempting to build the client mod, I would get a generic callback error. After tracing down the issue, I found that fs.writeFile(destPath, data) was not working. I'm not a java dev, but it seems similar to System.IO.File.WriteAllText in c#, so could be an issue with the java library itself. Anyway, after adding the callback function, the mod wrote mod.cpp as expected.

#10 - Would also help with these generic errors.

This issue was resolved at some point last year. I apologize for disappearing after the last PR. I see some additional logging was added as well. Marked this case as closed to keep things tidy.