Class: Dependabot::Bazel::FileParser
- Inherits:
-
FileParsers::Base
- Object
- FileParsers::Base
- Dependabot::Bazel::FileParser
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/bazel/file_parser.rb,
lib/dependabot/bazel/file_parser/starlark_parser.rb
Defined Under Namespace
Classes: StarlarkParser
Constant Summary collapse
- REPOSITORY_REFERENCE =
%r{@([^/]+)}- DEPS_REGEX =
/deps\s*=\s*\[\s*([^\]]+)\]/mx- GITHUB_ARCHIVE_PATTERN =
%r{ github\.com/[^/]+/[^/]+/archive/ # GitHub archive path (?:v?([^/]+)) # Capture version (with optional 'v' prefix) \.(?:tar\.gz|tar\.bz2|zip)$ # Archive extension }x- GITHUB_RELEASE_PATTERN =
%r{ github\.com/[^/]+/[^/]+/releases/download/ # GitHub releases path (?:v?([^/]+))/ # Capture version (with optional 'v' prefix) }x- GENERIC_VERSION_PATTERN =
%r{ /(?:v?([0-9]+(?:\.[0-9]+)*(?:[+-][^/]*)?)) # Capture semantic version (?:\.tar\.gz|\.zip|$) # Optional archive extension or end }x
Instance Method Summary collapse
Instance Method Details
#ecosystem ⇒ Object
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/dependabot/bazel/file_parser.rb', line 55 def ecosystem @ecosystem ||= T.let( Ecosystem.new( name: ECOSYSTEM, package_manager: package_manager, language: language ), T.nilable(Ecosystem) ) end |
#parse ⇒ Object
43 44 45 46 47 48 49 50 51 52 |
# File 'lib/dependabot/bazel/file_parser.rb', line 43 def parse dependency_set = DependencySet.new dependency_set += module_dependencies dependency_set += workspace_dependencies dependency_set += build_dependencies dependencies = dependency_set.dependencies dependencies.uniq { |dep| [dep.name, dep.version] } end |