plugins_doc_doxygen.js

/**
 * @file plugins/doc/doxygen.js
 * @copyright @spmhome @_2025
 * @author Scott Meesseman @spmeesseman
 *//** */

const WpwDocPlugin = require("./base");


/**
 * @augments WpwDocPlugin
 */
class WpwDoxygenDocPlugin extends WpwDocPlugin
{
    /**
     * @param {WpwPluginOptions} options
     */
    constructor(options)
    {
        super("doxygen", Object.assign({}, options, { taskHandler: "executeDoxygenDocsBuild" }));
        this.buildOptions = /** @type {WpwDoxygenDocPluginOptions} */(this.buildOptions);
    }


    /**
     * @override
     * @param {WpwBuild} build
     * @returns {WpwExampleTaskPlugin | undefined}
     */
    static create = WpwDoxygenDocPlugin.wrap.bind(this);


    /**
     * @param {WebpackCompilationAssets} _assets
     * @returns {Promise<void>}
     */
    async executeDoxygenDocsBuild(_assets)
    {
        this.addMessage({ code: this.MsgCode.ERROR_NOT_IMPLEMENTED, message: "doxygen plugin not yet implemented" });
    }
}


module.exports = WpwDoxygenDocPlugin.create;