aws_lambda_builders/workflows/java_gradle/gradle_resolver.py (18 lines of code) (raw):
"""
Gradle executable resolution
"""
from aws_lambda_builders.workflows.java.utils import OSUtils
class GradleResolver(object):
def __init__(self, executable_search_paths=None, os_utils=None):
self.binary = "gradle"
self.executables = [self.binary]
self.executable_search_paths = executable_search_paths
self.os_utils = os_utils if os_utils else OSUtils()
@property
def exec_paths(self):
# Prefer gradlew/gradlew.bat
paths = self.os_utils.which(self.wrapper_name, executable_search_paths=self.executable_search_paths)
if not paths:
# fallback to the gradle binary
paths = self.os_utils.which("gradle", executable_search_paths=self.executable_search_paths)
if not paths:
raise ValueError("No Gradle executable found!")
return paths
@property
def wrapper_name(self):
return "gradlew.bat" if self.os_utils.is_windows() else "gradlew"