Esempio n. 1
0
  private void geppettoValidation(Collection<File> moduleLocations, Diagnostic result)
      throws IOException {

    Collection<File> importedModuleLocations = null;
    List<Metadata> metadatas = new ArrayList<Metadata>();
    for (File moduleRoot : moduleLocations) {
      Metadata md = getModuleMetadata(moduleRoot, result);
      if (md != null) metadatas.add(md);
    }

    if (result.getSeverity() == Diagnostic.ERROR) return;

    if (checkModuleSemantics) {
      File importedModulesDir = new File(getBuildDir(), IMPORTED_MODULES_ROOT);
      importedModuleLocations =
          getForge().downloadDependencies(metadatas, importedModulesDir, result);
    }
    if (importedModuleLocations == null) importedModuleLocations = Collections.emptyList();

    RubyHelper.setRubyServicesFactory(JRubyServices.FACTORY);
    ValidationOptions options = getValidationOptions(moduleLocations, importedModuleLocations);
    new PPDiagnosticsSetup(complianceLevel, options.getProblemsAdvisor())
        .createInjectorAndDoEMFRegistration();

    getValidationService()
        .validate(
            result,
            getModulesDir(),
            options,
            importedModuleLocations.toArray(new File[importedModuleLocations.size()]),
            new NullProgressMonitor());
  }
Esempio n. 2
0
 @Override
 protected void addModules(Diagnostic diagnostic, List<Module> modules) {
   super.addModules(diagnostic, modules);
   if (cacheLocation != null && diagnostic.getSeverity() <= Diagnostic.WARNING)
     modules.add(
         new AbstractModule() {
           @Override
           protected void configure() {
             bind(File.class)
                 .annotatedWith(Names.named(Forge.CACHE_LOCATION))
                 .toInstance(new File(cacheLocation));
           }
         });
 }