code: protected void populateSettings() throws BuildException {
          settings = new Settings();
          try (InputStream taskProperties = this.getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE)) {
              settings.mergeProperties(taskProperties);
          } catch (IOException ex) {
              final String msg = "Unable to load the dependency-check ant task.properties file.";
              if (this.failOnError) {
                  throw new BuildException(msg, ex);
              }
              log(msg, ex, Project.MSG_WARN);
          }
          if (dataDirectory != null) {
              settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDirectory);
          } else {
              final File jarPath = new File(Purge.class.getProtectionDomain().getCodeSource().getLocation().getPath());
              final File base = jarPath.getParentFile();
              final String sub = settings.getString(Settings.KEYS.DATA_DIRECTORY);
              final File dataDir = new File(base, sub);
              settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDir.getAbsolutePath());
          }
      }
docs: Takes the properties supplied and updates the dependency-check settings.
  Additionally, this sets the system properties required to change the
  proxy server, port, and connection timeout.
  
  @throws BuildException thrown if the properties file cannot be read.