"use strict";
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestsToExcludeFromDefaultSuite = void 0;
const ScriptModuleManager_1 = require("../../manager/ScriptModuleManager");
const VsCodeFileManager_1 = require("../../manager/VsCodeFileManager");
const MinEngineVersionManager_1 = require("../../manager/MinEngineVersionManager");
const BaseGameVersionManager_1 = require("../../manager/BaseGameVersionManager");
const PackMetaDataInfoGenerator_1 = require("../PackMetaDataInfoGenerator");
const CooperativeAddOnRequirementsGenerator_1 = require("../CooperativeAddOnRequirementsGenerator");
const StrictPlatformInfoGenerator_1 = require("../StrictPlatformInfoGenerator");
const CooperativeAddOnItemRequirementsGenerator_1 = require("../CooperativeAddOnItemRequirementsGenerator");
const PathLengthFileGenerator_1 = require("../PathLengthFileGenerator");
const ItemCountsInfoGenerator_1 = require("../ItemCountsInfoGenerator");
const PackInfoGenerator_1 = require("../PackInfoGenerator");
const LineSizeInfoGenerator_1 = require("../LineSizeInfoGenerator");
const FormSchemaItemInfoGenerator_1 = require("../FormSchemaItemInfoGenerator");
const UnknownItemGenerator_1 = require("../UnknownItemGenerator");
const UnknownFileGenerator_1 = require("../UnknownFileGenerator");
const WorldItemInfoGenerator_1 = require("../WorldItemInfoGenerator");
const JsonFileTagsInfoGenerator_1 = require("../JsonFileTagsInfoGenerator");
const WorldDataInfoGenerator_1 = require("../WorldDataInfoGenerator");
const TextureInfoGenerator_1 = require("../TextureInfoGenerator");
const PackSizeInfoGenerator_1 = require("../PackSizeInfoGenerator");
const TextureImageInfoGenerator_1 = require("../TextureImageInfoGenerator");
const FormatVersionManager_1 = require("../../manager/FormatVersionManager");
const AnimationResourceInfoGenerator_1 = require("../AnimationResourceInfoGenerator");
const UnlinkedItemInfoGenerator_1 = require("../UnlinkedItemInfoGenerator");
const GeometryInfoGenerator_1 = require("../GeometryInfoGenerator");
const TextureReferenceInfoGenerator_1 = require("../TextureReferenceInfoGenerator");
const TypesInfoGenerator_1 = require("../TypesInfoGenerator");
const ValidFileGenerator_1 = require("../ValidFileGenerator");
const BlocksCatalogManager_1 = require("../../manager/BlocksCatalogManager");
const EntityTypeManager_1 = require("../../manager/EntityTypeManager");
const ItemTypeManager_1 = require("../../manager/ItemTypeManager");
const SharingInfoGenerator_1 = require("../SharingInfoGenerator");
const CheckVanillaDuplicatesInfoGenerator_1 = require("../projectGenerators/CheckVanillaDuplicatesInfoGenerator");
const CheckNoBOMGenerator_1 = require("../fileGenerators/CheckNoBOMGenerator");
const MCFunctionInfoGenerator_1 = require("../MCFunctionInfoGenerator");
const CheckPackIconsGenerator_1 = require("../projectGenerators/CheckPackIconsGenerator");
const CheckWorldIconsGenerator_1 = require("../projectGenerators/CheckWorldIconsGenerator");
const SoundDefinitionsInfoGenerator_1 = require("../projectGenerators/SoundDefinitionsInfoGenerator");
const SummaryInfoGenerator_1 = require("../SummaryInfoGenerator");
const ScriptInfoGenerator_1 = require("../ScriptInfoGenerator");
const CheckParticleIdentifierGenerator_1 = require("../projectGenerators/CheckParticleIdentifierGenerator");
const CheckSkinPackJsonGenerator_1 = require("../projectGenerators/CheckSkinPackJsonGenerator");
const SchemaItemInfoGenerator_1 = require("../SchemaItemInfoGenerator");
const CheckForbiddenFiles_1 = require("../projectGenerators/CheckForbiddenFiles");
const CheckProjectIntegrityGenerator_1 = require("../projectGenerators/CheckProjectIntegrityGenerator");
const CheckBetaFeaturesGenerator_1 = require("../projectGenerators/CheckBetaFeaturesGenerator");
const CheckExperimentalFlagInfoGenerator_1 = require("../projectGenerators/CheckExperimentalFlagInfoGenerator");
const CheckFeatureDeprecationInfoGenerator_1 = require("../projectGenerators/CheckFeatureDeprecationInfoGenerator");
const CheckGeometryFormatInfoGenerator_1 = require("../projectGenerators/CheckGeometryFormatInfoGenerator");
const CheckLangFilesGenerator_1 = require("../projectGenerators/CheckLangFilesGenerator");
const RegistrationData_1 = require("./RegistrationData");
const CheckManifestGenerator_1 = require("../projectGenerators/checkManifest/CheckManifestGenerator");
const CheckResourcePackDependenciesGenerator_1 = require("../projectGenerators/CheckResourcePackDependenciesGenerator");
const CheckWorldPackReferencesGenerator_1 = require("../projectGenerators/CheckWorldPackReferencesGenerator");
exports.TestsToExcludeFromDefaultSuite = ["CADDONREQ", "CADDONIREQ", "LANGFILES", "SHARING", "VANDUPES"];
class GeneratorRegistrations {
    static managers = [
        new ScriptModuleManager_1.default(),
        new VsCodeFileManager_1.default(),
        new MinEngineVersionManager_1.default(),
        new BaseGameVersionManager_1.default(),
        new BlocksCatalogManager_1.default(),
        new EntityTypeManager_1.default(),
        new ItemTypeManager_1.default(),
    ];
    static projectGenerators = [
        new ItemCountsInfoGenerator_1.default(),
        new LineSizeInfoGenerator_1.default(),
        new PackSizeInfoGenerator_1.default(),
        new PackInfoGenerator_1.default(),
        new JsonFileTagsInfoGenerator_1.default(),
        new FormatVersionManager_1.default(),
        new ScriptInfoGenerator_1.default(),
        new SharingInfoGenerator_1.default(),
        new SummaryInfoGenerator_1.default(),
        new CheckVanillaDuplicatesInfoGenerator_1.default(),
        new PackMetaDataInfoGenerator_1.default(),
        new AnimationResourceInfoGenerator_1.default(),
        new CooperativeAddOnRequirementsGenerator_1.default(),
        new StrictPlatformInfoGenerator_1.default(),
        new TextureInfoGenerator_1.default(),
        new TextureReferenceInfoGenerator_1.default(),
        new TypesInfoGenerator_1.default(),
        new TextureImageInfoGenerator_1.default(),
        new GeometryInfoGenerator_1.default(),
        new MCFunctionInfoGenerator_1.default(),
        new CheckPackIconsGenerator_1.default(),
        new CheckWorldIconsGenerator_1.default(),
        new SoundDefinitionsInfoGenerator_1.default(),
        new CheckParticleIdentifierGenerator_1.default(),
        new CheckSkinPackJsonGenerator_1.default(),
        new CheckExperimentalFlagInfoGenerator_1.default(),
        new CheckFeatureDeprecationInfoGenerator_1.default(),
        new CheckForbiddenFiles_1.default(),
        new CheckProjectIntegrityGenerator_1.default(),
        new CheckBetaFeaturesGenerator_1.default(),
        new CheckManifestGenerator_1.default(),
        new CheckGeometryFormatInfoGenerator_1.default(),
        new CheckLangFilesGenerator_1.default(),
        new CheckResourcePackDependenciesGenerator_1.default(),
        new CheckWorldPackReferencesGenerator_1.default(),
        ...this.managers,
    ];
    static updaters = this.managers;
    static itemGenerators = [
        new UnknownItemGenerator_1.default(),
        new FormSchemaItemInfoGenerator_1.default(),
        new SchemaItemInfoGenerator_1.default(),
        new WorldItemInfoGenerator_1.default(),
        new WorldDataInfoGenerator_1.default(),
        new CooperativeAddOnItemRequirementsGenerator_1.default(),
        new UnlinkedItemInfoGenerator_1.default(),
    ];
    static fileGenerators = [
        new UnknownFileGenerator_1.default(),
        new ValidFileGenerator_1.default(),
        new PathLengthFileGenerator_1.default(),
        new CheckNoBOMGenerator_1.default(),
    ];
    static configureForSuite(generator, suite) {
        const config = RegistrationData_1.SuiteConfigs[suite];
        if ("performAddOnValidations" in generator) {
            generator.performAddOnValidations = config.performAddOnValidations;
        }
        if ("performPlatformVersionValidation" in generator) {
            generator.performPlatformVersionValidation = config.performPlatformVersionValidation;
        }
        if ("identifierOverridesAreErrors" in generator) {
            generator.identifierOverridesAreErrors = config.identifierOverridesAreErrors;
        }
    }
}
exports.default = GeneratorRegistrations;

//# sourceMappingURL=../../maps/info/registration/GeneratorRegistrations.js.map
