Skip to content

Commit b491900

Browse files
authored
Merge pull request #160 from Achal1607/add-patches
Add Netbeans patches to fix relevant issues
2 parents 53b9460 + 6e83da7 commit b491900

File tree

3 files changed

+152
-1
lines changed

3 files changed

+152
-1
lines changed

build.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<property name="nbplatform.default.harness.dir" location="${nbplatform.default.netbeans.dest.dir}/harness" />
3232
<property name="nbantext.jar" location="netbeans/nbbuild/build/nbantext.jar" />
3333
<property name="nb_all" location="netbeans" />
34-
<property name="patches" value="patches/6330.diff patches/6760.diff patches/6834.diff patches/7001.diff patches/6968.diff patches/7104.diff patches/7158.diff patches/mvn-sh.diff patches/rename-debugger.diff patches/generate-dependencies.diff patches/remove-db.diff" />
34+
<property name="patches" value="patches/6330.diff patches/6760.diff patches/6834.diff patches/7001.diff patches/6968.diff patches/7104.diff patches/7158.diff patches/7353.diff patches/7370.diff patches/mvn-sh.diff patches/rename-debugger.diff patches/generate-dependencies.diff patches/remove-db.diff" />
3535
<condition property="cmd.suffix" value=".cmd" else="">
3636
<os family="windows"/>
3737
</condition>

patches/7353.diff

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java
2+
index b33ff46f4643..5e5d10079dae 100644
3+
--- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java
4+
+++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java
5+
@@ -1022,6 +1022,11 @@ public CompletableFuture<List<Either<Command, CodeAction>>> codeAction(CodeActio
6+
if (err.getEndPosition().getOffset() < lineStartOffset || err.getStartPosition().getOffset() > lineEndOffset) {
7+
continue;
8+
}
9+
+ int lineStart = NbDocument.findLineNumber(doc, startOffset);
10+
+ int errStartLine = NbDocument.findLineNumber(doc, err.getStartPosition().getOffset());
11+
+ if(errStartLine != lineStart){
12+
+ continue;
13+
+ }
14+
}
15+
Optional<Diagnostic> diag = diagnostics.stream().filter(d -> entry.getKey().equals(d.getCode().getLeft())).findFirst();
16+
org.netbeans.api.lsp.Diagnostic.LazyCodeActions actions = err.getActions();

