mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-24 21:29:00 +00:00

Look, this will make the git history look funny, but trimming unnecessary depth from the source tree is a very necessary sanity-preserving measure when dealing with a super-modularized codebase like this one. While it makes the project configuration a bit less conventional, it will save you several clicks every time you jump between modules. Which you'll do a lot, because it's *modul*ar. The src/main/java convention makes a lot of sense for a non-modular project though. This ain't that.
26 lines
581 B
Java
26 lines
581 B
Java
package plan;
|
|
|
|
import org.yaml.snakeyaml.Yaml;
|
|
|
|
import java.io.FileReader;
|
|
import java.io.IOException;
|
|
import java.nio.file.Path;
|
|
|
|
public class CrawlPlanLoader {
|
|
private final Yaml yaml;
|
|
|
|
public CrawlPlanLoader() {
|
|
yaml = new Yaml();
|
|
}
|
|
|
|
public CrawlPlan load(Path yamlFile) throws IOException {
|
|
try (var reader = new FileReader(yamlFile.toFile())) {
|
|
return yaml.loadAs(reader, CrawlPlan.class);
|
|
}
|
|
catch (IOException ex) {
|
|
throw new IOException("Failed to load crawl plan " + yamlFile, ex);
|
|
}
|
|
}
|
|
|
|
}
|