diff --git a/BUILDING.txt b/BUILDING.txt
index a77d6c8add..8b09ad5d3f 100644
--- a/BUILDING.txt
+++ b/BUILDING.txt
@@ -1,4 +1,4 @@
- Last Updated: 1 February 2019
+ Last Updated: 5 August 2020
This file outlines what it takes to build Autopsy from source.
@@ -15,14 +15,13 @@ STEPS:
that we use, you'll need 1.8.0_66 or greater. You can now use 32-bit or 64-bit,
but special work is needed to get The Sleuth Kit to compile as 64-bit.
-Autopsy has been used and tested with Oracle JavaSE and the included JavaFX support
-(http://www.oracle.com/technetwork/java/javase/downloads/index.html).
+Autopsy has been used and tested with the following OpenJDK build
+(https://github.com/ojdkbuild/ojdkbuild/releases/tag/java-1.8.0-openjdk-1.8.0.222-1.b10).
-OpenJDK and OpenJFX might work, but they are not fully tested with Autopsy.
1b) Ensure that JDK_HOME is set to the root JDK directory.
-1c) (optional) Download and install Netbeans IDE (http://netbeans.org/)
+1c) (optional) Download and install Netbeans IDE (https://netbeans.apache.org/download/index.html)
Note: Netbeans IDE is not required to build and run Autopsy,
but it is a recommended IDE to use for development of Autopsy modules.
diff --git a/Core/nbproject/project.xml b/Core/nbproject/project.xml
index 3b6c247424..19c863e6b7 100644
--- a/Core/nbproject/project.xml
+++ b/Core/nbproject/project.xml
@@ -6,24 +6,6 @@
org.sleuthkit.autopsy.core
-
- org.jdesktop.beansbinding
-
-
-
- 1
- 1.27.1.121
-
-
-
- org.jdesktop.layout
-
-
-
- 1
- 1.33.1
-
-
org.netbeans.api.progress
@@ -581,6 +563,14 @@
ext/sleuthkit-caseuco-4.10.0.jar
release\modules\ext\sleuthkit-caseuco-4.10.0.jar
+
+ ext/sleuthkit-4.10.0.jar
+ release/modules/ext/sleuthkit-4.10.0.jar
+
+
+ ext/sleuthkit-caseuco-4.10.0.jar
+ release/modules/ext/sleuthkit-caseuco-4.10.0.jar
+
ext/gax-1.44.0.jar
release\modules\ext\gax-1.44.0.jar
diff --git a/Core/src/org/sleuthkit/autopsy/communications/VisualizationPanel.java b/Core/src/org/sleuthkit/autopsy/communications/VisualizationPanel.java
index 51005878ec..cae5b85549 100644
--- a/Core/src/org/sleuthkit/autopsy/communications/VisualizationPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/communications/VisualizationPanel.java
@@ -78,6 +78,7 @@ import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javax.swing.AbstractAction;
+import javax.swing.GroupLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
@@ -93,7 +94,6 @@ import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;
import org.apache.commons.lang3.StringUtils;
import org.controlsfx.control.Notifications;
-import org.jdesktop.layout.GroupLayout;
import org.openide.util.NbBundle;
import org.openide.windows.WindowManager;
import org.sleuthkit.autopsy.casemodule.Case;
@@ -162,7 +162,9 @@ final public class VisualizationPanel extends JPanel {
this.relationshipBrowser = relationshipBrowser;
initComponents();
//initialize invisible JFXPanel that is used to show JFXNotifications over this window.
- notificationsJFXPanel.setScene(new Scene(new Pane()));
+ Platform.runLater(() -> {
+ notificationsJFXPanel.setScene(new Scene(new Pane()));
+ });
graph = new CommunicationsGraph(pinnedAccountModel, lockedVertexModel);
@@ -403,16 +405,16 @@ final public class VisualizationPanel extends JPanel {
GroupLayout placeHolderPanelLayout = new GroupLayout(placeHolderPanel);
placeHolderPanel.setLayout(placeHolderPanelLayout);
- placeHolderPanelLayout.setHorizontalGroup(placeHolderPanelLayout.createParallelGroup(GroupLayout.LEADING)
- .add(placeHolderPanelLayout.createSequentialGroup()
+ placeHolderPanelLayout.setHorizontalGroup(placeHolderPanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(placeHolderPanelLayout.createSequentialGroup()
.addContainerGap(316, Short.MAX_VALUE)
- .add(jTextArea1, GroupLayout.PREFERRED_SIZE, 424, GroupLayout.PREFERRED_SIZE)
+ .addComponent(jTextArea1, GroupLayout.PREFERRED_SIZE, 424, GroupLayout.PREFERRED_SIZE)
.addContainerGap(481, Short.MAX_VALUE))
);
- placeHolderPanelLayout.setVerticalGroup(placeHolderPanelLayout.createParallelGroup(GroupLayout.LEADING)
- .add(placeHolderPanelLayout.createSequentialGroup()
+ placeHolderPanelLayout.setVerticalGroup(placeHolderPanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
+ .addGroup(placeHolderPanelLayout.createSequentialGroup()
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .add(jTextArea1, GroupLayout.PREFERRED_SIZE, 47, GroupLayout.PREFERRED_SIZE)
+ .addComponent(jTextArea1, GroupLayout.PREFERRED_SIZE, 47, GroupLayout.PREFERRED_SIZE)
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/ExecUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/ExecUtil.java
index fc02b0e9f4..469cb24d04 100644
--- a/Core/src/org/sleuthkit/autopsy/coreutils/ExecUtil.java
+++ b/Core/src/org/sleuthkit/autopsy/coreutils/ExecUtil.java
@@ -18,7 +18,6 @@
*/
package org.sleuthkit.autopsy.coreutils;
-import com.sun.javafx.PlatformUtil;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
@@ -28,6 +27,7 @@ import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
+import org.apache.commons.lang3.SystemUtils;
import org.sleuthkit.autopsy.core.UserPreferences;
/**
@@ -238,7 +238,7 @@ public final class ExecUtil {
}
try {
- if (PlatformUtil.isWindows()) {
+ if (SystemUtils.IS_OS_WINDOWS) {
Win32Process parentProcess = new Win32Process(process);
List children = parentProcess.getChildren();
diff --git a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestModule.java b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestModule.java
index 8fd2bc331a..63d47a2b38 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestModule.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestModule.java
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.logging.Level;
import javax.xml.bind.DatatypeConverter;
import java.util.Arrays;
+import org.apache.commons.codec.binary.Hex;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.ingest.DataSourceIngestModule;
import org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress;
@@ -252,7 +253,7 @@ public class DataSourceIntegrityIngestModule implements DataSourceIngestModule {
// Produce the final hashes
for(HashData hashData:hashDataList) {
- hashData.calculatedHash = DatatypeConverter.printHexBinary(hashData.digest.digest()).toLowerCase();
+ hashData.calculatedHash = Hex.encodeHexString(hashData.digest.digest()).toLowerCase();
logger.log(Level.INFO, "Hash calculated from {0}: {1}", new Object[]{imgName, hashData.calculatedHash}); //NON-NLS
}
diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/CustomFileTypesManager.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/CustomFileTypesManager.java
index 0a933fe53b..ed52cc0fb0 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/CustomFileTypesManager.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/CustomFileTypesManager.java
@@ -26,8 +26,9 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.DatatypeConverter;
import javax.xml.parsers.ParserConfigurationException;
+import org.apache.commons.codec.DecoderException;
+import org.apache.commons.codec.binary.Hex;
import org.openide.util.io.NbObjectInputStream;
import org.openide.util.io.NbObjectOutputStream;
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
@@ -166,7 +167,7 @@ final class CustomFileTypesManager {
/*
* Add type for gzip.
*/
- byteArray = DatatypeConverter.parseHexBinary("1F8B"); //NON-NLS
+ byteArray = Hex.decodeHex("1F8B"); //NON-NLS
signatureList.clear();
signatureList.add(new Signature(byteArray, 0L));
fileType = new FileType("application/x-gzip", signatureList); //NON-NLS
@@ -175,7 +176,7 @@ final class CustomFileTypesManager {
/*
* Add type for wk1.
*/
- byteArray = DatatypeConverter.parseHexBinary("0000020006040600080000000000"); //NON-NLS
+ byteArray = Hex.decodeHex("0000020006040600080000000000"); //NON-NLS
signatureList.clear();
signatureList.add(new Signature(byteArray, 0L));
fileType = new FileType("application/x-123", signatureList); //NON-NLS
@@ -184,7 +185,7 @@ final class CustomFileTypesManager {
/*
* Add type for Radiance images.
*/
- byteArray = DatatypeConverter.parseHexBinary("233F52414449414E43450A");//NON-NLS
+ byteArray = Hex.decodeHex("233F52414449414E43450A");//NON-NLS
signatureList.clear();
signatureList.add(new Signature(byteArray, 0L));
fileType = new FileType("image/vnd.radiance", signatureList); //NON-NLS
@@ -193,7 +194,7 @@ final class CustomFileTypesManager {
/*
* Add type for dcx images.
*/
- byteArray = DatatypeConverter.parseHexBinary("B168DE3A"); //NON-NLS
+ byteArray = Hex.decodeHex("B168DE3A"); //NON-NLS
signatureList.clear();
signatureList.add(new Signature(byteArray, 0L));
fileType = new FileType("image/x-dcx", signatureList); //NON-NLS
@@ -210,7 +211,7 @@ final class CustomFileTypesManager {
/*
* Add type for pict images.
*/
- byteArray = DatatypeConverter.parseHexBinary("001102FF"); //NON-NLS
+ byteArray = Hex.decodeHex("001102FF"); //NON-NLS
signatureList.clear();
signatureList.add(new Signature(byteArray, 522L));
fileType = new FileType("image/x-pict", signatureList); //NON-NLS
@@ -251,7 +252,7 @@ final class CustomFileTypesManager {
/*
* Add type for tga.
*/
- byteArray = DatatypeConverter.parseHexBinary("54525545564953494F4E2D5846494C452E00"); //NON-NLS
+ byteArray = Hex.decodeHex("54525545564953494F4E2D5846494C452E00"); //NON-NLS
signatureList.clear();
signatureList.add(new Signature(byteArray, 17, false));
fileType = new FileType("image/x-tga", signatureList); //NON-NLS
@@ -311,7 +312,7 @@ final class CustomFileTypesManager {
* Add type for .tec files with leading End Of Image marker (JFIF
* JPEG)
*/
- byteArray = DatatypeConverter.parseHexBinary("FFD9FFD8"); //NON-NLS
+ byteArray = Hex.decodeHex("FFD9FFD8"); //NON-NLS
signatureList.clear();
signatureList.add(new Signature(byteArray, 0L));
fileType = new FileType("image/jpeg", signatureList); //NON-NLS
@@ -321,13 +322,13 @@ final class CustomFileTypesManager {
* Add type for Windows NT registry files with leading End Of Image marker (JFIF
* JPEG)
*/
- byteArray = DatatypeConverter.parseHexBinary("72656766"); //NON-NLS
+ byteArray = Hex.decodeHex("72656766"); //NON-NLS
signatureList.clear();
signatureList.add(new Signature(byteArray, 0L));
fileType = new FileType("application/x.windows-registry", signatureList); //NON-NLS
autopsyDefinedFileTypes.add(fileType);
- } catch (IllegalArgumentException ex) {
+ } catch (DecoderException ex) {
/*
* parseHexBinary() throws this if the argument passed in is not hex
*/
@@ -424,7 +425,7 @@ final class CustomFileTypesManager {
}
}
return fileTypes;
- } catch (IOException | ParserConfigurationException | SAXException ex) {
+ } catch (IOException | ParserConfigurationException | SAXException | DecoderException ex) {
throw new CustomFileTypesException(String.format("Failed to read ssettings from %s", filePath), ex); //NON-NLS
}
}
@@ -441,7 +442,7 @@ final class CustomFileTypesManager {
* @throws NumberFormatException if there is a problem parsing the file
* type.
*/
- private static FileType parseFileType(Element fileTypeElem) throws IllegalArgumentException, NumberFormatException {
+ private static FileType parseFileType(Element fileTypeElem) throws DecoderException, NumberFormatException {
String mimeType = parseMimeType(fileTypeElem);
Signature signature = parseSignature(fileTypeElem);
// File type definitions in the XML file were written prior to the
@@ -469,7 +470,7 @@ final class CustomFileTypesManager {
*
* @return The signature.
*/
- private static Signature parseSignature(Element fileTypeElem) throws IllegalArgumentException, NumberFormatException {
+ private static Signature parseSignature(Element fileTypeElem) throws DecoderException, NumberFormatException {
NodeList signatureElems = fileTypeElem.getElementsByTagName(SIGNATURE_TAG_NAME);
Element signatureElem = (Element) signatureElems.item(0);
@@ -477,18 +478,18 @@ final class CustomFileTypesManager {
Signature.Type signatureType = Signature.Type.valueOf(sigTypeAttribute);
String sigBytesString = getChildElementTextContent(signatureElem, BYTES_TAG_NAME);
- byte[] signatureBytes = DatatypeConverter.parseHexBinary(sigBytesString);
+ byte[] signatureBytes = Hex.decodeHex(sigBytesString);
Element offsetElem = (Element) signatureElem.getElementsByTagName(OFFSET_TAG_NAME).item(0);
String offsetString = offsetElem.getTextContent();
- long offset = DatatypeConverter.parseLong(offsetString);
+ long offset = Long.parseLong(offsetString);
boolean isRelativeToStart;
String relativeString = offsetElem.getAttribute(RELATIVE_ATTRIBUTE);
if (null == relativeString || relativeString.equals("")) {
isRelativeToStart = true;
} else {
- isRelativeToStart = DatatypeConverter.parseBoolean(relativeString);
+ isRelativeToStart = Boolean.parseBoolean(relativeString);
}
return new Signature(signatureBytes, offset, signatureType, isRelativeToStart);
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/utils/MappedList.java b/Core/src/org/sleuthkit/autopsy/timeline/utils/MappedList.java
index 9e2ab30ddd..c40b0c4d26 100755
--- a/Core/src/org/sleuthkit/autopsy/timeline/utils/MappedList.java
+++ b/Core/src/org/sleuthkit/autopsy/timeline/utils/MappedList.java
@@ -112,4 +112,9 @@ public class MappedList extends TransformationList {
});
}
+ @Override
+ public int getViewIndex(int index) {
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+ }
+
}
diff --git a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/SigarLoader.java b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/SigarLoader.java
index 12a135c6e1..4995943097 100644
--- a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/SigarLoader.java
+++ b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/SigarLoader.java
@@ -18,7 +18,7 @@
*/
package org.sleuthkit.autopsy.corelibs;
-import com.sun.javafx.PlatformUtil;
+import org.apache.commons.lang3.SystemUtils;
import org.hyperic.sigar.Sigar;
import org.openide.util.NbBundle;
@@ -43,7 +43,7 @@ public class SigarLoader {
if (sigar == null) {
try {
//rely on netbeans / jna to locate the lib variation for architecture/OS
- if (PlatformUtil.isWindows()) {
+ if (SystemUtils.IS_OS_WINDOWS) {
System.loadLibrary("libsigar"); //NON-NLS
} else {
System.loadLibrary("sigar"); //NON-NLS
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/FileExporterSettingsPanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/FileExporterSettingsPanel.java
index 001ad7271d..0fa181ebb5 100644
--- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/FileExporterSettingsPanel.java
+++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/FileExporterSettingsPanel.java
@@ -80,6 +80,7 @@ import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import javax.swing.DefaultListModel;
+import javax.swing.tree.TreeNode;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
@@ -1322,10 +1323,10 @@ public final class FileExporterSettingsPanel extends JPanel {
*/
private TreePath findTreePathByRuleAndArtifactClauseName(String ruleName, String clauseName) {
@SuppressWarnings("unchecked")
- Enumeration enumeration = rootNode.preorderEnumeration();
+ Enumeration enumeration = rootNode.preorderEnumeration();
boolean insideRule = false;
while (enumeration.hasMoreElements()) {
- DefaultMutableTreeNode node = enumeration.nextElement();
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) enumeration.nextElement();
Item item = (Item) node.getUserObject();
if (item.getItemType() == ItemType.RULE) {
insideRule = node.toString().equalsIgnoreCase(ruleName);
@@ -1349,9 +1350,9 @@ public final class FileExporterSettingsPanel extends JPanel {
*/
private TreePath findTreePathByRuleName(String ruleName) {
@SuppressWarnings("unchecked")
- Enumeration enumeration = rootNode.depthFirstEnumeration();
+ Enumeration enumeration = rootNode.depthFirstEnumeration();
while (enumeration.hasMoreElements()) {
- DefaultMutableTreeNode node = enumeration.nextElement();
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) enumeration.nextElement();
if (node.toString().equalsIgnoreCase(ruleName)) {
return new TreePath(node.getPath());
}
diff --git a/README.txt b/README.txt
index 7917b66382..37da8d3028 100644
--- a/README.txt
+++ b/README.txt
@@ -46,9 +46,9 @@ JRE (Java Runtime Environment) 1.8
- Web page: http://www.oracle.com/technetwork/java/index.html
- License: http://www.oracle.com/technetwork/java/javase/terms/license/index.html
-Netbeans 8.0.2 RCP platform and .jar files bundled with the platform
-- Web page: http://netbeans.org/features/platform/
-- License: https://netbeans.org/downloads/jdk-bundle/8.0.2/nb802-LICENSE.txt
+Netbeans 11.3 RCP platform and .jar files bundled with the platform
+- Web page: https://netbeans.apache.org/
+- License: https://www.apache.org/licenses/LICENSE-2.0
Sleuth Kit for analyzing disk images.
- Web page: http://www.sleuthkit.org/sleuthkit/
diff --git a/build.xml b/build.xml
index 740f8b82ad..b85c3255fe 100644
--- a/build.xml
+++ b/build.xml
@@ -4,26 +4,23 @@
Builds the module suite Autopsy 4.
-
+
-
+
-
-
-
-
-
+
+
diff --git a/nbproject/platform.properties b/nbproject/platform.properties
index b03c3b5199..69cd01d052 100644
--- a/nbproject/platform.properties
+++ b/nbproject/platform.properties
@@ -1,136 +1,341 @@
branding.token=autopsy
# Version of platform that is automatically downloaded
# IMPORTANT: autopsy/build.xml has a netbeans-plat-version property that MUST be kept in sync (manually)
-netbeans-plat-version=8.2
+netbeans-plat-version=11.3
suite.dir=${basedir}
+
+nbplatform.active=download
nbplatform.active.dir=${suite.dir}/netbeans-plat/${netbeans-plat-version}
harness.dir=${nbplatform.active.dir}/harness
-bootstrap.url=http://bits.netbeans.org/dev/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/netbeans/harness/tasks.jar
+bootstrap.url=http://netbeans.apache.org/nb/updates/${netbeans-plat-version}/tasks.jar
# Where we get the platform from. To see what versions are available, open URL in browser up to the .../updates part of the URL
-autoupdate.catalog.url=https://updates.netbeans.org/netbeans/updates/${netbeans-plat-version}/uc/final/distribution/catalog.xml.gz
+autoupdate.catalog.url=http://netbeans-vm.apache.org/uc/${netbeans-plat-version}/updates.xml.gz
cluster.path=\
${nbplatform.active.dir}/harness:\
${nbplatform.active.dir}/java:\
${nbplatform.active.dir}/platform:\
${nbplatform.active.dir}/cluster
disabled.modules=\
- org.netbeans.modules.hudson.ant,\
- org.netbeans.libs.cglib,\
- org.netbeans.modules.maven.graph,\
- org.netbeans.modules.java.hints.declarative.test,\
- org.netbeans.libs.javacapi,\
- org.netbeans.modules.nashorn.execution,\
- org.netbeans.modules.java.metrics,\
- org.netbeans.modules.debugger.jpda.js,\
- org.netbeans.api.java,\
- org.netbeans.modules.debugger.jpda.ant,\
- org.netbeans.modules.java.source.ant,\
- org.netbeans.modules.maven.refactoring,\
- org.netbeans.modules.ant.debugger,\
- org.netbeans.modules.hibernatelib,\
- org.netbeans.modules.hibernate,\
- org.netbeans.lib.nbjavac,\
- org.netbeans.modules.debugger.jpda.kit,\
- org.netbeans.modules.maven.persistence,\
- org.netbeans.modules.javaee.injection,\
- org.netbeans.modules.maven,\
- org.netbeans.modules.performance,\
- org.netbeans.spi.java.hints,\
- org.netbeans.modules.spellchecker.bindings.java,\
- org.netbeans.modules.java.j2seproject,\
- org.netbeans.modules.javawebstart,\
- org.netbeans.modules.debugger.jpda,\
- org.netbeans.modules.ant.grammar,\
- org.netbeans.modules.maven.checkstyle,\
- org.netbeans.modules.java.source.queries,\
- org.netbeans.modules.refactoring.java,\
- org.netbeans.modules.java.examples,\
- org.netbeans.modules.j2ee.jpa.verification,\
- org.netbeans.modules.j2ee.jpa.refactoring,\
- org.netbeans.modules.j2ee.metadata.model.support,\
- org.netbeans.modules.classfile,\
- org.netbeans.modules.maven.coverage,\
- org.netbeans.modules.debugger.jpda.ui,\
- org.netbeans.modules.java.guards,\
- org.netbeans.modules.xml.jaxb,\
- org.netbeans.modules.java.preprocessorbridge,\
- org.netbeans.modules.debugger.jpda.jsui,\
+ org.eclipse.core.contenttype,\
+ org.eclipse.core.jobs,\
+ org.eclipse.core.net,\
+ org.eclipse.core.runtime,\
+ org.eclipse.core.runtime.compatibility.auth,\
+ org.eclipse.equinox.app,\
+ org.eclipse.equinox.common,\
+ org.eclipse.equinox.preferences,\
+ org.eclipse.equinox.registry,\
+ org.eclipse.equinox.security,\
+ org.eclipse.jgit,\
+ org.eclipse.jgit.java7,\
+ org.eclipse.mylyn.bugzilla.core,\
+ org.eclipse.mylyn.commons.core,\
+ org.eclipse.mylyn.commons.net,\
+ org.eclipse.mylyn.commons.repositories.core,\
+ org.eclipse.mylyn.commons.xmlrpc,\
+ org.eclipse.mylyn.tasks.core,\
+ org.eclipse.mylyn.wikitext.confluence.core,\
+ org.eclipse.mylyn.wikitext.core,\
+ org.eclipse.mylyn.wikitext.markdown.core,\
+ org.eclipse.mylyn.wikitext.textile.core,\
+ org.netbeans.api.debugger,\
org.netbeans.api.debugger.jpda,\
- org.netbeans.modules.ant.freeform,\
- org.netbeans.modules.java.sourceui,\
- org.netbeans.modules.projectimport.eclipse.j2se,\
- org.netbeans.modules.form,\
- org.netbeans.modules.junit,\
- org.netbeans.modules.j2ee.persistence.kit,\
- org.netbeans.modules.j2ee.metadata,\
- org.netbeans.modules.java.j2seplatform,\
- org.netbeans.modules.javadoc,\
- org.netbeans.modules.debugger.jpda.projects,\
- org.netbeans.modules.java.source,\
- org.netbeans.modules.maven.spring,\
- org.netbeans.modules.maven.search,\
- org.netbeans.modules.java.debug,\
- org.netbeans.modules.maven.grammar,\
- org.netbeans.modules.java.kit,\
- org.netbeans.modules.testng,\
- org.netbeans.modules.spring.beans,\
- org.netbeans.modules.websvc.saas.codegen.java,\
- org.netbeans.modules.java.editor.lib,\
- org.netbeans.modules.java.testrunner,\
- org.netbeans.modules.java.source.queriesimpl,\
- org.netbeans.modules.maven.junit,\
- org.netbeans.modules.maven.hints,\
- org.netbeans.modules.xml.tools.java,\
- org.netbeans.modules.j2ee.persistenceapi,\
- org.netbeans.modules.java.j2seprofiles,\
- org.netbeans.modules.form.kit,\
- org.netbeans.modules.projectimport.eclipse.core,\
- org.netbeans.modules.form.refactoring,\
- org.apache.tools.ant.module,\
- org.netbeans.modules.testng.maven,\
- org.netbeans.modules.java.hints.test,\
- org.netbeans.modules.i18n.form,\
- org.netbeans.modules.maven.kit,\
- org.netbeans.modules.beans,\
- org.netbeans.modules.java.platform,\
- org.netbeans.modules.java.hints.legacy.spi,\
- org.netbeans.modules.java.lexer,\
- org.netbeans.modules.java.hints,\
- org.netbeans.modules.java.j2seembedded,\
- org.netbeans.modules.java.hints.ui,\
- org.netbeans.modules.java.editor,\
- org.netbeans.modules.websvc.jaxws21,\
- org.netbeans.modules.hudson.maven,\
- org.netbeans.modules.java.j2sedeploy,\
- org.netbeans.libs.javacimpl,\
- org.netbeans.modules.java.helpset,\
- org.netbeans.modules.i18n,\
- org.netbeans.modules.dbschema,\
+ org.netbeans.api.htmlui,\
+ org.netbeans.api.java,\
org.netbeans.api.maven,\
- org.netbeans.modules.findbugs.installer,\
- org.netbeans.modules.j2ee.eclipselinkmodelgen,\
- org.netbeans.modules.form.nb,\
- org.netbeans.modules.debugger.jpda.visual,\
- org.netbeans.modules.form.j2ee,\
- org.netbeans.modules.java.project,\
- org.netbeans.modules.java.api.common,\
- org.netbeans.modules.j2ee.persistence,\
- org.netbeans.modules.java.freeform,\
- org.netbeans.modules.whitelist,\
+ org.netbeans.core.browser,\
+ org.netbeans.core.browser.webview,\
+ org.netbeans.core.multitabs,\
+ org.netbeans.core.multitabs.project,\
+ org.netbeans.core.nativeaccess,\
+ org.netbeans.core.netigso,\
+ org.netbeans.core.network,\
+ org.netbeans.core.osgi,\
+ org.netbeans.html.ko4j,\
+ org.netbeans.html.xhr4j,\
+ org.netbeans.lib.terminalemulator,\
+ org.netbeans.lib.uihandler,\
+ org.netbeans.libs.antlr3.runtime,\
+ org.netbeans.libs.bytelist,\
+ org.netbeans.libs.cglib,\
+ org.netbeans.libs.commons_compress,\
+ org.netbeans.libs.commons_net,\
+ org.netbeans.libs.felix,\
+ org.netbeans.libs.git,\
+ org.netbeans.libs.graalsdk,\
+ org.netbeans.libs.ini4j,\
+ org.netbeans.libs.javafx,\
+ org.netbeans.libs.jaxb,\
+ org.netbeans.libs.jna,\
+ org.netbeans.libs.jna.platform,\
+ org.netbeans.libs.jsch.agentproxy,\
+ org.netbeans.libs.json_simple,\
+ org.netbeans.libs.jsr223,\
+ org.netbeans.libs.junit5,\
+ org.netbeans.libs.jvyamlb,\
+ org.netbeans.libs.osgi,\
+ org.netbeans.libs.smack,\
org.netbeans.libs.springframework,\
- org.netbeans.modules.maven.embedder,\
- org.netbeans.modules.ant.kit,\
- org.netbeans.modules.java.hints.declarative,\
- org.netbeans.modules.testng.ant,\
- org.netbeans.modules.form.binding,\
+ org.netbeans.libs.svnClientAdapter,\
+ org.netbeans.libs.svnClientAdapter.javahl,\
+ org.netbeans.libs.testng,\
+ org.netbeans.libs.xerces,\
org.netbeans.modules.ant.browsetask,\
+ org.netbeans.modules.ant.debugger,\
+ org.netbeans.modules.ant.freeform,\
+ org.netbeans.modules.ant.grammar,\
+ org.netbeans.modules.ant.kit,\
+ org.netbeans.modules.beans,\
+ org.netbeans.modules.bugtracking,\
+ org.netbeans.modules.bugtracking.bridge,\
+ org.netbeans.modules.bugtracking.commons,\
+ org.netbeans.modules.bugzilla,\
+ org.netbeans.modules.core.kit,\
+ org.netbeans.modules.css.editor,\
+ org.netbeans.modules.css.lib,\
+ org.netbeans.modules.css.model,\
+ org.netbeans.modules.css.prep,\
+ org.netbeans.modules.css.visual,\
+ org.netbeans.modules.db,\
+ org.netbeans.modules.db.core,\
+ org.netbeans.modules.db.dataview,\
+ org.netbeans.modules.db.drivers,\
+ org.netbeans.modules.db.kit,\
+ org.netbeans.modules.db.metadata.model,\
+ org.netbeans.modules.db.mysql,\
+ org.netbeans.modules.db.sql.editor,\
+ org.netbeans.modules.db.sql.visualeditor,\
+ org.netbeans.modules.dbapi,\
+ org.netbeans.modules.dbschema,\
+ org.netbeans.modules.debugger.jpda,\
+ org.netbeans.modules.debugger.jpda.ant,\
+ org.netbeans.modules.debugger.jpda.js,\
+ org.netbeans.modules.debugger.jpda.jsui,\
+ org.netbeans.modules.debugger.jpda.kit,\
+ org.netbeans.modules.debugger.jpda.projects,\
+ org.netbeans.modules.debugger.jpda.projectsui,\
+ org.netbeans.modules.debugger.jpda.truffle,\
+ org.netbeans.modules.debugger.jpda.trufflenode,\
+ org.netbeans.modules.debugger.jpda.ui,\
+ org.netbeans.modules.debugger.jpda.visual,\
+ org.netbeans.modules.derby,\
+ org.netbeans.modules.dlight.nativeexecution,\
+ org.netbeans.modules.dlight.nativeexecution.nb,\
+ org.netbeans.modules.dlight.terminal,\
+ org.netbeans.modules.docker.api,\
+ org.netbeans.modules.docker.editor,\
+ org.netbeans.modules.docker.ui,\
+ org.netbeans.modules.editor.bookmarks,\
+ org.netbeans.modules.editor.htmlui,\
+ org.netbeans.modules.editor.kit,\
+ org.netbeans.modules.editor.macros,\
+ org.netbeans.modules.editor.structure,\
+ org.netbeans.modules.extexecution.impl,\
+ org.netbeans.modules.extexecution.process,\
+ org.netbeans.modules.extexecution.process.jdk9,\
+ org.netbeans.modules.findbugs.installer,\
+ org.netbeans.modules.form,\
+ org.netbeans.modules.form.kit,\
+ org.netbeans.modules.form.nb,\
+ org.netbeans.modules.form.refactoring,\
+ org.netbeans.modules.git,\
+ org.netbeans.modules.gsf.codecoverage,\
+ org.netbeans.modules.html,\
+ org.netbeans.modules.html.custom,\
+ org.netbeans.modules.html.editor,\
+ org.netbeans.modules.html.editor.lib,\
+ org.netbeans.modules.html.lexer,\
+ org.netbeans.modules.html.parser,\
+ org.netbeans.modules.html.validation,\
+ org.netbeans.modules.hudson,\
+ org.netbeans.modules.hudson.ant,\
+ org.netbeans.modules.hudson.git,\
+ org.netbeans.modules.hudson.maven,\
+ org.netbeans.modules.hudson.mercurial,\
+ org.netbeans.modules.hudson.subversion,\
+ org.netbeans.modules.hudson.tasklist,\
+ org.netbeans.modules.hudson.ui,\
+ org.netbeans.modules.i18n,\
+ org.netbeans.modules.i18n.form,\
+ org.netbeans.modules.ide.kit,\
org.netbeans.modules.j2ee.core.utilities,\
- org.netbeans.modules.performance.java,\
- org.netbeans.modules.websvc.jaxws21api,\
- org.netbeans.modules.maven.repository,\
org.netbeans.modules.j2ee.eclipselink,\
- org.netbeans.modules.maven.model,\
- org.netbeans.modules.hibernate4lib,\
+ org.netbeans.modules.j2ee.eclipselinkmodelgen,\
+ org.netbeans.modules.j2ee.jpa.refactoring,\
+ org.netbeans.modules.j2ee.jpa.verification,\
+ org.netbeans.modules.j2ee.metadata,\
+ org.netbeans.modules.j2ee.metadata.model.support,\
+ org.netbeans.modules.j2ee.persistence,\
+ org.netbeans.modules.j2ee.persistence.kit,\
+ org.netbeans.modules.j2ee.persistenceapi,\
+ org.netbeans.modules.java.api.common,\
+ org.netbeans.modules.java.completion,\
+ org.netbeans.modules.java.debug,\
+ org.netbeans.modules.java.editor,\
+ org.netbeans.modules.java.editor.base,\
+ org.netbeans.modules.java.editor.lib,\
+ org.netbeans.modules.java.examples,\
+ org.netbeans.modules.java.freeform,\
+ org.netbeans.modules.java.graph,\
+ org.netbeans.modules.java.hints,\
+ org.netbeans.modules.java.hints.declarative,\
+ org.netbeans.modules.java.hints.declarative.test,\
+ org.netbeans.modules.java.hints.legacy.spi,\
+ org.netbeans.modules.java.hints.test,\
+ org.netbeans.modules.java.hints.ui,\
+ org.netbeans.modules.java.j2sedeploy,\
+ org.netbeans.modules.java.j2seembedded,\
+ org.netbeans.modules.java.j2semodule,\
+ org.netbeans.modules.java.j2seplatform,\
+ org.netbeans.modules.java.j2seprofiles,\
+ org.netbeans.modules.java.j2seproject,\
+ org.netbeans.modules.java.kit,\
+ org.netbeans.modules.java.lexer,\
+ org.netbeans.modules.java.lsp.server,\
+ org.netbeans.modules.java.metrics,\
+ org.netbeans.modules.java.module.graph,\
org.netbeans.modules.java.navigation,\
+ org.netbeans.modules.java.openjdk.project,\
+ org.netbeans.modules.java.platform,\
+ org.netbeans.modules.java.project.ui,\
+ org.netbeans.modules.java.preprocessorbridge,\
+ org.netbeans.modules.java.project,\
+ org.netbeans.modules.java.source,\
+ org.netbeans.modules.java.source.ant,\
+ org.netbeans.modules.java.source.base,\
+ org.netbeans.modules.java.source.compat8,\
+ org.netbeans.modules.java.source.nbjavac,\
+ org.netbeans.modules.java.sourceui,\
+ org.netbeans.modules.java.testrunner,\
+ org.netbeans.modules.java.testrunner.ant,\
+ org.netbeans.modules.java.testrunner.ui,\
+ org.netbeans.modules.javadoc,\
+ org.netbeans.modules.javaee.injection,\
+ org.netbeans.modules.javascript2.debug,\
+ org.netbeans.modules.javascript2.debug.ui,\
+ org.netbeans.modules.javawebstart,\
+ org.netbeans.modules.jellytools.ide,\
+ org.netbeans.modules.jshell.support,\
+ org.netbeans.modules.junit,\
+ org.netbeans.modules.junit.ant,\
+ org.netbeans.modules.junit.ant.ui,\
+ org.netbeans.modules.junit.ui,\
+ org.netbeans.modules.junitlib,\
+ org.netbeans.modules.keyring.fallback,\
+ org.netbeans.modules.keyring.impl,\
+ org.netbeans.modules.kotlin.editor,\
+ org.netbeans.modules.languages,\
+ org.netbeans.modules.languages.diff,\
+ org.netbeans.modules.languages.manifest,\
+ org.netbeans.modules.languages.yaml,\
+ org.netbeans.modules.localhistory,\
+ org.netbeans.modules.localtasks,\
+ org.netbeans.modules.lsp.client,\
+ org.netbeans.modules.masterfs.linux,\
+ org.netbeans.modules.masterfs.macosx,\
+ org.netbeans.modules.masterfs.windows,\
+ org.netbeans.modules.maven,\
+ org.netbeans.modules.maven.checkstyle,\
+ org.netbeans.modules.maven.coverage,\
+ org.netbeans.modules.maven.embedder,\
+ org.netbeans.modules.maven.grammar,\
+ org.netbeans.modules.maven.graph,\
+ org.netbeans.modules.maven.hints,\
+ org.netbeans.modules.maven.htmlui,\
org.netbeans.modules.maven.indexer,\
- org.netbeans.modules.maven.osgi
+ org.netbeans.modules.maven.indexer.ui,\
+ org.netbeans.modules.maven.junit,\
+ org.netbeans.modules.maven.junit.ui,\
+ org.netbeans.modules.maven.kit,\
+ org.netbeans.modules.maven.model,\
+ org.netbeans.modules.maven.osgi,\
+ org.netbeans.modules.maven.persistence,\
+ org.netbeans.modules.maven.refactoring,\
+ org.netbeans.modules.maven.repository,\
+ org.netbeans.modules.maven.search,\
+ org.netbeans.modules.maven.spring,\
+ org.netbeans.modules.mercurial,\
+ org.netbeans.modules.mylyn.util,\
+ org.netbeans.modules.nashorn.execution,\
+ org.netbeans.modules.netbinox,\
+ org.netbeans.modules.notifications,\
+ org.netbeans.modules.performance,\
+ org.netbeans.modules.performance.java,\
+ org.netbeans.modules.project.ant.compat8,\
+ org.netbeans.modules.projectimport.eclipse.core,\
+ org.netbeans.modules.projectimport.eclipse.j2se,\
+ org.netbeans.modules.properties,\
+ org.netbeans.modules.properties.syntax,\
+ org.netbeans.modules.refactoring.java,\
+ org.netbeans.modules.schema2beans,\
+ org.netbeans.modules.selenium2,\
+ org.netbeans.modules.selenium2.java,\
+ org.netbeans.modules.selenium2.maven,\
+ org.netbeans.modules.selenium2.server,\
+ org.netbeans.modules.server,\
+ org.netbeans.modules.spellchecker,\
+ org.netbeans.modules.spellchecker.apimodule,\
+ org.netbeans.modules.spellchecker.bindings.htmlxml,\
+ org.netbeans.modules.spellchecker.bindings.java,\
+ org.netbeans.modules.spellchecker.bindings.properties,\
+ org.netbeans.modules.spellchecker.dictionary_en,\
+ org.netbeans.modules.spellchecker.kit,\
+ org.netbeans.modules.spring.beans,\
+ org.netbeans.modules.subversion,\
+ org.netbeans.modules.swing.validation,\
+ org.netbeans.modules.target.iterator,\
+ org.netbeans.modules.tasklist.kit,\
+ org.netbeans.modules.tasklist.projectint,\
+ org.netbeans.modules.tasklist.todo,\
+ org.netbeans.modules.tasklist.ui,\
+ org.netbeans.modules.team.commons,\
+ org.netbeans.modules.team.ide,\
+ org.netbeans.modules.templatesui,\
+ org.netbeans.modules.terminal,\
+ org.netbeans.modules.terminal.nb,\
+ org.netbeans.modules.testng,\
+ org.netbeans.modules.testng.ant,\
+ org.netbeans.modules.testng.maven,\
+ org.netbeans.modules.testng.ui,\
+ org.netbeans.modules.textmate.lexer,\
+ org.netbeans.modules.uihandler,\
+ org.netbeans.modules.usersguide,\
+ org.netbeans.modules.versioning,\
+ org.netbeans.modules.versioning.core,\
+ org.netbeans.modules.versioning.indexingbridge,\
+ org.netbeans.modules.versioning.masterfs,\
+ org.netbeans.modules.versioning.system.cvss.installer,\
+ org.netbeans.modules.versioning.ui,\
+ org.netbeans.modules.versioning.util,\
+ org.netbeans.modules.web.browser.api,\
+ org.netbeans.modules.web.common,\
+ org.netbeans.modules.web.common.ui,\
+ org.netbeans.modules.web.indent,\
+ org.netbeans.modules.web.webkit.debugging,\
+ org.netbeans.modules.websvc.jaxws21,\
+ org.netbeans.modules.websvc.jaxws21api,\
+ org.netbeans.modules.websvc.saas.codegen.java,\
+ org.netbeans.modules.whitelist,\
+ org.netbeans.modules.xml,\
+ org.netbeans.modules.xml.axi,\
+ org.netbeans.modules.xml.jaxb,\
+ org.netbeans.modules.xml.jaxb.api,\
+ org.netbeans.modules.xml.multiview,\
+ org.netbeans.modules.xml.retriever,\
+ org.netbeans.modules.xml.schema.completion,\
+ org.netbeans.modules.xml.schema.model,\
+ org.netbeans.modules.xml.tax,\
+ org.netbeans.modules.xml.text,\
+ org.netbeans.modules.xml.text.obsolete90,\
+ org.netbeans.modules.xml.tools,\
+ org.netbeans.modules.xml.tools.java,\
+ org.netbeans.modules.xml.wsdl.model,\
+ org.netbeans.modules.xsl,\
+ org.netbeans.spi.debugger.jpda.ui,\
+ org.netbeans.spi.debugger.ui,\
+ org.netbeans.spi.java.hints,\
+ org.openide.compat,\
+ org.openide.execution.compat8,\
+ org.openide.options,\
+ org.openide.util.enumerations,\
+ org.openidex.util
\ No newline at end of file
diff --git a/thirdparty/junit/11.3/junit.zip b/thirdparty/junit/11.3/junit.zip
new file mode 100644
index 0000000000..db1b83aea2
Binary files /dev/null and b/thirdparty/junit/11.3/junit.zip differ