use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.
the class ModuleLoader2 method logLoadedProject.
public static String logLoadedProject(Project project, long startTime) {
StringBuilder sb = new StringBuilder();
if (project.isModuleProject()) {
sb.append(JULLogger.infoBlock("Loaded module:"));
} else {
sb.append(JULLogger.infoBlock("Loaded project:"));
}
sb.append("\nName: ").append(project.getName());
if (project.getModules().getSize() > 0) {
sb.append("\nModules: ");
for (Module module : project.getModules()) {
sb.append("\n - ");
sb.append(module.getName());
}
}
sb.append("\nLoading time: ").append(TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime)).append(" ms");
sb.append("\n");
return sb.toString();
}
use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.
the class ModuleLoader2 method mergeAllModules.
public static void mergeAllModules(final Project model, List<Project> modules, final LoadContext context) throws ProjectLoadException {
modules = new LinkedList<>(modules);
for (Project module : modules) {
module.mergeHostProject(model);
}
final Project compositeModule = foldModules(model, modules, context);
if (compositeModule != null) {
model.merge(compositeModule);
}
}
use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.
the class ModuleLoader2 method findAndLoadProjectWithModules.
public static Project findAndLoadProjectWithModules() throws ProjectLoadException {
loadAllProjects(true);
Project project = null;
for (Map.Entry<String, Project> module : modulesMap.entrySet()) {
if (module.getValue() != null && !module.getValue().isModuleProject()) {
if (project != null) {
throw new RuntimeException("Several projects were found: " + project + ", " + module);
} else {
project = module.getValue();
}
}
}
if (project == null) {
// todo create new not module project for tests?
log.info("Project not found, try load main module.");
project = new ProjectTopologicalSort(modulesMap.values()).getRoot();
}
ModuleLoader2.mergeModules(project, new JULLogger(log));
return project;
}
use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.
the class ProjectTopologicalSort method dfs.
private void dfs(String v) {
used.put(v, true);
for (Module module : g.get(v).getModules()) {
if (!used.getOrDefault(module.getName(), false)) {
if (!g.containsKey(module.getName())) {
throw new RuntimeException("Module " + module.getName() + " not found, required for " + v + ". Add module to classpath.");
}
dfs(module.getName());
}
}
ans.add(g.get(v));
}
use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.
the class Project method getModulesAndApplication.
public List<Module> getModulesAndApplication() {
List<Module> result = getModules().stream().toList();
BeModelElement appElement = get(getProjectOrigin());
if (appElement instanceof Module)
result.add((Module) appElement);
return result;
}
Aggregations