Source code for gigl.env.dep_constants
import glob
import os
from pathlib import Path
import gigl.src.common.constants.local_fs as local_fs_constants
from gigl.common import LocalUri
from gigl.src.common.constants.components import GiGLComponents
_SPARK_35_DIR_NAME = "scala_spark35"
_SPARK_DIR_NAME = "scala"
[docs]
GIGL_PUBLIC_BUCKET_NAME = "public-gigl" 
[docs]
GIGL_PUBLIC_DATASET_NAME = "external-snap-ci-github-gigl.public_gigl" 
[docs]
GIGL_TEST_BUCKET_NAME = "gigl-cicd-temp" 
def _get_scala_dir_name(use_spark35: bool = False) -> str:
    return _SPARK_35_DIR_NAME if use_spark35 else _SPARK_DIR_NAME
[docs]
def get_compiled_jar_path(component: GiGLComponents, use_spark35=False) -> LocalUri:
    scala_dir_name = _get_scala_dir_name(use_spark35=use_spark35)
    path = LocalUri.join(
        local_fs_constants.get_project_root_directory(),
        f"{scala_dir_name}/{component.value}/target/scala-2.12/{component.value}-assembly-1.0.jar",
    )
    return path 
[docs]
def get_local_jar_directory(component: GiGLComponents, use_spark35=False) -> LocalUri:
    scala_dir_name = _get_scala_dir_name(use_spark35=use_spark35)
    path = LocalUri.join(
        local_fs_constants.get_gigl_root_directory(),
        f"deps/{scala_dir_name}/{component.value}/jars/",
    )
    return path 
[docs]
def get_current_jar_file(directory: LocalUri) -> LocalUri:
    list_of_files = glob.glob(str(Path(directory.uri) / "*.jar"))
    if not list_of_files:
        raise FileNotFoundError(f"No .jar file found in: {directory.uri}")
    latest_file = max(list_of_files, key=os.path.getctime)
    return LocalUri(latest_file) 
[docs]
def get_jar_file_uri(component: GiGLComponents, use_spark35=False) -> LocalUri:
    assert component in [
        GiGLComponents.SubgraphSampler,
        GiGLComponents.SplitGenerator,
    ], f"Unsupported component: {component}"
    directory = get_local_jar_directory(component=component, use_spark35=use_spark35)
    return get_current_jar_file(directory)