Search in sources :

Example 11 with ResolvedResource

use of org.apache.ivy.plugins.resolver.util.ResolvedResource in project ant-ivy by apache.

the class AbstractOSGiResolver method findIvyFileRef.

public ResolvedResource findIvyFileRef(DependencyDescriptor dd, ResolveData data) {
    ModuleRevisionId mrid = dd.getDependencyRevisionId();
    String osgiType = mrid.getOrganisation();
    if (osgiType == null) {
        throw new RuntimeException("Unsupported OSGi module Id: " + mrid.getModuleId());
    }
    String id = mrid.getName();
    Collection<ModuleDescriptor> mds = ModuleDescriptorWrapper.unwrap(getRepoDescriptor().findModules(osgiType, id));
    if (mds == null || mds.isEmpty()) {
        Message.verbose("\t " + id + " not found.");
        return null;
    }
    ResolvedResource[] ret;
    if (BundleInfo.BUNDLE_TYPE.equals(osgiType)) {
        ret = findBundle(dd, data, mds);
    } else {
        ret = findCapability(dd, data, mds);
    }
    ResolvedResource found = findResource(ret, getDefaultRMDParser(dd.getDependencyId()), mrid, data.getDate());
    if (found == null) {
        Message.debug("\t" + getName() + ": no resource found for " + mrid);
    }
    return found;
}
Also used : DefaultModuleDescriptor(org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor) ModuleDescriptor(org.apache.ivy.core.module.descriptor.ModuleDescriptor) ResolvedResource(org.apache.ivy.plugins.resolver.util.ResolvedResource) MDResolvedResource(org.apache.ivy.plugins.resolver.util.MDResolvedResource) ModuleRevisionId(org.apache.ivy.core.module.id.ModuleRevisionId)

Example 12 with ResolvedResource

use of org.apache.ivy.plugins.resolver.util.ResolvedResource in project ant-ivy by apache.

the class DefaultRepositoryCacheManagerTest method testLatestIntegrationIsCachedPerResolver.

