private ModuleDescriptor findProject(DependencyDescriptor descriptor) { String projectPathValue = descriptor.getAttribute(DependencyDescriptorFactory.PROJECT_PATH_KEY); if (projectPathValue == null) { return null; } Project project = gradle.getRootProject().project(projectPathValue); Module projectModule = ((ProjectInternal) project).getModule(); ModuleDescriptor projectDescriptor = moduleDescriptorConverter.convert( project.getConfigurations().getAll(), projectModule, IvyContext.getContext().getIvy().getSettings()); for (DependencyArtifactDescriptor artifactDescriptor : descriptor.getAllDependencyArtifacts()) { for (Artifact artifact : projectDescriptor.getAllArtifacts()) { if (artifact.getName().equals(artifactDescriptor.getName()) && artifact.getExt().equals(artifactDescriptor.getExt())) { String path = artifact.getExtraAttribute(DefaultIvyDependencyPublisher.FILE_PATH_EXTRA_ATTRIBUTE); ReflectionUtil.invoke( artifactDescriptor, "setExtraAttribute", new Object[] {DefaultIvyDependencyPublisher.FILE_PATH_EXTRA_ATTRIBUTE, path}); } } } return projectDescriptor; }
@Override protected ResolvedResource findArtifactRef(Artifact artifact, Date date) { String path = artifact.getExtraAttribute(DefaultIvyDependencyPublisher.FILE_PATH_EXTRA_ATTRIBUTE); if (path == null) { return null; } File file = new File(path); return new ResolvedResource( new FileResource(new FileRepository(), file), artifact.getId().getRevision()); }
@Test public void init() { assertSame(testPom, artifactPom.getPom()); assertEquals(expectedArtifact, artifactPom.getArtifact()); assertEquals(expectedFile, artifactPom.getArtifactFile()); checkPom( expectedArtifact.getModuleRevisionId().getOrganisation(), expectedArtifact.getName(), expectedArtifact.getType(), expectedArtifact.getModuleRevisionId().getRevision(), expectedArtifact.getExtraAttribute(DependencyManager.CLASSIFIER)); }
@Test public void initWithCustomPomSettings() { testPom.setArtifactId(expectedArtifact.getName() + "X"); testPom.setGroupId(expectedArtifact.getModuleRevisionId().getOrganisation() + "X"); testPom.setVersion(expectedArtifact.getModuleRevisionId().getRevision() + "X"); testPom.setPackaging(expectedArtifact.getType() + "X"); testPom.setClassifier(expectedArtifact.getExtraAttribute(DependencyManager.CLASSIFIER) + "X"); artifactPom = new DefaultArtifactPom(testPom, expectedArtifact, expectedFile); assertEquals(expectedArtifact, artifactPom.getArtifact()); assertEquals(expectedFile, artifactPom.getArtifactFile()); checkPom( testPom.getGroupId(), testPom.getArtifactId(), testPom.getPackaging(), testPom.getVersion(), testPom.getClassifier()); }
@Override public DownloadReport download(Artifact[] artifacts, DownloadOptions options) { DownloadReport dr = new DownloadReport(); for (Artifact artifact : artifacts) { ArtifactDownloadReport artifactDownloadReport = new ArtifactDownloadReport(artifact); String path = artifact.getExtraAttribute(DefaultIvyDependencyPublisher.FILE_PATH_EXTRA_ATTRIBUTE); if (path == null) { artifactDownloadReport.setDownloadStatus(DownloadStatus.FAILED); } else { File file = new File(path); artifactDownloadReport.setDownloadStatus(DownloadStatus.SUCCESSFUL); artifactDownloadReport.setArtifactOrigin(new ArtifactOrigin(artifact, true, getName())); artifactDownloadReport.setLocalFile(file); artifactDownloadReport.setSize(file.length()); } dr.addArtifactReport(artifactDownloadReport); } return dr; }
public void resolve(Artifact artifact, BuildableArtifactResolveResult result) { String path = artifact.getExtraAttribute( DefaultIvyDependencyPublisher.FILE_ABSOLUTE_PATH_EXTRA_ATTRIBUTE); result.resolved(new File(path)); }