/** * Returns the identifier of the resolved module. * * @return the identifier of the resolved module. */ public ModuleRevisionId getId() { return descriptor.getResolvedModuleRevisionId(); }
public ModuleRevisionId getResolvedParentRevisionId() { return parent.getResolvedModuleRevisionId(); }
public ModuleRevisionId getModuleRevisionId() { return md.getResolvedModuleRevisionId(); }
public ModuleRevisionId getParentRevisionId() { return md != null ? md.getResolvedModuleRevisionId() : parentId; }
public ArtifactRevisionId getId() { // do not cache the result because the resolvedModuleRevisionId can change! return ArtifactRevisionId.newInstance(md.getResolvedModuleRevisionId(), name, type, ext, extraAttributes); }
private PropertiesFile getCachedDataFile(ModuleDescriptor md) { return getCachedDataFile(md.getResolvedModuleRevisionId()); }
public boolean accept(ModuleRevisionId askedMrid, ModuleDescriptor foundMD) { return accept(askedMrid, foundMD.getResolvedModuleRevisionId()); }
protected void addMDAttributes(ModuleDescriptor md) { addMridAttributes(md.getResolvedModuleRevisionId()); }
public ModuleRevisionId getResolvedId() { if (md != null && md.getResolvedModuleRevisionId().getRevision() != null) { return md.getResolvedModuleRevisionId(); } else if (module != null) { return module.getId(); } else { return getId(); } }
/** * Return true if this module match the DependencyDescriptor with the given versionMatcher. If * this module has no version defined, then true is always returned. */ public boolean match(DependencyDescriptor descriptor, VersionMatcher versionMatcher) { ModuleDescriptor md = module; return md.getResolvedModuleRevisionId().getRevision() == null || md.getResolvedModuleRevisionId().getRevision().equals(Ivy.getWorkingRevision()) || versionMatcher.accept(descriptor.getDependencyRevisionId(), md); // Checking md.getResolvedModuleRevisionId().getRevision().equals(Ivy.getWorkingRevision() // allow to consider any local non resolved ivy.xml // as a valid module. }
for (Iterator iterator = revs.iterator(); iterator.hasNext();) { ModuleDescriptor md = (ModuleDescriptor) iterator.next(); if (vmatcher.needModuleDescriptor(askedMrid, md.getResolvedModuleRevisionId())) { if (vmatcher.accept(askedMrid, md)) { mrid = md.getResolvedModuleRevisionId(); break; if (vmatcher.accept(askedMrid, md.getResolvedModuleRevisionId())) { mrid = md.getResolvedModuleRevisionId(); break;
public void saveResolvedModuleDescriptor(ModuleDescriptor md) throws ParseException, IOException { ModuleRevisionId mrevId = md.getResolvedModuleRevisionId(); File ivyFileInCache = getResolvedIvyFileInCache(mrevId); md.toIvyFile(ivyFileInCache); Properties paths = new Properties(); saveLocalParents(mrevId, md, ivyFileInCache, paths); if (!paths.isEmpty()) { File parentsFile = getResolvedIvyPropertiesInCache(ModuleRevisionId.newInstance(mrevId, mrevId.getRevision() + "-parents")); FileOutputStream out = new FileOutputStream(parentsFile); paths.store(out, null); out.close(); } }
public boolean dependsOn(VersionMatcher matcher, ModuleDescriptor md) { for (Iterator iter = dependencies.iterator(); iter.hasNext();) { DependencyDescriptor dd = (DependencyDescriptor) iter.next(); if (dd.getDependencyId().equals(md.getModuleRevisionId().getModuleId())) { if (md.getResolvedModuleRevisionId().getRevision() == null) { return true; } else if (matcher.accept(dd.getDependencyRevisionId(), md)) { return true; } } } return false; }
public EndResolveDependencyEvent(DependencyResolver resolver, DependencyDescriptor dd, ModuleRevisionId requestedRevisionId, ResolvedModuleRevision module, long duration) { super(NAME, resolver, dd, requestedRevisionId); this.module = module; this.duration = duration; addAttribute("duration", String.valueOf(duration)); if (this.module != null) { // override revision from the dependency descriptor addAttribute("revision", this.module.getDescriptor().getResolvedModuleRevisionId() .getRevision()); // now that we have loaded the dependency descriptor, we can put the extra attributes // contained in the descriptor too addAttributes(this.module.getDescriptor().getResolvedModuleRevisionId() .getQualifiedExtraAttributes()); addAttributes(this.module.getDescriptor().getResolvedModuleRevisionId() .getExtraAttributes()); addAttribute("resolved", "true"); } else { addAttribute("resolved", "false"); } }
protected void checkModuleDescriptorRevision(ModuleDescriptor systemMd, ModuleRevisionId systemMrid) { if (!getSettings().getVersionMatcher().accept(systemMrid, systemMd)) { throw new UnresolvedDependencyException("\t" + getName() + ": unacceptable revision => was=" + systemMd.getResolvedModuleRevisionId().getRevision() + " required=" + systemMrid.getRevision()); } }
/** * Saves the information of which resolver was used to resolve a md, so that this info can be * retrieve later (even after a jvm restart) by getSavedArtResolverName(ModuleDescriptor md) * * @param md * the module descriptor resolved * @param name * artifact resolver name */ public void saveResolvers(ModuleDescriptor md, String metadataResolverName, String artifactResolverName) { ModuleRevisionId mrid = md.getResolvedModuleRevisionId(); if (!lockMetadataArtifact(mrid)) { Message.error("impossible to acquire lock for " + mrid); return; } try { PropertiesFile cdf = getCachedDataFile(md); cdf.setProperty("resolver", metadataResolverName); cdf.setProperty("artifact.resolver", artifactResolverName); cdf.save(); } finally { unlockMetadataArtifact(mrid); } }
public void toIvyFile(InputStream is, Resource res, File destFile, ModuleDescriptor md) throws IOException, ParseException { try { Namespace ns = null; if (md instanceof DefaultModuleDescriptor) { DefaultModuleDescriptor dmd = (DefaultModuleDescriptor) md; ns = dmd.getNamespace(); } XmlModuleDescriptorUpdater.update( is, res, destFile, new UpdateOptions().setSettings(IvyContext.getContext().getSettings()) .setStatus(md.getStatus()) .setRevision(md.getResolvedModuleRevisionId().getRevision()) .setPubdate(md.getResolvedPublicationDate()).setUpdateBranch(false) .setNamespace(ns)); } catch (SAXException e) { ParseException ex = new ParseException("exception occurred while parsing " + res, 0); ex.initCause(e); throw ex; } finally { if (is != null) { is.close(); } } }
private void resolveAndCheckRevision(ModuleDescriptor systemMd, ModuleRevisionId dependencyConstraint, ResolvedResource ivyRef, boolean isDynamic) { // we get the resolved module revision id from the descriptor: it may contain extra // attributes that were not included in the dependency constraint ModuleRevisionId resolvedMrid = systemMd.getResolvedModuleRevisionId(); if (resolvedMrid.getRevision() == null || resolvedMrid.getRevision().length() == 0 || resolvedMrid.getRevision().startsWith("working@")) { if (!isDynamic) { resolvedMrid = ModuleRevisionId.newInstance(resolvedMrid, dependencyConstraint.getRevision()); } else if (ivyRef == null) { resolvedMrid = systemMd.getMetadataArtifact().getModuleRevisionId(); } else if (ivyRef.getRevision() == null || ivyRef.getRevision().length() == 0) { resolvedMrid = ModuleRevisionId.newInstance(resolvedMrid, "working@" + getName()); } else { resolvedMrid = ModuleRevisionId.newInstance(resolvedMrid, ivyRef.getRevision()); } } if (isDynamic) { Message.verbose("\t\t[" + toSystem(resolvedMrid).getRevision() + "] " + dependencyConstraint.getModuleId()); } systemMd.setResolvedModuleRevisionId(resolvedMrid); checkModuleDescriptorRevision(systemMd, dependencyConstraint); }
ModuleDescriptor md = rmr.getDescriptor(); Artifact originalMetadataArtifact = getOriginalMetadataArtifact(requestedMetadataArtifact); File mdFileInCache = getIvyFileInCache(md.getResolvedModuleRevisionId()); String metadataRef; if (orginalMetadataRef == null) { metadataRef = String.valueOf(md.getResolvedModuleRevisionId()); } else { metadataRef = String.valueOf(orginalMetadataRef);
/** * Resolve dependencies of a module described by an ivy file. */ public ResolveReport resolve(URL ivySource, ResolveOptions options) throws ParseException, IOException { URLResource res = new URLResource(ivySource); ModuleDescriptorParser parser = ModuleDescriptorParserRegistry.getInstance().getParser(res); Message.verbose("using " + parser + " to parse " + ivySource); ModuleDescriptor md = parser.parseDescriptor(settings, ivySource, options.isValidate()); String revision = options.getRevision(); if (revision == null && md.getResolvedModuleRevisionId().getRevision() == null) { revision = Ivy.getWorkingRevision(); } if (revision != null) { md.setResolvedModuleRevisionId(ModuleRevisionId.newInstance(md.getModuleRevisionId(), revision)); } return resolve(md, options); }