@Test
@Ignore
public void testLatestIntegrationIsCachedPerResolver() throws Exception {
    // given a module org#module
    ModuleId mi = new ModuleId("org", "module");
    // and a latest.integration mrid/dd
    ModuleRevisionId mridLatest = new ModuleRevisionId(mi, "trunk", "latest.integration");
    DependencyDescriptor ddLatest = new DefaultDependencyDescriptor(mridLatest, false);
    // and some random options
    CacheMetadataOptions options = new CacheMetadataOptions().setCheckTTL(false);
    // setup resolver1 to download the static content so we can call cacheModuleDescriptor
    MockResolver resolver = new MockResolver();
    resolver.setName("resolver1");
    resolver.setSettings(ivy.getSettings());
    ivy.getSettings().addResolver(resolver);
    ResourceDownloader downloader = new ResourceDownloader() {

        public void download(Artifact artifact, Resource resource, File dest) throws IOException {
            String content = "<ivy-module version=\"2.0\"><info organisation=\"org\" module=\"module\" status=\"integration\" revision=\"1.1\" branch=\"trunk\"/></ivy-module>";
            dest.getParentFile().mkdirs();
            FileOutputStream out = new FileOutputStream(dest);
            PrintWriter pw = new PrintWriter(out);
            pw.write(content);
            pw.flush();
            out.close();
        }
    };
    ModuleDescriptorWriter writer = new ModuleDescriptorWriter() {

        public void write(ResolvedResource originalMdResource, ModuleDescriptor md, File src, File dest) throws IOException {
            XmlModuleDescriptorWriter.write(md, dest);
        }
    };
    // latest.integration will resolve to 1.1 in resolver1
    ModuleRevisionId mrid11 = new ModuleRevisionId(mi, "trunk", "1.1");
    DefaultArtifact artifact11 = new DefaultArtifact(mrid11, new Date(), "module-1.1.ivy", "ivy", "ivy", true);
    DependencyDescriptor dd11 = new DefaultDependencyDescriptor(mrid11, false);
    BasicResource resource11 = new BasicResource("/module-1-1.ivy", true, 1, 0, true);
    ResolvedResource mdRef11 = new ResolvedResource(resource11, "1.1");
    // tell the cache about 1.1
    ResolvedModuleRevision rmr11 = cacheManager.cacheModuleDescriptor(resolver, mdRef11, dd11, artifact11, downloader, options);
    cacheManager.originalToCachedModuleDescriptor(resolver, mdRef11, artifact11, rmr11, writer);
    // and use the new overload that passes in resolver name
    cacheManager.saveResolvedRevision("resolver1", mridLatest, "1.1");
    ResolvedModuleRevision rmrFromCache = cacheManager.findModuleInCache(ddLatest, mridLatest, options, "resolver1");
    assertEquals(rmr11, rmrFromCache);
}
Also used : DependencyDescriptor(org.apache.ivy.core.module.descriptor.DependencyDescriptor) DefaultDependencyDescriptor(org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor) BasicResource(org.apache.ivy.plugins.repository.BasicResource) ResolvedResource(org.apache.ivy.plugins.resolver.util.ResolvedResource) Resource(org.apache.ivy.plugins.repository.Resource) ModuleRevisionId(org.apache.ivy.core.module.id.ModuleRevisionId) ResolvedModuleRevision(org.apache.ivy.core.resolve.ResolvedModuleRevision) MockResolver(org.apache.ivy.plugins.resolver.MockResolver) ResourceDownloader(org.apache.ivy.plugins.repository.ResourceDownloader) BasicResource(org.apache.ivy.plugins.repository.BasicResource) Artifact(org.apache.ivy.core.module.descriptor.Artifact) DefaultArtifact(org.apache.ivy.core.module.descriptor.DefaultArtifact) Date(java.util.Date) ModuleId(org.apache.ivy.core.module.id.ModuleId) ModuleDescriptor(org.apache.ivy.core.module.descriptor.ModuleDescriptor) ResolvedResource(org.apache.ivy.plugins.resolver.util.ResolvedResource) FileOutputStream(java.io.FileOutputStream) DefaultDependencyDescriptor(org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor) XmlModuleDescriptorWriter(org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriter) File(java.io.File) DefaultArtifact(org.apache.ivy.core.module.descriptor.DefaultArtifact) PrintWriter(java.io.PrintWriter) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 13 with ResolvedResource

use of org.apache.ivy.plugins.resolver.util.ResolvedResource in project ant-ivy by apache.

the class AbstractOSGiResolver method findCapability.

public ResolvedResource[] findCapability(DependencyDescriptor dd, ResolveData data, Collection<ModuleDescriptor> mds) {
    List<ResolvedResource> ret = new ArrayList<>(mds.size());
    for (ModuleDescriptor md : mds) {
        IvyNode node = data.getNode(md.getModuleRevisionId());
        if (node != null && node.getDescriptor() != null) {
            // already resolved import, no need to go further
            return new ResolvedResource[] { buildResolvedCapabilityMd(dd, node.getDescriptor()) };
        }
        ret.add(buildResolvedCapabilityMd(dd, md));
    }
    return ret.toArray(new ResolvedResource[mds.size()]);
}
Also used : DefaultModuleDescriptor(org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor) ModuleDescriptor(org.apache.ivy.core.module.descriptor.ModuleDescriptor) ResolvedResource(org.apache.ivy.plugins.resolver.util.ResolvedResource) MDResolvedResource(org.apache.ivy.plugins.resolver.util.MDResolvedResource) ArrayList(java.util.ArrayList) IvyNode(org.apache.ivy.core.resolve.IvyNode)

Example 14 with ResolvedResource

use of org.apache.ivy.plugins.resolver.util.ResolvedResource in project ant-ivy by apache.

the class AbstractOSGiResolver method findArtifactRef.