patches/7370.diff

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/infrastructure/JavaErrorProvider.java b/java/java.hints/src/org/netbeans/modules/java/hints/infrastructure/JavaErrorProvider.java
2+
index c8725dce9fdb..dbccee227fb5 100644
3+
--- a/java/java.hints/src/org/netbeans/modules/java/hints/infrastructure/JavaErrorProvider.java
4+
+++ b/java/java.hints/src/org/netbeans/modules/java/hints/infrastructure/JavaErrorProvider.java
5+
@@ -206,7 +206,7 @@ private static List<CodeAction> convertFixes(ErrorDescription err, Consumer<Exce
6+
for (Fix f : fixes) {
7+
if (f instanceof IncompleteClassPath.ResolveFix) {
8+
// We know that this is a project problem and that the problems reported by ProjectProblemsProvider should be resolved
9+
- CodeAction action = new CodeAction(f.getText(), new Command(f.getText(), "nbls.java.project.resolveProjectProblems"));
10+
+ CodeAction action = new CodeAction(f.getText(), new Command(f.getText(), "nbls.project.resolveProjectProblems"));
11+
result.add(action);
12+
}
13+
if (f instanceof org.netbeans.modules.java.hints.errors.EnablePreview.ResolveFix) {
14+
diff --git a/java/maven/src/org/netbeans/modules/maven/problems/MavenModelProblemsProvider.java b/java/maven/src/org/netbeans/modules/maven/problems/MavenModelProblemsProvider.java
15+
index 333d7a9cdf15..8b6da8d7d23b 100644
16+
--- a/java/maven/src/org/netbeans/modules/maven/problems/MavenModelProblemsProvider.java
17+
+++ b/java/maven/src/org/netbeans/modules/maven/problems/MavenModelProblemsProvider.java
18+
@@ -74,6 +74,7 @@
19+
import org.openide.util.RequestProcessor;
20+
import org.openide.util.lookup.Lookups;
21+
import org.netbeans.modules.maven.InternalActionDelegate;
22+
+import org.netbeans.modules.maven.problems.SanityBuildAction.SanityBuildNeededChecker;
23+
import org.openide.util.Pair;
24+
25+
/**
26+
@@ -85,9 +86,10 @@
27+
@ProjectServiceProvider(service = {
28+
ProjectProblemsProvider.class,
29+
InternalActionDelegate.class,
30+
+ SanityBuildNeededChecker.class,
31+
}, projectType = "org-netbeans-modules-maven"
32+
)
33+
-public class MavenModelProblemsProvider implements ProjectProblemsProvider, InternalActionDelegate {
34+
+public class MavenModelProblemsProvider implements ProjectProblemsProvider, InternalActionDelegate, SanityBuildNeededChecker {
35+
static final RequestProcessor RP = new RequestProcessor(MavenModelProblemsProvider.class);
36+
private static final Logger LOG = Logger.getLogger(MavenModelProblemsProvider.class.getName());
37+
38+
diff --git a/java/maven/src/org/netbeans/modules/maven/problems/SanityBuildAction.java b/java/maven/src/org/netbeans/modules/maven/problems/SanityBuildAction.java
39+
index a944f782ab65..d964f5f4a218 100644
40+
--- a/java/maven/src/org/netbeans/modules/maven/problems/SanityBuildAction.java
41+
+++ b/java/maven/src/org/netbeans/modules/maven/problems/SanityBuildAction.java
42+
@@ -23,6 +23,7 @@
43+
import java.util.concurrent.CompletableFuture;
44+
import java.util.concurrent.ExecutionException;
45+
import java.util.concurrent.Future;
46+
+import java.util.concurrent.atomic.AtomicInteger;
47+
import java.util.function.Supplier;
48+
import java.util.logging.Level;
49+
import java.util.logging.Logger;
50+
@@ -31,14 +32,17 @@
51+
import org.netbeans.modules.maven.NbMavenProjectImpl;
52+
import org.netbeans.modules.maven.TestChecker;
53+
import org.netbeans.modules.maven.api.NbMavenProject;
54+
+import org.netbeans.modules.maven.api.execute.ExecutionContext;
55+
+import org.netbeans.modules.maven.api.execute.ExecutionResultChecker;
56+
+import org.netbeans.modules.maven.api.execute.RunConfig;
57+
import org.netbeans.modules.maven.api.execute.RunConfig.ReactorStyle;
58+
import org.netbeans.modules.maven.api.execute.RunUtils;
59+
import org.netbeans.modules.maven.execute.BeanRunConfig;
60+
import org.netbeans.modules.maven.execute.MavenProxySupport;
61+
import org.netbeans.modules.maven.execute.MavenProxySupport.ProxyResult;
62+
-import org.netbeans.modules.maven.modelcache.MavenProjectCache;
63+
import org.netbeans.modules.maven.options.MavenSettings;
64+
import static org.netbeans.modules.maven.problems.Bundle.*;
65+
+import org.netbeans.spi.project.ProjectServiceProvider;
66+
import org.netbeans.spi.project.ui.ProjectProblemResolver;
67+
import org.netbeans.spi.project.ui.ProjectProblemsProvider;
68+
import org.openide.execution.ExecutorTask;
69+
@@ -54,7 +58,8 @@
70+
* to believe that there really is a problem with their project, not NetBeans.
71+
*/
72+
@Messages({"ACT_validate=Priming Build",
73+
- "ACT_PrimingComplete=Priming build was completed",
74+
+ "ACT_PrimingComplete=Priming build was completed.",
75+
+ "ACT_PrimingFailed=Priming build failed. Please check project build output and resolve problems manually.",
76+
"ACT_start_validate=Priming build was started."})
77+
public class SanityBuildAction implements ProjectProblemResolver {
78+
private static final Logger LOG = Logger.getLogger(SanityBuildAction.class.getName());
79+
@@ -116,6 +121,7 @@ public void run() {
80+
}
81+
try {
82+
LOG.log(Level.FINE, "Configuring sanity build");
83+
+ AtomicInteger result = new AtomicInteger();
84+
BeanRunConfig config = new BeanRunConfig();
85+
if (context != null) {
86+
config.setActionContext(context);
87+
@@ -138,6 +144,7 @@ public void run() {
88+
String label = build_label(nbproject.getProjectDirectory().getNameExt());
89+
config.setExecutionName(label);
90+
config.setTaskDisplayName(label);
91+
+ config.setInternalProperty(SanityBuildAction.class.getName(), result);
92+
93+
MavenProxySupport mps = nbproject.getLookup().lookup(MavenProxySupport.class);
94+
if (mps != null) {
95+
@@ -164,7 +171,15 @@ public void run() {
96+
ExecutorTask et = RunUtils.run(config);
97+
if (et != null) {
98+
et.waitFinished();
99+
- ProjectProblemsProvider.Result r = ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.RESOLVED, ACT_start_validate());
100+
+ ProjectProblemsProvider.Result r;
101+
+ if (result.get() == 0 ||
102+
+ // if the build failed, the problem may be in user's sources, rather than in
103+
+ // missing artifacts. Check if sanity build is still needed:
104+
+ !nbproject.getLookup().lookup(SanityBuildNeededChecker.class).isSanityBuildNeeded()) {
105+
+ r = ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.RESOLVED, ACT_PrimingComplete());
106+
+ } else {
107+
+ r = ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.UNRESOLVED, ACT_PrimingFailed());
108+
+ }
109+
LOG.log(Level.FINE, "Sanity build of {0} finished, took {1} ms.", new Object[] { nbproject, System.currentTimeMillis() - t});
110+
publicResult.complete(r);
111+
}
112+
@@ -210,5 +225,22 @@ public boolean equals(Object obj) {
113+
return true;
114+
}
115+
116+
-
117+
+
118+
+ @ProjectServiceProvider(service=ExecutionResultChecker.class, projectType="org-netbeans-modules-maven")
119+
+ public static class ResultChecker implements ExecutionResultChecker {
120+
+
121+
+ @Override
122+
+ public void executionResult(RunConfig config, ExecutionContext res, int resultCode) {
123+
+ Object resultObj = config.getInternalProperties().get(SanityBuildAction.class.getName());
124+
+ if (!(resultObj instanceof AtomicInteger)) {
125+
+ return ;
126+
+ }
127+
+ AtomicInteger result = (AtomicInteger) resultObj;
128+
+ result.set(resultCode);
129+
+ }
130+
+ }
131+
+
132+
+ public interface SanityBuildNeededChecker {
133+
+ public boolean isSanityBuildNeeded();
134+
+ }
135+
}

0 commit comments

Comments
 (0)