Method: JavaClass::Classpath::MavenClasspath#initialize

Defined in:
lib/javaclass/classpath/maven_classpath.rb

#initialize(folder) ⇒ MavenClasspath

Create a classpath for a Maven base project folder



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/javaclass/classpath/maven_classpath.rb', line 18

def initialize(folder)
  unless MavenClasspath::valid_location?(folder)
    raise IOError, "folder #{folder} not a Maven project"
  end
  pom = File.join(folder, POM_XML)
  super(pom)
  add_if_exist(File.join(folder, 'target/classes'))
  add_if_exist(File.join(folder, 'target/test-classes'))

  # look for submodules
  Dir.entries(folder).each do |dir|
    next if dir =~ /^(?:\.|\.\.|src|target|pom.xml|\.settings)$/
    folder = File.join(folder, dir)
    add_element(MavenClasspath.new(folder)) if MavenClasspath::valid_location?(folder)
  end
end