@Override
public ResolvedResource findArtifactRef(Artifact artifact, Date date) {
    URL url = artifact.getUrl();
    if (url == null) {
        // not an artifact resolved by this resolver
        return null;
    }
    Message.verbose("\tusing url for " + artifact + ": " + url);
    logArtifactAttempt(artifact, url.toExternalForm());
    final Resource resource = new URLResource(url, this.getTimeoutConstraint());
    return new ResolvedResource(resource, artifact.getModuleRevisionId().getRevision());
}
Also used : URLResource(org.apache.ivy.plugins.repository.url.URLResource) ResolvedResource(org.apache.ivy.plugins.resolver.util.ResolvedResource) MDResolvedResource(org.apache.ivy.plugins.resolver.util.MDResolvedResource) ResolvedResource(org.apache.ivy.plugins.resolver.util.ResolvedResource) Resource(org.apache.ivy.plugins.repository.Resource) MDResolvedResource(org.apache.ivy.plugins.resolver.util.MDResolvedResource) URLResource(org.apache.ivy.plugins.repository.url.URLResource) URL(java.net.URL)

Example 15 with ResolvedResource

use of org.apache.ivy.plugins.resolver.util.ResolvedResource in project ant-ivy by apache.

the class AbstractOSGiResolver method findBundle.

public ResolvedResource[] findBundle(DependencyDescriptor dd, ResolveData data, Collection<ModuleDescriptor> mds) {
    ResolvedResource[] ret = new ResolvedResource[mds.size()];
    int i = 0;
    for (ModuleDescriptor md : mds) {
        MetadataArtifactDownloadReport report = new MetadataArtifactDownloadReport(null);
        report.setDownloadStatus(DownloadStatus.NO);
        report.setSearched(true);
        ResolvedModuleRevision rmr = new ResolvedModuleRevision(this, this, md, report);
        MDResolvedResource mdrr = new MDResolvedResource(null, md.getRevision(), rmr);
        ret[i++] = mdrr;
    }
    return ret;
}
Also used : DefaultModuleDescriptor(org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor) ModuleDescriptor(org.apache.ivy.core.module.descriptor.ModuleDescriptor) MetadataArtifactDownloadReport(org.apache.ivy.core.report.MetadataArtifactDownloadReport) ResolvedResource(org.apache.ivy.plugins.resolver.util.ResolvedResource) MDResolvedResource(org.apache.ivy.plugins.resolver.util.MDResolvedResource) ResolvedModuleRevision(org.apache.ivy.core.resolve.ResolvedModuleRevision) MDResolvedResource(org.apache.ivy.plugins.resolver.util.MDResolvedResource)

Aggregations

ResolvedResource (org.apache.ivy.plugins.resolver.util.ResolvedResource)24 ModuleRevisionId (org.apache.ivy.core.module.id.ModuleRevisionId)12 MDResolvedResource (org.apache.ivy.plugins.resolver.util.MDResolvedResource)10 File (java.io.File)9 ModuleDescriptor (org.apache.ivy.core.module.descriptor.ModuleDescriptor)8 IOException (java.io.IOException)7 DefaultModuleDescriptor (org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor)6 Resource (org.apache.ivy.plugins.repository.Resource)6 ParseException (java.text.ParseException)5 ArrayList (java.util.ArrayList)5 Artifact (org.apache.ivy.core.module.descriptor.Artifact)5 ArtifactDownloadReport (org.apache.ivy.core.report.ArtifactDownloadReport)4 MetadataArtifactDownloadReport (org.apache.ivy.core.report.MetadataArtifactDownloadReport)4 ResolvedModuleRevision (org.apache.ivy.core.resolve.ResolvedModuleRevision)4 ArtifactOrigin (org.apache.ivy.core.cache.ArtifactOrigin)3 DefaultArtifact (org.apache.ivy.core.module.descriptor.DefaultArtifact)3 DependencyDescriptor (org.apache.ivy.core.module.descriptor.DependencyDescriptor)3 IvyNode (org.apache.ivy.core.resolve.IvyNode)3 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 MalformedURLException (java.net.MalformedURLException)2