class JavaClass::Classpath::MavenArtefact
A reference to a Maven artefact. This is a group/artefact/version tuple that points to a single Jar in the Maven repository.
- Author
-
Peter Kofler
Attributes
group[R]
name[R]
title[R]
version[R]
Public Class Methods
new(group, name, version, title=nil)
click to toggle source
Create a Maven artefact with given group , name and version .
# File lib/javaclass/classpath/maven_artefact.rb, line 13 def initialize(group, name, version, title=nil) @group = group @name = name @version = version @title = title || make_title end
Public Instance Methods
classpath()
click to toggle source
Return this Maven artefact's JavaClass::Classpath
. This is a single Jar in the Maven repository.
# File lib/javaclass/classpath/maven_artefact.rb, line 28 def classpath cp = CompositeClasspath.new(basename) cp.add_file_name(repository_path) cp end
download_if_needed()
click to toggle source
Kind of hack function to call Maven to download the current artefact if it does not exist.
# File lib/javaclass/classpath/maven_artefact.rb, line 21 def download_if_needed unless File.exist? repository_path puts `#{download_command}` end end
repository_path()
click to toggle source
Return the Jar's file path of this artefact inside ~/.m2/repository
# File lib/javaclass/classpath/maven_artefact.rb, line 35 def repository_path File.join(ENV['HOME'], '.m2', 'repository', @group.gsub(/\./, '/'), @name, @version, "#{basename}.jar" ) end
Private Instance Methods
basename()
click to toggle source
# File lib/javaclass/classpath/maven_artefact.rb, line 51 def basename "#{@name}-#{@version}" end
download_command()
click to toggle source
# File lib/javaclass/classpath/maven_artefact.rb, line 55 def download_command "mvn org.apache.maven.plugins:maven-dependency-plugin:2.5:get -Dartifact=#{@group}:#{@name}:#{@version}" end
make_title()
click to toggle source
# File lib/javaclass/classpath/maven_artefact.rb, line 41 def make_title @name.sub(/\d$/, '').split(/[\s-]/).map { |p| if p.size < 4 p.upcase else p.capitalize end }.join(' ') end