<?php
/**
 * Plugin Name:       BW WebP
 * Plugin URI:        https://plugins.bowden.works/bw-webp/
 * Description:       Fast bulk WebP conversion with parallel workers and cwebp binary support.
 * Version:           0.1.0
 * Requires at least: 6.0
 * Requires PHP:      7.4
 * Author:            Bowden Works
 * Author URI:        https://bowden.works
 * License:           GPL-2.0-or-later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       bw-webp
 * Domain Path:       /languages
 * Update URI:        https://plugins.bowden.works/bw-webp/
 */

defined( 'ABSPATH' ) || exit;

define( 'BW_WEBP_VERSION', '0.1.0' );
define( 'BW_WEBP_FILE', __FILE__ );
define( 'BW_WEBP_DIR', plugin_dir_path( __FILE__ ) );
define( 'BW_WEBP_URL', plugin_dir_url( __FILE__ ) );

require_once BW_WEBP_DIR . 'vendor/plugin-update-checker/plugin-update-checker.php';

use YahnisElsts\PluginUpdateChecker\v5\PucFactory;

$bw_webp_update_checker = PucFactory::buildUpdateChecker(
	'https://plugins.bowden.works/wp-json/bw/v1/update-check?slug=bw-webp',
	__FILE__,
	'bw-webp'
);

require_once BW_WEBP_DIR . 'includes/class-bw-webp-paths.php';
require_once BW_WEBP_DIR . 'includes/converters/interface-bw-webp-converter.php';
require_once BW_WEBP_DIR . 'includes/converters/class-bw-webp-converter-cwebp.php';
require_once BW_WEBP_DIR . 'includes/converters/class-bw-webp-converter-imagick.php';
require_once BW_WEBP_DIR . 'includes/converters/class-bw-webp-converter-gd.php';
require_once BW_WEBP_DIR . 'includes/converters/class-bw-webp-converter-factory.php';
require_once BW_WEBP_DIR . 'includes/class-bw-webp-settings.php';
require_once BW_WEBP_DIR . 'includes/class-bw-webp-manifest.php';
require_once BW_WEBP_DIR . 'includes/class-bw-webp-queue.php';
require_once BW_WEBP_DIR . 'includes/class-bw-webp-rewrite.php';
require_once BW_WEBP_DIR . 'includes/class-bw-webp-rest.php';
require_once BW_WEBP_DIR . 'admin/class-bw-webp-admin.php';
require_once BW_WEBP_DIR . 'includes/class-bw-webp-cli.php';
require_once BW_WEBP_DIR . 'includes/class-bw-webp-activator.php';
require_once BW_WEBP_DIR . 'includes/class-bw-webp-plugin.php';

register_activation_hook( __FILE__, array( 'BW_WebP_Activator', 'activate' ) );
register_deactivation_hook( __FILE__, array( 'BW_WebP_Activator', 'deactivate' ) );

function bw_webp_init() {
	BW_WebP_Plugin::instance()->boot();
}
add_action( 'plugins_loaded', 'bw_webp_init' );
