collectDependencies()

in modules/frontend/app/configuration/generator/generator/Maven.service.js [167:224]


    collectDependencies(cluster, targetVer) {
        const igniteVer = targetVer.ignite;

        const deps = [];
        const storeDeps = [];

        this.addDependency(deps, 'org.apache.ignite', 'ignite-core', igniteVer);

        this.addDependency(deps, 'org.apache.ignite', 'ignite-spring', igniteVer);
        this.addDependency(deps, 'org.apache.ignite', 'ignite-indexing', igniteVer);
        this.addDependency(deps, 'org.apache.ignite', 'ignite-rest-http', igniteVer);

        if (_.get(cluster, 'deploymentSpi.kind') === 'URI')
            this.addDependency(deps, 'org.apache.ignite', 'ignite-urideploy', igniteVer);

        this.pickDependency(deps, cluster.discovery.kind, igniteVer);

        const caches = cluster.caches;

        const blobStoreFactory = {cacheStoreFactory: {kind: 'CacheHibernateBlobStoreFactory'}};

        _.forEach(caches, (cache) => {
            if (cache.cacheStoreFactory && cache.cacheStoreFactory.kind)
                this.storeFactoryDependency(storeDeps, cache.cacheStoreFactory[cache.cacheStoreFactory.kind], igniteVer);

            if (_.get(cache, 'nodeFilter.kind') === 'Exclude')
                this.addDependency(deps, 'org.apache.ignite', 'ignite-extdata-p2p', igniteVer);

            if (cache.diskPageCompression && versionService.since(igniteVer, '2.8.0'))
                this.addDependency(deps, 'org.apache.ignite', 'ignite-compress', igniteVer);
        });

        if (cluster.discovery.kind === 'Jdbc') {
            const store = cluster.discovery.Jdbc;

            if (store.dataSourceBean && store.dialect)
                this.storeFactoryDependency(storeDeps, cluster.discovery.Jdbc, igniteVer);
        }

        _.forEach(cluster.checkpointSpi, (spi) => {
            if (spi.kind === 'S3')
                this.pickDependency(deps, spi.kind, igniteVer);
            else if (spi.kind === 'JDBC')
                this.storeFactoryDependency(storeDeps, spi.JDBC, igniteVer);
        });

        if (_.get(cluster, 'hadoopConfiguration.mapReducePlanner.kind') === 'Weighted' ||
            _.find(cluster.igfss, (igfs) => igfs.secondaryFileSystemEnabled))
            this.addDependency(deps, 'org.apache.ignite', 'ignite-hadoop', igniteVer);

        if (_.find(caches, blobStoreFactory))
            this.addDependency(deps, 'org.apache.ignite', 'ignite-hibernate', igniteVer);

        if (cluster.logger && cluster.logger.kind)
            this.pickDependency(deps, cluster.logger.kind, igniteVer);

        return _.uniqWith(deps.concat(ArtifactVersionChecker.latestVersions(storeDeps)), _.isEqual);
    }