use of org.wso2.ballerinalang.compiler.packaging.repo.Repo in project ballerina by ballerina-lang.
the class PushUtils method resolvePkgPathInRemoteRepo.
/**
* Get URI of the package from the remote repo.
*
* @param packageID packageID object
* @return full URI path of the package relative to the remote repo
*/
private static String resolvePkgPathInRemoteRepo(PackageID packageID) {
Repo<URI> remoteRepo = new RemoteRepo(URI.create("https://staging.central.ballerina.io:9090/"));
Patten patten = remoteRepo.calculate(packageID);
if (patten == Patten.NULL) {
throw new BLangCompilerException("Couldn't find package " + packageID.toString());
}
Converter<URI> converter = remoteRepo.getConverterInstance();
List<URI> uris = patten.convert(converter).collect(Collectors.toList());
if (uris.isEmpty()) {
throw new BLangCompilerException("Couldn't find package " + packageID.toString());
}
return uris.get(0).toString();
}
use of org.wso2.ballerinalang.compiler.packaging.repo.Repo in project ballerina by ballerina-lang.
the class RepoHierarchyTest method createSubject.
/**
* <pre>
*
* easy/too:0 good/i.am:1 ugly/ok.pkg:4
* | | ,--- projectCacheRepo ---. |
* v v / 2 \ v
* projectSource --- projectRepo ---< >--- homeCacheRepo
* 0 1 \ / 4
* `------- homeRepo -------'
* 3
* </pre>
* Expected lookup order
* <p>
* <p>
* 0. projectSource
* 1. projectRepo
* 2. homeRepo
* 3. projectCacheRepo
* 4. homeCacheRepo
*
* @param order list to remember order of invocation into
*/
private RepoHierarchy createSubject(List<Integer> order) {
Repo projectSource = mockRepo(0, order);
Repo projectRepo = mockRepo(1, order);
Repo projectCacheRepo = mockRepo(2, order);
Repo homeRepo = mockRepo(3, order);
Repo homeCacheRepo = mockRepo(4, order);
RepoHierarchyBuilder.RepoNode homeCacheNode = node(homeCacheRepo);
return RepoHierarchyBuilder.build(node(projectSource, node(projectRepo, null, /* null nodes should be ignored */
node(projectCacheRepo, homeCacheNode), node(homeRepo, homeCacheNode))));
}
use of org.wso2.ballerinalang.compiler.packaging.repo.Repo in project ballerina by ballerina-lang.
the class RepoTest method testProjectObjRepo.
@Test
public void testProjectObjRepo() {
PackageID pkg = newPackageID("my_org", "my.pkg", "1.2.3");
ObjRepo subject = new ObjRepo((PathConverter) null);
Patten patten = subject.calculate(pkg);
Assert.assertEquals(patten.toString(), "$/repo/my_org/my.pkg/1.2.3/obj/my.pkg.balo");
}
use of org.wso2.ballerinalang.compiler.packaging.repo.Repo in project ballerina by ballerina-lang.
the class RepoTest method testSystemOrgIsReserved.
@Test
public void testSystemOrgIsReserved() {
PackageID pkg = newPackageID("ballerina", "any.pkg", "10.2.3");
Repo subject = new NonSysRepo<String>(null) {
@Override
public Patten calculateNonSysPkg(PackageID pkg) {
Assert.fail("Tried to calculate path for system packages");
return null;
}
};
Patten patten = subject.calculate(pkg);
Assert.assertEquals(patten, Patten.NULL);
}
use of org.wso2.ballerinalang.compiler.packaging.repo.Repo in project ballerina by ballerina-lang.
the class RepoTest method testHomeRepo.
@Test
public void testHomeRepo() {
PackageID pkg = newPackageID("my_org", "my.pkg", "10.2.3");
HomeRepo subject = new HomeRepo((PathConverter) null);
Patten patten = subject.calculate(pkg);
Assert.assertEquals(patten.toString(), "$/repo/my_org/my.pkg/10.2.3/src/**~test~resources/*.bal");
}
Aggregations