diff --git a/src/org/rascalmpl/library/util/PathConfig.java b/src/org/rascalmpl/library/util/PathConfig.java index e62238a0575..3bcf70641fa 100644 --- a/src/org/rascalmpl/library/util/PathConfig.java +++ b/src/org/rascalmpl/library/util/PathConfig.java @@ -547,7 +547,7 @@ private static void translateSources(ISourceLocation manifestRoot, IListWriter s } } - private static void buildNormalProjectConfig(ISourceLocation manifestRoot, RascalConfigMode mode, List mavenClasspath, boolean isRoot, IListWriter srcs, IListWriter libs, IListWriter messages) throws IOException, URISyntaxException { + private static void buildNormalProjectConfig(ISourceLocation manifestRoot, RascalConfigMode mode, List mavenClasspath, boolean isRoot, IListWriter srcs, IListWriter libs, IListWriter messages, IListWriter resources) throws IOException, URISyntaxException { if (isRoot) { if (mode == RascalConfigMode.INTERPRETER) { srcs.append(URIUtil.rootLocation("std")); // you'll always get rascal from standard in case of interpreter mode @@ -557,10 +557,11 @@ private static void buildNormalProjectConfig(ISourceLocation manifestRoot, Rasca assert mode == RascalConfigMode.COMPILER: "should be compiler"; // untill we go pom.xml first, you'll always get the rascal jar from our runtime // not the one you requested in the pom.xml - libs.append(JarURIResolver.jarify(resolveCurrentRascalRuntimeJar())); + libs.append(JarURIResolver.jarify(resolveCurrentRascalRuntimeJar())); } } + resources.append(URIUtil.getChildLocation(manifestRoot, "src/main/resources")); // This processes Rascal libraries we can find in maven dependencies, // and we add them to the srcs unless a project is open with the same name, then we defer to its srcs @@ -664,7 +665,8 @@ private static void addProjectAndItsDependencies(RascalConfigMode mode, IListWri IListWriter messages, ISourceLocation projectLoc) throws IOException, URISyntaxException { projectLoc = safeResolve(projectLoc); // for now, remove the project loc, later we can undo this and keep the project loc around var childMavenClasspath = getPomXmlCompilerClasspath(projectLoc, messages); - buildNormalProjectConfig(projectLoc, mode, childMavenClasspath, false, srcs, libs, messages); + IListWriter resourcesWriter = (IListWriter) vf.listWriter().unique(); + buildNormalProjectConfig(projectLoc, mode, childMavenClasspath, false, srcs, libs, messages, resourcesWriter); } private static void checkLSPVersionsMatch(ISourceLocation manifestRoot, IListWriter messages, ISourceLocation jarLocation, Artifact artifact) throws IOException { @@ -760,7 +762,7 @@ else if (projectName.equals("rascal-lsp")) { buildRascalLSPConfig(manifestRoot, mode, mavenClasspath, srcsWriter, libsWriter, messages); } else { - buildNormalProjectConfig(manifestRoot, mode, mavenClasspath, isRoot, srcsWriter, libsWriter, messages); + buildNormalProjectConfig(manifestRoot, mode, mavenClasspath, isRoot, srcsWriter, libsWriter, messages, resourcesWriter); } } catch (IOException | URISyntaxException e) {