public static Set resolveExternal()

in plugin/src/main/java/com/uber/okbuck/core/dependency/DependencyUtils.java [119:176]


  public static Set<OExternalDependency> resolveExternal(
      Project project,
      Configuration configuration,
      ExternalDependenciesExtension externalDependenciesExtension,
      JetifierExtension jetifierExtension) {
    enforceChangingDeps(project, configuration);
    try {
      Set<ResolvedArtifactResult> consumableArtifacts =
          configuration
              .getIncoming()
              .getArtifacts()
              .getArtifacts()
              .stream()
              .filter(
                  artifact ->
                      !(artifact.getId().getComponentIdentifier()
                          instanceof ProjectComponentIdentifier))
              .filter(artifact -> DependencyUtils.isConsumable(artifact.getFile()))
              .collect(Collectors.toSet());

      Map<ComponentIdentifier, ResolvedArtifactResult> componentIdToSourcesArtifactMap =
          new HashMap<>(ProjectUtil.downloadSources(project, consumableArtifacts));

      return consumableArtifacts
          .stream()
          .map(
              artifact -> {
                ComponentIdentifier identifier = artifact.getId().getComponentIdentifier();
                ResolvedArtifactResult sourcesArtifact =
                    componentIdToSourcesArtifactMap.get(identifier);

                if (identifier instanceof ModuleComponentIdentifier
                    && ((ModuleComponentIdentifier) identifier).getVersion().length() > 0) {
                  ModuleComponentIdentifier moduleIdentifier =
                      (ModuleComponentIdentifier) identifier;
                  return ProjectUtil.getDependencyFactory(project)
                      .from(
                          moduleIdentifier.getGroup(),
                          moduleIdentifier.getModule(),
                          moduleIdentifier.getVersion(),
                          artifact.getFile(),
                          sourcesArtifact != null ? sourcesArtifact.getFile() : null,
                          externalDependenciesExtension,
                          jetifierExtension);
                } else {
                  return ProjectUtil.getDependencyFactory(project)
                      .fromLocal(
                          artifact.getFile(),
                          sourcesArtifact != null ? sourcesArtifact.getFile() : null,
                          externalDependenciesExtension,
                          jetifierExtension);
                }
              })
          .collect(Collectors.toSet());
    } catch (DefaultLenientConfiguration.ArtifactResolveException e) {
      throw artifactResolveException(e);
    }
  }