package com.doc.external;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* Load maven to find the .m2 repository
*
* @author Deisss
* @version 0.1
*/
public class Maven {
/**
* Find and extract .m2 repository
*
* @return The repository path found
*/
public static String getRepository() {
String repository = "";
// Don't forget ending ' '
String searchedLine = "[DEBUG] Using local repository at";
try {
// Launch maven in debug mode
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/k", "mvn -X");
pb.redirectErrorStream(true);
Process child = pb.start();
InputStreamReader r = new InputStreamReader(child.getInputStream());
BufferedReader in = new BufferedReader(r);
String line;
while ((line = in.readLine()) != null) {
// Extract from line the repository
if(line != null && line.startsWith(searchedLine)) {
// We remove beginning of the line
repository = line.substring(searchedLine.length());
// Remove white space
repository = repository.trim();
// We don't need to continue
in.close();
break;
}
}
in.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return repository;
}
}