class Dependabot::Uv::FileUpdater::CompileFileUpdater
def compile_file(filename)
def compile_file(filename) # Shell out to pip-compile, generate a new set of requirements. # This is slow, as pip-compile needs to do installs. options = compile_options(filename) options_fingerprint = compile_options_fingerprint(options) name_part = "pyenv exec uv pip compile " \ "#{options} -P " \ "#{dependency.name}" fingerprint_name_part = "pyenv exec uv pip compile " \ "#{options_fingerprint} -P " \ "<dependency_name>" version_part = "#{dependency.version} #{filename}" fingerprint_version_part = "<dependency_version> <filename>" # Don't escape pyenv `dep-name==version` syntax run_uv_compile_command( "#{SharedHelpers.escape_command(name_part)}==" \ "#{SharedHelpers.escape_command(version_part)}", allow_unsafe_shell_command: true, fingerprint: "#{fingerprint_name_part}==#{fingerprint_version_part}" ) rescue SharedHelpers::HelperSubprocessFailed => e retry_count ||= 0 retry_count += 1 if compilation_error?(e) && retry_count <= 1 @build_isolation = false retry end raise end