public void execute()

in log4j-audit/log4j-audit-maven-plugin/src/main/java/org/apache/logging/log4j/audit/plugin/AuditMojo.java [75:127]


    public void execute() throws MojoExecutionException {
        if (maxKeyLength <= 0) {
            maxKeyLength = MAX_KEY_LENGTH;
        }
        if (enterpriseId <= 0) {
            enterpriseId = DEFAULT_ENTERPRISE_ID;
        }
        CatalogReader catalogReader = null;
        try {
            File basedir = project.getBasedir();
            Class<?> clazz = LoaderUtil.loadClass(catalogReaderClassName);
            Constructor<CatalogReader>[] constructors = (Constructor<CatalogReader>[]) clazz.getConstructors();

            for (Constructor<CatalogReader> constructor : constructors) {
                if (constructor.getParameterCount() == 1 && constructor.getParameterTypes()[0].isAssignableFrom(Map.class)) {
                    if (catalogReaderAttributes == null) {
                        catalogReaderAttributes = new HashMap<>();
                    }
                    if (!catalogReaderAttributes.containsKey(BASEDIR)) {
                        catalogReaderAttributes.put(BASEDIR, project.getBasedir().getAbsolutePath());
                    }
                    if (!catalogReaderAttributes.containsKey(BUILDDIR)) {
                        catalogReaderAttributes.put(BUILDDIR, project.getBuild().getDirectory());
                    }
                    catalogReader = constructor.newInstance(catalogReaderAttributes);
                    break;
                }
            }
            if (catalogReader == null) {
                catalogReader = LoaderUtil.newInstanceOf(catalogReaderClassName);
            }

        } catch (Exception ex) {
            getLog().error("Unable to load catalog reader " + catalogReaderClassName, ex);
            return;
        }
        InterfacesGenerator generator = new InterfacesGenerator();
        JsonCatalogReader jsonCatalogReader = new JsonCatalogReader();
        jsonCatalogReader.setCatalogReader(catalogReader);
        jsonCatalogReader.init();
        generator.setCatalogReader(jsonCatalogReader);
        generator.setOutputDirectory(outputDirectory.getAbsolutePath());
        generator.setPackageName(packageName);
        generator.setMaxKeyLength(maxKeyLength);
        generator.setEnterpriseId(enterpriseId);
        generator.setVerbose(verbose);
        try {
            generator.generateSource();
            project.addCompileSourceRoot(outputDirectory.getAbsolutePath());
        } catch (Exception ex) {
            throw new MojoExecutionException("Error generating Audit interfaces", ex);
        }
    }