/** * Gets the project model used for shared libraries (libraries duplicated in multiple places within one or * more applications). */ public ProjectModel getOrCreateSharedLibsProject() { ProjectService service = new ProjectService(getGraphContext()); ProjectModel sharedLibsProject = service.getByUniqueID(SHARED_LIBS_UNIQUE_ID); if (sharedLibsProject == null) { sharedLibsProject = service.create(); sharedLibsProject.setName(SHARED_LIBS_APP_NAME); sharedLibsProject.setUniqueID(SHARED_LIBS_UNIQUE_ID); sharedLibsProject.setProjectType(ProjectModel.TYPE_VIRTUAL); // attach a directory to it, as we generally assume that all projects have a location on disk Path archivesDirectory = WindupConfigurationService.getArchivesPath(getGraphContext()); Path sharedLibsPath = archivesDirectory.resolve("shared-libs-" + RandomStringUtils.randomAlphabetic(6)).resolve(SHARED_LIBS_FILENAME); PathUtil.createDirectory(sharedLibsPath, "shared libs virtual app"); FileModel sharedLibsFileModel = new FileService(getGraphContext()).createByFilePath(sharedLibsPath.toString()); ApplicationModel applicationModel = GraphService.addTypeToModel(getGraphContext(), sharedLibsFileModel, ApplicationModel.class); applicationModel.setApplicationName(SHARED_LIBS_FILENAME); sharedLibsProject.setRootFileModel(sharedLibsFileModel); sharedLibsProject.addFileModel(sharedLibsFileModel); // attach this to the configuration, so that reporting treats it as a standalone app WindupConfigurationModel configuration = WindupConfigurationService.getConfigurationModel(getGraphContext()); configuration.addInputPath(sharedLibsFileModel); } return sharedLibsProject; }
/** * Gets the project model used for shared libraries (libraries duplicated in multiple places within one or * more applications). */ public ProjectModel getOrCreateSharedLibsProject() { ProjectService service = new ProjectService(getGraphContext()); ProjectModel sharedLibsProject = service.getByUniqueID(SHARED_LIBS_UNIQUE_ID); if (sharedLibsProject == null) { sharedLibsProject = service.create(); sharedLibsProject.setName(SHARED_LIBS_APP_NAME); sharedLibsProject.setUniqueID(SHARED_LIBS_UNIQUE_ID); sharedLibsProject.setProjectType(ProjectModel.TYPE_VIRTUAL); // attach a directory to it, as we generally assume that all projects have a location on disk Path archivesDirectory = WindupConfigurationService.getArchivesPath(getGraphContext()); Path sharedLibsPath = archivesDirectory.resolve("shared-libs-" + RandomStringUtils.randomAlphabetic(6)).resolve(SHARED_LIBS_FILENAME); PathUtil.createDirectory(sharedLibsPath, "shared libs virtual app"); FileModel sharedLibsFileModel = new FileService(getGraphContext()).createByFilePath(sharedLibsPath.toString()); ApplicationModel applicationModel = GraphService.addTypeToModel(getGraphContext(), sharedLibsFileModel, ApplicationModel.class); applicationModel.setApplicationName(SHARED_LIBS_FILENAME); sharedLibsProject.setRootFileModel(sharedLibsFileModel); sharedLibsProject.addFileModel(sharedLibsFileModel); // attach this to the configuration, so that reporting treats it as a standalone app WindupConfigurationModel configuration = WindupConfigurationService.getConfigurationModel(getGraphContext()); configuration.addInputPath(sharedLibsFileModel); } return sharedLibsProject; }
@Override public void perform(GraphRewrite event, EvaluationContext context) { WindupConfigurationModel configuration = WindupConfigurationService.getConfigurationModel(event.getGraphContext()); for (FileModel mainFileModel : configuration.getInputPaths()) { ProjectService projectModelService = new ProjectService(event.getGraphContext()); ProjectModel mainProjectModel = mainFileModel.getProjectModel(); if (mainProjectModel == null) { mainProjectModel = projectModelService.create(); mainProjectModel.setName(mainFileModel.getFileName()); mainProjectModel.setDescription("Source Directory"); mainProjectModel.setRootFileModel(mainFileModel); mainProjectModel.addFileModel(mainFileModel); } addProjectToChildFiles(mainFileModel, mainProjectModel); } }
@Override public void perform(GraphRewrite event, EvaluationContext context) { WindupConfigurationModel configuration = WindupConfigurationService.getConfigurationModel(event.getGraphContext()); for (FileModel mainFileModel : configuration.getInputPaths()) { ProjectService projectModelService = new ProjectService(event.getGraphContext()); ProjectModel mainProjectModel = mainFileModel.getProjectModel(); if (mainProjectModel == null) { mainProjectModel = projectModelService.create(); mainProjectModel.setName(mainFileModel.getFileName()); mainProjectModel.setDescription("Source Directory"); mainProjectModel.setRootFileModel(mainFileModel); mainProjectModel.addFileModel(mainFileModel); } addProjectToChildFiles(mainFileModel, mainProjectModel); } }
projectModel.setRootFileModel(archiveModel); projectModel.setDescription("Not available");
projectModel.setRootFileModel(archiveModel); projectModel.setDescription("Not available");
@Override public void perform(GraphRewrite event, EvaluationContext context) { WindupConfigurationModel cfg = WindupConfigurationService.getConfigurationModel(event.getGraphContext()); FileModel mainFileModel = cfg.getInputPath(); ProjectService projectModelService = new ProjectService(event.getGraphContext()); ProjectModel mainProjectModel = mainFileModel.getProjectModel(); if (mainProjectModel == null) { mainProjectModel = projectModelService.create(); mainProjectModel.setName(mainFileModel.getFileName()); mainProjectModel.setDescription("Source Directory"); mainFileModel.setProjectModel(mainProjectModel); mainProjectModel.setRootFileModel(mainFileModel); mainProjectModel.addFileModel(mainFileModel); } addProjectToChildFiles(mainFileModel, mainProjectModel); }