Exemplo n.º 1
0
def ensure_and_get_jvm(java_version,
                       cache_dir,
                       dot_local_location,
                       package="jdk"):
    logging.debug("Begin download and install java %s" % package)

    jdk = determine_jdk(java_version, package)

    rootfs_java_path = "/{}".format(compose_jvm_target_dir(jdk))
    if not os.path.isdir(rootfs_java_path):
        logging.debug("rootfs without java sdk detected")
        util.download_and_unpack(
            util.get_blobstore_url(_compose_jre_url_path(jdk)),
            os.path.join(dot_local_location, compose_jvm_target_dir(jdk)),
            cache_dir,
        )
    else:
        logging.debug("rootfs with java sdk detected")
    logging.debug("end download and install java %s" % package)

    return util.get_existing_directory_or_raise(
        [
            "/" + compose_jvm_target_dir(jdk),
            os.path.join(dot_local_location, compose_jvm_target_dir(jdk)),
        ],
        "Java not found",
    )
Exemplo n.º 2
0
def ensure_and_get_jvm(java_version,
                       cache_dir,
                       dot_local_location,
                       package="jdk"):

    jdk = determine_jdk(java_version, package)

    rootfs_java_path = "/{}".format(compose_jvm_target_dir(jdk))
    if not os.path.isdir(rootfs_java_path):
        logging.debug(
            "Downloading and installing Java {} if required...".format(
                package.upper()))
        util.download_and_unpack(
            util.get_blobstore_url(_compose_jre_url_path(jdk)),
            os.path.join(dot_local_location, compose_jvm_target_dir(jdk)),
            cache_dir,
        )
        logging.debug("Java {} installed".format(package.upper()))
    else:
        logging.debug("Root FS with Java SDK detected, not installing Java")

    return util.get_existing_directory_or_raise(
        [
            "/" + compose_jvm_target_dir(jdk),
            os.path.join(dot_local_location, compose_jvm_target_dir(jdk)),
        ],
        "Java not found",
    )
Exemplo n.º 3
0
def _get_mono_path(directory, mono_version):
    return util.get_existing_directory_or_raise(
        [
            os.path.join(directory, mono_version),
            "/opt/" + mono_version,
            "/tmp/" + mono_version,
        ],
        "Mono not found",
    )
Exemplo n.º 4
0
def ensure_and_get_jvm(
    java_major_version,
    buildpack_dir,
    cache_dir,
    dot_local_location,
    package="jdk",
):
    # Get Java override full version override
    override_version = os.getenv(JAVA_VERSION_OVERRIDE_KEY)
    overrides = {}
    if override_version:
        logging.info("Overriding Java version to [%s]..." % override_version)
        if not override_version.isdigit():
            overrides = {
                "version": override_version,
            }

    # Get dependency
    dependency = _get_java_dependency(
        java_major_version, package, buildpack_dir, overrides
    )

    jdk_dir = _compose_jvm_target_dir(dependency)

    rootfs_java_path = "/{}".format(jdk_dir)
    if not os.path.isdir(rootfs_java_path):
        logging.debug(
            "Downloading and installing Java {} if required...".format(
                package.upper()
            )
        )
        util.resolve_dependency(
            dependency,
            os.path.join(dot_local_location, jdk_dir),
            buildpack_dir=buildpack_dir,
            cache_dir=cache_dir,
            unpack_strip_directories=True,
            overrides=overrides,
        )
        logging.debug("Java {} installed".format(package.upper()))
    else:
        logging.debug("Root FS with Java SDK detected, not installing Java")

    return util.get_existing_directory_or_raise(
        [
            "/" + jdk_dir,
            os.path.join(dot_local_location, jdk_dir),
        ],
        "Java not found",
    )