예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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());
        }