Package org.apache.ivy.plugins.resolver

Examples of org.apache.ivy.plugins.resolver.DependencyResolver


    }

    public String[] listModules(String org) {
        List mods = new ArrayList();
        for (Iterator iter = settings.getResolvers().iterator(); iter.hasNext();) {
            DependencyResolver resolver = (DependencyResolver) iter.next();
            ModuleEntry[] entries = resolver.listModules(new OrganisationEntry(resolver, org));
            if (entries != null) {
                for (int i = 0; i < entries.length; i++) {
                    if (entries[i] != null) {
                        mods.add(entries[i].getModule());
                    }
View Full Code Here


    }

    public RevisionEntry[] listRevisionEntries(ModuleEntry module) {
        List entries = new ArrayList();
        for (Iterator iter = settings.getResolvers().iterator(); iter.hasNext();) {
            DependencyResolver resolver = (DependencyResolver) iter.next();
            entries.addAll(Arrays.asList(resolver.listRevisions(module)));
        }
        return (RevisionEntry[]) entries.toArray(new RevisionEntry[entries.size()]);
    }
View Full Code Here

    }

    public String[] listRevisions(String org, String module) {
        List revs = new ArrayList();
        for (Iterator iter = settings.getResolvers().iterator(); iter.hasNext();) {
            DependencyResolver resolver = (DependencyResolver) iter.next();
            RevisionEntry[] entries = resolver.listRevisions(new ModuleEntry(new OrganisationEntry(
                    resolver, org), module));
            if (entries != null) {
                for (int i = 0; i < entries.length; i++) {
                    if (entries[i] != null) {
                        revs.add(entries[i].getRevision());
View Full Code Here

                try {
                    ModuleDescriptor depMD = XmlModuleDescriptorParser.getInstance()
                    .parseDescriptor(settings, ivyFile.toURL(), options.isValidate());
                    String resolverName = getSavedResolverName(depMD);
                    String artResolverName = getSavedArtResolverName(depMD);
                    DependencyResolver resolver = settings.getResolver(resolverName);
                    if (resolver == null) {
                        Message.debug("\tresolver not found: " + resolverName
                            + " => trying to use the one configured for " + mrid);
                        resolver = settings.getResolver(depMD.getResolvedModuleRevisionId());
                        if (resolver != null) {
                            Message.debug("\tconfigured resolver found for "
                                + depMD.getResolvedModuleRevisionId() + ": "
                                + resolver.getName() + ": saving this data");
                            saveResolver(depMD, resolver.getName());
                        }
                    }
                    DependencyResolver artResolver = settings.getResolver(artResolverName);
                    if (artResolver == null) {
                        artResolver = resolver;
                    }
                    if (resolver != null) {
                        Message.debug("\tfound ivy file in cache for " + mrid + " (resolved by "
View Full Code Here

            boolean validate, boolean overwrite, Filter artifactFilter,
            String matcherName) throws IOException {
        if (artifactFilter == null) {
            artifactFilter = FilterHelper.NO_FILTER;
        }
        DependencyResolver fromResolver = settings.getResolver(from);
        DependencyResolver toResolver = settings.getResolver(to);
        if (fromResolver == null) {
            throw new IllegalArgumentException("unknown resolver " + from
                    + ". Available resolvers are: " + settings.getResolverNames());
        }
        if (toResolver == null) {
            throw new IllegalArgumentException("unknown resolver " + to
                    + ". Available resolvers are: " + settings.getResolverNames());
        }
        PatternMatcher matcher = settings.getMatcher(matcherName);
        if (matcher == null) {
            throw new IllegalArgumentException("unknown matcher " + matcherName
                    + ". Available matchers are: " + settings.getMatcherNames());
        }

        // build module file declaring the dependency
        Message.info(":: installing " + mrid + " ::");
        DependencyResolver oldDicator = resolveEngine.getDictatorResolver();
        boolean log = settings.logNotConvertedExclusionRule();
        try {
            settings.setLogNotConvertedExclusionRule(true);
            resolveEngine.setDictatorResolver(fromResolver);
View Full Code Here

            ModuleDescriptor md = ModuleDescriptorParserRegistry.getInstance().parseDescriptor(
                settings, ivyFile, settings.doValidate());

            // check publications if possible
            if (resolvername != null) {
                DependencyResolver resolver = settings.getResolver(resolvername);
                String[] confs = md.getConfigurationsNames();
                Set artifacts = new HashSet();
                for (int i = 0; i < confs.length; i++) {
                    artifacts.addAll(Arrays.asList(md.getArtifacts(confs[i])));
                }
                for (Iterator iter = artifacts.iterator(); iter.hasNext();) {
                    Artifact art = (Artifact) iter.next();
                    if (!resolver.exists(art)) {
                        Message.info("declared publication not found: " + art);
                        result = false;
                    }
                }
            }

            // check dependencies
            DependencyDescriptor[] dds = md.getDependencies();
            ResolveData data = new ResolveData(resolveEngine, new ResolveOptions());
            for (int i = 0; i < dds.length; i++) {
                // check master confs
                String[] masterConfs = dds[i].getModuleConfigurations();
                for (int j = 0; j < masterConfs.length; j++) {
                    if (!"*".equals(masterConfs[j].trim())
                            && md.getConfiguration(masterConfs[j]) == null) {
                        Message.info("dependency required in non existing conf for " + ivyFile
                                + " \n\tin " + dds[i].getDependencyRevisionId() + ": "
                                + masterConfs[j]);
                        result = false;
                    }
                }
                // resolve
                DependencyResolver resolver =
                    settings.getResolver(dds[i].getDependencyRevisionId());
                ResolvedModuleRevision rmr = resolver.getDependency(dds[i], data);
                if (rmr == null) {
                    Message.info("dependency not found in " + ivyFile + ":\n\t" + dds[i]);
                    result = false;
                } else {
                    String[] depConfs = dds[i].getDependencyConfigurations(md
                            .getConfigurationsNames());
                    for (int j = 0; j < depConfs.length; j++) {
                        if (!Arrays.asList(rmr.getDescriptor().getConfigurationsNames()).contains(
                            depConfs[j])) {
                            Message.info("dependency configuration is missing for " + ivyFile
                                    + "\n\tin " + dds[i].getDependencyRevisionId() + ": "
                                    + depConfs[j]);
                            result = false;
                        }
                        Artifact[] arts = rmr.getDescriptor().getArtifacts(depConfs[j]);
                        for (int k = 0; k < arts.length; k++) {
                            if (!resolver.exists(arts[k])) {
                                Message.info("dependency artifact is missing for " + ivyFile
                                        + "\n\t in " + dds[i].getDependencyRevisionId() + ": "
                                        + arts[k]);
                                result = false;
                            }
View Full Code Here

            throw new RuntimeException("malformed url obtained for file " + ivyFile);
        } catch (ParseException e) {
            throw new IllegalStateException("bad ivy file for " + mrid + ": " + ivyFile + ": " + e);
        }

        DependencyResolver resolver = settings.getResolver(resolverName);
        if (resolver == null) {
            throw new IllegalArgumentException("unknown resolver " + resolverName);
        }

        // collect all declared artifacts of this module
View Full Code Here

        } else if (!hasConfigurationsToLoad() && isRootModuleConfLoaded(rootModuleConf)) {
            Message.debug(rootModuleConf + " is loaded and no conf to load.  Skip loading");
        } else {
            markRootModuleConfLoaded(rootModuleConf);
            if (md == null) {
                DependencyResolver resolver = data.getSettings().getResolver(getId());
                if (resolver == null) {
                    Message.error("no resolver found for " + getModuleId()
                            + ": check your configuration");
                    problem = new RuntimeException("no resolver found for " + getModuleId()
                            + ": check your configuration");
                    return false;
                }
                try {
                    Message.debug("\tusing " + resolver + " to resolve " + getId());
                    DependencyDescriptor dependencyDescriptor = getDependencyDescriptor(parent);
                    long start = System.currentTimeMillis();
                    data.getEventManager().fireIvyEvent(
                        new StartResolveDependencyEvent(resolver, dependencyDescriptor));
                    module = resolver.getDependency(dependencyDescriptor, data);
                    data.getEventManager().fireIvyEvent(
                        new EndResolveDependencyEvent(resolver, dependencyDescriptor, module,
                            System.currentTimeMillis() - start));
                    if (module != null) {
                        module.getResolver().getRepositoryCacheManager().saveResolvers(
                            module.getDescriptor(),
                            module.getResolver().getName(),
                            module.getArtifactResolver().getName());
                        if (settings.logModuleWhenFound()
                                && LogOptions.LOG_DEFAULT.equals(getData().getOptions().getLog())) {
                            Message.info("\tfound " + module.getId() + " in "
                                    + module.getResolver().getName());
                        } else {
                            Message.verbose("\tfound " + module.getId() + " in "
                                    + module.getResolver().getName());
                        }

                        if (settings.getVersionMatcher().isDynamic(getId())) {
                            // IVY-56: check if revision has actually been resolved
                            if (settings.getVersionMatcher().isDynamic(module.getId())) {
                                Message
                                        .error("impossible to resolve dynamic revision for "
                                                + getId()
                                                + ": check your configuration and make sure revision is part of your pattern");
                                problem = new RuntimeException(
                                        "impossible to resolve dynamic revision");
                                return false;
                            }
                            IvyNode resolved = data.getNode(module.getId());
                            if (resolved != null) {
                                // exact revision has already been resolved
                                // => update it and discard this node
                                md = module.getDescriptor(); // needed for handleConfiguration
                                if (!handleConfiguration(loaded, rootModuleConf, parent,
                                    parentConf, conf, shouldBePublic)) {
                                    return false;
                                }

                                if (resolved.md == null) {
                                    resolved.md = md;
                                }
                                if (resolved.module == null) {
                                    resolved.module = module;
                                }
                                resolved.downloaded |= module.getReport().isDownloaded();
                                resolved.searched |= module.getReport().isSearched();
                                resolved.dds.putAll(dds);
                                resolved.updateDataFrom(this, rootModuleConf, true);
                                resolved.loadData(rootModuleConf, parent, parentConf, conf,
                                    shouldBePublic);
                                DependencyDescriptor dd = dependencyDescriptor;
                                if (dd != null) {
                                    resolved.addDependencyArtifacts(rootModuleConf, dd
                                            .getDependencyArtifacts(parentConf));
                                    resolved.addDependencyIncludes(rootModuleConf, dd
                                            .getIncludeRules(parentConf));
                                }
                               
                                data.replaceNode(getId(), resolved, rootModuleConf);
                                // this actually discards the node

                                if (settings.logResolvedRevision()) {
                                    Message.info("\t[" + module.getId().getRevision() + "] "
                                            + getId());
                                } else {
                                    Message.verbose("\t[" + module.getId().getRevision() + "] "
                                            + getId());
                                }

                                return true;
                            }
                        }
                        downloaded = module.getReport().isDownloaded();
                        searched = module.getReport().isSearched();
                    } else {
                        Message.warn("\tmodule not found: " + getId());
                        resolver.reportFailure();
                        problem = new RuntimeException("not found");
                    }
                } catch (ResolveProcessException e) {
                    throw e;
                } catch (Exception e) {
View Full Code Here

                Message.debug("\t\t" + iter.next());
            }
        }
        Message.verbose("\t-- " + resolversMap.size() + " resolvers:");
        for (Iterator iter = resolversMap.values().iterator(); iter.hasNext();) {
            DependencyResolver resolver = (DependencyResolver) iter.next();
            resolver.dumpSettings();
        }
        Message.debug("\tmodule settings:");
        moduleSettings.dump("\t\t");
    }
View Full Code Here

        init(resolver);
        resolversMap.put(resolver.getName(), resolver);
        if (resolver instanceof ChainResolver) {
            List subresolvers = ((ChainResolver) resolver).getResolvers();
            for (Iterator iter = subresolvers.iterator(); iter.hasNext();) {
                DependencyResolver dr = (DependencyResolver) iter.next();
                addResolver(dr);
            }
        } else if (resolver instanceof DualResolver) {
            DependencyResolver ivyResolver = ((DualResolver) resolver).getIvyResolver();
            if (ivyResolver != null) {
                addResolver(ivyResolver);
            }
            DependencyResolver artifactResolver = ((DualResolver) resolver).getArtifactResolver();
            if (artifactResolver != null) {
                addResolver(artifactResolver);
            }
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.ivy.plugins.resolver.DependencyResolver

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.