This is an automated email from the ASF dual-hosted git repository.
jglick pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new d849cdf Look for .mvn/maven.config in parent directories as well.
new abd7b26 Merge pull request #1766 from jglick/maven.config-redux
d849cdf is described below
commit d849cdf5a669e03fd2672234a0f7836ac0bc83aa
Author: Jesse Glick <[email protected]>
AuthorDate: Mon Dec 9 15:41:24 2019 -0500
Look for .mvn/maven.config in parent directories as well.
---
.../maven/modelcache/MavenProjectCache.java | 9 ++++++---
.../modules/maven/NbMavenProjectImplTest.java | 23 ++++++++++++++++++++++
2 files changed, 29 insertions(+), 3 deletions(-)
diff --git
a/java/maven/src/org/netbeans/modules/maven/modelcache/MavenProjectCache.java
b/java/maven/src/org/netbeans/modules/maven/modelcache/MavenProjectCache.java
index 9905a16..8b507d5 100644
---
a/java/maven/src/org/netbeans/modules/maven/modelcache/MavenProjectCache.java
+++
b/java/maven/src/org/netbeans/modules/maven/modelcache/MavenProjectCache.java
@@ -150,10 +150,13 @@ public final class MavenProjectCache {
M2Configuration active = config.getActiveConfiguration();
MavenExecutionResult res = null;
try {
- FileObject mavenConfig =
projectDir.getFileObject(".mvn/maven.config");
List<String> mavenConfigOpts = Collections.emptyList();
- if (mavenConfig != null && mavenConfig.isData()) {
- mavenConfigOpts =
Arrays.asList(mavenConfig.asText().split("\\s+"));
+ for (FileObject root = projectDir; root != null; root =
root.getParent()) {
+ FileObject mavenConfig =
root.getFileObject(".mvn/maven.config");
+ if (mavenConfig != null && mavenConfig.isData()) {
+ mavenConfigOpts =
Arrays.asList(mavenConfig.asText().split("\\s+"));
+ break;
+ }
}
final MavenExecutionRequest req =
projectEmbedder.createMavenExecutionRequest();
req.addActiveProfiles(active.getActivatedProfiles());
diff --git
a/java/maven/test/unit/src/org/netbeans/modules/maven/NbMavenProjectImplTest.java
b/java/maven/test/unit/src/org/netbeans/modules/maven/NbMavenProjectImplTest.java
index 61dc1f5..a3ebc5d 100644
---
a/java/maven/test/unit/src/org/netbeans/modules/maven/NbMavenProjectImplTest.java
+++
b/java/maven/test/unit/src/org/netbeans/modules/maven/NbMavenProjectImplTest.java
@@ -191,6 +191,29 @@ public class NbMavenProjectImplTest extends NbTestCase {
assertEquals("1.8", slqr.getSourceLevel());
assertEquals("1.6", testSlqr.getSourceLevel());
}
+
+ public void testMavenConfigReactor() throws Exception {
+ writeMavenConfig("-Pnew");
+ TestFileUtils.writeFile(wd, "pom.xml",
"<project><modelVersion>4.0.0</modelVersion>"
+ +
"<groupId>test</groupId><artifactId>parent</artifactId><version>1.0</version><packaging>pom</packaging>"
+ + "<modules><module>mod</module></modules>"
+ + "</project>");
+ TestFileUtils.writeFile(wd, "mod/pom.xml",
"<project><modelVersion>4.0.0</modelVersion>"
+ +
"<parent><groupId>test</groupId><artifactId>parent</artifactId><version>1.0</version></parent>"
+ + "<artifactId>prj</artifactId>"
+ +
"<properties><java>1.5</java><testJava>1.5</testJava></properties>"
+ +
"<build><plugins><plugin><artifactId>maven-compiler-plugin</artifactId><version>2.1</version>"
+ +
"<configuration><source>${java}</source><testSource>${testJava}</testSource></configuration></plugin></plugins></build>"
+ + "<profiles>"
+ +
"<profile><id>new</id><properties><java>1.6</java></properties></profile>"
+ + "</profiles>"
+ + "</project>");
+ FileObject source = TestFileUtils.writeFile(wd,
"mod/src/main/java/p/C.java", "package p; class C {}");
+ SourceLevelQuery.Result slqr =
SourceLevelQuery.getSourceLevel2(source);
+ assertEquals("1.6", slqr.getSourceLevel());
+ // TODO listening to changes not yet implemented in FileProvider
+ }
+
private void writeMavenConfig(String text) throws IOException,
InterruptedException {
// Need the touch call, since NbMavenProjectImpl.Updater checks
timestamps.
TestFileUtils.touch(TestFileUtils.writeFile(wd, ".mvn/maven.config",
text), null);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists