public static Map<String, Set<Dependency>> parseShadeOutput(Path buildOutput)
            throws IOException {
        try (Stream<String> lines = Files.lines(buildOutput)) {
            return parseShadeOutput(lines);
        }
    }
@Test
    void testParsing() {
        final Map<String, Set<Dependency>> dependenciesByModule =
                ShadeParser.parseShadeOutput(getTestDependencyCopy());

        assertThat(dependenciesByModule).containsOnlyKeys("m1", "m2");
        assertThat(dependenciesByModule.get("m1"))
                .containsExactlyInAnyOrder(
                        Dependency.create("external", "dependency1", "2.1", null),
                        Dependency.create("external", "dependency4", "2.4", "classifier"));
        assertThat(dependenciesByModule.get("m2"))
                .containsExactlyInAnyOrder(Dependency.create("internal", "m1", "1.1", null));
    }