use of org.wso2.ballerinalang.compiler.packaging.repo.ProjectSourceRepo in project ballerina by ballerina-lang.
the class RepoTest method testProjectSourceRepo.
@Test
public void testProjectSourceRepo() {
PackageID pkg = newPackageID("best_org", "this.pkg", "1.8.3");
ProjectSourceRepo subject = new ProjectSourceRepo((PathConverter) null);
Patten prospect = subject.calculate(pkg);
Assert.assertEquals(prospect.toString(), "$/this.pkg/**~test~resources/*.bal");
}
use of org.wso2.ballerinalang.compiler.packaging.repo.ProjectSourceRepo in project ballerina by ballerina-lang.
the class BinaryFileWriter method writeExecutableBinary.
public void writeExecutableBinary(BLangPackage packageNode) {
String fileName = getOutputFileName(packageNode, BLANG_EXEC_FILE_SUFFIX);
writeExecutableBinary(packageNode, fileName);
// Generate balo
Path path = this.sourceDirectory.getPath();
if (Files.isDirectory(path.resolve(ProjectDirConstants.DOT_BALLERINA_DIR_NAME))) {
ProjectSourceRepo projectSourceRepo = new ProjectSourceRepo(path);
Patten packageIDPattern = projectSourceRepo.calculate(packageNode.packageID);
Stream<Path> pathStream = packageIDPattern.convert(projectSourceRepo.getConverterInstance());
pathStream = Stream.concat(pathStream, packageIDPattern.sibling(path("Ballerina.md")).convert(projectSourceRepo.getConverterInstance()));
String prjPath = projectSourceRepo.getConverterInstance().toString();
ZipUtils.generateBalo(packageNode, prjPath, pathStream);
}
}
use of org.wso2.ballerinalang.compiler.packaging.repo.ProjectSourceRepo in project ballerina by ballerina-lang.
the class PackageLoader method genRepoHierarchy.
private RepoHierarchy genRepoHierarchy(Path sourceRoot) {
Path balHomeDir = HomeRepoUtils.createAndGetHomeReposPath();
Path projectHiddenDir = sourceRoot.resolve(".ballerina");
RepoHierarchyBuilder.RepoNode[] systemArr = loadSystemRepos();
Converter<Path> converter = sourceDirectory.getConverter();
Repo remote = new RemoteRepo(URI.create("https://staging.central.ballerina.io:9090/"));
Repo homeCacheRepo = new CacheRepo(balHomeDir);
Repo homeRepo = new ZipRepo(balHomeDir);
Repo projectCacheRepo = new CacheRepo(projectHiddenDir);
Repo projectRepo = new ZipRepo(projectHiddenDir);
RepoHierarchyBuilder.RepoNode homeCacheNode;
if (offline) {
homeCacheNode = node(homeCacheRepo, systemArr);
} else {
homeCacheNode = node(homeCacheRepo, node(remote, systemArr));
}
RepoHierarchyBuilder.RepoNode nonLocalRepos = node(projectRepo, node(projectCacheRepo, homeCacheNode), node(homeRepo, homeCacheNode));
RepoHierarchyBuilder.RepoNode fullRepoGraph;
if (converter != null) {
Repo programingSource = new ProgramingSourceRepo(converter);
Repo projectSource = new ProjectSourceRepo(converter);
fullRepoGraph = node(programingSource, node(projectSource, nonLocalRepos));
} else {
fullRepoGraph = nonLocalRepos;
}
return RepoHierarchyBuilder.build(fullRepoGraph);
}
Aggregations