class Mvnizer::Command::NewProject
Public Instance Methods
get_dependencies()
click to toggle source
Returns the list of dependencies to be added for this type of project. Override this method if extra dependencies are needed.
# File lib/mvnizer/commands/new_project.rb, line 44 def get_dependencies [] end
run(project)
click to toggle source
Creates the Maven project structure, and creates the pom file from the options
# File lib/mvnizer/commands/new_project.rb, line 9 def run(project) create_dir("#{project.artifact_id}/src/main/java", "#{project.artifact_id}/src/test/java") coordinate_parser = CoordinateParser.new get_dependencies.each { |d| project.add_dependency(coordinate_parser.parse_scoped_coordinates(d)) } generate_file(File.join(TEMPLATE_DIR, "pom.xml.erb"), "#{project.artifact_id}/pom.xml", project) generate_file(File.join(TEMPLATE_DIR, "gitignore.erb"), "#{project.artifact_id}/.gitignore", project) generate_file(File.join(TEMPLATE_DIR, "editorconfig.erb"), "#{project.artifact_id}/.editorconfig", project) if project.main target_directory = project.package_name.gsub(/\./, File::SEPARATOR) generate_file(File.join(TEMPLATE_DIR, "Main.java.erb"), "#{project.artifact_id}/src/main/java/#{target_directory}/#{project.main}.java", project) end if project.docker generate_file(File.join(TEMPLATE_DIR, "Dockerfile.erb"), "#{project.artifact_id}/Dockerfile", project) end end