@staticmethod
def _fingerprint(jvm_options, classpath, java_version):
    'Compute a fingerprint for this invocation of a Java task.\n\n        :param list jvm_options: JVM options passed to the java invocation\n        :param list classpath: The -cp arguments passed to the java invocation\n        :param Revision java_version: return value from Distribution.version()\n        :return: a hexstring representing a fingerprint of the java invocation\n        '
    digest = hashlib.sha1()
    encoded_jvm_options = [option.encode() for option in sorted(jvm_options)]
    encoded_classpath = [cp.encode() for cp in sorted(classpath)]
    encoded_java_version = repr(java_version).encode()
    for item in (encoded_jvm_options, encoded_classpath, encoded_java_version):
        digest.update(str(item).encode())
    return digest.hexdigest()
Compute a fingerprint for this invocation of a Java task.

:param list jvm_options: JVM options passed to the java invocation
:param list classpath: The -cp arguments passed to the java invocation
:param Revision java_version: return value from Distribution.version()
:return: a hexstring representing a fingerprint of the java invocation
@staticmethod
def _fingerprint(jvm_options, classpath, java_version):
    'Compute a fingerprint for this invocation of a Java task.\n\n        :param list jvm_options: JVM options passed to the java invocation\n        :param list classpath: The -cp arguments passed to the java invocation\n        :param Revision java_version: return value from Distribution.version()\n        :return: a hexstring representing a fingerprint of the java invocation\n        '
    digest = hashlib.sha1()
    encoded_jvm_options = [option.encode() for option in sorted(jvm_options)]
    encoded_classpath = [cp.encode() for cp in sorted(classpath)]
    encoded_java_version = repr(java_version).encode()
    for item in (encoded_jvm_options, encoded_classpath, encoded_java_version):
        digest.update(str(item).encode())
    return digest.hexdigest()