public static async Task BinderateAsync(BindingConfig config) { MavenRepository maven; if (config.MavenRepositoryType == MavenRepoType.Directory) { maven = MavenRepository.FromDirectory(config.MavenRepositoryLocation); } else if (config.MavenRepositoryType == MavenRepoType.Url) { maven = MavenRepository.FromUrl(config.MavenRepositoryLocation); } else if (config.MavenRepositoryType == MavenRepoType.MavenCentral) { maven = MavenRepository.FromMavenCentral(); } else { maven = MavenRepository.FromGoogle(); } await maven.Refresh(config.MavenArtifacts.Where(ma => !ma.DependencyOnly).Select(ma => ma.GroupId).Distinct().ToArray()); if (config.DownloadExternals) { var artifactDir = Path.Combine(config.BasePath, config.ExternalsDir); if (!Directory.Exists(artifactDir)) { Directory.CreateDirectory(artifactDir); } } await ProcessConfig(maven, config); }
static MavenRepository GetOrCreateRepository(MavenRepoType type, string location) { var key = $"{type}|{location}"; if (repositories.TryGetValue(key, out MavenRepository repository)) { return(repository); } MavenRepository maven; if (type == MavenRepoType.Directory) { maven = MavenRepository.FromDirectory(location); } else if (type == MavenRepoType.Url) { maven = MavenRepository.FromUrl(location); } else if (type == MavenRepoType.MavenCentral) { maven = MavenRepository.FromMavenCentral(); } else { maven = MavenRepository.FromGoogle(); } repositories.Add(key, maven); return(maven); }
public async Task Test_GroupIds_Project_URL_Maven() { var repo = MavenRepository.FromMavenCentral(); await repo.Refresh("com.facebook.android"); var project = await repo.GetProjectAsync("com.facebook.android", "facebook-android-sdk", "4.33.0"); Assert.True(project != null); Assert.NotEmpty(project.Dependencies); }
public async Task Test_GroupIds_Project_MAVENCENTRAL() { var repo = MavenRepository.FromMavenCentral(); await repo.Refresh("org.bouncycastle"); var project = await repo.GetProjectAsync("org.bouncycastle", "bcpkix-jdk15on", "1.57"); Assert.True(project != null); Assert.True(project.Dependencies?.Any()); }