Skip to content

Commit

Permalink
Merge pull request #7015 from apache/delivery
Browse files Browse the repository at this point in the history
Sync delivery to release210 for 21-rc3
  • Loading branch information
neilcsmith-net committed Feb 7, 2024
2 parents 61d71a2 + 8a08acc commit 115308a
Show file tree
Hide file tree
Showing 16 changed files with 76 additions and 46 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -907,9 +907,7 @@ jobs:
java-version: 17
distribution: ${{ env.default_java_distribution }}

# TODO fix JDK 21 incompatibilites
- name: java/java.mx.project
continue-on-error: ${{ github.event_name != 'pull_request' }}
run: .github/retry.sh ant $OPTS -f java/java.mx.project test

- name: java/gradle.java
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public final class GradleDistributionManager {
private static final Pattern DIST_VERSION_PATTERN = Pattern.compile(".*(gradle-(\\d+\\.\\d+.*))-(bin|all)\\.zip"); //NOI18N
private static final Set<String> VERSION_BLACKLIST = new HashSet<>(Arrays.asList("2.3", "2.13")); //NOI18N
private static final Map<File, GradleDistributionManager> CACHE = new WeakHashMap<>();
private static final GradleVersion MINIMUM_SUPPORTED_VERSION = GradleVersion.version("2.0"); //NOI18N
private static final GradleVersion MINIMUM_SUPPORTED_VERSION = GradleVersion.version("3.0"); //NOI18N
private static final GradleVersion[] JDK_COMPAT = new GradleVersion[]{
GradleVersion.version("4.2.1"), // JDK-9
GradleVersion.version("4.7"), // JDK-10
Expand All @@ -103,6 +103,8 @@ public final class GradleDistributionManager {
GradleVersion.version("8.5"), // JDK-21
};

private static final GradleVersion LAST_KNOWN_GRADLE = GradleVersion.version("8.6"); //NOI18N

final File gradleUserHome;

private GradleDistributionManager(File gradleUserHome) {
Expand Down Expand Up @@ -496,10 +498,9 @@ public String getVersion() {
*/
public boolean isCompatibleWithJava(int jdkMajorVersion) {

GradleVersion lastKnown = JDK_COMPAT[JDK_COMPAT.length - 1];
// Optimistic bias, if the GradleVersion is newer than the last NB
// knows, we say it's compatible with any JDK
return lastKnown.compareTo(version.getBaseVersion()) < 0
return LAST_KNOWN_GRADLE.compareTo(version.getBaseVersion()) < 0
|| jdkMajorVersion <= lastSupportedJava();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
import org.netbeans.modules.gradle.ProjectTrust;
import org.netbeans.modules.gradle.api.GradleProjects;
import org.netbeans.modules.gradle.api.NbGradleProject.Quality;
import org.netbeans.modules.gradle.spi.GradleSettings;
import org.openide.loaders.DataFolder;
import org.openide.loaders.DataObject;
import org.openide.util.Exceptions;
Expand Down Expand Up @@ -314,7 +315,11 @@ public Set<FileObject> execute() {
args.add(projectName);
}

pconn.newBuild().withArguments("--offline").forTasks(args.toArray(new String[0])).run(); //NOI18N
if (GradleSettings.getDefault().isOffline()) {
pconn.newBuild().withArguments("--offline").forTasks(args.toArray(new String[0])).run(); //NOI18N
} else {
pconn.newBuild().forTasks(args.toArray(new String[0])).run();
}
} catch (GradleConnectionException | IllegalStateException ex) {
Exceptions.printStackTrace(ex);
}
Expand Down Expand Up @@ -488,7 +493,11 @@ public Set<FileObject> execute() {
args.add("--gradle-version"); //NOI18N
args.add(version);
}
pconn.newBuild().withArguments("--offline").forTasks(args.toArray(new String[0])).run(); //NOI18N
if (GradleSettings.getDefault().isOffline()) {
pconn.newBuild().withArguments("--offline").forTasks(args.toArray(new String[0])).run(); //NOI18N
} else {
pconn.newBuild().forTasks(args.toArray(new String[0])).run();
}
} catch (GradleConnectionException | IllegalStateException ex) {
// Well for some reason we were not able to load Gradle.
// Ignoring that for now
Expand Down
2 changes: 1 addition & 1 deletion extide/libs.gradle/external/binaries-list
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.

ADAA3E825C608D2428888126CF4D1DDD5B5203D6 https://repo.gradle.org/artifactory/libs-releases/org/gradle/gradle-tooling-api/8.4/gradle-tooling-api-8.4.jar gradle-tooling-api-8.4.jar
1B1A733327BD5EFE9813DD0590C21865C0EDC954 https://repo.gradle.org/artifactory/libs-releases/org/gradle/gradle-tooling-api/8.6/gradle-tooling-api-8.6.jar gradle-tooling-api-8.6.jar
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Name: Gradle Tooling API
Description: Gradle Tooling API
Version: 8.4
Files: gradle-tooling-api-8.4.jar
Version: 8.6
Files: gradle-tooling-api-8.6.jar
License: Apache-2.0
Origin: Gradle Inc.
URL: https://gradle.org/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Gradle Inc.'s Gradle Tooling API
Copyright 2007-2023 Gradle Inc.
Copyright 2007-2024 Gradle Inc.

This product includes software developed at
Gradle Inc. (https://gradle.org/).

This product includes/uses SLF4J (https://www.slf4j.org/)
developed by QOS.ch, 2004-2023
developed by QOS.ch, 2004-2024
2 changes: 1 addition & 1 deletion extide/libs.gradle/manifest.mf
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ Manifest-Version: 1.0
AutoUpdate-Show-In-Client: false
OpenIDE-Module: org.netbeans.modules.libs.gradle/8
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/libs/gradle/Bundle.properties
OpenIDE-Module-Specification-Version: 8.5
OpenIDE-Module-Specification-Version: 8.6
2 changes: 1 addition & 1 deletion extide/libs.gradle/nbproject/project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ javac.compilerargs=-Xlint -Xlint:-serial
# For more information, please see http://wiki.netbeans.org/SignatureTest
sigtest.gen.fail.on.error=false

release.external/gradle-tooling-api-8.4.jar=modules/gradle/gradle-tooling-api.jar
release.external/gradle-tooling-api-8.6.jar=modules/gradle/gradle-tooling-api.jar
2 changes: 1 addition & 1 deletion extide/libs.gradle/nbproject/project.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
</public-packages>
<class-path-extension>
<runtime-relative-path>gradle/gradle-tooling-api.jar</runtime-relative-path>
<binary-origin>external/gradle-tooling-api-8.4.jar</binary-origin>
<binary-origin>external/gradle-tooling-api-8.6.jar</binary-origin>
</class-path-extension>
</data>
</configuration>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ public DiffContentPanel(EditableDiffView master, boolean isFirst) {
add(scrollPane);

linesActions = new LineNumbersActionsBar(this, master.isActionsEnabled());
linesActions.addMouseWheelListener(e -> editorPane.dispatchEvent(e)); // delegate mouse scroll events to editor

actionsScrollPane = new JScrollPane(linesActions);
actionsScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
actionsScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
Expand Down Expand Up @@ -149,6 +151,7 @@ public void setCurrentDiff(Difference[] currentDiff) {
// revalidate();
}

@Override
public Dimension getPreferredSize() {
Dimension d = super.getPreferredSize();
Container parent = getParent();
Expand All @@ -164,6 +167,7 @@ public DecoratedEditorPane getEditorPane() {
return editorPane;
}

@Override
public AccessibleContext getAccessibleContext() {
return editorPane.getAccessibleContext();
}
Expand All @@ -178,18 +182,21 @@ HighlightsContainer getHighlightsContainer() {
return this;
}

@Override
public HighlightsSequence getHighlights(int start, int end) {
return new DiffHighlightsSequence(start, end);
}

private final List<HighlightsChangeListener> listeners = new ArrayList<HighlightsChangeListener>(1);
private final List<HighlightsChangeListener> listeners = new ArrayList<>(1);

@Override
public void addHighlightsChangeListener(HighlightsChangeListener listener) {
synchronized(listeners) {
listeners.add(listener);
}
}

@Override
public void removeHighlightsChangeListener(HighlightsChangeListener listener) {
synchronized(listeners) {
listeners.remove(listener);
Expand Down Expand Up @@ -229,6 +236,7 @@ public void setCustomEditor(JComponent c) {
c.setFocusTraversalPolicyProvider(true);
}

@Override
public Lookup getLookup() {
return Lookups.singleton(getActionMap());
}
Expand Down Expand Up @@ -261,30 +269,34 @@ public DiffHighlightsSequence(int start, int end) {
}

private void lookupHilites() {
List<DiffViewManager.HighLight> list = new ArrayList<DiffViewManager.HighLight>();
List<DiffViewManager.HighLight> list = new ArrayList<>();
DiffViewManager.HighLight[] allHilites = isFirst ? master.getManager().getFirstHighlights() : master.getManager().getSecondHighlights();
for (DiffViewManager.HighLight hilite : allHilites) {
if (hilite.getEndOffset() < startOffset) continue;
if (hilite.getStartOffset() > endOffset) break;
list.add(hilite);
}
hilites = list.toArray(new DiffViewManager.HighLight[list.size()]);
hilites = list.toArray(new DiffViewManager.HighLight[0]);
}

@Override
public boolean moveNext() {
if (currentHiliteIndex >= hilites.length - 1) return false;
currentHiliteIndex++;
return true;
}

@Override
public int getStartOffset() {
return Math.max(hilites[currentHiliteIndex].getStartOffset(), this.startOffset);
}

@Override
public int getEndOffset() {
return Math.min(hilites[currentHiliteIndex].getEndOffset(), this.endOffset);
}

@Override
public AttributeSet getAttributes() {
return hilites[currentHiliteIndex].getAttrs();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@ static void collectOperationsForType(Map<String, Object> params, TemplateOperati
final File root = new File(loc, name);

ops.createGradleInit(root, type).basePackage(packageBase).projectName(name).dsl("groovy").add(); // NOI18N
ops.addProjectPreload(root);
ops.addProjectPreload(new File(root, subFolder));

Boolean initWrapper = (Boolean) params.get(PROP_INIT_WRAPPER);
if (initWrapper == null || initWrapper) {
Expand All @@ -76,6 +74,10 @@ static void collectOperationsForType(Map<String, Object> params, TemplateOperati
} else {
// @TODO delete wrapper added by init?
}

ops.addProjectPreload(root);
ops.addProjectPreload(new File(root, subFolder));

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,15 @@ private MxSuite parseImpl(URL u) throws IOException {
if (line == null) {
break;
}
sb.append(jsonify(line)).append("\n");
line = line.replaceAll("(\\s*)#.*", "$1");
sb.append(line).append("\n");
}
}
String text = jsonify(sb.toString());
Object value;
try {
final JSONParser p = new JSONParser();
value = p.parse(sb.toString());
value = p.parse(text);
} catch (ParseException ex) {
throw new IOException("Cannot parse " + u, ex);
}
Expand All @@ -78,9 +80,8 @@ private MxSuite parseImpl(URL u) throws IOException {
}

private static String jsonify(String content) {
String text = content.replaceFirst("^suite *= *\\{", "{");
String text = content.replaceFirst("\\s*suite *= *\\{", "{");
text = text.replace("True", "true").replace("False", "false");
text = text.replaceAll("(\\s*)#.*", "$1");
text = text.replaceAll(",\\s*(\\]|\\})", "$1");
text = replaceQuotes("\"\"\"", text);
text = replaceQuotes("'''", text);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
Expand All @@ -39,7 +40,7 @@ public void generateCoreSuite() {

public static void main(String... args) throws Exception {
// mx version "5.279.0"
URL u = new URL("https://raw.githubusercontent.com/graalvm/mx/dcfad27487a5d13d406febc92976cf3c026e50dd/mx.mx/suite.py");
URL u = new URI("https://raw.githubusercontent.com/graalvm/mx/dcfad27487a5d13d406febc92976cf3c026e50dd/mx.mx/suite.py").toURL();
assert u != null : "mx suite found";
MxSuite mxSuite = MxSuite.parse(u);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,21 @@

import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertTrue;
import org.netbeans.api.java.queries.BinaryForSourceQuery;
import org.netbeans.api.java.queries.SourceForBinaryQuery;
import org.netbeans.api.project.Project;
import org.netbeans.api.project.ProjectManager;
import org.netbeans.api.project.ProjectUtils;
import org.netbeans.api.project.SourceGroup;
import org.netbeans.api.project.Sources;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;

Expand All @@ -50,31 +57,27 @@ public void testRootsForAnSdkJar() throws Exception {
FileObject fo = FileUtil.toFileObject(sdkSibling);
assertNotNull("project directory found", fo);

FileObject graalSdkJar = FileUtil.createData(fo, "mxbuild/dists/jdk1.8/graal-sdk.jar");
assertNotNull(graalSdkJar);

Project p = ProjectManager.getDefault().findProject(fo);
assertNotNull("project found", p);
assertEquals("It is suite project: " + p, "SuiteProject", p.getClass().getSimpleName());
Sources src = ProjectUtils.getSources(p);
List<FileObject> resultRoots = new ArrayList<>();
for (SourceGroup sourceGroup : src.getSourceGroups("java")) {
BinaryForSourceQuery.Result binaryResult = BinaryForSourceQuery.findBinaryRoots(sourceGroup.getRootFolder().toURL());
for (URL r : binaryResult.getRoots()) {
SourceForBinaryQuery.Result2 result2 = SourceForBinaryQuery.findSourceRoots2(r);
final FileObject[] rr = result2.getRoots();
resultRoots.addAll(Arrays.asList(rr));
}
}

final URL archiveURL = new URL("jar:" + graalSdkJar.toURL() + "!/");

SourceForBinaryQuery.Result2 result2 = SourceForBinaryQuery.findSourceRoots2(archiveURL);
final FileObject[] resultRoots = result2.getRoots();
assertTrue("There should be some roots", resultRoots.length > 0);
assertTrue("There should be some roots", !resultRoots.isEmpty());

Set<FileObject> expected = new HashSet<>();
for (FileObject ch : fo.getFileObject("src").getChildren()) {
if (ch.getNameExt().endsWith(".test")) {
// tests are not in graal-sdk.jar
continue;
}
if (ch.getNameExt().endsWith(".tck")) {
// TCK is not in graal-sdk.jar
continue;
}
if (ch.getNameExt().contains("org.graalvm.launcher")) {
// launcher is not in graal-sdk.jar
String name = ch.getNameExt();
if (name.equals("org.graalvm.launcher.native") || name.equals("org.graalvm.toolchain.test")) {
// Not a Java code
continue;
}
expected.add(ch);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -313,10 +313,11 @@ public String getHintJavaPlatform() {
public @NonNull MavenProject loadMavenProject(MavenEmbedder embedder, List<String> activeProfiles, Properties properties) {
ProjectActionContext.Builder b = ProjectActionContext.newBuilder(this).
withProfiles(activeProfiles);
for (String pn : properties.stringPropertyNames()) {
b.withProperty(pn, properties.getProperty(pn));
if (properties != null) {
for (String pn : properties.stringPropertyNames()) {
b.withProperty(pn, properties.getProperty(pn));
}
}

return MavenProjectCache.loadMavenProject(projectFile,
b.context(), null);
/*
Expand Down
2 changes: 2 additions & 0 deletions nbbuild/jms-config/desktop.flags
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED
--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED
--add-opens=java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED
--add-opens=java.desktop/com.apple.laf=ALL-UNNAMED
--add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED
--add-opens=java.desktop/sun.awt.im=ALL-UNNAMED
--add-exports=java.desktop/sun.awt=ALL-UNNAMED
Expand Down

0 comments on commit 115308a

Please sign in to comment.