Class: Quarkus::ManagedDependency::ManagedDependencyMacro

Inherits:
Asciidoctor::Extensions::InlineMacroProcessor
  • Object
show all
Defined in:
lib/quarkus/managed-dependency/managed_dependency_macro.rb

Instance Method Summary collapse

Instance Method Details

#process(parent, target, attributes) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/quarkus/managed-dependency/managed_dependency_macro.rb', line 12

def process(parent, target, attributes)
  (group_id, artifact_id) = target.split(':')
  quarkus_version = attributes['quarkus-version'] || parent.document.attributes['quarkus-version']

  # Find what we need: http://xpather.com/85iiY0go
  dep_version_xpath_template = '//dependencyManagement/dependencies/dependency[groupId="%s" and artifactId="%s"]/version'
  quarkus_pom_url_template = 'https://repo1.maven.org/maven2/io/quarkus/quarkus-bom/%s/quarkus-bom-%s.pom'
  quarkus_pom = REXML::Document.new URI.open(quarkus_pom_url_template % [quarkus_version, quarkus_version])
  quarkus_pom.get_text dep_version_xpath_template % [group_id, artifact_id]
end