/** * 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; }
applicationModelService.addTypeToModel(applicationModel).setApplicationName(applicationModel.getFileName()); }); ApplicationModel applicationModel = applicationModelService.addTypeToModel(fileModel); if (i < applicationNames.size()) applicationModel.setApplicationName(applicationNames.get(i)); else applicationModel.setApplicationName(fileModel.getFileName());