def __init__(self, detectors_path: str, detector_id: str, java_options: List[str], requested_release: Optional[str] = None):
self.id = detector_id
self.base_name = detector_id.split("_", 1)[0]
self.path = join(detectors_path, self.id)
releases_index_path = join(self.path, Detector.RELEASES_FILE)
release = self._get_release(releases_index_path, requested_release)
release_tag = release.get("tag", "latest")
if "cli_version" in release:
cli_version = StrictVersion(release["cli_version"])
else:
raise ValueError("Missing CLI version for {}".format(detector_id))
self.md5 = release.get("md5", Detector.NO_MD5)
self.jar_path = join(self.path, self.base_name + ".jar")
self.jar_url = "{}/{}/{}/{}.jar".format(Detector.BASE_URL, release_tag, cli_version, self.base_name)
self.runner_interface = RunnerInterface.get(cli_version, self.jar_path, java_options)
评论列表
文章目录