You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by mi...@apache.org on 2023/07/04 09:56:45 UTC
[jmeter] annotated tag v5_2_0_RC1 created (now 134a0f5098)
This is an automated email from the ASF dual-hosted git repository.
milamber pushed a change to annotated tag v5_2_0_RC1
in repository https://gitbox.apache.org/repos/asf/jmeter.git
at 134a0f5098 (tag)
tagging 9cb34844b0c8267257a80b2a3741e2f84af384db (commit)
by Vladimir Sitnikov
on Tue Jul 30 00:31:58 2019 +0300
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
This annotated tag includes the following new commits:
new 5d7113d052 Move source files to new layout
new 0ddd628148 Fix resources.PackageTest
new 5740116a44 Remove java.class.path filtering from ClassFinder
new d416f3b0c8 Fix functions.PackageTest#BSH1: move bsh file to resources folder
new 9abfc5c2d3 Remove obsolete files
new 4aad2f1e4b Add Kotlin files to checkstyle.xml
new 9cb34844b0 Add Gradle build scripts
The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[jmeter] 03/07: Remove java.class.path filtering from ClassFinder
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
milamber pushed a commit to annotated tag v5_2_0_RC1
in repository https://gitbox.apache.org/repos/asf/jmeter.git
commit 5740116a448f5be7484160b2c2255959dd062be5
Author: Vladimir Sitnikov <si...@gmail.com>
AuthorDate: Wed May 15 12:01:56 2019 +0300
Remove java.class.path filtering from ClassFinder
Former-commit-id: 42ab5641290fe8fb9f57ccd71d9a9e73e4f4bd40
---
.../org/apache/jorphan/reflect/ClassFinder.java | 89 ++++------------------
1 file changed, 16 insertions(+), 73 deletions(-)
diff --git a/src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassFinder.java b/src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassFinder.java
index 102338df26..fee4cd86bd 100644
--- a/src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassFinder.java
+++ b/src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassFinder.java
@@ -24,15 +24,14 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
-import java.util.StringTokenizer;
import java.util.TreeSet;
-import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
@@ -187,22 +186,19 @@ public final class ClassFinder {
}
// For each directory in the search path, add all the jars found there
- private static String[] addJarsInPath(String[] paths) {
- Set<String> fullList = new HashSet<>();
+ private static Set<File> addJarsInPath(String[] paths) {
+ Set<File> fullList = new HashSet<>();
for (final String path : paths) {
- fullList.add(path); // Keep the unexpanded path
File dir = new File(path);
+ fullList.add(dir);
if (dir.exists() && dir.isDirectory()) {
- String[] jars = dir.list((f, name) -> {
- File fileInDirectory = new File(f, name);
- return fileInDirectory.isFile() && name.endsWith(DOT_JAR);
- });
+ File[] jars = dir.listFiles(f -> f.isFile() && f.getName().endsWith(DOT_JAR));
if (jars != null) {
Collections.addAll(fullList, jars);
}
}
}
- return fullList.toArray(new String[fullList.size()]);
+ return fullList;
}
/**
@@ -322,21 +318,14 @@ public final class ClassFinder {
}
// Find all jars in the search path
- List<String> strPathsOrJars = Arrays.stream(addJarsInPath(searchPathsOrJars))
- .map(ClassFinder::fixPathEntry)
- .collect(Collectors.toList());
+ Collection<File> strPathsOrJars = addJarsInPath(searchPathsOrJars);
- // Now eliminate any classpath entries that do not "match" the search
- List<String> listPaths = getClasspathMatches(strPathsOrJars);
- if (log.isDebugEnabled()) {
- for (String path : listPaths) {
- log.debug("listPaths : {}", path);
- }
- }
+ // Some of the jars might be out of classpath, however java.class.path does not represent
+ // the actual ClassLoader in use. For instance, NewDriver builds its own classpath
Set<String> listClasses = new TreeSet<>();
// first get all the classes
- for (String path : listPaths) {
+ for (File path : strPathsOrJars) {
findClassesInOnePath(path, listClasses, filter);
}
@@ -350,50 +339,6 @@ public final class ClassFinder {
return new ArrayList<>(listClasses);
}
- /**
- * Returns the classpath entries that match the search list of jars and paths
- *
- * @param strPathsOrJars can contain {@code null} element but must not be {@code null}
- * @return List of paths (jars or folders) that ends with one of the rows of strPathsOrJars
- */
- private static List<String> getClasspathMatches(List<String> strPathsOrJars) {
- final String javaClassPath = System.getProperty("java.class.path"); // $NON-NLS-1$
- if (log.isDebugEnabled()) {
- log.debug("Classpath = {}", javaClassPath);
- for (int i = 0; i < strPathsOrJars.size(); i++) {
- log.debug("strPathsOrJars[{}] : {}", i, strPathsOrJars.get(i));
- }
- }
-
- // find all jar files or paths that end with strPathOrJar
- List<String> listPaths = new ArrayList<>();
- String classpathElement;
- StringTokenizer classpathElements =
- new StringTokenizer(javaClassPath, File.pathSeparator);
-
- while (classpathElements.hasMoreTokens()) {
- classpathElement = fixPathEntry(classpathElements.nextToken());
- if (classpathElement == null) {
- continue;
- }
- boolean found = false;
- for (String currentStrPathOrJar : strPathsOrJars) {
- log.debug("Testing if {} ends with {}", classpathElement, currentStrPathOrJar);
- if (currentStrPathOrJar != null && classpathElement.endsWith(currentStrPathOrJar)) {
- found = true;
- log.debug("Adding {}", classpathElement);
- listPaths.add(classpathElement);
- break;// no need to look further
- }
- }
- if (!found) {
- log.debug("Classpath element {} does not match any search path {}", classpathElement,
- strPathsOrJars);
- }
- }
- return listPaths;
- }
-
/**
* Fix a path:
* <ul>
@@ -441,10 +386,9 @@ public final class ClassFinder {
}
- private static void findClassesInOnePath(String strPath, Set<String> listClasses, ClassFilter filter) throws IOException {
- File file = new File(strPath);
+ private static void findClassesInOnePath(File file, Set<String> listClasses, ClassFilter filter) throws IOException {
if (file.isDirectory()) {
- findClassesInPathsDir(strPath, file, listClasses, filter);
+ findClassesInPathsDir(file.getAbsolutePath(), file, listClasses, filter);
} else if (file.exists()) {
try (ZipFile zipFile = new ZipFile(file)) {
Enumeration<? extends ZipEntry> entries = zipFile.entries();
@@ -456,25 +400,24 @@ public final class ClassFinder {
}
}
} catch (IOException e) {
- log.warn("Can not open the jar {}, message: {}", strPath, e.getLocalizedMessage(),e);
+ log.warn("Can not open the jar {}, message: {}", file.getAbsolutePath(), e.getLocalizedMessage(), e);
}
}
}
private static void findClassesInPathsDir(String strPathElement, File dir, Set<String> listClasses, ClassFilter filter) throws IOException {
- String[] list = dir.list();
+ File[] list = dir.listFiles();
if (list == null) {
log.warn("{} is not a folder", dir.getAbsolutePath());
return;
}
- for (String filePath : list) {
- File file = new File(dir, filePath);
+ for (File file : list) {
if (file.isDirectory()) {
// Recursive call
findClassesInPathsDir(strPathElement, file, listClasses, filter);
- } else if (filePath.endsWith(DOT_CLASS) && file.exists() && (file.length() != 0)) {
+ } else if (file.getPath().endsWith(DOT_CLASS) && file.exists() && (file.length() != 0)) {
final String path = file.getPath();
String className = path.substring(strPathElement.length() + 1,
path.lastIndexOf('.')) // $NON-NLS-1$
[jmeter] 01/07: Move source files to new layout
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
milamber pushed a commit to annotated tag v5_2_0_RC1
in repository https://gitbox.apache.org/repos/asf/jmeter.git
commit 5d7113d0527468a369ce1c95f0b775fdbfdc54aa
Author: Vladimir Sitnikov <si...@gmail.com>
AuthorDate: Sat Mar 2 10:57:08 2019 +0300
Move source files to new layout
Former-commit-id: 6a199bf495bfece845b42bc304f4b5eee5f0bd5b
---
.../org/apache/jmeter/assertions/BSFAssertion.java | 0
.../jmeter/assertions/BSFAssertionBeanInfo.java | 0
.../jmeter/assertions/BeanShellAssertion.java | 0
.../apache/jmeter/assertions/CompareAssertion.java | 0
.../assertions/CompareAssertionBeanInfo.java | 0
.../jmeter/assertions/DurationAssertion.java | 0
.../apache/jmeter/assertions/HTMLAssertion.java | 0
.../jmeter/assertions/JSONPathAssertion.java | 0
.../apache/jmeter/assertions/JSR223Assertion.java | 0
.../jmeter/assertions/JSR223AssertionBeanInfo.java | 0
.../apache/jmeter/assertions/LogErrorHandler.java | 0
.../apache/jmeter/assertions/MD5HexAssertion.java | 0
.../jmeter/assertions/ResponseAssertion.java | 0
.../apache/jmeter/assertions/SMIMEAssertion.java | 0
.../assertions/SMIMEAssertionTestElement.java | 0
.../apache/jmeter/assertions/SizeAssertion.java | 0
.../jmeter/assertions/SubstitutionElement.java | 0
.../org/apache/jmeter/assertions/XMLAssertion.java | 0
.../jmeter/assertions/XMLSchemaAssertion.java | 0
.../apache/jmeter/assertions/XPath2Assertion.java | 0
.../apache/jmeter/assertions/XPathAssertion.java | 0
.../apache/jmeter/assertions/gui/AssertionGui.java | 0
.../assertions/gui/BeanShellAssertionGui.java | 0
.../assertions/gui/DurationAssertionGui.java | 0
.../jmeter/assertions/gui/HTMLAssertionGui.java | 0
.../assertions/gui/JSONPathAssertionGui.java | 0
.../jmeter/assertions/gui/MD5HexAssertionGUI.java | 0
.../jmeter/assertions/gui/SMIMEAssertionGui.java | 0
.../jmeter/assertions/gui/SizeAssertionGui.java | 0
.../jmeter/assertions/gui/XMLAssertionGui.java | 0
.../apache/jmeter/assertions/gui/XMLConfPanel.java | 0
.../assertions/gui/XMLSchemaAssertionGUI.java | 0
.../jmeter/assertions/gui/XPath2AssertionGui.java | 0
.../apache/jmeter/assertions/gui/XPath2Panel.java | 0
.../jmeter/assertions/gui/XPathAssertionGui.java | 0
.../apache/jmeter/assertions/gui/XPathPanel.java | 0
.../java}/org/apache/jmeter/config/CSVDataSet.java | 0
.../apache/jmeter/config/CSVDataSetBeanInfo.java | 0
.../org/apache/jmeter/config/KeystoreConfig.java | 0
.../jmeter/config/KeystoreConfigBeanInfo.java | 0
.../apache/jmeter/config/RandomVariableConfig.java | 0
.../config/RandomVariableConfigBeanInfo.java | 0
.../jmeter/control/CriticalSectionController.java | 0
.../apache/jmeter/control/ForeachController.java | 0
.../apache/jmeter/control/IncludeController.java | 0
.../apache/jmeter/control/InterleaveControl.java | 0
.../apache/jmeter/control/ModuleController.java | 0
.../apache/jmeter/control/OnceOnlyController.java | 0
.../apache/jmeter/control/RandomController.java | 0
.../jmeter/control/RandomOrderController.java | 0
.../apache/jmeter/control/SwitchController.java | 0
.../jmeter/control/ThroughputController.java | 0
.../control/gui/CriticalSectionControllerGui.java | 0
.../jmeter/control/gui/ForeachControlPanel.java | 0
.../jmeter/control/gui/IncludeControllerGui.java | 0
.../jmeter/control/gui/InterleaveControlGui.java | 0
.../jmeter/control/gui/ModuleControllerGui.java | 0
.../jmeter/control/gui/OnceOnlyControllerGui.java | 0
.../jmeter/control/gui/RandomControlGui.java | 0
.../control/gui/RandomOrderControllerGui.java | 0
.../jmeter/control/gui/SwitchControllerGui.java | 0
.../control/gui/ThroughputControllerGui.java | 0
.../apache/jmeter/control/gui/TreeNodeWrapper.java | 0
.../apache/jmeter/extractor/BSFPostProcessor.java | 0
.../jmeter/extractor/BSFPostProcessorBeanInfo.java | 0
.../jmeter/extractor/BeanShellPostProcessor.java | 0
.../extractor/BeanShellPostProcessorBeanInfo.java | 0
.../apache/jmeter/extractor/BoundaryExtractor.java | 0
.../jmeter/extractor/DebugPostProcessor.java | 0
.../extractor/DebugPostProcessorBeanInfo.java | 0
.../org/apache/jmeter/extractor/Extractor.java | 0
.../org/apache/jmeter/extractor/HtmlExtractor.java | 0
.../jmeter/extractor/JSR223PostProcessor.java | 0
.../extractor/JSR223PostProcessorBeanInfo.java | 0
.../apache/jmeter/extractor/JSoupExtractor.java | 0
.../org/apache/jmeter/extractor/JoddExtractor.java | 0
.../apache/jmeter/extractor/RegexExtractor.java | 0
.../apache/jmeter/extractor/XPath2Extractor.java | 0
.../apache/jmeter/extractor/XPathExtractor.java | 0
.../jmeter/extractor/gui/BoundaryExtractorGui.java | 0
.../jmeter/extractor/gui/HtmlExtractorGui.java | 0
.../jmeter/extractor/gui/RegexExtractorGui.java | 0
.../jmeter/extractor/gui/XPath2ExtractorGui.java | 0
.../jmeter/extractor/gui/XPathExtractorGui.java | 0
.../extractor/json/jsonpath/JSONManager.java | 0
.../extractor/json/jsonpath/JSONPostProcessor.java | 0
.../json/jsonpath/gui/JSONPostProcessorGui.java | 0
.../json/render/RenderAsJsonRenderer.java | 0
.../action/ExportTransactionAndSamplerNames.java | 0
.../apache/jmeter/modifiers/BSFPreProcessor.java | 0
.../jmeter/modifiers/BSFPreProcessorBeanInfo.java | 0
.../jmeter/modifiers/BeanShellPreProcessor.java | 0
.../modifiers/BeanShellPreProcessorBeanInfo.java | 0
.../org/apache/jmeter/modifiers/CounterConfig.java | 0
.../jmeter/modifiers/JSR223PreProcessor.java | 0
.../modifiers/JSR223PreProcessorBeanInfo.java | 0
.../org/apache/jmeter/modifiers/SampleTimeout.java | 0
.../apache/jmeter/modifiers/UserParameters.java | 0
.../jmeter/modifiers/gui/CounterConfigGui.java | 0
.../jmeter/modifiers/gui/SampleTimeoutGui.java | 0
.../jmeter/modifiers/gui/UserParametersGui.java | 0
.../org/apache/jmeter/reporters/MailerModel.java | 0
.../jmeter/reporters/MailerResultCollector.java | 0
.../org/apache/jmeter/sampler/DebugSampler.java | 0
.../jmeter/sampler/DebugSamplerBeanInfo.java | 0
.../org/apache/jmeter/sampler/TestAction.java | 0
.../apache/jmeter/sampler/gui/TestActionGui.java | 0
.../jmeter/thinktime/DefaultThinkTimeCreator.java | 0
.../java}/org/apache/jmeter/timers/BSFTimer.java | 0
.../org/apache/jmeter/timers/BSFTimerBeanInfo.java | 0
.../org/apache/jmeter/timers/BeanShellTimer.java | 0
.../jmeter/timers/BeanShellTimerBeanInfo.java | 0
.../jmeter/timers/ConstantThroughputTimer.java | 0
.../timers/ConstantThroughputTimerBeanInfo.java | 0
.../org/apache/jmeter/timers/ConstantTimer.java | 0
.../apache/jmeter/timers/GaussianRandomTimer.java | 0
.../org/apache/jmeter/timers/JSR223Timer.java | 0
.../apache/jmeter/timers/JSR223TimerBeanInfo.java | 0
.../apache/jmeter/timers/PoissonRandomTimer.java | 0
.../org/apache/jmeter/timers/RandomTimer.java | 0
.../java}/org/apache/jmeter/timers/SyncTimer.java | 0
.../apache/jmeter/timers/SyncTimerBeanInfo.java | 0
.../apache/jmeter/timers/UniformRandomTimer.java | 0
.../jmeter/timers/gui/AbstractRandomTimerGui.java | 0
.../apache/jmeter/timers/gui/ConstantTimerGui.java | 0
.../jmeter/timers/gui/GaussianRandomTimerGui.java | 0
.../jmeter/timers/gui/PoissonRandomTimerGui.java | 0
.../jmeter/timers/gui/UniformRandomTimerGui.java | 0
.../ConstantPoissonProcessGenerator.java | 0
.../timers/poissonarrivals/DurationProvider.java | 0
.../timers/poissonarrivals/EventProducer.java | 0
.../poissonarrivals/PreciseThroughputTimer.java | 0
.../PreciseThroughputTimerBeanInfo.java | 0
.../timers/poissonarrivals/ThroughputProvider.java | 0
.../ComponentTreeClonerForValidation.java | 0
.../apache/jmeter/visualizers/AccumListener.java | 0
.../jmeter/visualizers/AssertionVisualizer.java | 0
.../org/apache/jmeter/visualizers/AxisGraph.java | 0
.../org/apache/jmeter/visualizers/BSFListener.java | 0
.../jmeter/visualizers/BSFListenerBeanInfo.java | 0
.../org/apache/jmeter/visualizers/BarGraph.java | 0
.../jmeter/visualizers/BeanShellListener.java | 0
.../visualizers/BeanShellListenerBeanInfo.java | 0
.../jmeter/visualizers/ComparisonVisualizer.java | 0
.../java}/org/apache/jmeter/visualizers/Graph.java | 0
.../apache/jmeter/visualizers/GraphListener.java | 0
.../apache/jmeter/visualizers/GraphVisualizer.java | 0
.../apache/jmeter/visualizers/JSR223Listener.java | 0
.../jmeter/visualizers/JSR223ListenerBeanInfo.java | 0
.../org/apache/jmeter/visualizers/LineGraph.java | 0
.../jmeter/visualizers/MailerVisualizer.java | 0
.../jmeter/visualizers/PropertyControlGui.java | 0
.../visualizers/RenderAsBoundaryExtractor.java | 0
.../jmeter/visualizers/RenderAsCssJQuery.java | 0
.../jmeter/visualizers/RenderAsDocument.java | 0
.../apache/jmeter/visualizers/RenderAsHTML.java | 0
.../jmeter/visualizers/RenderAsHTMLFormatted.java | 0
.../visualizers/RenderAsHTMLWithEmbedded.java | 0
.../apache/jmeter/visualizers/RenderAsJSON.java | 0
.../apache/jmeter/visualizers/RenderAsRegexp.java | 0
.../apache/jmeter/visualizers/RenderAsText.java | 0
.../org/apache/jmeter/visualizers/RenderAsXML.java | 0
.../apache/jmeter/visualizers/RenderAsXPath.java | 0
.../apache/jmeter/visualizers/RenderAsXPath2.java | 0
.../apache/jmeter/visualizers/RenderInBrowser.java | 0
.../apache/jmeter/visualizers/RequestPanel.java | 0
.../org/apache/jmeter/visualizers/RequestView.java | 0
.../apache/jmeter/visualizers/RequestViewRaw.java | 0
.../jmeter/visualizers/RespTimeGraphChart.java | 0
.../jmeter/visualizers/RespTimeGraphDataBean.java | 0
.../jmeter/visualizers/RespTimeGraphLineBean.java | 0
.../visualizers/RespTimeGraphVisualizer.java | 0
.../apache/jmeter/visualizers/ResultRenderer.java | 0
.../jmeter/visualizers/SamplerResultTab.java | 0
.../jmeter/visualizers/SearchTextExtension.java | 0
.../apache/jmeter/visualizers/SearchTreePanel.java | 0
.../jmeter/visualizers/SearchableTreeNode.java | 0
.../jmeter/visualizers/SimpleDataWriter.java | 0
.../jmeter/visualizers/StatGraphProperties.java | 0
.../jmeter/visualizers/StatGraphVisualizer.java | 0
.../apache/jmeter/visualizers/StatVisualizer.java | 0
.../apache/jmeter/visualizers/SummaryReport.java | 0
.../apache/jmeter/visualizers/TableVisualizer.java | 0
.../jmeter/visualizers/TreeNodeRenderer.java | 0
.../visualizers/ViewResultsFullVisualizer.java | 0
.../visualizers/XMLDefaultMutableTreeNode.java | 0
.../backend/AbstractBackendListenerClient.java | 0
.../visualizers/backend/BackendListener.java | 0
.../visualizers/backend/BackendListenerClient.java | 0
.../backend/BackendListenerContext.java | 0
.../visualizers/backend/BackendListenerGui.java | 0
.../jmeter/visualizers/backend/ErrorMetric.java | 0
.../jmeter/visualizers/backend/SamplerMetric.java | 0
.../jmeter/visualizers/backend/UserMetric.java | 0
.../jmeter/visualizers/backend/WindowMode.java | 0
.../graphite/AbstractGraphiteMetricsSender.java | 0
.../graphite/GraphiteBackendListenerClient.java | 0
.../backend/graphite/GraphiteMetricsSender.java | 0
.../graphite/PickleGraphiteMetricsSender.java | 0
.../backend/graphite/SocketConnectionInfos.java | 0
.../backend/graphite/SocketOutputStream.java | 0
.../graphite/SocketOutputStreamPoolFactory.java | 0
.../graphite/TextGraphiteMetricsSender.java | 0
.../influxdb/AbstractInfluxdbMetricsSender.java | 0
.../backend/influxdb/HttpMetricsSender.java | 0
.../influxdb/InfluxdbBackendListenerClient.java | 0
.../backend/influxdb/InfluxdbMetricsSender.java | 0
.../backend/influxdb/UdpMetricsSender.java | 0
.../apache/jmeter/visualizers/utils/Colors.java | 0
.../assertions/BSFAssertionResources.properties | 0
.../assertions/BSFAssertionResources_fr.properties | 0
.../assertions/BSFAssertionResources_pl.properties | 0
.../BSFAssertionResources_pt_BR.properties | 0
.../BSFAssertionResources_zh_CN.properties | 0
.../CompareAssertionResources.properties | 0
.../CompareAssertionResources_fr.properties | 0
.../CompareAssertionResources_zh_CN.properties | 0
.../assertions/JSR223AssertionResources.properties | 0
.../JSR223AssertionResources_fr.properties | 0
.../JSR223AssertionResources_zh_CN.properties | 0
.../org/apache/jmeter/assertions/package.html | 0
.../jmeter/config/CSVDataSetResources.properties | 0
.../config/CSVDataSetResources_de.properties | 0
.../config/CSVDataSetResources_es.properties | 0
.../config/CSVDataSetResources_fr.properties | 0
.../config/CSVDataSetResources_pl.properties | 0
.../config/CSVDataSetResources_pt_BR.properties | 0
.../config/CSVDataSetResources_tr.properties | 0
.../config/CSVDataSetResources_zh_CN.properties | 0
.../config/CSVDataSetResources_zh_TW.properties | 0
.../config/KeystoreConfigResources.properties | 0
.../config/KeystoreConfigResources_fr.properties | 0
.../KeystoreConfigResources_zh_CN.properties | 0
.../RandomVariableConfigResources.properties | 0
.../RandomVariableConfigResources_es.properties | 0
.../RandomVariableConfigResources_fr.properties | 0
.../RandomVariableConfigResources_pl.properties | 0
.../RandomVariableConfigResources_pt_BR.properties | 0
.../RandomVariableConfigResources_zh_CN.properties | 0
.../extractor/BSFPostProcessorResources.properties | 0
.../BSFPostProcessorResources_fr.properties | 0
.../BSFPostProcessorResources_pl.properties | 0
.../BSFPostProcessorResources_pt_BR.properties | 0
.../BSFPostProcessorResources_zh_CN.properties | 0
.../BeanShellPostProcessorResources.properties | 0
.../BeanShellPostProcessorResources_de.properties | 0
.../BeanShellPostProcessorResources_fr.properties | 0
.../BeanShellPostProcessorResources_pl.properties | 0
...eanShellPostProcessorResources_pt_BR.properties | 0
.../BeanShellPostProcessorResources_tr.properties | 0
...eanShellPostProcessorResources_zh_CN.properties | 0
.../DebugPostProcessorResources.properties | 0
.../DebugPostProcessorResources_de.properties | 0
.../DebugPostProcessorResources_fr.properties | 0
.../DebugPostProcessorResources_pt_BR.properties | 0
.../DebugPostProcessorResources_tr.properties | 0
.../DebugPostProcessorResources_zh_CN.properties | 0
.../JSR223PostProcessorResources.properties | 0
.../JSR223PostProcessorResources_fr.properties | 0
.../JSR223PostProcessorResources_zh_CN.properties | 0
.../modifiers/BSFPreProcessorResources.properties | 0
.../BSFPreProcessorResources_fr.properties | 0
.../BSFPreProcessorResources_pt_BR.properties | 0
.../BSFPreProcessorResources_zh_CN.properties | 0
.../BeanShellPreProcessorResources.properties | 0
.../BeanShellPreProcessorResources_de.properties | 0
.../BeanShellPreProcessorResources_fr.properties | 0
...BeanShellPreProcessorResources_pt_BR.properties | 0
.../BeanShellPreProcessorResources_tr.properties | 0
...BeanShellPreProcessorResources_zh_CN.properties | 0
.../JSR223PreProcessorResources.properties | 0
.../JSR223PreProcessorResources_fr.properties | 0
.../JSR223PreProcessorResources_zh_CN.properties | 0
.../sampler/DebugSamplerResources.properties | 0
.../sampler/DebugSamplerResources_de.properties | 0
.../sampler/DebugSamplerResources_fr.properties | 0
.../sampler/DebugSamplerResources_pt_BR.properties | 0
.../sampler/DebugSamplerResources_tr.properties | 0
.../sampler/DebugSamplerResources_zh_CN.properties | 0
.../jmeter/timers/BSFTimerResources.properties | 0
.../jmeter/timers/BSFTimerResources_fr.properties | 0
.../timers/BSFTimerResources_zh_CN.properties | 0
.../timers/BeanShellTimerResources.properties | 0
.../timers/BeanShellTimerResources_de.properties | 0
.../timers/BeanShellTimerResources_fr.properties | 0
.../BeanShellTimerResources_pt_BR.properties | 0
.../timers/BeanShellTimerResources_tr.properties | 0
.../BeanShellTimerResources_zh_CN.properties | 0
.../ConstantThroughputTimerResources.properties | 0
.../ConstantThroughputTimerResources_de.properties | 0
.../ConstantThroughputTimerResources_es.properties | 0
.../ConstantThroughputTimerResources_fr.properties | 0
.../ConstantThroughputTimerResources_ja.properties | 0
...nstantThroughputTimerResources_pt_BR.properties | 0
.../ConstantThroughputTimerResources_tr.properties | 0
...nstantThroughputTimerResources_zh_CN.properties | 0
...nstantThroughputTimerResources_zh_TW.properties | 0
.../jmeter/timers/JSR223TimerResources.properties | 0
.../timers/JSR223TimerResources_fr.properties | 0
.../timers/JSR223TimerResources_zh_CN.properties | 0
.../jmeter/timers/SyncTimerResources.properties | 0
.../jmeter/timers/SyncTimerResources_de.properties | 0
.../jmeter/timers/SyncTimerResources_es.properties | 0
.../jmeter/timers/SyncTimerResources_fr.properties | 0
.../timers/SyncTimerResources_pt_BR.properties | 0
.../jmeter/timers/SyncTimerResources_tr.properties | 0
.../timers/SyncTimerResources_zh_CN.properties | 0
.../PreciseThroughputTimerResources.properties | 0
.../PreciseThroughputTimerResources_fr.properties | 0
...reciseThroughputTimerResources_zh_CN.properties | 0
.../visualizers/BSFListenerResources.properties | 0
.../visualizers/BSFListenerResources_fr.properties | 0
.../BSFListenerResources_pt_BR.properties | 0
.../BSFListenerResources_zh_CN.properties | 0
.../BeanShellListenerResources.properties | 0
.../BeanShellListenerResources_de.properties | 0
.../BeanShellListenerResources_fr.properties | 0
.../BeanShellListenerResources_pt_BR.properties | 0
.../BeanShellListenerResources_tr.properties | 0
.../BeanShellListenerResources_zh_CN.properties | 0
.../visualizers/JSR223ListenerResources.properties | 0
.../JSR223ListenerResources_fr.properties | 0
.../JSR223ListenerResources_zh_CN.properties | 0
.../jmeter/visualizers/utils/colors.properties | 0
.../jmeter/assertions/MD5HexAssertionSpec.groovy | 0
.../jmeter/assertions/gui/AssertionGuiSpec.groovy | 0
.../control/RandomOrderControllerSpec.groovy | 0
.../org/apache/jmeter/control/RunTimeSpec.groovy | 0
.../jmeter/control/ThroughputControllerSpec.groovy | 0
.../jmeter/extractor/BoundaryExtractorSpec.groovy | 0
.../jmeter/extractor/JoddExtractorSpec.groovy | 0
.../json/render/RenderAsJsonRendererSpec.groovy | 0
.../jmeter/timers/UniformRandomTimerSpec.groovy | 0
.../java}/org/apache/jmeter/JMeterVersionTest.java | 0
.../jmeter/assertions/DurationAssertionTest.java | 0
.../jmeter/assertions/ResponseAssertionTest.java | 0
.../jmeter/assertions/SMIMEAssertionTest.java | 0
.../jmeter/assertions/SizeAssertionTest.java | 0
.../jmeter/assertions/TestJSONPathAssertion.java | 0
.../assertions/TestJSONPathAssertionGui.java | 0
.../jmeter/assertions/XMLSchemaAssertionTest.java | 0
.../jmeter/assertions/XPath2AssertionTest.java | 19 ++++
.../jmeter/assertions/XPathAssertionTest.java | 0
.../apache/jmeter/assertions/XmlAssertionTest.java | 0
.../org/apache/jmeter/config/TestCVSDataSet.java | 0
.../jmeter/config/TestRandomVariableConfig.java | 0
.../jmeter/config/gui/TestArgumentsPanel.java | 0
.../jmeter/control/TestGenericController.java | 0
.../apache/jmeter/control/TestIfController.java | 0
.../jmeter/control/TestInterleaveControl.java | 0
.../apache/jmeter/control/TestLoopController.java | 0
.../jmeter/control/TestOnceOnlyController.java | 0
.../jmeter/control/TestRandomController.java | 0
.../jmeter/control/TestTransactionController.java | 0
.../apache/jmeter/control/TestWhileController.java | 0
.../jmeter/extractor/TestHtmlExtractorJSoup.java | 0
.../jmeter/extractor/TestHtmlExtractorJodd.java | 0
.../jmeter/extractor/TestJSONPostProcessor.java | 0
.../jmeter/extractor/TestRegexExtractor.java | 0
.../jmeter/extractor/TestXPath2Extractor.java | 0
.../jmeter/extractor/TestXPathExtractor.java | 0
.../org/apache/jmeter/gui/action/TestSave.java | 0
.../gui/action/template/TestTemplateManager.java | 0
.../apache/jmeter/reporters/TestResultSaver.java | 0
.../jmeter/timers/ConstantThroughputTimerTest.java | 0
.../org/apache/jmeter/timers/SyncTimerTest.java | 0
.../org/apache/jmeter/timers/TimerServiceTest.java | 0
.../PreciseThroughputTimerTest.java | 0
.../jmeter/visualizers/TestRenderAsJson.java | 0
.../jmeter/visualizers/TestSampleCompareTo.java | 0
.../visualizers/TestSamplingStatCalculator.java | 0
.../backend/SamplerMetricFixedModeTest.java | 0
.../backend/SamplerMetricTimedModeTest.java | 0
.../org/apache/jmeter/assertions/email.pem | 0
.../org/apache/jmeter/assertions/signed_email.eml | 0
.../gui/action/template/invalidTemplates.xml | 0
.../jmeter/gui/action/template/validTemplates.xml | 0
.../main/java}/org/apache/jmeter/JMeter.java | 3 +-
.../org/apache/jmeter/ProxyAuthenticator.java | 0
.../main/java}/org/apache/jmeter/SplashScreen.java | 0
.../org/apache/jmeter/assertions/Assertion.java | 0
.../apache/jmeter/assertions/AssertionResult.java | 0
.../jmeter/assertions/CompareAssertionResult.java | 0
.../assertions/gui/AbstractAssertionGui.java | 0
.../java}/org/apache/jmeter/config/Argument.java | 0
.../java}/org/apache/jmeter/config/Arguments.java | 0
.../org/apache/jmeter/config/ConfigElement.java | 0
.../apache/jmeter/config/ConfigTestElement.java | 0
.../org/apache/jmeter/config/LoginConfig.java | 0
.../jmeter/config/gui/AbstractConfigGui.java | 0
.../apache/jmeter/config/gui/ArgumentsPanel.java | 0
.../apache/jmeter/config/gui/LoginConfigGui.java | 0
.../org/apache/jmeter/config/gui/ObsoleteGui.java | 0
.../apache/jmeter/config/gui/RowDetailDialog.java | 0
.../apache/jmeter/config/gui/SimpleConfigGui.java | 0
.../org/apache/jmeter/control/Controller.java | 0
.../apache/jmeter/control/GenericController.java | 0
.../org/apache/jmeter/control/IfController.java | 0
.../apache/jmeter/control/IteratingController.java | 0
.../org/apache/jmeter/control/LoopController.java | 0
.../apache/jmeter/control/NextIsNullException.java | 0
.../jmeter/control/ReplaceableController.java | 0
.../java}/org/apache/jmeter/control/RunTime.java | 0
.../jmeter/control/TestFragmentController.java | 0
.../jmeter/control/TransactionController.java | 0
.../apache/jmeter/control/TransactionSampler.java | 0
.../org/apache/jmeter/control/WhileController.java | 0
.../jmeter/control/gui/AbstractControllerGui.java | 0
.../jmeter/control/gui/IfControllerPanel.java | 0
.../jmeter/control/gui/LogicControllerGui.java | 0
.../jmeter/control/gui/LoopControlPanel.java | 0
.../org/apache/jmeter/control/gui/RunTimeGui.java | 0
.../control/gui/TestFragmentControllerGui.java | 0
.../org/apache/jmeter/control/gui/TestPlanGui.java | 0
.../control/gui/TransactionControllerGui.java | 0
.../jmeter/control/gui/WhileControllerGui.java | 0
.../apache/jmeter/control/gui/WorkBenchGui.java | 0
.../apache/jmeter/engine/ClientJMeterEngine.java | 0
.../org/apache/jmeter/engine/ConvertListeners.java | 0
.../apache/jmeter/engine/DistributedRunner.java | 0
.../org/apache/jmeter/engine/JMeterEngine.java | 0
.../jmeter/engine/JMeterEngineException.java | 0
.../org/apache/jmeter/engine/PreCompiler.java | 0
.../apache/jmeter/engine/RemoteJMeterEngine.java | 0
.../jmeter/engine/RemoteJMeterEngineImpl.java | 0
.../apache/jmeter/engine/StandardJMeterEngine.java | 0
.../java}/org/apache/jmeter/engine/TreeCloner.java | 0
.../apache/jmeter/engine/TreeClonerNoTimer.java | 0
.../org/apache/jmeter/engine/TurnElementsOn.java | 0
.../jmeter/engine/event/LoopIterationEvent.java | 0
.../jmeter/engine/event/LoopIterationListener.java | 0
.../org/apache/jmeter/engine/package-info.java | 0
.../jmeter/engine/util/AbstractTransformer.java | 0
.../jmeter/engine/util/CompoundVariable.java | 0
.../engine/util/ConfigMergabilityIndicator.java | 0
.../apache/jmeter/engine/util/FunctionParser.java | 0
.../apache/jmeter/engine/util/NoConfigMerge.java | 0
.../apache/jmeter/engine/util/NoThreadClone.java | 0
.../engine/util/ReplaceFunctionsWithStrings.java | 0
.../engine/util/ReplaceStringWithFunctions.java | 0
.../apache/jmeter/engine/util/SimpleVariable.java | 0
.../engine/util/UndoVariableReplacement.java | 0
.../apache/jmeter/engine/util/ValueReplacer.java | 0
.../jmeter/engine/util/ValueTransformer.java | 0
.../exceptions/IllegalUserActionException.java | 0
.../apache/jmeter/functions/AbstractFunction.java | 0
.../org/apache/jmeter/functions/Function.java | 0
.../jmeter/functions/InvalidVariableException.java | 0
.../jmeter/functions/gui/FunctionHelper.java | 0
.../jmeter/gui/AbstractJMeterGuiComponent.java | 0
.../gui/AbstractScopedJMeterGuiComponent.java | 0
.../main/java}/org/apache/jmeter/gui/ClearGui.java | 0
.../java}/org/apache/jmeter/gui/CommentPanel.java | 0
.../java}/org/apache/jmeter/gui/GUIFactory.java | 0
.../org/apache/jmeter/gui/GUIMenuSortOrder.java | 0
.../org/apache/jmeter/gui/GlobalUndoableEdit.java | 0
.../java}/org/apache/jmeter/gui/GuiPackage.java | 0
.../org/apache/jmeter/gui/HtmlReportAction.java | 0
.../java}/org/apache/jmeter/gui/HtmlReportUI.java | 0
.../org/apache/jmeter/gui/JMeterFileFilter.java | 0
.../org/apache/jmeter/gui/JMeterGUIComponent.java | 0
.../java}/org/apache/jmeter/gui/LoggerPanel.java | 0
.../java}/org/apache/jmeter/gui/MainFrame.java | 0
.../java}/org/apache/jmeter/gui/NamePanel.java | 0
.../java}/org/apache/jmeter/gui/OnErrorPanel.java | 0
.../java}/org/apache/jmeter/gui/Replaceable.java | 0
.../org/apache/jmeter/gui/SavePropertyDialog.java | 0
.../java}/org/apache/jmeter/gui/Searchable.java | 0
.../java}/org/apache/jmeter/gui/ServerPanel.java | 0
.../org/apache/jmeter/gui/SimpleCompoundEdit.java | 0
.../java}/org/apache/jmeter/gui/Stoppable.java | 0
.../org/apache/jmeter/gui/TestPlanListener.java | 0
.../java}/org/apache/jmeter/gui/TreeState.java | 0
.../java}/org/apache/jmeter/gui/UndoHistory.java | 0
.../org/apache/jmeter/gui/UndoHistoryItem.java | 0
.../org/apache/jmeter/gui/UnsharedComponent.java | 0
.../org/apache/jmeter/gui/action/AboutCommand.java | 0
.../apache/jmeter/gui/action/AbstractAction.java | 0
.../action/AbstractActionWithNoRunningTest.java | 0
.../org/apache/jmeter/gui/action/ActionNames.java | 0
.../org/apache/jmeter/gui/action/ActionRouter.java | 0
.../org/apache/jmeter/gui/action/AddParent.java | 0
.../gui/action/AddThinkTimeBetweenEachStep.java | 0
.../org/apache/jmeter/gui/action/AddToTree.java | 0
.../jmeter/gui/action/ApplyNamingConvention.java | 0
.../apache/jmeter/gui/action/ChangeLanguage.java | 0
.../org/apache/jmeter/gui/action/ChangeParent.java | 0
.../org/apache/jmeter/gui/action/CheckDirty.java | 0
.../java}/org/apache/jmeter/gui/action/Clear.java | 0
.../java}/org/apache/jmeter/gui/action/Close.java | 0
.../apache/jmeter/gui/action/CollapseExpand.java | 0
.../gui/action/CollapseExpandTreeBranch.java | 0
.../org/apache/jmeter/gui/action/Command.java | 0
.../gui/action/CompileJSR223TestElements.java | 0
.../java}/org/apache/jmeter/gui/action/Copy.java | 0
.../jmeter/gui/action/CreateFunctionDialog.java | 0
.../java}/org/apache/jmeter/gui/action/Cut.java | 0
.../org/apache/jmeter/gui/action/Duplicate.java | 0
.../org/apache/jmeter/gui/action/EditCommand.java | 0
.../apache/jmeter/gui/action/EnableComponent.java | 0
.../org/apache/jmeter/gui/action/ExitCommand.java | 0
.../java}/org/apache/jmeter/gui/action/Help.java | 0
.../jmeter/gui/action/HtmlReportGenerator.java | 0
.../org/apache/jmeter/gui/action/KeyStrokes.java | 0
.../java}/org/apache/jmeter/gui/action/Load.java | 0
.../apache/jmeter/gui/action/LoadDraggedFile.java | 0
.../jmeter/gui/action/LoadRecentProject.java | 0
.../apache/jmeter/gui/action/LogLevelCommand.java | 0
.../gui/action/LoggerPanelEnableDisable.java | 0
.../jmeter/gui/action/LookAndFeelCommand.java | 0
.../java}/org/apache/jmeter/gui/action/Move.java | 0
.../apache/jmeter/gui/action/OpenLinkAction.java | 0
.../java}/org/apache/jmeter/gui/action/Paste.java | 0
.../apache/jmeter/gui/action/RawTextSearcher.java | 0
.../apache/jmeter/gui/action/RegexpSearcher.java | 0
.../org/apache/jmeter/gui/action/RemoteStart.java | 0
.../java}/org/apache/jmeter/gui/action/Remove.java | 0
.../jmeter/gui/action/ResetSearchCommand.java | 0
.../org/apache/jmeter/gui/action/Restart.java | 0
.../apache/jmeter/gui/action/RevertProject.java | 0
.../jmeter/gui/action/SSLManagerCommand.java | 0
.../java}/org/apache/jmeter/gui/action/Save.java | 0
.../apache/jmeter/gui/action/SaveBeforeRun.java | 0
.../org/apache/jmeter/gui/action/SaveGraphics.java | 0
.../apache/jmeter/gui/action/SchematicView.java | 0
.../jmeter/gui/action/SearchTreeCommand.java | 0
.../apache/jmeter/gui/action/SearchTreeDialog.java | 0
.../org/apache/jmeter/gui/action/Searcher.java | 0
.../jmeter/gui/action/SelectTemplatesDialog.java | 0
.../java}/org/apache/jmeter/gui/action/Start.java | 0
.../apache/jmeter/gui/action/StopStoppables.java | 0
.../apache/jmeter/gui/action/TemplatesCommand.java | 0
.../jmeter/gui/action/TreeNodeNamingPolicy.java | 0
.../org/apache/jmeter/gui/action/UndoCommand.java | 0
.../java}/org/apache/jmeter/gui/action/What.java | 0
.../org/apache/jmeter/gui/action/ZoomInOut.java | 0
.../action/impl/DefaultTreeNodeNamingPolicy.java | 0
.../jmeter/gui/action/template/Template.java | 0
.../gui/action/template/TemplateManager.java | 0
.../gui/action/thinktime/ThinkTimeCreator.java | 0
.../action/validation/TreeClonerForValidation.java | 0
.../jmeter/gui/logging/GuiLogEventAppender.java | 0
.../apache/jmeter/gui/logging/GuiLogEventBus.java | 0
.../jmeter/gui/logging/GuiLogEventListener.java | 0
.../apache/jmeter/gui/logging/LogEventObject.java | 0
.../org/apache/jmeter/gui/plugin/MenuCreator.java | 0
.../apache/jmeter/gui/tree/JMeterCellRenderer.java | 0
.../apache/jmeter/gui/tree/JMeterTreeListener.java | 0
.../apache/jmeter/gui/tree/JMeterTreeModel.java | 0
.../org/apache/jmeter/gui/tree/JMeterTreeNode.java | 0
.../jmeter/gui/tree/JMeterTreeTransferHandler.java | 0
.../org/apache/jmeter/gui/tree/NamedTreeNode.java | 0
.../org/apache/jmeter/gui/util/CheckBoxPanel.java | 0
.../org/apache/jmeter/gui/util/EscapeDialog.java | 0
.../org/apache/jmeter/gui/util/FileDialoger.java | 0
.../org/apache/jmeter/gui/util/FileListPanel.java | 0
.../org/apache/jmeter/gui/util/FilePanel.java | 0
.../org/apache/jmeter/gui/util/FilePanelEntry.java | 0
.../org/apache/jmeter/gui/util/FocusRequester.java | 0
.../jmeter/gui/util/HeaderAsPropertyRenderer.java | 0
.../gui/util/HeaderAsPropertyRendererWrapper.java | 0
.../apache/jmeter/gui/util/HorizontalPanel.java | 0
.../apache/jmeter/gui/util/IconToolbarBean.java | 0
.../org/apache/jmeter/gui/util/JDateField.java | 0
.../apache/jmeter/gui/util/JLabeledRadioI18N.java | 0
.../org/apache/jmeter/gui/util/JMeterColor.java | 0
.../org/apache/jmeter/gui/util/JMeterMenuBar.java | 0
.../org/apache/jmeter/gui/util/JMeterToolBar.java | 0
.../jmeter/gui/util/JSyntaxSearchToolBar.java | 0
.../apache/jmeter/gui/util/JSyntaxTextArea.java | 0
.../apache/jmeter/gui/util/JTextScrollPane.java | 0
.../org/apache/jmeter/gui/util/MenuFactory.java | 0
.../java}/org/apache/jmeter/gui/util/MenuInfo.java | 0
.../apache/jmeter/gui/util/MenuSeparatorInfo.java | 0
.../jmeter/gui/util/NumberFieldErrorListener.java | 0
.../apache/jmeter/gui/util/PowerTableModel.java | 0
.../jmeter/gui/util/TextAreaCellRenderer.java | 0
.../jmeter/gui/util/TextAreaTableCellEditor.java | 0
.../apache/jmeter/gui/util/TextBoxDialoger.java | 0
.../apache/jmeter/gui/util/TristateCheckBox.java | 0
.../org/apache/jmeter/gui/util/TristateState.java | 0
.../org/apache/jmeter/gui/util/VerticalPanel.java | 0
.../apache/jmeter/gui/util/theme/darcula_theme.xml | 0
.../org/apache/jmeter/plugin/JMeterPlugin.java | 0
.../org/apache/jmeter/plugin/PluginManager.java | 0
.../org/apache/jmeter/processor/PostProcessor.java | 0
.../org/apache/jmeter/processor/PreProcessor.java | 0
.../processor/gui/AbstractPostProcessorGui.java | 0
.../processor/gui/AbstractPreProcessorGui.java | 0
.../report/config/ConfigurationException.java | 0
.../jmeter/report/config/ConfigurationUtils.java | 0
.../report/config/ExporterConfiguration.java | 0
.../jmeter/report/config/GraphConfiguration.java | 0
.../report/config/InstanceConfiguration.java | 0
.../config/ReportGeneratorConfiguration.java | 0
.../jmeter/report/config/SubConfiguration.java | 0
.../org/apache/jmeter/report/config/package.html | 0
.../jmeter/report/core/AbstractSampleWriter.java | 0
.../report/core/ControllerSamplePredicate.java | 0
.../jmeter/report/core/ConvertException.java | 0
.../org/apache/jmeter/report/core/Converters.java | 0
.../org/apache/jmeter/report/core/CsvFile.java | 0
.../apache/jmeter/report/core/CsvSampleReader.java | 0
.../apache/jmeter/report/core/CsvSampleWriter.java | 0
.../org/apache/jmeter/report/core/DataContext.java | 0
.../org/apache/jmeter/report/core/JsonUtil.java | 0
.../org/apache/jmeter/report/core/Sample.java | 0
.../apache/jmeter/report/core/SampleBuilder.java | 0
.../jmeter/report/core/SampleComparator.java | 0
.../apache/jmeter/report/core/SampleException.java | 0
.../jmeter/report/core/SampleMetaDataParser.java | 0
.../apache/jmeter/report/core/SampleMetadata.java | 0
.../apache/jmeter/report/core/SamplePredicate.java | 0
.../apache/jmeter/report/core/SampleSelector.java | 0
.../apache/jmeter/report/core/SampleWriter.java | 0
.../apache/jmeter/report/core/StringConverter.java | 0
.../org/apache/jmeter/report/core/TimeHelper.java | 0
.../org/apache/jmeter/report/core/package.html | 0
.../report/dashboard/AbstractDataExporter.java | 0
.../jmeter/report/dashboard/DataExporter.java | 0
.../jmeter/report/dashboard/ExportException.java | 0
.../report/dashboard/GenerationException.java | 0
.../report/dashboard/HtmlTemplateExporter.java | 0
.../jmeter/report/dashboard/JsonExporter.java | 0
.../jmeter/report/dashboard/JsonizerVisitor.java | 0
.../jmeter/report/dashboard/ReportGenerator.java | 0
.../jmeter/report/dashboard/SamplingStatistic.java | 0
.../jmeter/report/dashboard/TemplateVisitor.java | 0
.../apache/jmeter/report/dashboard/package.html | 0
.../processor/AbstractAggregatorFactory.java | 0
.../report/processor/AbstractSampleConsumer.java | 0
.../report/processor/AbstractSampleProcessor.java | 0
.../report/processor/AbstractSampleSource.java | 0
.../report/processor/AbstractSummaryConsumer.java | 0
.../jmeter/report/processor/AggregateConsumer.java | 0
.../apache/jmeter/report/processor/Aggregator.java | 0
.../jmeter/report/processor/AggregatorFactory.java | 0
.../report/processor/ApdexSummaryConsumer.java | 0
.../jmeter/report/processor/ApdexSummaryData.java | 0
.../report/processor/ApdexThresholdsInfo.java | 0
.../jmeter/report/processor/ChannelContext.java | 0
.../report/processor/CsvFileSampleSource.java | 0
.../report/processor/ErrorsSummaryConsumer.java | 0
.../report/processor/ExternalSampleSorter.java | 0
.../report/processor/FieldSampleComparator.java | 0
.../jmeter/report/processor/FilterConsumer.java | 0
.../org/apache/jmeter/report/processor/Job.java | 0
.../jmeter/report/processor/ListResultData.java | 0
.../jmeter/report/processor/MapResultData.java | 0
.../jmeter/report/processor/MaxAggregator.java | 0
.../report/processor/MaxAggregatorFactory.java | 0
.../jmeter/report/processor/MeanAggregator.java | 0
.../report/processor/MeanAggregatorFactory.java | 0
.../report/processor/MedianAggregatorFactory.java | 0
.../jmeter/report/processor/MinAggregator.java | 0
.../report/processor/MinAggregatorFactory.java | 0
.../report/processor/NormalizerSampleConsumer.java | 0
.../report/processor/PercentileAggregator.java | 0
.../processor/PercentileAggregatorFactory.java | 0
.../report/processor/RequestsSummaryConsumer.java | 0
.../apache/jmeter/report/processor/ResultData.java | 0
.../jmeter/report/processor/ResultDataVisitor.java | 0
.../jmeter/report/processor/SampleConsumer.java | 0
.../jmeter/report/processor/SampleContext.java | 0
.../jmeter/report/processor/SampleIndexer.java | 0
.../jmeter/report/processor/SampleProcessor.java | 0
.../jmeter/report/processor/SampleProducer.java | 0
.../jmeter/report/processor/SampleSource.java | 0
.../report/processor/SampleWriterConsumer.java | 0
.../processor/StatisticsSummaryConsumer.java | 0
.../report/processor/StatisticsSummaryData.java | 0
.../jmeter/report/processor/SumAggregator.java | 0
.../report/processor/SumAggregatorFactory.java | 0
.../jmeter/report/processor/TaggerConsumer.java | 0
.../jmeter/report/processor/ThresholdSelector.java | 0
.../report/processor/TimeRateAggregator.java | 0
.../processor/TimeRateAggregatorFactory.java | 0
.../processor/Top5ErrorsBySamplerConsumer.java | 0
.../report/processor/Top5ErrorsSummaryData.java | 0
.../jmeter/report/processor/ValueResultData.java | 0
.../processor/graph/AbstractGraphConsumer.java | 0
.../graph/AbstractGraphValueSelector.java | 0
.../graph/AbstractOverTimeGraphConsumer.java | 0
.../processor/graph/AbstractSeriesSelector.java | 0
.../graph/AbstractVersusRequestsGraphConsumer.java | 0
.../report/processor/graph/CodeSeriesSelector.java | 0
.../processor/graph/ConnectTimeValueSelector.java | 0
.../report/processor/graph/CountValueSelector.java | 0
.../processor/graph/ElapsedTimeValueSelector.java | 0
.../report/processor/graph/GraphKeysSelector.java | 0
.../processor/graph/GraphSeriesSelector.java | 0
.../report/processor/graph/GraphValueSelector.java | 0
.../jmeter/report/processor/graph/GroupData.java | 0
.../jmeter/report/processor/graph/GroupInfo.java | 0
.../processor/graph/IndexedNameSelector.java | 0
.../processor/graph/LatencyValueSelector.java | 0
.../report/processor/graph/NameSeriesSelector.java | 0
.../jmeter/report/processor/graph/SeriesData.java | 0
.../processor/graph/StaticSeriesSelector.java | 0
.../processor/graph/StatusSeriesSelector.java | 0
.../graph/SuccessfulElapsedTimeValueSelector.java | 0
.../processor/graph/TimeStampKeysSelector.java | 0
.../graph/impl/ActiveThreadsGraphConsumer.java | 0
.../graph/impl/BytesThroughputGraphConsumer.java | 0
.../graph/impl/CodesPerSecondGraphConsumer.java | 0
.../impl/ConnectTimeOverTimeGraphConsumer.java | 0
.../processor/graph/impl/CustomGraphConsumer.java | 0
.../graph/impl/HitsPerSecondGraphConsumer.java | 0
.../graph/impl/LatencyOverTimeGraphConsumer.java | 0
.../graph/impl/LatencyVSRequestGraphConsumer.java | 0
.../impl/ResponseCustomGraphGraphConsumer.java | 0
.../ResponseTimeDistributionGraphConsumer.java | 0
.../impl/ResponseTimeOverTimeGraphConsumer.java | 0
.../impl/ResponseTimePerSampleGraphConsumer.java | 0
.../impl/ResponseTimePercentilesGraphConsumer.java | 0
...sponseTimePercentilesOverTimeGraphConsumer.java | 0
.../impl/ResponseTimeVSRequestGraphConsumer.java | 0
...heticResponseTimeDistributionGraphConsumer.java | 0
.../graph/impl/TimeVSThreadGraphConsumer.java | 0
.../graph/impl/TotalTPSGraphConsumer.java | 0
.../impl/TransactionsPerSecondGraphConsumer.java | 0
.../report/processor/graph/impl/package.html | 0
.../jmeter/report/processor/graph/package.html | 0
.../apache/jmeter/report/processor/package.html | 0
.../apache/jmeter/report/utils/MetricUtils.java | 0
.../jmeter/reporters/AbstractListenerElement.java | 0
.../org/apache/jmeter/reporters/ResultAction.java | 0
.../apache/jmeter/reporters/ResultCollector.java | 0
.../jmeter/reporters/ResultCollectorHelper.java | 0
.../org/apache/jmeter/reporters/ResultSaver.java | 0
.../org/apache/jmeter/reporters/Summariser.java | 0
.../jmeter/reporters/SummariserRunningSample.java | 0
.../jmeter/reporters/gui/ResultActionGui.java | 0
.../jmeter/reporters/gui/ResultSaverGui.java | 0
.../apache/jmeter/reporters/gui/SummariserGui.java | 0
.../org/apache/jmeter/rmi/AliasKeyManager.java | 0
.../jmeter/rmi/RMIServerSocketFactoryImpl.java | 0
.../main/java}/org/apache/jmeter/rmi/RmiUtils.java | 0
.../jmeter/rmi/SSLRMIClientSocketFactory.java | 0
.../jmeter/rmi/SSLRMIServerSocketFactory.java | 0
.../jmeter/samplers/AbstractSampleSender.java | 0
.../apache/jmeter/samplers/AbstractSampler.java | 0
.../apache/jmeter/samplers/AsynchSampleSender.java | 0
.../apache/jmeter/samplers/BatchSampleSender.java | 0
.../org/apache/jmeter/samplers/Clearable.java | 0
.../jmeter/samplers/DataStrippingSampleSender.java | 0
.../jmeter/samplers/DiskStoreSampleSender.java | 0
.../java}/org/apache/jmeter/samplers/Entry.java | 0
.../apache/jmeter/samplers/HoldSampleSender.java | 0
.../org/apache/jmeter/samplers/Interruptible.java | 0
.../jmeter/samplers/RemoteListenerWrapper.java | 0
.../jmeter/samplers/RemoteSampleListener.java | 0
.../jmeter/samplers/RemoteSampleListenerImpl.java | 0
.../samplers/RemoteSampleListenerWrapper.java | 0
.../jmeter/samplers/RemoteTestListenerWrapper.java | 0
.../org/apache/jmeter/samplers/Remoteable.java | 0
.../org/apache/jmeter/samplers/SampleEvent.java | 3 -
.../org/apache/jmeter/samplers/SampleListener.java | 0
.../org/apache/jmeter/samplers/SampleMonitor.java | 0
.../org/apache/jmeter/samplers/SampleResult.java | 0
.../jmeter/samplers/SampleSaveConfiguration.java | 0
.../org/apache/jmeter/samplers/SampleSender.java | 0
.../jmeter/samplers/SampleSenderFactory.java | 0
.../java}/org/apache/jmeter/samplers/Sampler.java | 0
.../jmeter/samplers/StandardSampleSender.java | 0
.../jmeter/samplers/StatisticalSampleResult.java | 0
.../jmeter/samplers/StatisticalSampleSender.java | 0
.../jmeter/samplers/gui/AbstractSamplerGui.java | 0
.../org/apache/jmeter/save/CSVSaveService.java | 0
.../apache/jmeter/save/ListenerResultWrapper.java | 0
.../apache/jmeter/save/SaveGraphicsService.java | 0
.../java}/org/apache/jmeter/save/SaveService.java | 0
.../org/apache/jmeter/save/ScriptWrapper.java | 0
.../apache/jmeter/save/ScriptWrapperConverter.java | 0
.../org/apache/jmeter/save/TestResultWrapper.java | 0
.../save/converters/BooleanPropertyConverter.java | 0
.../jmeter/save/converters/ConversionHelp.java | 0
.../jmeter/save/converters/HashTreeConverter.java | 0
.../save/converters/IntegerPropertyConverter.java | 0
.../save/converters/LongPropertyConverter.java | 0
.../save/converters/MultiPropertyConverter.java | 0
.../save/converters/SampleEventConverter.java | 0
.../save/converters/SampleResultConverter.java | 0
.../SampleSaveConfigurationConverter.java | 0
.../save/converters/StringPropertyConverter.java | 0
.../save/converters/TestElementConverter.java | 0
.../converters/TestElementPropertyConverter.java | 0
.../converters/TestResultWrapperConverter.java | 0
.../org/apache/jmeter/services/FileServer.java | 0
.../java}/org/apache/jmeter/swing/HtmlPane.java | 0
.../apache/jmeter/testbeans/BeanInfoSupport.java | 0
.../org/apache/jmeter/testbeans/TestBean.java | 0
.../apache/jmeter/testbeans/TestBeanBeanInfo.java | 0
.../apache/jmeter/testbeans/TestBeanHelper.java | 0
.../testbeans/gui/BooleanPropertyEditor.java | 0
.../jmeter/testbeans/gui/ComboStringEditor.java | 0
.../apache/jmeter/testbeans/gui/EnumEditor.java | 0
.../jmeter/testbeans/gui/FieldStringEditor.java | 0
.../apache/jmeter/testbeans/gui/FileEditor.java | 0
.../testbeans/gui/GenericTestBeanCustomizer.java | 0
.../testbeans/gui/IntegerPropertyEditor.java | 0
.../jmeter/testbeans/gui/LongPropertyEditor.java | 0
.../jmeter/testbeans/gui/PasswordEditor.java | 0
.../jmeter/testbeans/gui/SharedCustomizer.java | 0
.../apache/jmeter/testbeans/gui/TableEditor.java | 0
.../apache/jmeter/testbeans/gui/TestBeanGUI.java | 0
.../testbeans/gui/TestBeanPropertyEditor.java | 0
.../jmeter/testbeans/gui/TextAreaEditor.java | 0
.../apache/jmeter/testbeans/gui/TypeEditor.java | 0
.../apache/jmeter/testbeans/gui/WrapperEditor.java | 0
.../testelement/AbstractScopedAssertion.java | 0
.../testelement/AbstractScopedTestElement.java | 0
.../jmeter/testelement/AbstractTestElement.java | 0
.../testelement/AbstractTestElementBeanInfo.java | 0
.../apache/jmeter/testelement/NonTestElement.java | 0
.../jmeter/testelement/OnErrorTestElement.java | 0
.../apache/jmeter/testelement/TestCloneable.java | 0
.../org/apache/jmeter/testelement/TestElement.java | 0
.../jmeter/testelement/TestElementTraverser.java | 0
.../jmeter/testelement/TestIterationListener.java | 0
.../org/apache/jmeter/testelement/TestPlan.java | 0
.../jmeter/testelement/TestStateListener.java | 0
.../apache/jmeter/testelement/ThreadListener.java | 0
.../jmeter/testelement/VariablesCollection.java | 0
.../org/apache/jmeter/testelement/WorkBench.java | 0
.../testelement/property/AbstractProperty.java | 0
.../testelement/property/BooleanProperty.java | 0
.../testelement/property/CollectionProperty.java | 0
.../testelement/property/DoubleProperty.java | 0
.../jmeter/testelement/property/FloatProperty.java | 0
.../testelement/property/FunctionProperty.java | 0
.../testelement/property/IntegerProperty.java | 0
.../testelement/property/JMeterProperty.java | 0
.../jmeter/testelement/property/LongProperty.java | 0
.../jmeter/testelement/property/MapProperty.java | 0
.../jmeter/testelement/property/MultiProperty.java | 0
.../jmeter/testelement/property/NullProperty.java | 0
.../testelement/property/NumberProperty.java | 0
.../testelement/property/ObjectProperty.java | 0
.../testelement/property/PropertyIterator.java | 0
.../testelement/property/PropertyIteratorImpl.java | 0
.../testelement/property/StringProperty.java | 0
.../testelement/property/TestElementProperty.java | 0
.../apache/jmeter/threads/AbstractThreadGroup.java | 0
.../threads/FindTestElementsUpToRootTraverser.java | 0
.../org/apache/jmeter/threads/JMeterContext.java | 0
.../jmeter/threads/JMeterContextService.java | 5 +-
.../org/apache/jmeter/threads/JMeterThread.java | 0
.../apache/jmeter/threads/JMeterThreadMonitor.java | 0
.../org/apache/jmeter/threads/JMeterVariables.java | 0
.../apache/jmeter/threads/ListenerNotifier.java | 0
.../org/apache/jmeter/threads/PostThreadGroup.java | 0
.../threads/RemoteThreadsLifeCycleListener.java | 0
.../jmeter/threads/RemoteThreadsListener.java | 0
.../jmeter/threads/RemoteThreadsListenerImpl.java | 0
.../threads/RemoteThreadsListenerTestElement.java | 0
.../threads/RemoteThreadsListenerWrapper.java | 0
.../org/apache/jmeter/threads/SamplePackage.java | 0
.../apache/jmeter/threads/SetupThreadGroup.java | 0
.../org/apache/jmeter/threads/TestCompiler.java | 0
.../apache/jmeter/threads/TestCompilerHelper.java | 0
.../org/apache/jmeter/threads/ThreadGroup.java | 0
.../threads/UnmodifiableJMeterVariables.java | 0
.../jmeter/threads/gui/AbstractThreadGroupGui.java | 0
.../jmeter/threads/gui/PostThreadGroupGui.java | 0
.../jmeter/threads/gui/SetupThreadGroupGui.java | 0
.../apache/jmeter/threads/gui/ThreadGroupGui.java | 0
.../org/apache/jmeter/timers/ModifiableTimer.java | 0
.../main/java}/org/apache/jmeter/timers/Timer.java | 0
.../org/apache/jmeter/timers/TimerService.java | 0
.../apache/jmeter/timers/gui/AbstractTimerGui.java | 0
.../org/apache/jmeter/util/BSFBeanInfoSupport.java | 0
.../apache/jmeter/util/BSFJavaScriptEngine.java | 0
.../org/apache/jmeter/util/BSFTestElement.java | 0
.../jmeter/util/BeanShellBeanInfoSupport.java | 0
.../org/apache/jmeter/util/BeanShellClient.java | 0
.../apache/jmeter/util/BeanShellInterpreter.java | 0
.../org/apache/jmeter/util/BeanShellServer.java | 0
.../apache/jmeter/util/BeanShellTestElement.java | 0
.../java}/org/apache/jmeter/util/CPSPauser.java | 0
.../java}/org/apache/jmeter/util/Calculator.java | 0
.../java}/org/apache/jmeter/util/ColorHelper.java | 0
.../apache/jmeter/util/CustomX509TrustManager.java | 0
.../java}/org/apache/jmeter/util/Document.java | 0
.../jmeter/util/HttpSSLProtocolSocketFactory.java | 0
.../jmeter/util/JMeterTreeNodeTransferable.java | 0
.../java}/org/apache/jmeter/util/JMeterUtils.java | 0
.../org/apache/jmeter/util/JMeterVersion.java | 0
.../apache/jmeter/util/JSR223BeanInfoSupport.java | 0
.../org/apache/jmeter/util/JSR223TestElement.java | 0
.../org/apache/jmeter/util/JsseSSLManager.java | 0
.../org/apache/jmeter/util/LocaleChangeEvent.java | 0
.../apache/jmeter/util/LocaleChangeListener.java | 0
.../java}/org/apache/jmeter/util/NameUpdater.java | 0
.../java}/org/apache/jmeter/util/NamedObject.java | 0
.../jmeter/util/PropertiesBasedPrefixResolver.java | 0
.../PropertiesBasedPrefixResolverForXpath2.java | 0
.../java}/org/apache/jmeter/util/SSLManager.java | 0
.../java}/org/apache/jmeter/util/ScopePanel.java | 0
.../jmeter/util/ScriptingBeanInfoSupport.java | 0
.../apache/jmeter/util/ScriptingTestElement.java | 0
.../org/apache/jmeter/util/SlowInputStream.java | 0
.../org/apache/jmeter/util/SlowOutputStream.java | 0
.../org/apache/jmeter/util/SlowSSLSocket.java | 0
.../java}/org/apache/jmeter/util/SlowSocket.java | 0
.../org/apache/jmeter/util/StringUtilities.java | 0
.../java}/org/apache/jmeter/util/TemplateUtil.java | 0
.../org/apache/jmeter/util/TidyException.java | 0
.../jmeter/util/TrustAllSSLSocketFactory.java | 0
.../apache/jmeter/util/XPathQueryCacheLoader.java | 0
.../java}/org/apache/jmeter/util/XPathUtil.java | 0
.../jmeter/util/keystore/JmeterKeyStore.java | 0
.../jmeter/visualizers/CachingStatCalculator.java | 0
.../apache/jmeter/visualizers/ImageVisualizer.java | 0
.../org/apache/jmeter/visualizers/Printable.java | 0
.../apache/jmeter/visualizers/RunningSample.java | 0
.../org/apache/jmeter/visualizers/Sample.java | 0
.../jmeter/visualizers/SamplingStatCalculator.java | 0
.../org/apache/jmeter/visualizers/TableSample.java | 0
.../org/apache/jmeter/visualizers/Visualizer.java | 0
.../apache/jmeter/visualizers/backend/Backend.java | 0
.../visualizers/gui/AbstractListenerGui.java | 0
.../jmeter/visualizers/gui/AbstractVisualizer.java | 4 +-
.../org/apache/jmeter/visualizers/package.html | 0
.../org/apache/jmeter/gui/action/schematic.xsl | 0
.../jmeter/gui/action/template/templates.dtd | 0
.../org/apache/jmeter/gui/util/textarea.properties | 0
.../main/resources}/org/apache/jmeter/help.txt | 0
.../org/apache/jmeter/images/about.down.gif | Bin
.../org/apache/jmeter/images/about.off.gif | Bin
.../org/apache/jmeter/images/about.on.gif | Bin
.../org/apache/jmeter/images/about.over.gif | Bin
.../resources}/org/apache/jmeter/images/beaker.gif | Bin
.../org/apache/jmeter/images/clear.down.gif | Bin
.../org/apache/jmeter/images/clear.off.gif | Bin
.../org/apache/jmeter/images/clear.on.gif | Bin
.../org/apache/jmeter/images/clear.over.gif | Bin
.../org/apache/jmeter/images/clipboard.gif | Bin
.../org/apache/jmeter/images/collapse-close.png | Bin
.../org/apache/jmeter/images/collapse-open.png | Bin
.../resources}/org/apache/jmeter/images/ear.gif | Bin
.../org/apache/jmeter/images/feather.gif | Bin
.../org/apache/jmeter/images/icon-apache.png | Bin
.../org/apache/jmeter/images/icon.properties | 0
.../org/apache/jmeter/images/icon_1.properties | 0
.../org/apache/jmeter/images/icon_error_sml.gif | Bin
.../org/apache/jmeter/images/icon_old.properties | 0
.../org/apache/jmeter/images/icon_success_sml.gif | Bin
.../org/apache/jmeter/images/icon_warning_sml.gif | Bin
.../resources}/org/apache/jmeter/images/jmeter.png | Bin
.../resources}/org/apache/jmeter/images/knob.gif | Bin
.../org/apache/jmeter/images/leafnode.gif | Bin
.../org/apache/jmeter/images/leafnodeflip.gif | Bin
.../resources}/org/apache/jmeter/images/meter.png | Bin
.../org/apache/jmeter/images/new/barchart.png | Bin
.../apache/jmeter/images/new/barchart.png-grey.png | Bin
.../org/apache/jmeter/images/new/blue-quill.png | Bin
.../org/apache/jmeter/images/new/book-grey.png | Bin
.../org/apache/jmeter/images/new/book.png | Bin
.../org/apache/jmeter/images/new/chart-grey.png | Bin
.../org/apache/jmeter/images/new/chart.png | Bin
.../org/apache/jmeter/images/new/clock-grey.png | Bin
.../org/apache/jmeter/images/new/clock.png | Bin
.../org/apache/jmeter/images/new/funnel-grey.png | Bin
.../org/apache/jmeter/images/new/funnel.png | Bin
.../org/apache/jmeter/images/new/glasses-grey.png | Bin
.../org/apache/jmeter/images/new/glasses.png | Bin
.../org/apache/jmeter/images/new/mglass-grey.png | Bin
.../org/apache/jmeter/images/new/mglass.png | Bin
.../org/apache/jmeter/images/new/pencil-grey.png | Bin
.../org/apache/jmeter/images/new/pencil.png | Bin
.../org/apache/jmeter/images/new/pin-grey.png | Bin
.../org/apache/jmeter/images/new/pin.png | Bin
.../org/apache/jmeter/images/new/puzzle-grey.png | Bin
.../org/apache/jmeter/images/new/puzzle.png | Bin
.../org/apache/jmeter/images/new/remote-grey.png | Bin
.../org/apache/jmeter/images/new/remote.png | Bin
.../org/apache/jmeter/images/new/scroll-grey.png | Bin
.../org/apache/jmeter/images/new/scroll.png | Bin
.../org/apache/jmeter/images/new/table-grey.png | Bin
.../org/apache/jmeter/images/new/table.png | Bin
.../org/apache/jmeter/images/new/thread-grey.png | Bin
.../org/apache/jmeter/images/new/thread.png | Bin
.../apache/jmeter/images/new/typewriter-grey.png | Bin
.../org/apache/jmeter/images/new/typewriter.png | Bin
.../resources}/org/apache/jmeter/images/pipet.png | Bin
.../org/apache/jmeter/images/question.gif | Bin
.../apache/jmeter/images/smallthread.disabled.gif | Bin
.../apache/jmeter/images/smallthread.enabled.gif | Bin
.../org/apache/jmeter/images/smallthread.idle.gif | Bin
.../org/apache/jmeter/images/start.down.gif | Bin
.../org/apache/jmeter/images/start.off.gif | Bin
.../org/apache/jmeter/images/start.on.gif | Bin
.../org/apache/jmeter/images/start.over.gif | Bin
.../jmeter/images/status/22x22/dialog-error-5.png | Bin
.../status/22x22/pictogram-din-w000-general.png | Bin
.../jmeter/images/status/22x22/task-complete.png | Bin
.../jmeter/images/status/22x22/task-recurring.png | Bin
.../jmeter/images/status/22x22/user-offline-2.png | Bin
.../jmeter/images/status/22x22/user-online-2.png | Bin
.../jmeter/images/status/32x32/dialog-error-5.png | Bin
.../status/32x32/pictogram-din-w000-general.png | Bin
.../jmeter/images/status/32x32/task-complete.png | Bin
.../jmeter/images/status/32x32/task-recurring.png | Bin
.../jmeter/images/status/32x32/user-offline-2.png | Bin
.../jmeter/images/status/32x32/user-online-2.png | Bin
.../jmeter/images/status/48x48/dialog-error-5.png | Bin
.../status/48x48/pictogram-din-w000-general.png | Bin
.../jmeter/images/status/48x48/task-complete.png | Bin
.../jmeter/images/status/48x48/task-recurring.png | Bin
.../jmeter/images/status/48x48/user-offline-2.png | Bin
.../jmeter/images/status/48x48/user-online-2.png | Bin
.../org/apache/jmeter/images/stop.down.gif | Bin
.../org/apache/jmeter/images/stop.off.gif | Bin
.../org/apache/jmeter/images/stop.on.gif | Bin
.../org/apache/jmeter/images/stop.over.gif | Bin
.../org/apache/jmeter/images/testtubes.png | Bin
.../org/apache/jmeter/images/thread.disabled.gif | Bin
.../org/apache/jmeter/images/thread.enabled.gif | Bin
.../resources}/org/apache/jmeter/images/thread.gif | Bin
.../org/apache/jmeter/images/thread.idle.gif | Bin
.../resources}/org/apache/jmeter/images/timer.gif | Bin
.../images/toolbar/22x22/applications-office.png | Bin
.../images/toolbar/22x22/arrow-right-3-notimer.png | Bin
.../toolbar/22x22/arrow-right-3-startremoteall.png | Bin
.../jmeter/images/toolbar/22x22/arrow-right-3.png | Bin
.../images/toolbar/22x22/color-picker-toggle.png | Bin
.../jmeter/images/toolbar/22x22/document-new-4.png | Bin
.../images/toolbar/22x22/document-open-2.png | Bin
.../images/toolbar/22x22/document-save-5.png | Bin
.../images/toolbar/22x22/document-save-as-5.png | Bin
.../jmeter/images/toolbar/22x22/documentation.png | Bin
.../jmeter/images/toolbar/22x22/edit-clear-3.png | Bin
.../jmeter/images/toolbar/22x22/edit-copy-4.png | Bin
.../jmeter/images/toolbar/22x22/edit-cut-4.png | Bin
.../jmeter/images/toolbar/22x22/edit-find-7.png | Bin
.../jmeter/images/toolbar/22x22/edit-paste-4.png | Bin
.../jmeter/images/toolbar/22x22/edit-redo-7.png | Bin
.../jmeter/images/toolbar/22x22/edit-undo-7.png | Bin
.../images/toolbar/22x22/help-contents-5.png | Bin
.../jmeter/images/toolbar/22x22/list-add-3.png | Bin
.../jmeter/images/toolbar/22x22/list-remove-3.png | Bin
.../jmeter/images/toolbar/22x22/process-stop-4.png | Bin
.../22x22/process-stop-7-shutdownremoteall.png | Bin
.../jmeter/images/toolbar/22x22/process-stop-7.png | Bin
.../22x22/road-sign-us-stop-stopremoteall.png | Bin
.../images/toolbar/22x22/road-sign-us-stop.png | Bin
.../images/toolbar/22x22/run-build-clean.png | Bin
.../images/toolbar/22x22/run-build-prune.png | Bin
.../images/toolbar/32x32/applications-office.png | Bin
.../images/toolbar/32x32/arrow-right-3-notimer.png | Bin
.../toolbar/32x32/arrow-right-3-startremoteall.png | Bin
.../jmeter/images/toolbar/32x32/arrow-right-3.png | Bin
.../images/toolbar/32x32/color-picker-toggle.png | Bin
.../jmeter/images/toolbar/32x32/document-new-4.png | Bin
.../images/toolbar/32x32/document-open-2.png | Bin
.../images/toolbar/32x32/document-save-5.png | Bin
.../images/toolbar/32x32/document-save-as-5.png | Bin
.../jmeter/images/toolbar/32x32/documentation.png | Bin
.../jmeter/images/toolbar/32x32/edit-clear-3.png | Bin
.../jmeter/images/toolbar/32x32/edit-copy-4.png | Bin
.../jmeter/images/toolbar/32x32/edit-cut-4.png | Bin
.../jmeter/images/toolbar/32x32/edit-find-7.png | Bin
.../jmeter/images/toolbar/32x32/edit-paste-4.png | Bin
.../jmeter/images/toolbar/32x32/edit-redo-7.png | Bin
.../jmeter/images/toolbar/32x32/edit-undo-7.png | Bin
.../images/toolbar/32x32/help-contents-5.png | Bin
.../jmeter/images/toolbar/32x32/list-add-3.png | Bin
.../jmeter/images/toolbar/32x32/list-remove-3.png | Bin
.../jmeter/images/toolbar/32x32/process-stop-4.png | Bin
.../32x32/process-stop-7-shutdownremoteall.png | Bin
.../jmeter/images/toolbar/32x32/process-stop-7.png | Bin
.../32x32/road-sign-us-stop-stopremoteall.png | Bin
.../images/toolbar/32x32/road-sign-us-stop.png | Bin
.../images/toolbar/32x32/run-build-clean.png | Bin
.../images/toolbar/32x32/run-build-prune.png | Bin
.../images/toolbar/48x48/applications-office.png | Bin
.../images/toolbar/48x48/arrow-right-3-notimer.png | Bin
.../toolbar/48x48/arrow-right-3-startremoteall.png | Bin
.../jmeter/images/toolbar/48x48/arrow-right-3.png | Bin
.../images/toolbar/48x48/color-picker-toggle.png | Bin
.../jmeter/images/toolbar/48x48/document-new-4.png | Bin
.../images/toolbar/48x48/document-open-2.png | Bin
.../images/toolbar/48x48/document-save-5.png | Bin
.../images/toolbar/48x48/document-save-as-5.png | Bin
.../jmeter/images/toolbar/48x48/documentation.png | Bin
.../jmeter/images/toolbar/48x48/edit-clear-3.png | Bin
.../jmeter/images/toolbar/48x48/edit-copy-4.png | Bin
.../jmeter/images/toolbar/48x48/edit-cut-4.png | Bin
.../jmeter/images/toolbar/48x48/edit-find-7.png | Bin
.../jmeter/images/toolbar/48x48/edit-paste-4.png | Bin
.../jmeter/images/toolbar/48x48/edit-redo-7.png | Bin
.../jmeter/images/toolbar/48x48/edit-undo-7.png | Bin
.../images/toolbar/48x48/help-contents-5.png | Bin
.../jmeter/images/toolbar/48x48/list-add-3.png | Bin
.../jmeter/images/toolbar/48x48/list-remove-3.png | Bin
.../jmeter/images/toolbar/48x48/process-stop-4.png | Bin
.../48x48/process-stop-7-shutdownremoteall.png | Bin
.../jmeter/images/toolbar/48x48/process-stop-7.png | Bin
.../48x48/road-sign-us-stop-stopremoteall.png | Bin
.../images/toolbar/48x48/road-sign-us-stop.png | Bin
.../images/toolbar/48x48/run-build-clean.png | Bin
.../images/toolbar/48x48/run-build-prune.png | Bin
.../toolbar/icons-custom/arrow-right-3-notimer.svg | 0
.../icons-custom/arrow-right-3-startremoteall.svg | 0
.../toolbar/icons-custom/color-picker-toggle.svg | 0
.../process-stop-7-shutdownremoteall.svg | 0
.../road-sign-us-stop-stopremoteall.svg | 0
.../jmeter/images/toolbar/icons-toolbar.properties | 0
.../images/tree/19x19/applications-science-3.png | Bin
.../jmeter/images/tree/19x19/appointment-new-3.png | Bin
.../jmeter/images/tree/19x19/color-picker-grey.png | Bin
.../images/tree/19x19/document-export-4_custom.png | Bin
.../images/tree/19x19/document-import-2_custom.png | Bin
.../jmeter/images/tree/19x19/document-preview.png | Bin
.../jmeter/images/tree/19x19/office-chart-area.png | Bin
.../images/tree/19x19/preferences-system-4.png | Bin
.../jmeter/images/tree/19x19/system-run-5.png | Bin
.../jmeter/images/tree/19x19/view-list-tree-4.png | Bin
.../jmeter/images/tree/19x19/view-pim-tasks.png | Bin
.../images/tree/24x24/applications-science-3.png | Bin
.../jmeter/images/tree/24x24/appointment-new-3.png | Bin
.../jmeter/images/tree/24x24/color-picker-grey.png | Bin
.../images/tree/24x24/document-export-4_custom.png | Bin
.../images/tree/24x24/document-import-2_custom.png | Bin
.../jmeter/images/tree/24x24/document-preview.png | Bin
.../jmeter/images/tree/24x24/office-chart-area.png | Bin
.../images/tree/24x24/preferences-system-4.png | Bin
.../jmeter/images/tree/24x24/system-run-5.png | Bin
.../jmeter/images/tree/24x24/view-list-tree-4.png | Bin
.../jmeter/images/tree/24x24/view-pim-tasks.png | Bin
.../images/tree/32x32/applications-science-3.png | Bin
.../jmeter/images/tree/32x32/appointment-new-3.png | Bin
.../jmeter/images/tree/32x32/color-picker-grey.png | Bin
.../images/tree/32x32/document-export-4_custom.png | Bin
.../images/tree/32x32/document-import-2_custom.png | Bin
.../jmeter/images/tree/32x32/document-preview.png | Bin
.../jmeter/images/tree/32x32/office-chart-area.png | Bin
.../images/tree/32x32/preferences-system-4.png | Bin
.../jmeter/images/tree/32x32/system-run-5.png | Bin
.../jmeter/images/tree/32x32/view-list-tree-4.png | Bin
.../jmeter/images/tree/32x32/view-pim-tasks.png | Bin
.../images/tree/48x48/applications-science-3.png | Bin
.../jmeter/images/tree/48x48/appointment-new-3.png | Bin
.../jmeter/images/tree/48x48/color-picker-grey.png | Bin
.../images/tree/48x48/document-export-4_custom.png | Bin
.../images/tree/48x48/document-import-2_custom.png | Bin
.../jmeter/images/tree/48x48/document-preview.png | Bin
.../jmeter/images/tree/48x48/office-chart-area.png | Bin
.../images/tree/48x48/preferences-system-4.png | Bin
.../jmeter/images/tree/48x48/system-run-5.png | Bin
.../jmeter/images/tree/48x48/view-list-tree-4.png | Bin
.../jmeter/images/tree/48x48/view-pim-tasks.png | Bin
.../tree/icons-custom/document-export-4_custom.svg | 0
.../tree/icons-custom/document-import-2_custom.svg | 0
.../jmeter/images/vrt/19x19/security-high-2.png | Bin
.../jmeter/images/vrt/19x19/security-low-2.png | Bin
.../jmeter/images/vrt/24x24/security-high-2.png | Bin
.../jmeter/images/vrt/24x24/security-low-2.png | Bin
.../jmeter/images/vrt/32x32/security-high-2.png | Bin
.../jmeter/images/vrt/32x32/security-low-2.png | Bin
.../jmeter/images/vrt/48x48/security-high-2.png | Bin
.../jmeter/images/vrt/48x48/security-low-2.png | Bin
.../org/apache/jmeter/images/warning.png | Bin
.../apache/jmeter/resources/messages.properties | 0
.../apache/jmeter/resources/messages_de.properties | 0
.../apache/jmeter/resources/messages_es.properties | 0
.../apache/jmeter/resources/messages_fr.properties | 0
.../apache/jmeter/resources/messages_ja.properties | 0
.../apache/jmeter/resources/messages_no.properties | 0
.../apache/jmeter/resources/messages_pl.properties | 0
.../jmeter/resources/messages_pt_BR.properties | 0
.../apache/jmeter/resources/messages_tr.properties | 0
.../jmeter/resources/messages_zh_CN.properties | 0
.../jmeter/resources/messages_zh_TW.properties | 0
.../org/apache/jmeter/gui/HtmlReportGUISpec.groovy | 0
.../apache/jmeter/junit/spock/JMeterSpec.groovy | 61 +++++++++++
.../jmeter/report/core/ConvertersSpec.groovy | 0
.../report/core/SampleMetadataParserSpec.groovy | 0
.../processor/ApdexSummaryConsumerSpec.groovy | 0
.../processor/FieldSampleComparatorSpec.groovy | 0
.../report/processor/ListResultDataSpec.groovy | 0
.../Top5ErrorsBySamplerConsumerSpec.groovy | 0
.../processor/Top5ErrorsSummaryDataSpec.groovy | 0
...TimePercentilesOverTimeGraphConsumerSpec.groovy | 0
.../apache/jmeter/services/FileServerSpec.groovy | 4 +-
.../test/java}/org/apache/jmeter/JMeterTest.java | 0
.../jmeter/engine/DistributedRunnerTest.java | 0
.../org/apache/jmeter/engine/LocalHostTest.java | 0
.../org/apache/jmeter/engine/TestTreeCloner.java | 0
.../jmeter/engine/util/TestValueReplacer.java | 0
.../gui/logging/TestGuiLogEventAppender.java | 0
.../jmeter/gui/util/JSyntaxTextAreaTest.java | 0
.../jmeter/gui/util/TristateCheckBoxTest.java | 0
.../org/apache/jmeter/junit/JMeterTestCase.java | 13 ++-
.../apache/jmeter/junit/JMeterTestCaseJUnit.java | 13 ++-
.../org/apache/jmeter/junit/JMeterTestUtils.java | 47 ++++++---
.../junit/categories/ExcludeCategoryFilter.java | 0
.../jmeter/junit/categories/NeedGuiTests.java | 0
.../org/apache/jmeter/junit/stubs/TestSampler.java | 0
.../apache/jmeter/listeners/TestResultAction.java | 0
.../jmeter/report/core/CsvSampleReaderTest.java | 0
.../jmeter/report/core/SampleMetadataTest.java | 0
.../jmeter/report/core/TestCsvSampleWriter.java | 0
.../report/dashboard/ApdexPerTransactionTest.java | 0
.../processor/ErrorsSummaryConsumerTest.java | 0
.../graph/impl/CustomGraphConsumerTest.java | 0
.../org/apache/jmeter/resources/PackageTest.java | 0
.../org/apache/jmeter/samplers/NullSampler.java | 0
.../apache/jmeter/samplers/TestSampleResult.java | 0
.../samplers/TestSampleSaveConfiguration.java | 0
.../org/apache/jmeter/save/TestCSVSaveService.java | 0
.../org/apache/jmeter/test/ResourceLocator.java | 0
.../testbeans/gui/TestBooleanPropertyEditor.java | 0
.../testbeans/gui/TestComboStringEditor.java | 0
.../testbeans/gui/TestFieldStringEditor.java | 0
.../org/apache/jmeter/testelement/PackageTest.java | 0
.../jmeter/testelement/TestNumberProperty.java | 0
.../testelement/property/AbstractPropertyTest.java | 0
.../testelement/property/MapPropertyTest.java | 0
.../jmeter/testelement/property/PackageTest.java | 0
.../jmeter/threads/JMeterContextServiceHelper.java | 0
.../jmeter/threads/TestJMeterContextService.java | 0
.../apache/jmeter/threads/TestJMeterThread.java | 30 ++++--
.../apache/jmeter/threads/TestTestCompiler.java | 0
.../threads/TestUnmodifiableJMeterVariables.java | 0
.../apache/jmeter/util/JSR223TestElementTest.java | 0
.../java}/org/apache/jmeter/util/LogRecord.java | 0
.../jmeter/util/LogRecordingDelegatingLogger.java | 0
.../java}/org/apache/jmeter/util/PackageTest.java | 0
.../apache/jmeter/util/StringUtilitiesTest.java | 0
.../org/apache/jmeter/util/TestJMeterUtils.java | 0
.../org/apache/jmeter/util/XPathUtilTest.java | 16 ---
.../java}/org/apache/jorphan/TestXMLBuffer.java | 0
.../org/apache/jorphan/reflect/TestFunctor.java | 0
.../java}/org/apache/jorphan/test/AllTests.java | 0
.../org/apache/jorphan/test/JMeterSerialTest.java | 0
.../core/src/test}/resources/XPathUtilTestXml.xml | 0
{test => src/core/src/test}/resources/log4j2.xml | 0
.../dashboard/reportgenerator_test.properties | 0
.../apache/jmeter/services}/testfiles/empty.csv | 0
.../services}/testfiles/unit/FileServerSpec.csv | 0
.../core/src/test}/resources/resourcefile.txt | 0
.../apache/jmeter/engine/util/PackageSpec.groovy | 0
.../gui/action/HtmlReportGeneratorSpec.groovy | 0
.../apache/jmeter/gui/util/MenuFactorySpec.groovy | 0
.../report/dashboard/ReportGeneratorSpec.groovy | 0
.../jmeter/control/TestSwitchController.java | 0
.../functions/ComponentReferenceFunctionTest.java | 2 +-
.../org/apache/jmeter/gui/action/TestLoad.java | 5 +-
.../java}/org/apache/jmeter/junit/JMeterTest.java | 4 +
.../jmeter/resources/TestPropertiesFiles.java | 0
.../org/apache/jmeter/save/TestSaveService.java | 3 +-
.../apache/jmeter/testbeans/gui/PackageTest.java | 0
.../apache/jmeter/testelement/TestElementTest.java | 0
.../java}/org/apache/jorphan/TestFunctorUsers.java | 0
.../apache/jorphan/reflect/TestClassFinder.java | 15 ---
.../apache/jmeter/gui/report/HTMLReportExpect.json | 0
.../jmeter/examples/sampler/ExampleSampler.java | 0
.../examples/sampler/gui/ExampleSamplerGui.java | 0
.../examples/testbeans/example1/Example1.java | 0
.../examples/testbeans/example2/Example2.java | 0
.../testbeans/example2/Example2BeanInfo.java | 0
.../examples/testbeans/example3/Example3.java | 0
.../testbeans/example3/Example3BeanInfo.java | 0
.../example2/Example2Resources.properties | 0
.../example2/Example2Resources_es.properties | 0
.../example2/Example2Resources_pt_BR.properties | 0
.../example2/Example2Resources_tr.properties | 0
.../example2/Example2Resources_zh_TW.properties | 0
.../example3/Example3Resources.properties | 0
.../jmeter/functions/AbstractFunctionByKey.java | 0
.../jmeter/functions/AbstractHostIPName.java | 0
.../org/apache/jmeter/functions/BeanShell.java | 0
.../java}/org/apache/jmeter/functions/CSVRead.java | 0
.../org/apache/jmeter/functions/ChangeCase.java | 0
.../org/apache/jmeter/functions/CharFunction.java | 0
.../jmeter/functions/DateTimeConvertFunction.java | 0
.../jmeter/functions/DigestEncodeFunction.java | 0
.../org/apache/jmeter/functions/EscapeHtml.java | 0
.../jmeter/functions/EscapeOroRegexpChars.java | 0
.../org/apache/jmeter/functions/EscapeXml.java | 0
.../org/apache/jmeter/functions/EvalFunction.java | 0
.../apache/jmeter/functions/EvalVarFunction.java | 0
.../jmeter/functions/FileRowColContainer.java | 0
.../org/apache/jmeter/functions/FileToString.java | 0
.../org/apache/jmeter/functions/FileWrapper.java | 0
.../java}/org/apache/jmeter/functions/Groovy.java | 0
.../java}/org/apache/jmeter/functions/IntSum.java | 0
.../org/apache/jmeter/functions/IsPropDefined.java | 0
.../org/apache/jmeter/functions/IsVarDefined.java | 0
.../apache/jmeter/functions/IterationCounter.java | 0
.../org/apache/jmeter/functions/JavaScript.java | 0
.../org/apache/jmeter/functions/Jexl2Function.java | 0
.../org/apache/jmeter/functions/Jexl3Function.java | 0
.../org/apache/jmeter/functions/LogFunction.java | 0
.../org/apache/jmeter/functions/LogFunction2.java | 0
.../java}/org/apache/jmeter/functions/LongSum.java | 0
.../org/apache/jmeter/functions/MachineIP.java | 0
.../org/apache/jmeter/functions/MachineName.java | 0
.../org/apache/jmeter/functions/Property.java | 0
.../org/apache/jmeter/functions/Property2.java | 0
.../java}/org/apache/jmeter/functions/Random.java | 0
.../org/apache/jmeter/functions/RandomDate.java | 0
.../jmeter/functions/RandomFromMultipleVars.java | 0
.../org/apache/jmeter/functions/RandomString.java | 0
.../org/apache/jmeter/functions/RegexFunction.java | 0
.../org/apache/jmeter/functions/SamplerName.java | 0
.../org/apache/jmeter/functions/SetProperty.java | 0
.../org/apache/jmeter/functions/SplitFunction.java | 0
.../apache/jmeter/functions/StringFromFile.java | 0
.../org/apache/jmeter/functions/StringToFile.java | 0
.../org/apache/jmeter/functions/TestPlanName.java | 0
.../apache/jmeter/functions/ThreadGroupName.java | 0
.../org/apache/jmeter/functions/ThreadNumber.java | 0
.../org/apache/jmeter/functions/TimeFunction.java | 0
.../org/apache/jmeter/functions/TimeShift.java | 0
.../org/apache/jmeter/functions/UnEscape.java | 0
.../org/apache/jmeter/functions/UnEscapeHtml.java | 0
.../org/apache/jmeter/functions/UrlDecode.java | 0
.../org/apache/jmeter/functions/UrlEncode.java | 0
.../java}/org/apache/jmeter/functions/Uuid.java | 0
.../org/apache/jmeter/functions/Variable.java | 0
.../java}/org/apache/jmeter/functions/XPath.java | 0
.../jmeter/functions/XPathFileContainer.java | 0
.../org/apache/jmeter/functions/XPathWrapper.java | 0
.../java}/org/apache/jmeter/functions/package.html | 0
.../apache/jmeter/functions/ChangeCaseSpec.groovy | 0
.../jmeter/functions/gui/FunctionHelperSpec.groovy | 0
.../jmeter/functions/CSVReadFunctionTest.java | 4 +-
.../apache/jmeter/functions/EvalFunctionTest.java | 0
.../jmeter/functions/FunctionTestHelper.java | 0
.../org/apache/jmeter/functions/PackageTest.java | 12 +--
.../jmeter/functions/RandomFunctionTest.java | 0
.../apache/jmeter/functions/SplitFunctionTest.java | 0
.../functions/StringFromFileFunctionTest.java | 9 +-
.../apache/jmeter/functions/SumFunctionTest.java | 0
.../apache/jmeter/functions/TestChangeCase.java | 0
.../functions/TestDateTimeConvertFunction.java | 0
.../jmeter/functions/TestDigestFunction.java | 0
.../jmeter/functions/TestEscapeOroRegexpChars.java | 0
.../jmeter/functions/TestFileRowColContainer.java | 0
.../apache/jmeter/functions/TestFileToString.java | 0
.../jmeter/functions/TestGroovyFunction.java | 0
.../apache/jmeter/functions/TestIsPropDefined.java | 0
.../apache/jmeter/functions/TestIsVarDefined.java | 0
.../jmeter/functions/TestJavascriptFunction.java | 0
.../functions/TestJavascriptFunctionWithRhino.java | 0
.../apache/jmeter/functions/TestJexl2Function.java | 0
.../apache/jmeter/functions/TestJexl3Function.java | 0
.../apache/jmeter/functions/TestMachineIPName.java | 0
.../functions/TestRandomFromMultipleVars.java | 0
.../apache/jmeter/functions/TestRegexFunction.java | 0
.../jmeter/functions/TestSamplerNameFunction.java | 0
.../apache/jmeter/functions/TestSetProperty.java | 0
.../jmeter/functions/TestSimpleFunctions.java | 6 +-
.../apache/jmeter/functions/TestStringtoFile.java | 0
.../apache/jmeter/functions/TestTimeFunction.java | 0
.../functions/TestTimeRandomDateFunction.java | 0
.../jmeter/functions/TestTimeShiftFunction.java | 0
.../jmeter/functions/TestUrlEncodeDecode.java | 0
.../org/apache/jmeter/functions/VariableTest.java | 0
.../jmeter/functions}/testfiles/BeanShellTest.bsh | 0
.../jmeter/functions}/testfiles/SFFTest1.txt | 0
.../jmeter/functions}/testfiles/SFFTest2.txt | 0
.../jmeter/functions}/testfiles/SFFTest3.txt | 0
.../jmeter/functions}/testfiles/XPathTest.xml | 0
.../jmeter/functions}/testfiles/XPathTest2.xml | 0
.../jmeter/functions}/testfiles/testblank.csv | 0
.../testfiles/unit/CSVReadFunctionTest.csv | 0
.../testfiles/unit/FunctionsPackageTest.csv | 0
.../apache/jmeter/functions/xpathfilecontainer.xml | 7 ++
.../apache/jmeter/visualizers/GenerateTreeGui.java | 0
.../commons/cli/avalon/AbstractParserControl.java | 0
.../apache/commons/cli/avalon/CLArgsParser.java | 0
.../org/apache/commons/cli/avalon/CLOption.java | 0
.../commons/cli/avalon/CLOptionDescriptor.java | 0
.../org/apache/commons/cli/avalon/CLUtil.java | 0
.../apache/commons/cli/avalon/ParserControl.java | 0
.../java}/org/apache/commons/cli/avalon/Token.java | 0
.../org/apache/commons/cli/avalon/package.html | 0
.../java}/org/apache/jorphan/collections/Data.java | 0
.../org/apache/jorphan/collections/HashTree.java | 0
.../jorphan/collections/HashTreeTraverser.java | 0
.../apache/jorphan/collections/ListedHashTree.java | 0
.../apache/jorphan/collections/SearchByClass.java | 0
.../jorphan/documentation/VisibleForTesting.java | 0
.../org/apache/jorphan/exec/KeyToolUtils.java | 0
.../org/apache/jorphan/exec/StreamCopier.java | 0
.../org/apache/jorphan/exec/SystemCommand.java | 0
.../apache/jorphan/gui/AbstractTreeTableModel.java | 0
.../org/apache/jorphan/gui/ComponentUtil.java | 0
.../apache/jorphan/gui/DefaultTreeTableModel.java | 0
.../java}/org/apache/jorphan/gui/GuiUtils.java | 0
.../org/apache/jorphan/gui/JLabeledChoice.java | 0
.../org/apache/jorphan/gui/JLabeledField.java | 0
.../apache/jorphan/gui/JLabeledPasswordField.java | 0
.../org/apache/jorphan/gui/JLabeledTextArea.java | 0
.../org/apache/jorphan/gui/JLabeledTextField.java | 0
.../java}/org/apache/jorphan/gui/JTreeTable.java | 0
.../java}/org/apache/jorphan/gui/MenuScroller.java | 0
.../org/apache/jorphan/gui/MinMaxLongRenderer.java | 0
.../org/apache/jorphan/gui/NumberRenderer.java | 0
.../org/apache/jorphan/gui/ObjectTableModel.java | 0
.../org/apache/jorphan/gui/ObjectTableSorter.java | 0
.../java}/org/apache/jorphan/gui/RateRenderer.java | 0
.../org/apache/jorphan/gui/RendererUtils.java | 0
.../org/apache/jorphan/gui/RightAlignRenderer.java | 0
.../org/apache/jorphan/gui/TreeTableModel.java | 0
.../apache/jorphan/gui/layout/VerticalLayout.java | 0
.../main/java}/org/apache/jorphan/io/TextFile.java | 0
.../org/apache/jorphan/logging/LoggingManager.java | 0
.../apache/jorphan/logging/Slf4jLogkitLogger.java | 0
.../org/apache/jorphan/math/NumberComparator.java | 0
.../org/apache/jorphan/math/StatCalculator.java | 0
.../apache/jorphan/math/StatCalculatorInteger.java | 0
.../apache/jorphan/math/StatCalculatorLong.java | 0
.../org/apache/jorphan/reflect/ClassFilter.java | 0
.../org/apache/jorphan/reflect/ClassFinder.java | 0
.../org/apache/jorphan/reflect/ClassTools.java | 0
.../java}/org/apache/jorphan/reflect/Functor.java | 0
.../org/apache/jorphan/test/UnitTestManager.java | 0
.../java}/org/apache/jorphan/util/Converter.java | 0
.../java}/org/apache/jorphan/util/HeapDumper.java | 0
.../java}/org/apache/jorphan/util/JMeterError.java | 0
.../org/apache/jorphan/util/JMeterException.java | 0
.../jorphan/util/JMeterStopTestException.java | 0
.../jorphan/util/JMeterStopTestNowException.java | 0
.../jorphan/util/JMeterStopThreadException.java | 0
.../org/apache/jorphan/util/JOrphanUtils.java | 0
.../org/apache/jorphan/util/ThreadDumper.java | 0
.../java}/org/apache/jorphan/util/XMLBuffer.java | 0
.../main/java}/org/apache/log/ContextMap.java | 0
.../main/java}/org/apache/log/LogEvent.java | 0
.../main/java}/org/apache/log/LogTarget.java | 0
.../{ => src/main/java}/org/apache/log/Logger.java | 0
.../main/java}/org/apache/log/Priority.java | 0
.../org/apache/jorphan/io/TextFileSpec.groovy | 0
.../org/apache/jorphan/util/ConverterSpec.groovy | 0
.../apache/commons/cli/avalon/ClutilTestCase.java | 0
.../apache/jorphan/collections/PackageTest.java | 0
.../org/apache/jorphan/exec/TestKeyToolUtils.java | 0
.../apache/jorphan/gui/MinMaxLongRendererTest.java | 0
.../apache/jorphan/gui/ObjectTableModelTest.java | 0
.../apache/jorphan/gui/ObjectTableSorterTest.java | 0
.../apache/jorphan/gui/TableModelEventBacker.java | 0
.../apache/jorphan/math/TestStatCalculator.java | 0
.../org/apache/jorphan/reflect/TestClassTools.java | 0
.../org/apache/jorphan/util/TestConverter.java | 0
.../org/apache/jorphan/util/TestJorphanUtils.java | 0
.../org/apache/jmeter/DynamicClassLoader.java | 0
.../main/java}/org/apache/jmeter/NewDriver.java | 0
.../org/apache/jmeter/util/ShutdownClient.java | 7 +-
.../org/apache/jmeter}/jmeter_as_ascii_art.txt | 10 +-
.../protocol/ftp/config/gui/FtpConfigGui.java | 0
.../ftp/control/gui/FtpTestSamplerGui.java | 0
.../jmeter/protocol/ftp/sampler/FTPSampler.java | 0
.../protocol/http/api/auth/DigestParameters.java | 0
.../protocol/http/config/MultipartUrlConfig.java | 0
.../protocol/http/config/gui/HttpDefaultsGui.java | 0
.../protocol/http/config/gui/UrlConfigGui.java | 0
.../jmeter/protocol/http/control/AuthManager.java | 0
.../protocol/http/control/Authorization.java | 0
.../jmeter/protocol/http/control/CacheManager.java | 0
.../jmeter/protocol/http/control/Cookie.java | 0
.../protocol/http/control/CookieHandler.java | 0
.../protocol/http/control/CookieManager.java | 0
.../protocol/http/control/DNSCacheManager.java | 0
.../http/control/DelegatingKerberosScheme.java | 0
.../http/control/DelegatingSPNegoScheme.java | 0
.../http/control/DynamicKerberosSchemeFactory.java | 0
.../http/control/DynamicSPNegoSchemeFactory.java | 0
.../protocol/http/control/HC4CookieHandler.java | 0
.../jmeter/protocol/http/control/Header.java | 0
.../protocol/http/control/HeaderManager.java | 0
.../protocol/http/control/HttpMirrorControl.java | 0
.../protocol/http/control/HttpMirrorServer.java | 0
.../protocol/http/control/HttpMirrorThread.java | 0
.../protocol/http/control/KerberosManager.java | 0
.../protocol/http/control/RecordingController.java | 0
.../jmeter/protocol/http/control/StaticHost.java | 0
.../protocol/http/control/gui/AjpSamplerGui.java | 0
.../http/control/gui/HttpMirrorControlGui.java | 0
.../http/control/gui/HttpTestSampleGui.java | 0
.../http/control/gui/RecordController.java | 0
.../jmeter/protocol/http/curl/BasicCurlParser.java | 0
.../apache/jmeter/protocol/http/gui/AuthPanel.java | 0
.../jmeter/protocol/http/gui/CacheManagerGui.java | 0
.../jmeter/protocol/http/gui/CookiePanel.java | 0
.../jmeter/protocol/http/gui/DNSCachePanel.java | 0
.../protocol/http/gui/HTTPArgumentsPanel.java | 0
.../protocol/http/gui/HTTPFileArgsPanel.java | 0
.../jmeter/protocol/http/gui/HeaderPanel.java | 0
.../http/gui/action/ParseCurlCommandAction.java | 0
.../protocol/http/modifier/AnchorModifier.java | 0
.../http/modifier/RegExUserParameters.java | 0
.../http/modifier/URLRewritingModifier.java | 0
.../http/modifier/gui/AnchorModifierGui.java | 0
.../http/modifier/gui/RegExUserParametersGui.java | 0
.../http/modifier/gui/URLRewritingModifierGui.java | 0
.../jmeter/protocol/http/parser/BaseParser.java | 0
.../http/parser/CSSParseExceptionCallback.java | 0
.../jmeter/protocol/http/parser/CssParser.java | 0
.../protocol/http/parser/CssParserCacheLoader.java | 0
.../protocol/http/parser/HTMLParseException.java | 0
.../jmeter/protocol/http/parser/HTMLParser.java | 0
.../protocol/http/parser/HtmlParsingUtils.java | 0
.../protocol/http/parser/JTidyHTMLParser.java | 0
.../protocol/http/parser/JsoupBasedHtmlParser.java | 0
.../http/parser/LagartoBasedHtmlParser.java | 0
.../http/parser/LinkExtractorParseException.java | 0
.../protocol/http/parser/LinkExtractorParser.java | 0
.../protocol/http/parser/RegexpHTMLParser.java | 0
.../jmeter/protocol/http/parser/URLCollection.java | 0
.../jmeter/protocol/http/parser/URLString.java | 0
.../http/proxy/AbstractSamplerCreator.java | 0
.../apache/jmeter/protocol/http/proxy/Daemon.java | 0
.../protocol/http/proxy/DefaultSamplerCreator.java | 0
.../protocol/http/proxy/FormCharSetFinder.java | 0
.../jmeter/protocol/http/proxy/HttpReplyHdr.java | 0
.../jmeter/protocol/http/proxy/HttpRequestHdr.java | 0
.../apache/jmeter/protocol/http/proxy/Proxy.java | 0
.../jmeter/protocol/http/proxy/ProxyControl.java | 0
.../jmeter/protocol/http/proxy/SamplerCreator.java | 0
.../protocol/http/proxy/SamplerCreatorFactory.java | 0
.../protocol/http/proxy/ServerAliasKeyManager.java | 0
.../protocol/http/proxy/gui/ProxyControlGui.java | 0
.../protocol/http/proxy/gui/RecorderDialog.java | 0
.../protocol/http/sampler/AccessLogSampler.java | 0
.../http/sampler/AccessLogSamplerBeanInfo.java | 0
.../jmeter/protocol/http/sampler/AjpSampler.java | 0
.../protocol/http/sampler/HTTPAbstractImpl.java | 0
.../jmeter/protocol/http/sampler/HTTPFileImpl.java | 0
.../jmeter/protocol/http/sampler/HTTPHC4Impl.java | 0
.../protocol/http/sampler/HTTPHCAbstractImpl.java | 0
.../jmeter/protocol/http/sampler/HTTPJavaImpl.java | 0
.../protocol/http/sampler/HTTPSampleResult.java | 0
.../jmeter/protocol/http/sampler/HTTPSampler.java | 0
.../protocol/http/sampler/HTTPSamplerBase.java | 0
.../http/sampler/HTTPSamplerBaseBeanInfo.java | 0
.../http/sampler/HTTPSamplerBaseConverter.java | 0
.../protocol/http/sampler/HTTPSamplerFactory.java | 0
.../protocol/http/sampler/HTTPSamplerProxy.java | 0
.../http/sampler/HttpClientDefaultParameters.java | 0
.../jmeter/protocol/http/sampler/HttpWebdav.java | 0
.../jmeter/protocol/http/sampler/PostWriter.java | 0
.../jmeter/protocol/http/sampler/PutWriter.java | 0
.../protocol/http/sampler/ResourcesDownloader.java | 0
.../http/sampler/hc/LaxDeflateInputStream.java | 0
.../http/sampler/hc/LaxGZIPInputStream.java | 0
.../hc/LazyLayeredConnectionSocketFactory.java | 0
.../jmeter/protocol/http/util/Base64Encoder.java | 0
.../jmeter/protocol/http/util/ConversionUtils.java | 0
.../util/DirectAccessByteArrayOutputStream.java | 0
.../jmeter/protocol/http/util/EncoderCache.java | 0
.../jmeter/protocol/http/util/HTTPArgument.java | 0
.../jmeter/protocol/http/util/HTTPConstants.java | 0
.../protocol/http/util/HTTPConstantsInterface.java | 0
.../jmeter/protocol/http/util/HTTPFileArg.java | 0
.../jmeter/protocol/http/util/HTTPFileArgs.java | 0
.../protocol/http/util/HTTPResultConverter.java | 0
.../protocol/http/util/LoopbackHTTPSocket.java | 0
.../util/SlowHCPlainConnectionSocketFactory.java | 0
.../protocol/http/util/accesslog/Filter.java | 0
.../protocol/http/util/accesslog/Generator.java | 0
.../protocol/http/util/accesslog/LogFilter.java | 0
.../protocol/http/util/accesslog/LogParser.java | 0
.../protocol/http/util/accesslog/NVPair.java | 0
.../util/accesslog/OrderPreservingLogParser.java | 0
.../http/util/accesslog/SessionFilter.java | 0
.../http/util/accesslog/SharedTCLogParser.java | 0
.../http/util/accesslog/StandardGenerator.java | 0
.../protocol/http/util/accesslog/TCLogParser.java | 0
.../protocol/http/visualizers/RequestViewHTTP.java | 0
.../sampler/AccessLogSamplerResources.properties | 0
.../AccessLogSamplerResources_es.properties | 0
.../AccessLogSamplerResources_fr.properties | 0
.../AccessLogSamplerResources_pt_BR.properties | 0
.../AccessLogSamplerResources_tr.properties | 0
.../AccessLogSamplerResources_zh_TW.properties | 0
.../http/control/DNSCacheManagerSpec.groovy | 0
.../jmeter/protocol/http/util/HTTPUtilsSpec.groovy | 0
.../apache/jmeter/curl/BasicCurlParserTest.java | 0
.../gui/action/ParseCurlCommandActionTest.java | 0
.../http/config/MultipartUrlConfigTest.java | 0
.../jmeter/protocol/http/config/UrlConfigTest.java | 0
.../protocol/http/control/TestAuthManager.java | 0
.../control/TestAuthManagerThreadIteration.java | 0
.../protocol/http/control/TestAuthorization.java | 0
.../http/control/TestCacheManagerBase.java | 0
.../protocol/http/control/TestCacheManagerHC4.java | 0
.../control/TestCacheManagerThreadIteration.java | 0
.../control/TestCacheManagerUrlConnection.java | 0
.../control/TestCacheManagerUrlConnectionBase.java | 0
.../control/TestCookieManagerThreadIteration.java | 0
.../http/control/TestHC4CookieManager.java | 0
.../http/control/TestHTTPMirrorThread.java | 0
.../http/control/gui/TestHttpTestSampleGui.java | 0
.../protocol/http/modifier/TestAnchorModifier.java | 12 +--
.../http/modifier/TestURLRewritingModifier.java | 0
.../protocol/http/parser/NotReusableParser.java | 0
.../protocol/http/parser/ReusableParser.java | 0
.../protocol/http/parser/TestBaseParser.java | 0
.../http/parser/TestBug60842HtmlParser.java | 0
.../jmeter/protocol/http/parser/TestCssParser.java | 0
.../protocol/http/parser/TestHTMLParser.java | 33 ++++--
.../protocol/http/parser/TestHtmlParsingUtils.java | 0
.../protocol/http/proxy/NonGuiProxySample.java | 0
.../protocol/http/proxy/TestHttpRequestHdr.java | 0
.../protocol/http/proxy/TestProxyControl.java | 0
.../protocol/http/sampler/HTTPNullSampler.java | 0
.../jmeter/protocol/http/sampler/HTTPSampler3.java | 0
.../protocol/http/sampler/NullURLConnection.java | 0
.../jmeter/protocol/http/sampler/PackageTest.java | 0
.../protocol/http/sampler/PostWriterTest.java | 0
.../protocol/http/sampler/PutWriterTest.java | 0
.../protocol/http/sampler/SamplingNamingTest.java | 0
.../protocol/http/sampler/TestHTTPHC4Impl.java | 0
.../protocol/http/sampler/TestHTTPSamplers.java | 0
.../TestHTTPSamplersAgainstHttpMirrorServer.java | 0
.../protocol/http/sampler/TestHttpWebdav.java | 0
.../http/sampler/TestSerializedHTTPSampler.java | 7 +-
.../protocol/http/util/TestHTTPArgument.java | 0
.../jmeter/protocol/http/util/TestHTTPFileArg.java | 0
.../protocol/http/util/TestHTTPFileArgs.java | 0
.../http/util/accesslog/TestLogFilter.java | 0
.../http/util/accesslog/TestSessionFilter.java | 0
.../http/util/accesslog/TestTCLogParser.java | 0
.../http/visualizers/RequestViewHTTPTest.java | 0
.../jmeter/testelement/TestHeaderManager.java | 0
.../checkThatFilesAreReadRelativeToBaseDir.txt | 0
.../resources}/testfiles/HTMLParserTestCase.all | 0
.../resources}/testfiles/HTMLParserTestCase.html | 0
.../resources}/testfiles/HTMLParserTestCase.set | 0
.../resources}/testfiles/HTMLParserTestCase2.html | 0
.../resources}/testfiles/HTMLParserTestCase3.html | 0
.../testfiles/HTMLParserTestCaseBase.all | 0
.../testfiles/HTMLParserTestCaseBase.set | 0
.../testfiles/HTMLParserTestCaseFrames.all | 0
.../testfiles/HTMLParserTestCaseFrames.html | 0
.../testfiles/HTMLParserTestCaseFrames.set | 0
.../testfiles/HTMLParserTestCaseWithBaseHRef.html | 0
.../testfiles/HTMLParserTestCaseWithBaseHRef2.html | 0
.../testfiles/HTMLParserTestCaseWithComments.html | 0
.../HTMLParserTestCaseWithConditional1.html | 0
.../HTMLParserTestCaseWithConditional1_FF.all | 0
.../HTMLParserTestCaseWithConditional1_IE6.all | 0
.../HTMLParserTestCaseWithConditional1_IE7.all | 0
.../HTMLParserTestCaseWithConditional1_IE8.all | 0
.../HTMLParserTestCaseWithConditional2.html | 0
.../HTMLParserTestCaseWithConditional2_FF.all | 0
.../HTMLParserTestCaseWithConditional2_IE7.all | 0
.../HTMLParserTestCaseWithConditional2_IE8.all | 0
.../HTMLParserTestCaseWithConditional2_IE9.all | 0
.../HTMLParserTestCaseWithConditional3.html | 0
.../HTMLParserTestCaseWithConditional3_FF.all | 0
.../HTMLParserTestCaseWithConditional3_IE10.all | 0
.../HTMLParserTestCaseWithConditional3_IE55.all | 0
.../HTMLParserTestCaseWithConditional3_IE6.all | 0
.../HTMLParserTestCaseWithMissingBaseHRef.html | 0
.../resources}/testfiles/HTMLParserTestFrames.all | 0
.../resources}/testfiles/HTMLParserTestFrames.html | 0
.../src/test/resources}/testfiles/HTMLScript.all | 0
.../src/test/resources}/testfiles/HTMLScript.html | 0
.../src/test/resources}/testfiles/HTMLScript.set | 0
.../jmeter/protocol/java/config/JavaConfig.java | 0
.../protocol/java/config/gui/JavaConfigGui.java | 0
.../java/control/gui/BeanShellSamplerGui.java | 0
.../java/control/gui/JavaTestSamplerGui.java | 0
.../java/sampler/AbstractJavaSamplerClient.java | 0
.../jmeter/protocol/java/sampler/BSFSampler.java | 0
.../protocol/java/sampler/BSFSamplerBeanInfo.java | 0
.../protocol/java/sampler/BeanShellSampler.java | 0
.../protocol/java/sampler/JSR223Sampler.java | 0
.../java/sampler/JSR223SamplerBeanInfo.java | 0
.../jmeter/protocol/java/sampler/JavaSampler.java | 0
.../protocol/java/sampler/JavaSamplerClient.java | 0
.../protocol/java/sampler/JavaSamplerContext.java | 0
.../apache/jmeter/protocol/java/test/JavaTest.java | 0
.../jmeter/protocol/java/test/SleepTest.java | 0
.../java/sampler/BSFSamplerResources.properties | 0
.../java/sampler/BSFSamplerResources_fr.properties | 0
.../sampler/BSFSamplerResources_zh_CN.properties | 0
.../java/sampler/JSR223SamplerResources.properties | 0
.../sampler/JSR223SamplerResources_fr.properties | 0
.../JSR223SamplerResources_zh_CN.properties | 0
.../protocol/jdbc/AbstractJDBCTestElement.java | 0
.../jdbc/JDBCTestElementBeanInfoSupport.java | 0
.../protocol/jdbc/config/DataSourceElement.java | 0
.../jdbc/config/DataSourceElementBeanInfo.java | 0
.../jdbc/processor/AbstractJDBCProcessor.java | 0
.../protocol/jdbc/processor/JDBCPostProcessor.java | 0
.../jdbc/processor/JDBCPostProcessorBeanInfo.java | 0
.../protocol/jdbc/processor/JDBCPreProcessor.java | 0
.../jdbc/processor/JDBCPreProcessorBeanInfo.java | 0
.../jmeter/protocol/jdbc/sampler/JDBCSampler.java | 0
.../protocol/jdbc/sampler/JDBCSamplerBeanInfo.java | 0
.../config/DataSourceElementResources.properties | 0
.../DataSourceElementResources_es.properties | 0
.../DataSourceElementResources_fr.properties | 0
.../DataSourceElementResources_pt_BR.properties | 0
.../DataSourceElementResources_tr.properties | 0
.../DataSourceElementResources_zh_TW.properties | 0
.../JDBCPostProcessorResources.properties | 0
.../JDBCPostProcessorResources_fr.properties | 0
.../JDBCPostProcessorResources_zh_CN.properties | 0
.../processor/JDBCPreProcessorResources.properties | 0
.../JDBCPreProcessorResources_fr.properties | 0
.../JDBCPreProcessorResources_zh_CN.properties | 0
.../jdbc/sampler/JDBCSamplerResources.properties | 0
.../sampler/JDBCSamplerResources_es.properties | 0
.../sampler/JDBCSamplerResources_fr.properties | 0
.../sampler/JDBCSamplerResources_pt_BR.properties | 0
.../sampler/JDBCSamplerResources_tr.properties | 0
.../sampler/JDBCSamplerResources_zh_TW.properties | 0
.../protocol/jdbc/sampler/JDBCSamplerSpec.groovy | 0
.../org/apache/jmeter/protocol/jms/Utils.java | 0
.../jmeter/protocol/jms/client/ClientPool.java | 0
.../protocol/jms/client/InitialContextFactory.java | 0
.../jmeter/protocol/jms/client/Publisher.java | 0
.../protocol/jms/client/ReceiveSubscriber.java | 0
.../jms/control/gui/JMSPropertiesPanel.java | 0
.../protocol/jms/control/gui/JMSPublisherGui.java | 0
.../protocol/jms/control/gui/JMSSamplerGui.java | 0
.../protocol/jms/control/gui/JMSSubscriberGui.java | 0
.../protocol/jms/sampler/BaseJMSSampler.java | 0
.../protocol/jms/sampler/FixedQueueExecutor.java | 0
.../jmeter/protocol/jms/sampler/JMSProperties.java | 0
.../jmeter/protocol/jms/sampler/JMSProperty.java | 0
.../jmeter/protocol/jms/sampler/JMSSampler.java | 0
.../jmeter/protocol/jms/sampler/MessageAdmin.java | 0
.../protocol/jms/sampler/PublisherSampler.java | 0
.../jmeter/protocol/jms/sampler/QueueExecutor.java | 0
.../jmeter/protocol/jms/sampler/Receiver.java | 0
.../protocol/jms/sampler/SubscriberSampler.java | 0
.../jms/sampler/TemporaryQueueExecutor.java | 0
.../jms/sampler/TimeoutEnabledQueueRequestor.java | 0
.../jms/sampler/render/BinaryMessageRenderer.java | 0
.../protocol/jms/sampler/render/FileKey.java | 0
.../jms/sampler/render/MapMessageRenderer.java | 0
.../jms/sampler/render/MessageRenderer.java | 0
.../jms/sampler/render/ObjectMessageRenderer.java | 0
.../jms/sampler/render/RendererFactory.java | 0
.../protocol/jms/sampler/render/Renderers.java | 0
.../jms/sampler/render/TextMessageRenderer.java | 0
.../protocol/jms/sampler/render/package-info.java | 0
.../protocol/jms/sampler/PublisherSamplerTest.java | 0
.../sampler/render/BinaryMessageRendererTest.java | 0
.../jms/sampler/render/MessageRendererTest.java | 0
.../sampler/render/ObjectMessageRendererTest.java | 0
.../jmeter/protocol/jms/sampler/render/Person.java | 0
.../sampler/render/TextMessageRendererTest.java | 0
.../jmeter/protocol/jms/sampler/render/cp1252.txt | 0
.../jmeter/protocol/jms/sampler/render/noVar.txt | 0
.../protocol/jms/sampler/render/object_cp1252.xml | 0
.../protocol/jms/sampler/render/object_doe.xml | 0
.../jms/sampler/render/object_prolog_cp1252.xml | 0
.../protocol/jms/sampler/render/object_utf8.xml | 0
.../jmeter/protocol/jms/sampler/render/oneVar.txt | 0
.../jmeter/protocol/jms/sampler/render/utf8.txt | 0
.../src/main/java}/test/AfterAnnotatedTest.java | 0
.../src/main/java}/test/BeforeAnnotatedTest.java | 0
.../src/main/java}/test/DummyAnnotatedTest.java | 0
.../src/main/java}/test/Junit4AnnotationsTest.java | 0
.../src/main/java}/test/RerunTest.java | 0
.../src/main/java}/test/SetupTestError.java | 0
.../src/main/java}/test/SetupTestFail.java | 0
.../src/main/java}/test/TearDownTestFail.java | 0
.../src/main/java}/woolfel/DummyTestCase.java | 0
.../src/main/java}/woolfel/SubDummyTest.java | 0
.../src/main/java}/woolfel/SubDummyTest2.java | 0
.../protocol/java/control/gui/ClassFilter.java | 0
.../java/control/gui/JUnitTestSamplerGui.java | 0
.../jmeter/protocol/java/sampler/JUnitSampler.java | 0
.../protocol/ldap/config/gui/LDAPArgument.java | 0
.../protocol/ldap/config/gui/LDAPArguments.java | 0
.../ldap/config/gui/LDAPArgumentsPanel.java | 0
.../protocol/ldap/config/gui/LdapConfigGui.java | 0
.../protocol/ldap/config/gui/LdapExtConfigGui.java | 0
.../ldap/control/gui/LdapExtTestSamplerGui.java | 0
.../ldap/control/gui/LdapTestSamplerGui.java | 0
.../protocol/ldap/sampler/LDAPExtSampler.java | 0
.../jmeter/protocol/ldap/sampler/LDAPSampler.java | 0
.../jmeter/protocol/ldap/sampler/LdapClient.java | 0
.../protocol/ldap/sampler/LdapExtClient.java | 0
.../protocol/ldap/config/gui/PackageTest.java | 0
.../protocol/mail/sampler/MailFileFolder.java | 0
.../protocol/mail/sampler/MailFileMessage.java | 0
.../protocol/mail/sampler/MailFileStore.java | 0
.../protocol/mail/sampler/MailReaderSampler.java | 0
.../mail/sampler/gui/MailReaderSamplerGui.java | 0
.../jmeter/protocol/smtp/sampler/SmtpSampler.java | 0
.../smtp/sampler/gui/SecuritySettingsPanel.java | 0
.../protocol/smtp/sampler/gui/SmtpPanel.java | 0
.../protocol/smtp/sampler/gui/SmtpSamplerGui.java | 0
.../protocol/LocalTrustStoreSSLSocketFactory.java | 0
.../smtp/sampler/protocol/SendMailCommand.java | 0
.../protocol/SynchronousTransportListener.java | 0
.../sampler/protocol/TrustAllSSLSocketFactory.java | 0
.../main/resources}/META-INF/javamail.providers | 0
.../mail/sampler/TestMailReaderSampler.java | 0
.../protocol/mongodb/config/MongoDBHolder.java | 0
.../mongodb/config/MongoSourceElement.java | 0
.../mongodb/config/MongoSourceElementBeanInfo.java | 0
.../protocol/mongodb/mongo/EvalResultHandler.java | 0
.../jmeter/protocol/mongodb/mongo/MongoDB.java | 0
.../jmeter/protocol/mongodb/mongo/MongoUtils.java | 0
.../mongodb/sampler/MongoScriptRunner.java | 0
.../mongodb/sampler/MongoScriptSampler.java | 0
.../sampler/MongoScriptSamplerBeanInfo.java | 0
.../config/MongoSourceElementResources.properties | 0
.../MongoSourceElementResources_fr.properties | 0
.../sampler/MongoScriptSamplerResources.properties | 0
.../MongoScriptSamplerResources_fr.properties | 0
.../jmeter/protocol/system/SystemSampler.java | 0
.../protocol/system/gui/SystemSamplerGui.java | 0
.../protocol/tcp/config/gui/TCPConfigGui.java | 0
.../protocol/tcp/control/gui/TCPSamplerGui.java | 0
.../protocol/tcp/sampler/AbstractTCPClient.java | 0
.../protocol/tcp/sampler/BinaryTCPClientImpl.java | 0
.../sampler/LengthPrefixedBinaryTCPClientImpl.java | 0
.../jmeter/protocol/tcp/sampler/ReadException.java | 0
.../jmeter/protocol/tcp/sampler/TCPClient.java | 0
.../protocol/tcp/sampler/TCPClientDecorator.java | 0
.../jmeter/protocol/tcp/sampler/TCPClientImpl.java | 0
.../jmeter/protocol/tcp/sampler/TCPSampler.java | 0
.../tcp/sampler/BinaryTCPClientImplTest.java | 0
.../LengthPrefixedBinaryTCPClientImplTest.java | 0
.../tcp/sampler/TCPClientDecoratorTest.java | 0
.../apache/jmeter/junit/spock/JMeterSpec.groovy | 117 ---------------------
1830 files changed, 242 insertions(+), 229 deletions(-)
diff --git a/src/components/org/apache/jmeter/assertions/BSFAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/BSFAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/BSFAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/BSFAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/BSFAssertionBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/assertions/BSFAssertionBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/BSFAssertionBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/BSFAssertionBeanInfo.java
diff --git a/src/components/org/apache/jmeter/assertions/BeanShellAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/BeanShellAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/BeanShellAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/BeanShellAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/CompareAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/CompareAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/CompareAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/CompareAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/CompareAssertionBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/assertions/CompareAssertionBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/CompareAssertionBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/CompareAssertionBeanInfo.java
diff --git a/src/components/org/apache/jmeter/assertions/DurationAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/DurationAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/DurationAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/DurationAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/HTMLAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/HTMLAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/HTMLAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/HTMLAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/JSONPathAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/JSONPathAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/JSONPathAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/JSONPathAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/JSR223Assertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/JSR223Assertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/JSR223Assertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/JSR223Assertion.java
diff --git a/src/components/org/apache/jmeter/assertions/JSR223AssertionBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/assertions/JSR223AssertionBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/JSR223AssertionBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/JSR223AssertionBeanInfo.java
diff --git a/src/components/org/apache/jmeter/assertions/LogErrorHandler.java b/src/components/src/main/java/org/apache/jmeter/assertions/LogErrorHandler.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/LogErrorHandler.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/LogErrorHandler.java
diff --git a/src/components/org/apache/jmeter/assertions/MD5HexAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/MD5HexAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/MD5HexAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/MD5HexAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/ResponseAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/ResponseAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/ResponseAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/ResponseAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/SMIMEAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/SMIMEAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/SMIMEAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/SMIMEAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/SMIMEAssertionTestElement.java b/src/components/src/main/java/org/apache/jmeter/assertions/SMIMEAssertionTestElement.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/SMIMEAssertionTestElement.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/SMIMEAssertionTestElement.java
diff --git a/src/components/org/apache/jmeter/assertions/SizeAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/SizeAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/SizeAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/SizeAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/SubstitutionElement.java b/src/components/src/main/java/org/apache/jmeter/assertions/SubstitutionElement.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/SubstitutionElement.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/SubstitutionElement.java
diff --git a/src/components/org/apache/jmeter/assertions/XMLAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/XMLAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/XMLAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/XMLAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/XMLSchemaAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/XMLSchemaAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/XMLSchemaAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/XMLSchemaAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/XPath2Assertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/XPath2Assertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/XPath2Assertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/XPath2Assertion.java
diff --git a/src/components/org/apache/jmeter/assertions/XPathAssertion.java b/src/components/src/main/java/org/apache/jmeter/assertions/XPathAssertion.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/XPathAssertion.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/XPathAssertion.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/AssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/AssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/DurationAssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/DurationAssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/DurationAssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/DurationAssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/HTMLAssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/HTMLAssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/HTMLAssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/HTMLAssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/JSONPathAssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/MD5HexAssertionGUI.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/MD5HexAssertionGUI.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/MD5HexAssertionGUI.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/MD5HexAssertionGUI.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/SMIMEAssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/SMIMEAssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/SMIMEAssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/SMIMEAssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/SizeAssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/SizeAssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/XMLAssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/XMLAssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/XMLAssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/XMLAssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/XMLConfPanel.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/XMLConfPanel.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/XMLConfPanel.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/XMLConfPanel.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/XMLSchemaAssertionGUI.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/XMLSchemaAssertionGUI.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/XMLSchemaAssertionGUI.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/XMLSchemaAssertionGUI.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/XPath2AssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/XPath2AssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/XPath2AssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/XPath2AssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/XPath2Panel.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/XPath2Panel.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/XPath2Panel.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/XPath2Panel.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/XPathAssertionGui.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/XPathAssertionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/XPathAssertionGui.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/XPathAssertionGui.java
diff --git a/src/components/org/apache/jmeter/assertions/gui/XPathPanel.java b/src/components/src/main/java/org/apache/jmeter/assertions/gui/XPathPanel.java
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/gui/XPathPanel.java
rename to src/components/src/main/java/org/apache/jmeter/assertions/gui/XPathPanel.java
diff --git a/src/components/org/apache/jmeter/config/CSVDataSet.java b/src/components/src/main/java/org/apache/jmeter/config/CSVDataSet.java
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSet.java
rename to src/components/src/main/java/org/apache/jmeter/config/CSVDataSet.java
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/config/CSVDataSetBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/config/CSVDataSetBeanInfo.java
diff --git a/src/components/org/apache/jmeter/config/KeystoreConfig.java b/src/components/src/main/java/org/apache/jmeter/config/KeystoreConfig.java
similarity index 100%
rename from src/components/org/apache/jmeter/config/KeystoreConfig.java
rename to src/components/src/main/java/org/apache/jmeter/config/KeystoreConfig.java
diff --git a/src/components/org/apache/jmeter/config/KeystoreConfigBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/config/KeystoreConfigBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/config/KeystoreConfigBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/config/KeystoreConfigBeanInfo.java
diff --git a/src/components/org/apache/jmeter/config/RandomVariableConfig.java b/src/components/src/main/java/org/apache/jmeter/config/RandomVariableConfig.java
similarity index 100%
rename from src/components/org/apache/jmeter/config/RandomVariableConfig.java
rename to src/components/src/main/java/org/apache/jmeter/config/RandomVariableConfig.java
diff --git a/src/components/org/apache/jmeter/config/RandomVariableConfigBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/config/RandomVariableConfigBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/config/RandomVariableConfigBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/config/RandomVariableConfigBeanInfo.java
diff --git a/src/components/org/apache/jmeter/control/CriticalSectionController.java b/src/components/src/main/java/org/apache/jmeter/control/CriticalSectionController.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/CriticalSectionController.java
rename to src/components/src/main/java/org/apache/jmeter/control/CriticalSectionController.java
diff --git a/src/components/org/apache/jmeter/control/ForeachController.java b/src/components/src/main/java/org/apache/jmeter/control/ForeachController.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/ForeachController.java
rename to src/components/src/main/java/org/apache/jmeter/control/ForeachController.java
diff --git a/src/components/org/apache/jmeter/control/IncludeController.java b/src/components/src/main/java/org/apache/jmeter/control/IncludeController.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/IncludeController.java
rename to src/components/src/main/java/org/apache/jmeter/control/IncludeController.java
diff --git a/src/components/org/apache/jmeter/control/InterleaveControl.java b/src/components/src/main/java/org/apache/jmeter/control/InterleaveControl.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/InterleaveControl.java
rename to src/components/src/main/java/org/apache/jmeter/control/InterleaveControl.java
diff --git a/src/components/org/apache/jmeter/control/ModuleController.java b/src/components/src/main/java/org/apache/jmeter/control/ModuleController.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/ModuleController.java
rename to src/components/src/main/java/org/apache/jmeter/control/ModuleController.java
diff --git a/src/components/org/apache/jmeter/control/OnceOnlyController.java b/src/components/src/main/java/org/apache/jmeter/control/OnceOnlyController.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/OnceOnlyController.java
rename to src/components/src/main/java/org/apache/jmeter/control/OnceOnlyController.java
diff --git a/src/components/org/apache/jmeter/control/RandomController.java b/src/components/src/main/java/org/apache/jmeter/control/RandomController.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/RandomController.java
rename to src/components/src/main/java/org/apache/jmeter/control/RandomController.java
diff --git a/src/components/org/apache/jmeter/control/RandomOrderController.java b/src/components/src/main/java/org/apache/jmeter/control/RandomOrderController.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/RandomOrderController.java
rename to src/components/src/main/java/org/apache/jmeter/control/RandomOrderController.java
diff --git a/src/components/org/apache/jmeter/control/SwitchController.java b/src/components/src/main/java/org/apache/jmeter/control/SwitchController.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/SwitchController.java
rename to src/components/src/main/java/org/apache/jmeter/control/SwitchController.java
diff --git a/src/components/org/apache/jmeter/control/ThroughputController.java b/src/components/src/main/java/org/apache/jmeter/control/ThroughputController.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/ThroughputController.java
rename to src/components/src/main/java/org/apache/jmeter/control/ThroughputController.java
diff --git a/src/components/org/apache/jmeter/control/gui/CriticalSectionControllerGui.java b/src/components/src/main/java/org/apache/jmeter/control/gui/CriticalSectionControllerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/CriticalSectionControllerGui.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/CriticalSectionControllerGui.java
diff --git a/src/components/org/apache/jmeter/control/gui/ForeachControlPanel.java b/src/components/src/main/java/org/apache/jmeter/control/gui/ForeachControlPanel.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/ForeachControlPanel.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/ForeachControlPanel.java
diff --git a/src/components/org/apache/jmeter/control/gui/IncludeControllerGui.java b/src/components/src/main/java/org/apache/jmeter/control/gui/IncludeControllerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/IncludeControllerGui.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/IncludeControllerGui.java
diff --git a/src/components/org/apache/jmeter/control/gui/InterleaveControlGui.java b/src/components/src/main/java/org/apache/jmeter/control/gui/InterleaveControlGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/InterleaveControlGui.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/InterleaveControlGui.java
diff --git a/src/components/org/apache/jmeter/control/gui/ModuleControllerGui.java b/src/components/src/main/java/org/apache/jmeter/control/gui/ModuleControllerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/ModuleControllerGui.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/ModuleControllerGui.java
diff --git a/src/components/org/apache/jmeter/control/gui/OnceOnlyControllerGui.java b/src/components/src/main/java/org/apache/jmeter/control/gui/OnceOnlyControllerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/OnceOnlyControllerGui.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/OnceOnlyControllerGui.java
diff --git a/src/components/org/apache/jmeter/control/gui/RandomControlGui.java b/src/components/src/main/java/org/apache/jmeter/control/gui/RandomControlGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/RandomControlGui.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/RandomControlGui.java
diff --git a/src/components/org/apache/jmeter/control/gui/RandomOrderControllerGui.java b/src/components/src/main/java/org/apache/jmeter/control/gui/RandomOrderControllerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/RandomOrderControllerGui.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/RandomOrderControllerGui.java
diff --git a/src/components/org/apache/jmeter/control/gui/SwitchControllerGui.java b/src/components/src/main/java/org/apache/jmeter/control/gui/SwitchControllerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/SwitchControllerGui.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/SwitchControllerGui.java
diff --git a/src/components/org/apache/jmeter/control/gui/ThroughputControllerGui.java b/src/components/src/main/java/org/apache/jmeter/control/gui/ThroughputControllerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/ThroughputControllerGui.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/ThroughputControllerGui.java
diff --git a/src/components/org/apache/jmeter/control/gui/TreeNodeWrapper.java b/src/components/src/main/java/org/apache/jmeter/control/gui/TreeNodeWrapper.java
similarity index 100%
rename from src/components/org/apache/jmeter/control/gui/TreeNodeWrapper.java
rename to src/components/src/main/java/org/apache/jmeter/control/gui/TreeNodeWrapper.java
diff --git a/src/components/org/apache/jmeter/extractor/BSFPostProcessor.java b/src/components/src/main/java/org/apache/jmeter/extractor/BSFPostProcessor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BSFPostProcessor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/BSFPostProcessor.java
diff --git a/src/components/org/apache/jmeter/extractor/BSFPostProcessorBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/extractor/BSFPostProcessorBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BSFPostProcessorBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/BSFPostProcessorBeanInfo.java
diff --git a/src/components/org/apache/jmeter/extractor/BeanShellPostProcessor.java b/src/components/src/main/java/org/apache/jmeter/extractor/BeanShellPostProcessor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BeanShellPostProcessor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/BeanShellPostProcessor.java
diff --git a/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/extractor/BeanShellPostProcessorBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BeanShellPostProcessorBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/BeanShellPostProcessorBeanInfo.java
diff --git a/src/components/org/apache/jmeter/extractor/BoundaryExtractor.java b/src/components/src/main/java/org/apache/jmeter/extractor/BoundaryExtractor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BoundaryExtractor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/BoundaryExtractor.java
diff --git a/src/components/org/apache/jmeter/extractor/DebugPostProcessor.java b/src/components/src/main/java/org/apache/jmeter/extractor/DebugPostProcessor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/DebugPostProcessor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/DebugPostProcessor.java
diff --git a/src/components/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java
diff --git a/src/components/org/apache/jmeter/extractor/Extractor.java b/src/components/src/main/java/org/apache/jmeter/extractor/Extractor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/Extractor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/Extractor.java
diff --git a/src/components/org/apache/jmeter/extractor/HtmlExtractor.java b/src/components/src/main/java/org/apache/jmeter/extractor/HtmlExtractor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/HtmlExtractor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/HtmlExtractor.java
diff --git a/src/components/org/apache/jmeter/extractor/JSR223PostProcessor.java b/src/components/src/main/java/org/apache/jmeter/extractor/JSR223PostProcessor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/JSR223PostProcessor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/JSR223PostProcessor.java
diff --git a/src/components/org/apache/jmeter/extractor/JSR223PostProcessorBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/extractor/JSR223PostProcessorBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/JSR223PostProcessorBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/JSR223PostProcessorBeanInfo.java
diff --git a/src/components/org/apache/jmeter/extractor/JSoupExtractor.java b/src/components/src/main/java/org/apache/jmeter/extractor/JSoupExtractor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/JSoupExtractor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/JSoupExtractor.java
diff --git a/src/components/org/apache/jmeter/extractor/JoddExtractor.java b/src/components/src/main/java/org/apache/jmeter/extractor/JoddExtractor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/JoddExtractor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/JoddExtractor.java
diff --git a/src/components/org/apache/jmeter/extractor/RegexExtractor.java b/src/components/src/main/java/org/apache/jmeter/extractor/RegexExtractor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/RegexExtractor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/RegexExtractor.java
diff --git a/src/components/org/apache/jmeter/extractor/XPath2Extractor.java b/src/components/src/main/java/org/apache/jmeter/extractor/XPath2Extractor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/XPath2Extractor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/XPath2Extractor.java
diff --git a/src/components/org/apache/jmeter/extractor/XPathExtractor.java b/src/components/src/main/java/org/apache/jmeter/extractor/XPathExtractor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/XPathExtractor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/XPathExtractor.java
diff --git a/src/components/org/apache/jmeter/extractor/gui/BoundaryExtractorGui.java b/src/components/src/main/java/org/apache/jmeter/extractor/gui/BoundaryExtractorGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/gui/BoundaryExtractorGui.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/gui/BoundaryExtractorGui.java
diff --git a/src/components/org/apache/jmeter/extractor/gui/HtmlExtractorGui.java b/src/components/src/main/java/org/apache/jmeter/extractor/gui/HtmlExtractorGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/gui/HtmlExtractorGui.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/gui/HtmlExtractorGui.java
diff --git a/src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java b/src/components/src/main/java/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/gui/RegexExtractorGui.java
diff --git a/src/components/org/apache/jmeter/extractor/gui/XPath2ExtractorGui.java b/src/components/src/main/java/org/apache/jmeter/extractor/gui/XPath2ExtractorGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/gui/XPath2ExtractorGui.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/gui/XPath2ExtractorGui.java
diff --git a/src/components/org/apache/jmeter/extractor/gui/XPathExtractorGui.java b/src/components/src/main/java/org/apache/jmeter/extractor/gui/XPathExtractorGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/gui/XPathExtractorGui.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/gui/XPathExtractorGui.java
diff --git a/src/components/org/apache/jmeter/extractor/json/jsonpath/JSONManager.java b/src/components/src/main/java/org/apache/jmeter/extractor/json/jsonpath/JSONManager.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/json/jsonpath/JSONManager.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/json/jsonpath/JSONManager.java
diff --git a/src/components/org/apache/jmeter/extractor/json/jsonpath/JSONPostProcessor.java b/src/components/src/main/java/org/apache/jmeter/extractor/json/jsonpath/JSONPostProcessor.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/json/jsonpath/JSONPostProcessor.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/json/jsonpath/JSONPostProcessor.java
diff --git a/src/components/org/apache/jmeter/extractor/json/jsonpath/gui/JSONPostProcessorGui.java b/src/components/src/main/java/org/apache/jmeter/extractor/json/jsonpath/gui/JSONPostProcessorGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/json/jsonpath/gui/JSONPostProcessorGui.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/json/jsonpath/gui/JSONPostProcessorGui.java
diff --git a/src/components/org/apache/jmeter/extractor/json/render/RenderAsJsonRenderer.java b/src/components/src/main/java/org/apache/jmeter/extractor/json/render/RenderAsJsonRenderer.java
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/json/render/RenderAsJsonRenderer.java
rename to src/components/src/main/java/org/apache/jmeter/extractor/json/render/RenderAsJsonRenderer.java
diff --git a/src/components/org/apache/jmeter/gui/action/ExportTransactionAndSamplerNames.java b/src/components/src/main/java/org/apache/jmeter/gui/action/ExportTransactionAndSamplerNames.java
similarity index 100%
rename from src/components/org/apache/jmeter/gui/action/ExportTransactionAndSamplerNames.java
rename to src/components/src/main/java/org/apache/jmeter/gui/action/ExportTransactionAndSamplerNames.java
diff --git a/src/components/org/apache/jmeter/modifiers/BSFPreProcessor.java b/src/components/src/main/java/org/apache/jmeter/modifiers/BSFPreProcessor.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BSFPreProcessor.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/BSFPreProcessor.java
diff --git a/src/components/org/apache/jmeter/modifiers/BSFPreProcessorBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/modifiers/BSFPreProcessorBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BSFPreProcessorBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/BSFPreProcessorBeanInfo.java
diff --git a/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessor.java b/src/components/src/main/java/org/apache/jmeter/modifiers/BeanShellPreProcessor.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BeanShellPreProcessor.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/BeanShellPreProcessor.java
diff --git a/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/modifiers/BeanShellPreProcessorBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/BeanShellPreProcessorBeanInfo.java
diff --git a/src/components/org/apache/jmeter/modifiers/CounterConfig.java b/src/components/src/main/java/org/apache/jmeter/modifiers/CounterConfig.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/CounterConfig.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/CounterConfig.java
diff --git a/src/components/org/apache/jmeter/modifiers/JSR223PreProcessor.java b/src/components/src/main/java/org/apache/jmeter/modifiers/JSR223PreProcessor.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/JSR223PreProcessor.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/JSR223PreProcessor.java
diff --git a/src/components/org/apache/jmeter/modifiers/JSR223PreProcessorBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/modifiers/JSR223PreProcessorBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/JSR223PreProcessorBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/JSR223PreProcessorBeanInfo.java
diff --git a/src/components/org/apache/jmeter/modifiers/SampleTimeout.java b/src/components/src/main/java/org/apache/jmeter/modifiers/SampleTimeout.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/SampleTimeout.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/SampleTimeout.java
diff --git a/src/components/org/apache/jmeter/modifiers/UserParameters.java b/src/components/src/main/java/org/apache/jmeter/modifiers/UserParameters.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/UserParameters.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/UserParameters.java
diff --git a/src/components/org/apache/jmeter/modifiers/gui/CounterConfigGui.java b/src/components/src/main/java/org/apache/jmeter/modifiers/gui/CounterConfigGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/gui/CounterConfigGui.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/gui/CounterConfigGui.java
diff --git a/src/components/org/apache/jmeter/modifiers/gui/SampleTimeoutGui.java b/src/components/src/main/java/org/apache/jmeter/modifiers/gui/SampleTimeoutGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/gui/SampleTimeoutGui.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/gui/SampleTimeoutGui.java
diff --git a/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java b/src/components/src/main/java/org/apache/jmeter/modifiers/gui/UserParametersGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java
rename to src/components/src/main/java/org/apache/jmeter/modifiers/gui/UserParametersGui.java
diff --git a/src/components/org/apache/jmeter/reporters/MailerModel.java b/src/components/src/main/java/org/apache/jmeter/reporters/MailerModel.java
similarity index 100%
rename from src/components/org/apache/jmeter/reporters/MailerModel.java
rename to src/components/src/main/java/org/apache/jmeter/reporters/MailerModel.java
diff --git a/src/components/org/apache/jmeter/reporters/MailerResultCollector.java b/src/components/src/main/java/org/apache/jmeter/reporters/MailerResultCollector.java
similarity index 100%
rename from src/components/org/apache/jmeter/reporters/MailerResultCollector.java
rename to src/components/src/main/java/org/apache/jmeter/reporters/MailerResultCollector.java
diff --git a/src/components/org/apache/jmeter/sampler/DebugSampler.java b/src/components/src/main/java/org/apache/jmeter/sampler/DebugSampler.java
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/DebugSampler.java
rename to src/components/src/main/java/org/apache/jmeter/sampler/DebugSampler.java
diff --git a/src/components/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/sampler/TestAction.java b/src/components/src/main/java/org/apache/jmeter/sampler/TestAction.java
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/TestAction.java
rename to src/components/src/main/java/org/apache/jmeter/sampler/TestAction.java
diff --git a/src/components/org/apache/jmeter/sampler/gui/TestActionGui.java b/src/components/src/main/java/org/apache/jmeter/sampler/gui/TestActionGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/gui/TestActionGui.java
rename to src/components/src/main/java/org/apache/jmeter/sampler/gui/TestActionGui.java
diff --git a/src/components/org/apache/jmeter/thinktime/DefaultThinkTimeCreator.java b/src/components/src/main/java/org/apache/jmeter/thinktime/DefaultThinkTimeCreator.java
similarity index 100%
rename from src/components/org/apache/jmeter/thinktime/DefaultThinkTimeCreator.java
rename to src/components/src/main/java/org/apache/jmeter/thinktime/DefaultThinkTimeCreator.java
diff --git a/src/components/org/apache/jmeter/timers/BSFTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/BSFTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BSFTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/BSFTimer.java
diff --git a/src/components/org/apache/jmeter/timers/BSFTimerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/timers/BSFTimerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BSFTimerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/timers/BSFTimerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/timers/BeanShellTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/BeanShellTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BeanShellTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/BeanShellTimer.java
diff --git a/src/components/org/apache/jmeter/timers/BeanShellTimerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/timers/BeanShellTimerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BeanShellTimerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/timers/BeanShellTimerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/ConstantThroughputTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/ConstantThroughputTimer.java
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/timers/ConstantThroughputTimerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/timers/ConstantThroughputTimerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/timers/ConstantTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/ConstantTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/ConstantTimer.java
diff --git a/src/components/org/apache/jmeter/timers/GaussianRandomTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/GaussianRandomTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/GaussianRandomTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/GaussianRandomTimer.java
diff --git a/src/components/org/apache/jmeter/timers/JSR223Timer.java b/src/components/src/main/java/org/apache/jmeter/timers/JSR223Timer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/JSR223Timer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/JSR223Timer.java
diff --git a/src/components/org/apache/jmeter/timers/JSR223TimerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/timers/JSR223TimerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/JSR223TimerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/timers/JSR223TimerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/timers/PoissonRandomTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/PoissonRandomTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/PoissonRandomTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/PoissonRandomTimer.java
diff --git a/src/components/org/apache/jmeter/timers/RandomTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/RandomTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/RandomTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/RandomTimer.java
diff --git a/src/components/org/apache/jmeter/timers/SyncTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/SyncTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/SyncTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/SyncTimer.java
diff --git a/src/components/org/apache/jmeter/timers/SyncTimerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/timers/SyncTimerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/SyncTimerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/timers/SyncTimerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/timers/UniformRandomTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/UniformRandomTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/UniformRandomTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/UniformRandomTimer.java
diff --git a/src/components/org/apache/jmeter/timers/gui/AbstractRandomTimerGui.java b/src/components/src/main/java/org/apache/jmeter/timers/gui/AbstractRandomTimerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/gui/AbstractRandomTimerGui.java
rename to src/components/src/main/java/org/apache/jmeter/timers/gui/AbstractRandomTimerGui.java
diff --git a/src/components/org/apache/jmeter/timers/gui/ConstantTimerGui.java b/src/components/src/main/java/org/apache/jmeter/timers/gui/ConstantTimerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/gui/ConstantTimerGui.java
rename to src/components/src/main/java/org/apache/jmeter/timers/gui/ConstantTimerGui.java
diff --git a/src/components/org/apache/jmeter/timers/gui/GaussianRandomTimerGui.java b/src/components/src/main/java/org/apache/jmeter/timers/gui/GaussianRandomTimerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/gui/GaussianRandomTimerGui.java
rename to src/components/src/main/java/org/apache/jmeter/timers/gui/GaussianRandomTimerGui.java
diff --git a/src/components/org/apache/jmeter/timers/gui/PoissonRandomTimerGui.java b/src/components/src/main/java/org/apache/jmeter/timers/gui/PoissonRandomTimerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/gui/PoissonRandomTimerGui.java
rename to src/components/src/main/java/org/apache/jmeter/timers/gui/PoissonRandomTimerGui.java
diff --git a/src/components/org/apache/jmeter/timers/gui/UniformRandomTimerGui.java b/src/components/src/main/java/org/apache/jmeter/timers/gui/UniformRandomTimerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/gui/UniformRandomTimerGui.java
rename to src/components/src/main/java/org/apache/jmeter/timers/gui/UniformRandomTimerGui.java
diff --git a/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java b/src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
rename to src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
diff --git a/src/components/org/apache/jmeter/timers/poissonarrivals/DurationProvider.java b/src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/DurationProvider.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/poissonarrivals/DurationProvider.java
rename to src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/DurationProvider.java
diff --git a/src/components/org/apache/jmeter/timers/poissonarrivals/EventProducer.java b/src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/EventProducer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/poissonarrivals/EventProducer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/EventProducer.java
diff --git a/src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimer.java b/src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimer.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimer.java
rename to src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimer.java
diff --git a/src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/timers/poissonarrivals/ThroughputProvider.java b/src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/ThroughputProvider.java
similarity index 100%
rename from src/components/org/apache/jmeter/timers/poissonarrivals/ThroughputProvider.java
rename to src/components/src/main/java/org/apache/jmeter/timers/poissonarrivals/ThroughputProvider.java
diff --git a/src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java b/src/components/src/main/java/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
similarity index 100%
rename from src/components/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
rename to src/components/src/main/java/org/apache/jmeter/validation/ComponentTreeClonerForValidation.java
diff --git a/src/components/org/apache/jmeter/visualizers/AccumListener.java b/src/components/src/main/java/org/apache/jmeter/visualizers/AccumListener.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/AccumListener.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/AccumListener.java
diff --git a/src/components/org/apache/jmeter/visualizers/AssertionVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/AssertionVisualizer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/AssertionVisualizer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/AssertionVisualizer.java
diff --git a/src/components/org/apache/jmeter/visualizers/AxisGraph.java b/src/components/src/main/java/org/apache/jmeter/visualizers/AxisGraph.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/AxisGraph.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/AxisGraph.java
diff --git a/src/components/org/apache/jmeter/visualizers/BSFListener.java b/src/components/src/main/java/org/apache/jmeter/visualizers/BSFListener.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BSFListener.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/BSFListener.java
diff --git a/src/components/org/apache/jmeter/visualizers/BSFListenerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/visualizers/BSFListenerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BSFListenerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/BSFListenerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/visualizers/BarGraph.java b/src/components/src/main/java/org/apache/jmeter/visualizers/BarGraph.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BarGraph.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/BarGraph.java
diff --git a/src/components/org/apache/jmeter/visualizers/BeanShellListener.java b/src/components/src/main/java/org/apache/jmeter/visualizers/BeanShellListener.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BeanShellListener.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/BeanShellListener.java
diff --git a/src/components/org/apache/jmeter/visualizers/BeanShellListenerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/visualizers/BeanShellListenerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BeanShellListenerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/BeanShellListenerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/visualizers/ComparisonVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/ComparisonVisualizer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/ComparisonVisualizer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/ComparisonVisualizer.java
diff --git a/src/components/org/apache/jmeter/visualizers/Graph.java b/src/components/src/main/java/org/apache/jmeter/visualizers/Graph.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/Graph.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/Graph.java
diff --git a/src/components/org/apache/jmeter/visualizers/GraphListener.java b/src/components/src/main/java/org/apache/jmeter/visualizers/GraphListener.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/GraphListener.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/GraphListener.java
diff --git a/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/GraphVisualizer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/GraphVisualizer.java
diff --git a/src/components/org/apache/jmeter/visualizers/JSR223Listener.java b/src/components/src/main/java/org/apache/jmeter/visualizers/JSR223Listener.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/JSR223Listener.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/JSR223Listener.java
diff --git a/src/components/org/apache/jmeter/visualizers/JSR223ListenerBeanInfo.java b/src/components/src/main/java/org/apache/jmeter/visualizers/JSR223ListenerBeanInfo.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/JSR223ListenerBeanInfo.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/JSR223ListenerBeanInfo.java
diff --git a/src/components/org/apache/jmeter/visualizers/LineGraph.java b/src/components/src/main/java/org/apache/jmeter/visualizers/LineGraph.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/LineGraph.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/LineGraph.java
diff --git a/src/components/org/apache/jmeter/visualizers/MailerVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/MailerVisualizer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/MailerVisualizer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/MailerVisualizer.java
diff --git a/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java b/src/components/src/main/java/org/apache/jmeter/visualizers/PropertyControlGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/PropertyControlGui.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/PropertyControlGui.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsBoundaryExtractor.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsCssJQuery.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsCssJQuery.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsCssJQuery.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsCssJQuery.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsDocument.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsDocument.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsDocument.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsDocument.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsHTML.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsHTML.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsHTML.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsHTML.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsHTMLFormatted.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsHTMLFormatted.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsHTMLFormatted.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsHTMLFormatted.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsHTMLWithEmbedded.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsHTMLWithEmbedded.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsHTMLWithEmbedded.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsHTMLWithEmbedded.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsJSON.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsJSON.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsJSON.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsJSON.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsRegexp.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsRegexp.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsRegexp.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsRegexp.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsText.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsText.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsText.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsText.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsXML.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsXML.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsXML.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsXML.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsXPath.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsXPath.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsXPath.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsXPath.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderAsXPath2.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsXPath2.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderAsXPath2.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderAsXPath2.java
diff --git a/src/components/org/apache/jmeter/visualizers/RenderInBrowser.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RenderInBrowser.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RenderInBrowser.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RenderInBrowser.java
diff --git a/src/components/org/apache/jmeter/visualizers/RequestPanel.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RequestPanel.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RequestPanel.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RequestPanel.java
diff --git a/src/components/org/apache/jmeter/visualizers/RequestView.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RequestView.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RequestView.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RequestView.java
diff --git a/src/components/org/apache/jmeter/visualizers/RequestViewRaw.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RequestViewRaw.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RequestViewRaw.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RequestViewRaw.java
diff --git a/src/components/org/apache/jmeter/visualizers/RespTimeGraphChart.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RespTimeGraphChart.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RespTimeGraphChart.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RespTimeGraphChart.java
diff --git a/src/components/org/apache/jmeter/visualizers/RespTimeGraphDataBean.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RespTimeGraphDataBean.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RespTimeGraphDataBean.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RespTimeGraphDataBean.java
diff --git a/src/components/org/apache/jmeter/visualizers/RespTimeGraphLineBean.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RespTimeGraphLineBean.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RespTimeGraphLineBean.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RespTimeGraphLineBean.java
diff --git a/src/components/org/apache/jmeter/visualizers/RespTimeGraphVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/RespTimeGraphVisualizer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/RespTimeGraphVisualizer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/RespTimeGraphVisualizer.java
diff --git a/src/components/org/apache/jmeter/visualizers/ResultRenderer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/ResultRenderer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/ResultRenderer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/ResultRenderer.java
diff --git a/src/components/org/apache/jmeter/visualizers/SamplerResultTab.java b/src/components/src/main/java/org/apache/jmeter/visualizers/SamplerResultTab.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/SamplerResultTab.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/SamplerResultTab.java
diff --git a/src/components/org/apache/jmeter/visualizers/SearchTextExtension.java b/src/components/src/main/java/org/apache/jmeter/visualizers/SearchTextExtension.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/SearchTextExtension.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/SearchTextExtension.java
diff --git a/src/components/org/apache/jmeter/visualizers/SearchTreePanel.java b/src/components/src/main/java/org/apache/jmeter/visualizers/SearchTreePanel.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/SearchTreePanel.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/SearchTreePanel.java
diff --git a/src/components/org/apache/jmeter/visualizers/SearchableTreeNode.java b/src/components/src/main/java/org/apache/jmeter/visualizers/SearchableTreeNode.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/SearchableTreeNode.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/SearchableTreeNode.java
diff --git a/src/components/org/apache/jmeter/visualizers/SimpleDataWriter.java b/src/components/src/main/java/org/apache/jmeter/visualizers/SimpleDataWriter.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/SimpleDataWriter.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/SimpleDataWriter.java
diff --git a/src/components/org/apache/jmeter/visualizers/StatGraphProperties.java b/src/components/src/main/java/org/apache/jmeter/visualizers/StatGraphProperties.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/StatGraphProperties.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/StatGraphProperties.java
diff --git a/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/StatGraphVisualizer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/StatGraphVisualizer.java
diff --git a/src/components/org/apache/jmeter/visualizers/StatVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/StatVisualizer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/StatVisualizer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/StatVisualizer.java
diff --git a/src/components/org/apache/jmeter/visualizers/SummaryReport.java b/src/components/src/main/java/org/apache/jmeter/visualizers/SummaryReport.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/SummaryReport.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/SummaryReport.java
diff --git a/src/components/org/apache/jmeter/visualizers/TableVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/TableVisualizer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/TableVisualizer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/TableVisualizer.java
diff --git a/src/components/org/apache/jmeter/visualizers/TreeNodeRenderer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/TreeNodeRenderer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/TreeNodeRenderer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/TreeNodeRenderer.java
diff --git a/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java b/src/components/src/main/java/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
diff --git a/src/components/org/apache/jmeter/visualizers/XMLDefaultMutableTreeNode.java b/src/components/src/main/java/org/apache/jmeter/visualizers/XMLDefaultMutableTreeNode.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/XMLDefaultMutableTreeNode.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/XMLDefaultMutableTreeNode.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/AbstractBackendListenerClient.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/AbstractBackendListenerClient.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/AbstractBackendListenerClient.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/AbstractBackendListenerClient.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/BackendListener.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/BackendListener.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/BackendListener.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/BackendListener.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/BackendListenerClient.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/BackendListenerClient.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/BackendListenerClient.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/BackendListenerClient.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/BackendListenerContext.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/BackendListenerContext.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/BackendListenerContext.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/BackendListenerContext.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/BackendListenerGui.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/BackendListenerGui.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/BackendListenerGui.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/BackendListenerGui.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/ErrorMetric.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/ErrorMetric.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/ErrorMetric.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/ErrorMetric.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/SamplerMetric.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/SamplerMetric.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/SamplerMetric.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/SamplerMetric.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/UserMetric.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/UserMetric.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/UserMetric.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/UserMetric.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/WindowMode.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/WindowMode.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/WindowMode.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/WindowMode.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/graphite/AbstractGraphiteMetricsSender.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/AbstractGraphiteMetricsSender.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/graphite/AbstractGraphiteMetricsSender.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/AbstractGraphiteMetricsSender.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteMetricsSender.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/GraphiteMetricsSender.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteMetricsSender.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/GraphiteMetricsSender.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/graphite/PickleGraphiteMetricsSender.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/PickleGraphiteMetricsSender.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/graphite/PickleGraphiteMetricsSender.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/PickleGraphiteMetricsSender.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/graphite/SocketConnectionInfos.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/SocketConnectionInfos.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/graphite/SocketConnectionInfos.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/SocketConnectionInfos.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/graphite/SocketOutputStream.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/SocketOutputStream.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/graphite/SocketOutputStream.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/SocketOutputStream.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/graphite/SocketOutputStreamPoolFactory.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/SocketOutputStreamPoolFactory.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/graphite/SocketOutputStreamPoolFactory.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/SocketOutputStreamPoolFactory.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/graphite/TextGraphiteMetricsSender.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/TextGraphiteMetricsSender.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/graphite/TextGraphiteMetricsSender.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/graphite/TextGraphiteMetricsSender.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/influxdb/AbstractInfluxdbMetricsSender.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/AbstractInfluxdbMetricsSender.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/influxdb/AbstractInfluxdbMetricsSender.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/AbstractInfluxdbMetricsSender.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/influxdb/HttpMetricsSender.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/HttpMetricsSender.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/influxdb/HttpMetricsSender.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/HttpMetricsSender.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbMetricsSender.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbMetricsSender.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbMetricsSender.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbMetricsSender.java
diff --git a/src/components/org/apache/jmeter/visualizers/backend/influxdb/UdpMetricsSender.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/UdpMetricsSender.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/backend/influxdb/UdpMetricsSender.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/backend/influxdb/UdpMetricsSender.java
diff --git a/src/components/org/apache/jmeter/visualizers/utils/Colors.java b/src/components/src/main/java/org/apache/jmeter/visualizers/utils/Colors.java
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/utils/Colors.java
rename to src/components/src/main/java/org/apache/jmeter/visualizers/utils/Colors.java
diff --git a/src/components/org/apache/jmeter/assertions/BSFAssertionResources.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/BSFAssertionResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources.properties
diff --git a/src/components/org/apache/jmeter/assertions/BSFAssertionResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/BSFAssertionResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources_fr.properties
diff --git a/src/components/org/apache/jmeter/assertions/BSFAssertionResources_pl.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources_pl.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/BSFAssertionResources_pl.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources_pl.properties
diff --git a/src/components/org/apache/jmeter/assertions/BSFAssertionResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/BSFAssertionResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/assertions/BSFAssertionResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/BSFAssertionResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/BSFAssertionResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/assertions/CompareAssertionResources.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/CompareAssertionResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/CompareAssertionResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/CompareAssertionResources.properties
diff --git a/src/components/org/apache/jmeter/assertions/CompareAssertionResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/CompareAssertionResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/CompareAssertionResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/CompareAssertionResources_fr.properties
diff --git a/src/components/org/apache/jmeter/assertions/CompareAssertionResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/CompareAssertionResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/CompareAssertionResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/CompareAssertionResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/assertions/JSR223AssertionResources.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/JSR223AssertionResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/JSR223AssertionResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/JSR223AssertionResources.properties
diff --git a/src/components/org/apache/jmeter/assertions/JSR223AssertionResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/JSR223AssertionResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/JSR223AssertionResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/JSR223AssertionResources_fr.properties
diff --git a/src/components/org/apache/jmeter/assertions/JSR223AssertionResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/assertions/JSR223AssertionResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/JSR223AssertionResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/assertions/JSR223AssertionResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/assertions/package.html b/src/components/src/main/resources/org/apache/jmeter/assertions/package.html
similarity index 100%
rename from src/components/org/apache/jmeter/assertions/package.html
rename to src/components/src/main/resources/org/apache/jmeter/assertions/package.html
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetResources.properties b/src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources.properties
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetResources_de.properties b/src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_de.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetResources_de.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_de.properties
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetResources_es.properties b/src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_es.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetResources_es.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_es.properties
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_fr.properties
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetResources_pl.properties b/src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_pl.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetResources_pl.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_pl.properties
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetResources_tr.properties b/src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_tr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetResources_tr.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_tr.properties
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/config/CSVDataSetResources_zh_TW.properties b/src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_zh_TW.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/CSVDataSetResources_zh_TW.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/CSVDataSetResources_zh_TW.properties
diff --git a/src/components/org/apache/jmeter/config/KeystoreConfigResources.properties b/src/components/src/main/resources/org/apache/jmeter/config/KeystoreConfigResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/KeystoreConfigResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/KeystoreConfigResources.properties
diff --git a/src/components/org/apache/jmeter/config/KeystoreConfigResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/config/KeystoreConfigResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/KeystoreConfigResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/KeystoreConfigResources_fr.properties
diff --git a/src/components/org/apache/jmeter/config/KeystoreConfigResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/config/KeystoreConfigResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/KeystoreConfigResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/KeystoreConfigResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/config/RandomVariableConfigResources.properties b/src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/RandomVariableConfigResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources.properties
diff --git a/src/components/org/apache/jmeter/config/RandomVariableConfigResources_es.properties b/src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_es.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/RandomVariableConfigResources_es.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_es.properties
diff --git a/src/components/org/apache/jmeter/config/RandomVariableConfigResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/RandomVariableConfigResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_fr.properties
diff --git a/src/components/org/apache/jmeter/config/RandomVariableConfigResources_pl.properties b/src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_pl.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/RandomVariableConfigResources_pl.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_pl.properties
diff --git a/src/components/org/apache/jmeter/config/RandomVariableConfigResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/RandomVariableConfigResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/config/RandomVariableConfigResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/config/RandomVariableConfigResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/config/RandomVariableConfigResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/extractor/BSFPostProcessorResources.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BSFPostProcessorResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources.properties
diff --git a/src/components/org/apache/jmeter/extractor/BSFPostProcessorResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BSFPostProcessorResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources_fr.properties
diff --git a/src/components/org/apache/jmeter/extractor/BSFPostProcessorResources_pl.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources_pl.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BSFPostProcessorResources_pl.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources_pl.properties
diff --git a/src/components/org/apache/jmeter/extractor/BSFPostProcessorResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BSFPostProcessorResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/extractor/BSFPostProcessorResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BSFPostProcessorResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BSFPostProcessorResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources.properties
diff --git a/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_de.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_de.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_de.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_de.properties
diff --git a/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_fr.properties
diff --git a/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_pl.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_pl.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_pl.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_pl.properties
diff --git a/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_tr.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_tr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_tr.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_tr.properties
diff --git a/src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/BeanShellPostProcessorResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/BeanShellPostProcessorResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/DebugPostProcessorResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources.properties
diff --git a/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_de.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_de.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_de.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_de.properties
diff --git a/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_fr.properties
diff --git a/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_tr.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_tr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_tr.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_tr.properties
diff --git a/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/DebugPostProcessorResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/DebugPostProcessorResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/extractor/JSR223PostProcessorResources.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/JSR223PostProcessorResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/JSR223PostProcessorResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/JSR223PostProcessorResources.properties
diff --git a/src/components/org/apache/jmeter/extractor/JSR223PostProcessorResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/JSR223PostProcessorResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/JSR223PostProcessorResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/JSR223PostProcessorResources_fr.properties
diff --git a/src/components/org/apache/jmeter/extractor/JSR223PostProcessorResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/extractor/JSR223PostProcessorResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/extractor/JSR223PostProcessorResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/extractor/JSR223PostProcessorResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BSFPreProcessorResources.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BSFPreProcessorResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BSFPreProcessorResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BSFPreProcessorResources.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BSFPreProcessorResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BSFPreProcessorResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BSFPreProcessorResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BSFPreProcessorResources_fr.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BSFPreProcessorResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BSFPreProcessorResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BSFPreProcessorResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BSFPreProcessorResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BSFPreProcessorResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BSFPreProcessorResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BSFPreProcessorResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BSFPreProcessorResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_de.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_de.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_de.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_de.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_fr.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_tr.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_tr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_tr.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_tr.properties
diff --git a/src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/BeanShellPreProcessorResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/modifiers/JSR223PreProcessorResources.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/JSR223PreProcessorResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/JSR223PreProcessorResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/JSR223PreProcessorResources.properties
diff --git a/src/components/org/apache/jmeter/modifiers/JSR223PreProcessorResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/JSR223PreProcessorResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/JSR223PreProcessorResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/JSR223PreProcessorResources_fr.properties
diff --git a/src/components/org/apache/jmeter/modifiers/JSR223PreProcessorResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/modifiers/JSR223PreProcessorResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/modifiers/JSR223PreProcessorResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/modifiers/JSR223PreProcessorResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/sampler/DebugSamplerResources.properties b/src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/DebugSamplerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources.properties
diff --git a/src/components/org/apache/jmeter/sampler/DebugSamplerResources_de.properties b/src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_de.properties
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/DebugSamplerResources_de.properties
rename to src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_de.properties
diff --git a/src/components/org/apache/jmeter/sampler/DebugSamplerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/DebugSamplerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/sampler/DebugSamplerResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/DebugSamplerResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/sampler/DebugSamplerResources_tr.properties b/src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_tr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/DebugSamplerResources_tr.properties
rename to src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_tr.properties
diff --git a/src/components/org/apache/jmeter/sampler/DebugSamplerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/sampler/DebugSamplerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/sampler/DebugSamplerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/timers/BSFTimerResources.properties b/src/components/src/main/resources/org/apache/jmeter/timers/BSFTimerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BSFTimerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/BSFTimerResources.properties
diff --git a/src/components/org/apache/jmeter/timers/BSFTimerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/timers/BSFTimerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BSFTimerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/BSFTimerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/timers/BSFTimerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/timers/BSFTimerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BSFTimerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/BSFTimerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/timers/BeanShellTimerResources.properties b/src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BeanShellTimerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources.properties
diff --git a/src/components/org/apache/jmeter/timers/BeanShellTimerResources_de.properties b/src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_de.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BeanShellTimerResources_de.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_de.properties
diff --git a/src/components/org/apache/jmeter/timers/BeanShellTimerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BeanShellTimerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/timers/BeanShellTimerResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BeanShellTimerResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/timers/BeanShellTimerResources_tr.properties b/src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_tr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BeanShellTimerResources_tr.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_tr.properties
diff --git a/src/components/org/apache/jmeter/timers/BeanShellTimerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/BeanShellTimerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/BeanShellTimerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources.properties b/src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources.properties
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_de.properties b/src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_de.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_de.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_de.properties
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_es.properties b/src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_es.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_es.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_es.properties
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_ja.properties b/src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_ja.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_ja.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_ja.properties
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_tr.properties b/src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_tr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_tr.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_tr.properties
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_zh_TW.properties b/src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_zh_TW.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/ConstantThroughputTimerResources_zh_TW.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/ConstantThroughputTimerResources_zh_TW.properties
diff --git a/src/components/org/apache/jmeter/timers/JSR223TimerResources.properties b/src/components/src/main/resources/org/apache/jmeter/timers/JSR223TimerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/JSR223TimerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/JSR223TimerResources.properties
diff --git a/src/components/org/apache/jmeter/timers/JSR223TimerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/timers/JSR223TimerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/JSR223TimerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/JSR223TimerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/timers/JSR223TimerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/timers/JSR223TimerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/JSR223TimerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/JSR223TimerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/timers/SyncTimerResources.properties b/src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/SyncTimerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources.properties
diff --git a/src/components/org/apache/jmeter/timers/SyncTimerResources_de.properties b/src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_de.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/SyncTimerResources_de.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_de.properties
diff --git a/src/components/org/apache/jmeter/timers/SyncTimerResources_es.properties b/src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_es.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/SyncTimerResources_es.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_es.properties
diff --git a/src/components/org/apache/jmeter/timers/SyncTimerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/SyncTimerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/timers/SyncTimerResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/SyncTimerResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/timers/SyncTimerResources_tr.properties b/src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_tr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/SyncTimerResources_tr.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_tr.properties
diff --git a/src/components/org/apache/jmeter/timers/SyncTimerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/SyncTimerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/SyncTimerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources.properties b/src/components/src/main/resources/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources.properties
diff --git a/src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BSFListenerResources.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BSFListenerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BSFListenerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BSFListenerResources.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BSFListenerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BSFListenerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BSFListenerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BSFListenerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BSFListenerResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BSFListenerResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BSFListenerResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BSFListenerResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BSFListenerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BSFListenerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BSFListenerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BSFListenerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BeanShellListenerResources.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BeanShellListenerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_de.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_de.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_de.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_de.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_pt_BR.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_pt_BR.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_pt_BR.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_pt_BR.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_tr.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_tr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_tr.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_tr.properties
diff --git a/src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/BeanShellListenerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/BeanShellListenerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/visualizers/JSR223ListenerResources.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/JSR223ListenerResources.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/JSR223ListenerResources.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/JSR223ListenerResources.properties
diff --git a/src/components/org/apache/jmeter/visualizers/JSR223ListenerResources_fr.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/JSR223ListenerResources_fr.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/JSR223ListenerResources_fr.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/JSR223ListenerResources_fr.properties
diff --git a/src/components/org/apache/jmeter/visualizers/JSR223ListenerResources_zh_CN.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/JSR223ListenerResources_zh_CN.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/JSR223ListenerResources_zh_CN.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/JSR223ListenerResources_zh_CN.properties
diff --git a/src/components/org/apache/jmeter/visualizers/utils/colors.properties b/src/components/src/main/resources/org/apache/jmeter/visualizers/utils/colors.properties
similarity index 100%
rename from src/components/org/apache/jmeter/visualizers/utils/colors.properties
rename to src/components/src/main/resources/org/apache/jmeter/visualizers/utils/colors.properties
diff --git a/test/src/org/apache/jmeter/assertions/MD5HexAssertionSpec.groovy b/src/components/src/test/groovy/org/apache/jmeter/assertions/MD5HexAssertionSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/MD5HexAssertionSpec.groovy
rename to src/components/src/test/groovy/org/apache/jmeter/assertions/MD5HexAssertionSpec.groovy
diff --git a/test/src/org/apache/jmeter/assertions/gui/AssertionGuiSpec.groovy b/src/components/src/test/groovy/org/apache/jmeter/assertions/gui/AssertionGuiSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/gui/AssertionGuiSpec.groovy
rename to src/components/src/test/groovy/org/apache/jmeter/assertions/gui/AssertionGuiSpec.groovy
diff --git a/test/src/org/apache/jmeter/control/RandomOrderControllerSpec.groovy b/src/components/src/test/groovy/org/apache/jmeter/control/RandomOrderControllerSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/control/RandomOrderControllerSpec.groovy
rename to src/components/src/test/groovy/org/apache/jmeter/control/RandomOrderControllerSpec.groovy
diff --git a/test/src/org/apache/jmeter/control/RunTimeSpec.groovy b/src/components/src/test/groovy/org/apache/jmeter/control/RunTimeSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/control/RunTimeSpec.groovy
rename to src/components/src/test/groovy/org/apache/jmeter/control/RunTimeSpec.groovy
diff --git a/test/src/org/apache/jmeter/control/ThroughputControllerSpec.groovy b/src/components/src/test/groovy/org/apache/jmeter/control/ThroughputControllerSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/control/ThroughputControllerSpec.groovy
rename to src/components/src/test/groovy/org/apache/jmeter/control/ThroughputControllerSpec.groovy
diff --git a/test/src/org/apache/jmeter/extractor/BoundaryExtractorSpec.groovy b/src/components/src/test/groovy/org/apache/jmeter/extractor/BoundaryExtractorSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/extractor/BoundaryExtractorSpec.groovy
rename to src/components/src/test/groovy/org/apache/jmeter/extractor/BoundaryExtractorSpec.groovy
diff --git a/test/src/org/apache/jmeter/extractor/JoddExtractorSpec.groovy b/src/components/src/test/groovy/org/apache/jmeter/extractor/JoddExtractorSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/extractor/JoddExtractorSpec.groovy
rename to src/components/src/test/groovy/org/apache/jmeter/extractor/JoddExtractorSpec.groovy
diff --git a/test/src/org/apache/jmeter/extractor/json/render/RenderAsJsonRendererSpec.groovy b/src/components/src/test/groovy/org/apache/jmeter/extractor/json/render/RenderAsJsonRendererSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/extractor/json/render/RenderAsJsonRendererSpec.groovy
rename to src/components/src/test/groovy/org/apache/jmeter/extractor/json/render/RenderAsJsonRendererSpec.groovy
diff --git a/test/src/org/apache/jmeter/timers/UniformRandomTimerSpec.groovy b/src/components/src/test/groovy/org/apache/jmeter/timers/UniformRandomTimerSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/timers/UniformRandomTimerSpec.groovy
rename to src/components/src/test/groovy/org/apache/jmeter/timers/UniformRandomTimerSpec.groovy
diff --git a/test/src/org/apache/jmeter/JMeterVersionTest.java b/src/components/src/test/java/org/apache/jmeter/JMeterVersionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/JMeterVersionTest.java
rename to src/components/src/test/java/org/apache/jmeter/JMeterVersionTest.java
diff --git a/test/src/org/apache/jmeter/assertions/DurationAssertionTest.java b/src/components/src/test/java/org/apache/jmeter/assertions/DurationAssertionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/DurationAssertionTest.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/DurationAssertionTest.java
diff --git a/test/src/org/apache/jmeter/assertions/ResponseAssertionTest.java b/src/components/src/test/java/org/apache/jmeter/assertions/ResponseAssertionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/ResponseAssertionTest.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/ResponseAssertionTest.java
diff --git a/test/src/org/apache/jmeter/assertions/SMIMEAssertionTest.java b/src/components/src/test/java/org/apache/jmeter/assertions/SMIMEAssertionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/SMIMEAssertionTest.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/SMIMEAssertionTest.java
diff --git a/test/src/org/apache/jmeter/assertions/SizeAssertionTest.java b/src/components/src/test/java/org/apache/jmeter/assertions/SizeAssertionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/SizeAssertionTest.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/SizeAssertionTest.java
diff --git a/test/src/org/apache/jmeter/assertions/TestJSONPathAssertion.java b/src/components/src/test/java/org/apache/jmeter/assertions/TestJSONPathAssertion.java
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/TestJSONPathAssertion.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/TestJSONPathAssertion.java
diff --git a/test/src/org/apache/jmeter/assertions/TestJSONPathAssertionGui.java b/src/components/src/test/java/org/apache/jmeter/assertions/TestJSONPathAssertionGui.java
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/TestJSONPathAssertionGui.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/TestJSONPathAssertionGui.java
diff --git a/test/src/org/apache/jmeter/assertions/XMLSchemaAssertionTest.java b/src/components/src/test/java/org/apache/jmeter/assertions/XMLSchemaAssertionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/XMLSchemaAssertionTest.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/XMLSchemaAssertionTest.java
diff --git a/test/src/org/apache/jmeter/assertions/XPath2AssertionTest.java b/src/components/src/test/java/org/apache/jmeter/assertions/XPath2AssertionTest.java
similarity index 91%
rename from test/src/org/apache/jmeter/assertions/XPath2AssertionTest.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/XPath2AssertionTest.java
index ae12dfc93d..b96600a1c9 100644
--- a/test/src/org/apache/jmeter/assertions/XPath2AssertionTest.java
+++ b/src/components/src/test/java/org/apache/jmeter/assertions/XPath2AssertionTest.java
@@ -23,14 +23,19 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import javax.xml.parsers.FactoryConfigurationError;
+import javax.xml.parsers.ParserConfigurationException;
+import org.apache.jmeter.assertions.gui.XPath2Panel;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.threads.JMeterContext;
import org.apache.jmeter.threads.JMeterContextService;
import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jmeter.util.XPathUtil;
import org.junit.Before;
import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
public class XPath2AssertionTest {
@@ -218,4 +223,18 @@ public class XPath2AssertionTest {
assertFalse("When xpath2 conforms to xml, the result of assertion should be true ",res.isFailure());
assertFalse("When the format of xpath2 is right, assertion will run correctly ",res.isError());
}
+
+ @Test
+ public void testValidateXPath2() throws ParserConfigurationException {
+ Document testDoc = XPathUtil.makeDocumentBuilder(false, false, false, false).newDocument();
+ Element el = testDoc.createElement("root"); //$NON-NLS-1$
+ testDoc.appendChild(el);
+ String namespaces = "a=http://www.w3.org/2003/01/geo/wgs84_pos# b=http://www.w3.org/2003/01/geo/wgs85_pos#";
+ String xPathQuery = "//Employees/b:Employee[1]/a:ag";
+ assertTrue("When the user give namspaces, the result of validation should be true",
+ XPath2Panel.validXPath(xPathQuery, false, namespaces));
+ namespaces = "a=http://www.w3.org/2003/01/geo/wgs84_pos#";
+ assertFalse("When the user doesn't give namspaces, the result of validation should be false",
+ XPath2Panel.validXPath(xPathQuery, false, namespaces));
+ }
}
diff --git a/test/src/org/apache/jmeter/assertions/XPathAssertionTest.java b/src/components/src/test/java/org/apache/jmeter/assertions/XPathAssertionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/XPathAssertionTest.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/XPathAssertionTest.java
diff --git a/test/src/org/apache/jmeter/assertions/XmlAssertionTest.java b/src/components/src/test/java/org/apache/jmeter/assertions/XmlAssertionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/assertions/XmlAssertionTest.java
rename to src/components/src/test/java/org/apache/jmeter/assertions/XmlAssertionTest.java
diff --git a/test/src/org/apache/jmeter/config/TestCVSDataSet.java b/src/components/src/test/java/org/apache/jmeter/config/TestCVSDataSet.java
similarity index 100%
rename from test/src/org/apache/jmeter/config/TestCVSDataSet.java
rename to src/components/src/test/java/org/apache/jmeter/config/TestCVSDataSet.java
diff --git a/test/src/org/apache/jmeter/config/TestRandomVariableConfig.java b/src/components/src/test/java/org/apache/jmeter/config/TestRandomVariableConfig.java
similarity index 100%
rename from test/src/org/apache/jmeter/config/TestRandomVariableConfig.java
rename to src/components/src/test/java/org/apache/jmeter/config/TestRandomVariableConfig.java
diff --git a/test/src/org/apache/jmeter/config/gui/TestArgumentsPanel.java b/src/components/src/test/java/org/apache/jmeter/config/gui/TestArgumentsPanel.java
similarity index 100%
rename from test/src/org/apache/jmeter/config/gui/TestArgumentsPanel.java
rename to src/components/src/test/java/org/apache/jmeter/config/gui/TestArgumentsPanel.java
diff --git a/test/src/org/apache/jmeter/control/TestGenericController.java b/src/components/src/test/java/org/apache/jmeter/control/TestGenericController.java
similarity index 100%
rename from test/src/org/apache/jmeter/control/TestGenericController.java
rename to src/components/src/test/java/org/apache/jmeter/control/TestGenericController.java
diff --git a/test/src/org/apache/jmeter/control/TestIfController.java b/src/components/src/test/java/org/apache/jmeter/control/TestIfController.java
similarity index 100%
rename from test/src/org/apache/jmeter/control/TestIfController.java
rename to src/components/src/test/java/org/apache/jmeter/control/TestIfController.java
diff --git a/test/src/org/apache/jmeter/control/TestInterleaveControl.java b/src/components/src/test/java/org/apache/jmeter/control/TestInterleaveControl.java
similarity index 100%
rename from test/src/org/apache/jmeter/control/TestInterleaveControl.java
rename to src/components/src/test/java/org/apache/jmeter/control/TestInterleaveControl.java
diff --git a/test/src/org/apache/jmeter/control/TestLoopController.java b/src/components/src/test/java/org/apache/jmeter/control/TestLoopController.java
similarity index 100%
rename from test/src/org/apache/jmeter/control/TestLoopController.java
rename to src/components/src/test/java/org/apache/jmeter/control/TestLoopController.java
diff --git a/test/src/org/apache/jmeter/control/TestOnceOnlyController.java b/src/components/src/test/java/org/apache/jmeter/control/TestOnceOnlyController.java
similarity index 100%
rename from test/src/org/apache/jmeter/control/TestOnceOnlyController.java
rename to src/components/src/test/java/org/apache/jmeter/control/TestOnceOnlyController.java
diff --git a/test/src/org/apache/jmeter/control/TestRandomController.java b/src/components/src/test/java/org/apache/jmeter/control/TestRandomController.java
similarity index 100%
rename from test/src/org/apache/jmeter/control/TestRandomController.java
rename to src/components/src/test/java/org/apache/jmeter/control/TestRandomController.java
diff --git a/test/src/org/apache/jmeter/control/TestTransactionController.java b/src/components/src/test/java/org/apache/jmeter/control/TestTransactionController.java
similarity index 100%
rename from test/src/org/apache/jmeter/control/TestTransactionController.java
rename to src/components/src/test/java/org/apache/jmeter/control/TestTransactionController.java
diff --git a/test/src/org/apache/jmeter/control/TestWhileController.java b/src/components/src/test/java/org/apache/jmeter/control/TestWhileController.java
similarity index 100%
rename from test/src/org/apache/jmeter/control/TestWhileController.java
rename to src/components/src/test/java/org/apache/jmeter/control/TestWhileController.java
diff --git a/test/src/org/apache/jmeter/extractor/TestHtmlExtractorJSoup.java b/src/components/src/test/java/org/apache/jmeter/extractor/TestHtmlExtractorJSoup.java
similarity index 100%
rename from test/src/org/apache/jmeter/extractor/TestHtmlExtractorJSoup.java
rename to src/components/src/test/java/org/apache/jmeter/extractor/TestHtmlExtractorJSoup.java
diff --git a/test/src/org/apache/jmeter/extractor/TestHtmlExtractorJodd.java b/src/components/src/test/java/org/apache/jmeter/extractor/TestHtmlExtractorJodd.java
similarity index 100%
rename from test/src/org/apache/jmeter/extractor/TestHtmlExtractorJodd.java
rename to src/components/src/test/java/org/apache/jmeter/extractor/TestHtmlExtractorJodd.java
diff --git a/test/src/org/apache/jmeter/extractor/TestJSONPostProcessor.java b/src/components/src/test/java/org/apache/jmeter/extractor/TestJSONPostProcessor.java
similarity index 100%
rename from test/src/org/apache/jmeter/extractor/TestJSONPostProcessor.java
rename to src/components/src/test/java/org/apache/jmeter/extractor/TestJSONPostProcessor.java
diff --git a/test/src/org/apache/jmeter/extractor/TestRegexExtractor.java b/src/components/src/test/java/org/apache/jmeter/extractor/TestRegexExtractor.java
similarity index 100%
rename from test/src/org/apache/jmeter/extractor/TestRegexExtractor.java
rename to src/components/src/test/java/org/apache/jmeter/extractor/TestRegexExtractor.java
diff --git a/test/src/org/apache/jmeter/extractor/TestXPath2Extractor.java b/src/components/src/test/java/org/apache/jmeter/extractor/TestXPath2Extractor.java
similarity index 100%
rename from test/src/org/apache/jmeter/extractor/TestXPath2Extractor.java
rename to src/components/src/test/java/org/apache/jmeter/extractor/TestXPath2Extractor.java
diff --git a/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java b/src/components/src/test/java/org/apache/jmeter/extractor/TestXPathExtractor.java
similarity index 100%
rename from test/src/org/apache/jmeter/extractor/TestXPathExtractor.java
rename to src/components/src/test/java/org/apache/jmeter/extractor/TestXPathExtractor.java
diff --git a/test/src/org/apache/jmeter/gui/action/TestSave.java b/src/components/src/test/java/org/apache/jmeter/gui/action/TestSave.java
similarity index 100%
rename from test/src/org/apache/jmeter/gui/action/TestSave.java
rename to src/components/src/test/java/org/apache/jmeter/gui/action/TestSave.java
diff --git a/test/src/org/apache/jmeter/gui/action/template/TestTemplateManager.java b/src/components/src/test/java/org/apache/jmeter/gui/action/template/TestTemplateManager.java
similarity index 100%
rename from test/src/org/apache/jmeter/gui/action/template/TestTemplateManager.java
rename to src/components/src/test/java/org/apache/jmeter/gui/action/template/TestTemplateManager.java
diff --git a/test/src/org/apache/jmeter/reporters/TestResultSaver.java b/src/components/src/test/java/org/apache/jmeter/reporters/TestResultSaver.java
similarity index 100%
rename from test/src/org/apache/jmeter/reporters/TestResultSaver.java
rename to src/components/src/test/java/org/apache/jmeter/reporters/TestResultSaver.java
diff --git a/test/src/org/apache/jmeter/timers/ConstantThroughputTimerTest.java b/src/components/src/test/java/org/apache/jmeter/timers/ConstantThroughputTimerTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/timers/ConstantThroughputTimerTest.java
rename to src/components/src/test/java/org/apache/jmeter/timers/ConstantThroughputTimerTest.java
diff --git a/test/src/org/apache/jmeter/timers/SyncTimerTest.java b/src/components/src/test/java/org/apache/jmeter/timers/SyncTimerTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/timers/SyncTimerTest.java
rename to src/components/src/test/java/org/apache/jmeter/timers/SyncTimerTest.java
diff --git a/test/src/org/apache/jmeter/timers/TimerServiceTest.java b/src/components/src/test/java/org/apache/jmeter/timers/TimerServiceTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/timers/TimerServiceTest.java
rename to src/components/src/test/java/org/apache/jmeter/timers/TimerServiceTest.java
diff --git a/test/src/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerTest.java b/src/components/src/test/java/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerTest.java
rename to src/components/src/test/java/org/apache/jmeter/timers/poissonarrivals/PreciseThroughputTimerTest.java
diff --git a/test/src/org/apache/jmeter/visualizers/TestRenderAsJson.java b/src/components/src/test/java/org/apache/jmeter/visualizers/TestRenderAsJson.java
similarity index 100%
rename from test/src/org/apache/jmeter/visualizers/TestRenderAsJson.java
rename to src/components/src/test/java/org/apache/jmeter/visualizers/TestRenderAsJson.java
diff --git a/test/src/org/apache/jmeter/visualizers/TestSampleCompareTo.java b/src/components/src/test/java/org/apache/jmeter/visualizers/TestSampleCompareTo.java
similarity index 100%
rename from test/src/org/apache/jmeter/visualizers/TestSampleCompareTo.java
rename to src/components/src/test/java/org/apache/jmeter/visualizers/TestSampleCompareTo.java
diff --git a/test/src/org/apache/jmeter/visualizers/TestSamplingStatCalculator.java b/src/components/src/test/java/org/apache/jmeter/visualizers/TestSamplingStatCalculator.java
similarity index 100%
rename from test/src/org/apache/jmeter/visualizers/TestSamplingStatCalculator.java
rename to src/components/src/test/java/org/apache/jmeter/visualizers/TestSamplingStatCalculator.java
diff --git a/test/src/org/apache/jmeter/visualizers/backend/SamplerMetricFixedModeTest.java b/src/components/src/test/java/org/apache/jmeter/visualizers/backend/SamplerMetricFixedModeTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/visualizers/backend/SamplerMetricFixedModeTest.java
rename to src/components/src/test/java/org/apache/jmeter/visualizers/backend/SamplerMetricFixedModeTest.java
diff --git a/test/src/org/apache/jmeter/visualizers/backend/SamplerMetricTimedModeTest.java b/src/components/src/test/java/org/apache/jmeter/visualizers/backend/SamplerMetricTimedModeTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/visualizers/backend/SamplerMetricTimedModeTest.java
rename to src/components/src/test/java/org/apache/jmeter/visualizers/backend/SamplerMetricTimedModeTest.java
diff --git a/test/resources/org/apache/jmeter/assertions/email.pem b/src/components/src/test/resources/org/apache/jmeter/assertions/email.pem
similarity index 100%
rename from test/resources/org/apache/jmeter/assertions/email.pem
rename to src/components/src/test/resources/org/apache/jmeter/assertions/email.pem
diff --git a/test/resources/org/apache/jmeter/assertions/signed_email.eml b/src/components/src/test/resources/org/apache/jmeter/assertions/signed_email.eml
similarity index 100%
rename from test/resources/org/apache/jmeter/assertions/signed_email.eml
rename to src/components/src/test/resources/org/apache/jmeter/assertions/signed_email.eml
diff --git a/test/resources/org/apache/jmeter/gui/action/template/invalidTemplates.xml b/src/components/src/test/resources/org/apache/jmeter/gui/action/template/invalidTemplates.xml
similarity index 100%
rename from test/resources/org/apache/jmeter/gui/action/template/invalidTemplates.xml
rename to src/components/src/test/resources/org/apache/jmeter/gui/action/template/invalidTemplates.xml
diff --git a/test/resources/org/apache/jmeter/gui/action/template/validTemplates.xml b/src/components/src/test/resources/org/apache/jmeter/gui/action/template/validTemplates.xml
similarity index 100%
rename from test/resources/org/apache/jmeter/gui/action/template/validTemplates.xml
rename to src/components/src/test/resources/org/apache/jmeter/gui/action/template/validTemplates.xml
diff --git a/src/core/org/apache/jmeter/JMeter.java b/src/core/src/main/java/org/apache/jmeter/JMeter.java
similarity index 99%
rename from src/core/org/apache/jmeter/JMeter.java
rename to src/core/src/main/java/org/apache/jmeter/JMeter.java
index f12143c94f..1a26d7b501 100644
--- a/src/core/org/apache/jmeter/JMeter.java
+++ b/src/core/src/main/java/org/apache/jmeter/JMeter.java
@@ -100,6 +100,7 @@ import org.apache.jmeter.threads.RemoteThreadsListenerTestElement;
import org.apache.jmeter.util.BeanShellInterpreter;
import org.apache.jmeter.util.BeanShellServer;
import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jmeter.util.ShutdownClient;
import org.apache.jorphan.collections.HashTree;
import org.apache.jorphan.collections.SearchByClass;
import org.apache.jorphan.gui.ComponentUtil;
@@ -123,7 +124,7 @@ public class JMeter implements JMeterPlugin {
private static final Logger log = LoggerFactory.getLogger(JMeter.class);
- public static final int UDP_PORT_DEFAULT = 4445; // needed for ShutdownClient
+ public static final int UDP_PORT_DEFAULT = ShutdownClient.UDP_PORT_DEFAULT;
public static final String HTTP_PROXY_PASS = "http.proxyPass"; // $NON-NLS-1$
diff --git a/src/core/org/apache/jmeter/ProxyAuthenticator.java b/src/core/src/main/java/org/apache/jmeter/ProxyAuthenticator.java
similarity index 100%
rename from src/core/org/apache/jmeter/ProxyAuthenticator.java
rename to src/core/src/main/java/org/apache/jmeter/ProxyAuthenticator.java
diff --git a/src/core/org/apache/jmeter/SplashScreen.java b/src/core/src/main/java/org/apache/jmeter/SplashScreen.java
similarity index 100%
rename from src/core/org/apache/jmeter/SplashScreen.java
rename to src/core/src/main/java/org/apache/jmeter/SplashScreen.java
diff --git a/src/core/org/apache/jmeter/assertions/Assertion.java b/src/core/src/main/java/org/apache/jmeter/assertions/Assertion.java
similarity index 100%
rename from src/core/org/apache/jmeter/assertions/Assertion.java
rename to src/core/src/main/java/org/apache/jmeter/assertions/Assertion.java
diff --git a/src/core/org/apache/jmeter/assertions/AssertionResult.java b/src/core/src/main/java/org/apache/jmeter/assertions/AssertionResult.java
similarity index 100%
rename from src/core/org/apache/jmeter/assertions/AssertionResult.java
rename to src/core/src/main/java/org/apache/jmeter/assertions/AssertionResult.java
diff --git a/src/core/org/apache/jmeter/assertions/CompareAssertionResult.java b/src/core/src/main/java/org/apache/jmeter/assertions/CompareAssertionResult.java
similarity index 100%
rename from src/core/org/apache/jmeter/assertions/CompareAssertionResult.java
rename to src/core/src/main/java/org/apache/jmeter/assertions/CompareAssertionResult.java
diff --git a/src/core/org/apache/jmeter/assertions/gui/AbstractAssertionGui.java b/src/core/src/main/java/org/apache/jmeter/assertions/gui/AbstractAssertionGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/assertions/gui/AbstractAssertionGui.java
rename to src/core/src/main/java/org/apache/jmeter/assertions/gui/AbstractAssertionGui.java
diff --git a/src/core/org/apache/jmeter/config/Argument.java b/src/core/src/main/java/org/apache/jmeter/config/Argument.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/Argument.java
rename to src/core/src/main/java/org/apache/jmeter/config/Argument.java
diff --git a/src/core/org/apache/jmeter/config/Arguments.java b/src/core/src/main/java/org/apache/jmeter/config/Arguments.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/Arguments.java
rename to src/core/src/main/java/org/apache/jmeter/config/Arguments.java
diff --git a/src/core/org/apache/jmeter/config/ConfigElement.java b/src/core/src/main/java/org/apache/jmeter/config/ConfigElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/ConfigElement.java
rename to src/core/src/main/java/org/apache/jmeter/config/ConfigElement.java
diff --git a/src/core/org/apache/jmeter/config/ConfigTestElement.java b/src/core/src/main/java/org/apache/jmeter/config/ConfigTestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/ConfigTestElement.java
rename to src/core/src/main/java/org/apache/jmeter/config/ConfigTestElement.java
diff --git a/src/core/org/apache/jmeter/config/LoginConfig.java b/src/core/src/main/java/org/apache/jmeter/config/LoginConfig.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/LoginConfig.java
rename to src/core/src/main/java/org/apache/jmeter/config/LoginConfig.java
diff --git a/src/core/org/apache/jmeter/config/gui/AbstractConfigGui.java b/src/core/src/main/java/org/apache/jmeter/config/gui/AbstractConfigGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/gui/AbstractConfigGui.java
rename to src/core/src/main/java/org/apache/jmeter/config/gui/AbstractConfigGui.java
diff --git a/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java b/src/core/src/main/java/org/apache/jmeter/config/gui/ArgumentsPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
rename to src/core/src/main/java/org/apache/jmeter/config/gui/ArgumentsPanel.java
diff --git a/src/core/org/apache/jmeter/config/gui/LoginConfigGui.java b/src/core/src/main/java/org/apache/jmeter/config/gui/LoginConfigGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/gui/LoginConfigGui.java
rename to src/core/src/main/java/org/apache/jmeter/config/gui/LoginConfigGui.java
diff --git a/src/core/org/apache/jmeter/config/gui/ObsoleteGui.java b/src/core/src/main/java/org/apache/jmeter/config/gui/ObsoleteGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/gui/ObsoleteGui.java
rename to src/core/src/main/java/org/apache/jmeter/config/gui/ObsoleteGui.java
diff --git a/src/core/org/apache/jmeter/config/gui/RowDetailDialog.java b/src/core/src/main/java/org/apache/jmeter/config/gui/RowDetailDialog.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/gui/RowDetailDialog.java
rename to src/core/src/main/java/org/apache/jmeter/config/gui/RowDetailDialog.java
diff --git a/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java b/src/core/src/main/java/org/apache/jmeter/config/gui/SimpleConfigGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java
rename to src/core/src/main/java/org/apache/jmeter/config/gui/SimpleConfigGui.java
diff --git a/src/core/org/apache/jmeter/control/Controller.java b/src/core/src/main/java/org/apache/jmeter/control/Controller.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/Controller.java
rename to src/core/src/main/java/org/apache/jmeter/control/Controller.java
diff --git a/src/core/org/apache/jmeter/control/GenericController.java b/src/core/src/main/java/org/apache/jmeter/control/GenericController.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/GenericController.java
rename to src/core/src/main/java/org/apache/jmeter/control/GenericController.java
diff --git a/src/core/org/apache/jmeter/control/IfController.java b/src/core/src/main/java/org/apache/jmeter/control/IfController.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/IfController.java
rename to src/core/src/main/java/org/apache/jmeter/control/IfController.java
diff --git a/src/core/org/apache/jmeter/control/IteratingController.java b/src/core/src/main/java/org/apache/jmeter/control/IteratingController.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/IteratingController.java
rename to src/core/src/main/java/org/apache/jmeter/control/IteratingController.java
diff --git a/src/core/org/apache/jmeter/control/LoopController.java b/src/core/src/main/java/org/apache/jmeter/control/LoopController.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/LoopController.java
rename to src/core/src/main/java/org/apache/jmeter/control/LoopController.java
diff --git a/src/core/org/apache/jmeter/control/NextIsNullException.java b/src/core/src/main/java/org/apache/jmeter/control/NextIsNullException.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/NextIsNullException.java
rename to src/core/src/main/java/org/apache/jmeter/control/NextIsNullException.java
diff --git a/src/core/org/apache/jmeter/control/ReplaceableController.java b/src/core/src/main/java/org/apache/jmeter/control/ReplaceableController.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/ReplaceableController.java
rename to src/core/src/main/java/org/apache/jmeter/control/ReplaceableController.java
diff --git a/src/core/org/apache/jmeter/control/RunTime.java b/src/core/src/main/java/org/apache/jmeter/control/RunTime.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/RunTime.java
rename to src/core/src/main/java/org/apache/jmeter/control/RunTime.java
diff --git a/src/core/org/apache/jmeter/control/TestFragmentController.java b/src/core/src/main/java/org/apache/jmeter/control/TestFragmentController.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/TestFragmentController.java
rename to src/core/src/main/java/org/apache/jmeter/control/TestFragmentController.java
diff --git a/src/core/org/apache/jmeter/control/TransactionController.java b/src/core/src/main/java/org/apache/jmeter/control/TransactionController.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/TransactionController.java
rename to src/core/src/main/java/org/apache/jmeter/control/TransactionController.java
diff --git a/src/core/org/apache/jmeter/control/TransactionSampler.java b/src/core/src/main/java/org/apache/jmeter/control/TransactionSampler.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/TransactionSampler.java
rename to src/core/src/main/java/org/apache/jmeter/control/TransactionSampler.java
diff --git a/src/core/org/apache/jmeter/control/WhileController.java b/src/core/src/main/java/org/apache/jmeter/control/WhileController.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/WhileController.java
rename to src/core/src/main/java/org/apache/jmeter/control/WhileController.java
diff --git a/src/core/org/apache/jmeter/control/gui/AbstractControllerGui.java b/src/core/src/main/java/org/apache/jmeter/control/gui/AbstractControllerGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/AbstractControllerGui.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/AbstractControllerGui.java
diff --git a/src/core/org/apache/jmeter/control/gui/IfControllerPanel.java b/src/core/src/main/java/org/apache/jmeter/control/gui/IfControllerPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/IfControllerPanel.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/IfControllerPanel.java
diff --git a/src/core/org/apache/jmeter/control/gui/LogicControllerGui.java b/src/core/src/main/java/org/apache/jmeter/control/gui/LogicControllerGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/LogicControllerGui.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/LogicControllerGui.java
diff --git a/src/core/org/apache/jmeter/control/gui/LoopControlPanel.java b/src/core/src/main/java/org/apache/jmeter/control/gui/LoopControlPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/LoopControlPanel.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/LoopControlPanel.java
diff --git a/src/core/org/apache/jmeter/control/gui/RunTimeGui.java b/src/core/src/main/java/org/apache/jmeter/control/gui/RunTimeGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/RunTimeGui.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/RunTimeGui.java
diff --git a/src/core/org/apache/jmeter/control/gui/TestFragmentControllerGui.java b/src/core/src/main/java/org/apache/jmeter/control/gui/TestFragmentControllerGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/TestFragmentControllerGui.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/TestFragmentControllerGui.java
diff --git a/src/core/org/apache/jmeter/control/gui/TestPlanGui.java b/src/core/src/main/java/org/apache/jmeter/control/gui/TestPlanGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/TestPlanGui.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/TestPlanGui.java
diff --git a/src/core/org/apache/jmeter/control/gui/TransactionControllerGui.java b/src/core/src/main/java/org/apache/jmeter/control/gui/TransactionControllerGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/TransactionControllerGui.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/TransactionControllerGui.java
diff --git a/src/core/org/apache/jmeter/control/gui/WhileControllerGui.java b/src/core/src/main/java/org/apache/jmeter/control/gui/WhileControllerGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/WhileControllerGui.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/WhileControllerGui.java
diff --git a/src/core/org/apache/jmeter/control/gui/WorkBenchGui.java b/src/core/src/main/java/org/apache/jmeter/control/gui/WorkBenchGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/control/gui/WorkBenchGui.java
rename to src/core/src/main/java/org/apache/jmeter/control/gui/WorkBenchGui.java
diff --git a/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java b/src/core/src/main/java/org/apache/jmeter/engine/ClientJMeterEngine.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/ClientJMeterEngine.java
rename to src/core/src/main/java/org/apache/jmeter/engine/ClientJMeterEngine.java
diff --git a/src/core/org/apache/jmeter/engine/ConvertListeners.java b/src/core/src/main/java/org/apache/jmeter/engine/ConvertListeners.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/ConvertListeners.java
rename to src/core/src/main/java/org/apache/jmeter/engine/ConvertListeners.java
diff --git a/src/core/org/apache/jmeter/engine/DistributedRunner.java b/src/core/src/main/java/org/apache/jmeter/engine/DistributedRunner.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/DistributedRunner.java
rename to src/core/src/main/java/org/apache/jmeter/engine/DistributedRunner.java
diff --git a/src/core/org/apache/jmeter/engine/JMeterEngine.java b/src/core/src/main/java/org/apache/jmeter/engine/JMeterEngine.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/JMeterEngine.java
rename to src/core/src/main/java/org/apache/jmeter/engine/JMeterEngine.java
diff --git a/src/core/org/apache/jmeter/engine/JMeterEngineException.java b/src/core/src/main/java/org/apache/jmeter/engine/JMeterEngineException.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/JMeterEngineException.java
rename to src/core/src/main/java/org/apache/jmeter/engine/JMeterEngineException.java
diff --git a/src/core/org/apache/jmeter/engine/PreCompiler.java b/src/core/src/main/java/org/apache/jmeter/engine/PreCompiler.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/PreCompiler.java
rename to src/core/src/main/java/org/apache/jmeter/engine/PreCompiler.java
diff --git a/src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java b/src/core/src/main/java/org/apache/jmeter/engine/RemoteJMeterEngine.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java
rename to src/core/src/main/java/org/apache/jmeter/engine/RemoteJMeterEngine.java
diff --git a/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java b/src/core/src/main/java/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
rename to src/core/src/main/java/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
diff --git a/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java b/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
rename to src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java
diff --git a/src/core/org/apache/jmeter/engine/TreeCloner.java b/src/core/src/main/java/org/apache/jmeter/engine/TreeCloner.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/TreeCloner.java
rename to src/core/src/main/java/org/apache/jmeter/engine/TreeCloner.java
diff --git a/src/core/org/apache/jmeter/engine/TreeClonerNoTimer.java b/src/core/src/main/java/org/apache/jmeter/engine/TreeClonerNoTimer.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/TreeClonerNoTimer.java
rename to src/core/src/main/java/org/apache/jmeter/engine/TreeClonerNoTimer.java
diff --git a/src/core/org/apache/jmeter/engine/TurnElementsOn.java b/src/core/src/main/java/org/apache/jmeter/engine/TurnElementsOn.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/TurnElementsOn.java
rename to src/core/src/main/java/org/apache/jmeter/engine/TurnElementsOn.java
diff --git a/src/core/org/apache/jmeter/engine/event/LoopIterationEvent.java b/src/core/src/main/java/org/apache/jmeter/engine/event/LoopIterationEvent.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/event/LoopIterationEvent.java
rename to src/core/src/main/java/org/apache/jmeter/engine/event/LoopIterationEvent.java
diff --git a/src/core/org/apache/jmeter/engine/event/LoopIterationListener.java b/src/core/src/main/java/org/apache/jmeter/engine/event/LoopIterationListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/event/LoopIterationListener.java
rename to src/core/src/main/java/org/apache/jmeter/engine/event/LoopIterationListener.java
diff --git a/src/core/org/apache/jmeter/engine/package-info.java b/src/core/src/main/java/org/apache/jmeter/engine/package-info.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/package-info.java
rename to src/core/src/main/java/org/apache/jmeter/engine/package-info.java
diff --git a/src/core/org/apache/jmeter/engine/util/AbstractTransformer.java b/src/core/src/main/java/org/apache/jmeter/engine/util/AbstractTransformer.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/AbstractTransformer.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/AbstractTransformer.java
diff --git a/src/core/org/apache/jmeter/engine/util/CompoundVariable.java b/src/core/src/main/java/org/apache/jmeter/engine/util/CompoundVariable.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/CompoundVariable.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/CompoundVariable.java
diff --git a/src/core/org/apache/jmeter/engine/util/ConfigMergabilityIndicator.java b/src/core/src/main/java/org/apache/jmeter/engine/util/ConfigMergabilityIndicator.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/ConfigMergabilityIndicator.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/ConfigMergabilityIndicator.java
diff --git a/src/core/org/apache/jmeter/engine/util/FunctionParser.java b/src/core/src/main/java/org/apache/jmeter/engine/util/FunctionParser.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/FunctionParser.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/FunctionParser.java
diff --git a/src/core/org/apache/jmeter/engine/util/NoConfigMerge.java b/src/core/src/main/java/org/apache/jmeter/engine/util/NoConfigMerge.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/NoConfigMerge.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/NoConfigMerge.java
diff --git a/src/core/org/apache/jmeter/engine/util/NoThreadClone.java b/src/core/src/main/java/org/apache/jmeter/engine/util/NoThreadClone.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/NoThreadClone.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/NoThreadClone.java
diff --git a/src/core/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java b/src/core/src/main/java/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java
diff --git a/src/core/org/apache/jmeter/engine/util/ReplaceStringWithFunctions.java b/src/core/src/main/java/org/apache/jmeter/engine/util/ReplaceStringWithFunctions.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/ReplaceStringWithFunctions.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/ReplaceStringWithFunctions.java
diff --git a/src/core/org/apache/jmeter/engine/util/SimpleVariable.java b/src/core/src/main/java/org/apache/jmeter/engine/util/SimpleVariable.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/SimpleVariable.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/SimpleVariable.java
diff --git a/src/core/org/apache/jmeter/engine/util/UndoVariableReplacement.java b/src/core/src/main/java/org/apache/jmeter/engine/util/UndoVariableReplacement.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/UndoVariableReplacement.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/UndoVariableReplacement.java
diff --git a/src/core/org/apache/jmeter/engine/util/ValueReplacer.java b/src/core/src/main/java/org/apache/jmeter/engine/util/ValueReplacer.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/ValueReplacer.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/ValueReplacer.java
diff --git a/src/core/org/apache/jmeter/engine/util/ValueTransformer.java b/src/core/src/main/java/org/apache/jmeter/engine/util/ValueTransformer.java
similarity index 100%
rename from src/core/org/apache/jmeter/engine/util/ValueTransformer.java
rename to src/core/src/main/java/org/apache/jmeter/engine/util/ValueTransformer.java
diff --git a/src/core/org/apache/jmeter/exceptions/IllegalUserActionException.java b/src/core/src/main/java/org/apache/jmeter/exceptions/IllegalUserActionException.java
similarity index 100%
rename from src/core/org/apache/jmeter/exceptions/IllegalUserActionException.java
rename to src/core/src/main/java/org/apache/jmeter/exceptions/IllegalUserActionException.java
diff --git a/src/core/org/apache/jmeter/functions/AbstractFunction.java b/src/core/src/main/java/org/apache/jmeter/functions/AbstractFunction.java
similarity index 100%
rename from src/core/org/apache/jmeter/functions/AbstractFunction.java
rename to src/core/src/main/java/org/apache/jmeter/functions/AbstractFunction.java
diff --git a/src/core/org/apache/jmeter/functions/Function.java b/src/core/src/main/java/org/apache/jmeter/functions/Function.java
similarity index 100%
rename from src/core/org/apache/jmeter/functions/Function.java
rename to src/core/src/main/java/org/apache/jmeter/functions/Function.java
diff --git a/src/core/org/apache/jmeter/functions/InvalidVariableException.java b/src/core/src/main/java/org/apache/jmeter/functions/InvalidVariableException.java
similarity index 100%
rename from src/core/org/apache/jmeter/functions/InvalidVariableException.java
rename to src/core/src/main/java/org/apache/jmeter/functions/InvalidVariableException.java
diff --git a/src/core/org/apache/jmeter/functions/gui/FunctionHelper.java b/src/core/src/main/java/org/apache/jmeter/functions/gui/FunctionHelper.java
similarity index 100%
rename from src/core/org/apache/jmeter/functions/gui/FunctionHelper.java
rename to src/core/src/main/java/org/apache/jmeter/functions/gui/FunctionHelper.java
diff --git a/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java b/src/core/src/main/java/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
rename to src/core/src/main/java/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
diff --git a/src/core/org/apache/jmeter/gui/AbstractScopedJMeterGuiComponent.java b/src/core/src/main/java/org/apache/jmeter/gui/AbstractScopedJMeterGuiComponent.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/AbstractScopedJMeterGuiComponent.java
rename to src/core/src/main/java/org/apache/jmeter/gui/AbstractScopedJMeterGuiComponent.java
diff --git a/src/core/org/apache/jmeter/gui/ClearGui.java b/src/core/src/main/java/org/apache/jmeter/gui/ClearGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/ClearGui.java
rename to src/core/src/main/java/org/apache/jmeter/gui/ClearGui.java
diff --git a/src/core/org/apache/jmeter/gui/CommentPanel.java b/src/core/src/main/java/org/apache/jmeter/gui/CommentPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/CommentPanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/CommentPanel.java
diff --git a/src/core/org/apache/jmeter/gui/GUIFactory.java b/src/core/src/main/java/org/apache/jmeter/gui/GUIFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/GUIFactory.java
rename to src/core/src/main/java/org/apache/jmeter/gui/GUIFactory.java
diff --git a/src/core/org/apache/jmeter/gui/GUIMenuSortOrder.java b/src/core/src/main/java/org/apache/jmeter/gui/GUIMenuSortOrder.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/GUIMenuSortOrder.java
rename to src/core/src/main/java/org/apache/jmeter/gui/GUIMenuSortOrder.java
diff --git a/src/core/org/apache/jmeter/gui/GlobalUndoableEdit.java b/src/core/src/main/java/org/apache/jmeter/gui/GlobalUndoableEdit.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/GlobalUndoableEdit.java
rename to src/core/src/main/java/org/apache/jmeter/gui/GlobalUndoableEdit.java
diff --git a/src/core/org/apache/jmeter/gui/GuiPackage.java b/src/core/src/main/java/org/apache/jmeter/gui/GuiPackage.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/GuiPackage.java
rename to src/core/src/main/java/org/apache/jmeter/gui/GuiPackage.java
diff --git a/src/core/org/apache/jmeter/gui/HtmlReportAction.java b/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportAction.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/HtmlReportAction.java
rename to src/core/src/main/java/org/apache/jmeter/gui/HtmlReportAction.java
diff --git a/src/core/org/apache/jmeter/gui/HtmlReportUI.java b/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/HtmlReportUI.java
rename to src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java
diff --git a/src/core/org/apache/jmeter/gui/JMeterFileFilter.java b/src/core/src/main/java/org/apache/jmeter/gui/JMeterFileFilter.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/JMeterFileFilter.java
rename to src/core/src/main/java/org/apache/jmeter/gui/JMeterFileFilter.java
diff --git a/src/core/org/apache/jmeter/gui/JMeterGUIComponent.java b/src/core/src/main/java/org/apache/jmeter/gui/JMeterGUIComponent.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/JMeterGUIComponent.java
rename to src/core/src/main/java/org/apache/jmeter/gui/JMeterGUIComponent.java
diff --git a/src/core/org/apache/jmeter/gui/LoggerPanel.java b/src/core/src/main/java/org/apache/jmeter/gui/LoggerPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/LoggerPanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/LoggerPanel.java
diff --git a/src/core/org/apache/jmeter/gui/MainFrame.java b/src/core/src/main/java/org/apache/jmeter/gui/MainFrame.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/MainFrame.java
rename to src/core/src/main/java/org/apache/jmeter/gui/MainFrame.java
diff --git a/src/core/org/apache/jmeter/gui/NamePanel.java b/src/core/src/main/java/org/apache/jmeter/gui/NamePanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/NamePanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/NamePanel.java
diff --git a/src/core/org/apache/jmeter/gui/OnErrorPanel.java b/src/core/src/main/java/org/apache/jmeter/gui/OnErrorPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/OnErrorPanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/OnErrorPanel.java
diff --git a/src/core/org/apache/jmeter/gui/Replaceable.java b/src/core/src/main/java/org/apache/jmeter/gui/Replaceable.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/Replaceable.java
rename to src/core/src/main/java/org/apache/jmeter/gui/Replaceable.java
diff --git a/src/core/org/apache/jmeter/gui/SavePropertyDialog.java b/src/core/src/main/java/org/apache/jmeter/gui/SavePropertyDialog.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/SavePropertyDialog.java
rename to src/core/src/main/java/org/apache/jmeter/gui/SavePropertyDialog.java
diff --git a/src/core/org/apache/jmeter/gui/Searchable.java b/src/core/src/main/java/org/apache/jmeter/gui/Searchable.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/Searchable.java
rename to src/core/src/main/java/org/apache/jmeter/gui/Searchable.java
diff --git a/src/core/org/apache/jmeter/gui/ServerPanel.java b/src/core/src/main/java/org/apache/jmeter/gui/ServerPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/ServerPanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/ServerPanel.java
diff --git a/src/core/org/apache/jmeter/gui/SimpleCompoundEdit.java b/src/core/src/main/java/org/apache/jmeter/gui/SimpleCompoundEdit.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/SimpleCompoundEdit.java
rename to src/core/src/main/java/org/apache/jmeter/gui/SimpleCompoundEdit.java
diff --git a/src/core/org/apache/jmeter/gui/Stoppable.java b/src/core/src/main/java/org/apache/jmeter/gui/Stoppable.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/Stoppable.java
rename to src/core/src/main/java/org/apache/jmeter/gui/Stoppable.java
diff --git a/src/core/org/apache/jmeter/gui/TestPlanListener.java b/src/core/src/main/java/org/apache/jmeter/gui/TestPlanListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/TestPlanListener.java
rename to src/core/src/main/java/org/apache/jmeter/gui/TestPlanListener.java
diff --git a/src/core/org/apache/jmeter/gui/TreeState.java b/src/core/src/main/java/org/apache/jmeter/gui/TreeState.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/TreeState.java
rename to src/core/src/main/java/org/apache/jmeter/gui/TreeState.java
diff --git a/src/core/org/apache/jmeter/gui/UndoHistory.java b/src/core/src/main/java/org/apache/jmeter/gui/UndoHistory.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/UndoHistory.java
rename to src/core/src/main/java/org/apache/jmeter/gui/UndoHistory.java
diff --git a/src/core/org/apache/jmeter/gui/UndoHistoryItem.java b/src/core/src/main/java/org/apache/jmeter/gui/UndoHistoryItem.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/UndoHistoryItem.java
rename to src/core/src/main/java/org/apache/jmeter/gui/UndoHistoryItem.java
diff --git a/src/core/org/apache/jmeter/gui/UnsharedComponent.java b/src/core/src/main/java/org/apache/jmeter/gui/UnsharedComponent.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/UnsharedComponent.java
rename to src/core/src/main/java/org/apache/jmeter/gui/UnsharedComponent.java
diff --git a/src/core/org/apache/jmeter/gui/action/AboutCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/AboutCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/AboutCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/AboutCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/AbstractAction.java b/src/core/src/main/java/org/apache/jmeter/gui/action/AbstractAction.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/AbstractAction.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/AbstractAction.java
diff --git a/src/core/org/apache/jmeter/gui/action/AbstractActionWithNoRunningTest.java b/src/core/src/main/java/org/apache/jmeter/gui/action/AbstractActionWithNoRunningTest.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/AbstractActionWithNoRunningTest.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/AbstractActionWithNoRunningTest.java
diff --git a/src/core/org/apache/jmeter/gui/action/ActionNames.java b/src/core/src/main/java/org/apache/jmeter/gui/action/ActionNames.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/ActionNames.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/ActionNames.java
diff --git a/src/core/org/apache/jmeter/gui/action/ActionRouter.java b/src/core/src/main/java/org/apache/jmeter/gui/action/ActionRouter.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/ActionRouter.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/ActionRouter.java
diff --git a/src/core/org/apache/jmeter/gui/action/AddParent.java b/src/core/src/main/java/org/apache/jmeter/gui/action/AddParent.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/AddParent.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/AddParent.java
diff --git a/src/core/org/apache/jmeter/gui/action/AddThinkTimeBetweenEachStep.java b/src/core/src/main/java/org/apache/jmeter/gui/action/AddThinkTimeBetweenEachStep.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/AddThinkTimeBetweenEachStep.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/AddThinkTimeBetweenEachStep.java
diff --git a/src/core/org/apache/jmeter/gui/action/AddToTree.java b/src/core/src/main/java/org/apache/jmeter/gui/action/AddToTree.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/AddToTree.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/AddToTree.java
diff --git a/src/core/org/apache/jmeter/gui/action/ApplyNamingConvention.java b/src/core/src/main/java/org/apache/jmeter/gui/action/ApplyNamingConvention.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/ApplyNamingConvention.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/ApplyNamingConvention.java
diff --git a/src/core/org/apache/jmeter/gui/action/ChangeLanguage.java b/src/core/src/main/java/org/apache/jmeter/gui/action/ChangeLanguage.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/ChangeLanguage.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/ChangeLanguage.java
diff --git a/src/core/org/apache/jmeter/gui/action/ChangeParent.java b/src/core/src/main/java/org/apache/jmeter/gui/action/ChangeParent.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/ChangeParent.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/ChangeParent.java
diff --git a/src/core/org/apache/jmeter/gui/action/CheckDirty.java b/src/core/src/main/java/org/apache/jmeter/gui/action/CheckDirty.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/CheckDirty.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/CheckDirty.java
diff --git a/src/core/org/apache/jmeter/gui/action/Clear.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Clear.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Clear.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Clear.java
diff --git a/src/core/org/apache/jmeter/gui/action/Close.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Close.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Close.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Close.java
diff --git a/src/core/org/apache/jmeter/gui/action/CollapseExpand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/CollapseExpand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/CollapseExpand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/CollapseExpand.java
diff --git a/src/core/org/apache/jmeter/gui/action/CollapseExpandTreeBranch.java b/src/core/src/main/java/org/apache/jmeter/gui/action/CollapseExpandTreeBranch.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/CollapseExpandTreeBranch.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/CollapseExpandTreeBranch.java
diff --git a/src/core/org/apache/jmeter/gui/action/Command.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Command.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Command.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Command.java
diff --git a/src/core/org/apache/jmeter/gui/action/CompileJSR223TestElements.java b/src/core/src/main/java/org/apache/jmeter/gui/action/CompileJSR223TestElements.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/CompileJSR223TestElements.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/CompileJSR223TestElements.java
diff --git a/src/core/org/apache/jmeter/gui/action/Copy.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Copy.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Copy.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Copy.java
diff --git a/src/core/org/apache/jmeter/gui/action/CreateFunctionDialog.java b/src/core/src/main/java/org/apache/jmeter/gui/action/CreateFunctionDialog.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/CreateFunctionDialog.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/CreateFunctionDialog.java
diff --git a/src/core/org/apache/jmeter/gui/action/Cut.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Cut.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Cut.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Cut.java
diff --git a/src/core/org/apache/jmeter/gui/action/Duplicate.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Duplicate.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Duplicate.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Duplicate.java
diff --git a/src/core/org/apache/jmeter/gui/action/EditCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/EditCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/EditCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/EditCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/EnableComponent.java b/src/core/src/main/java/org/apache/jmeter/gui/action/EnableComponent.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/EnableComponent.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/EnableComponent.java
diff --git a/src/core/org/apache/jmeter/gui/action/ExitCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/ExitCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/ExitCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/ExitCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/Help.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Help.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Help.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Help.java
diff --git a/src/core/org/apache/jmeter/gui/action/HtmlReportGenerator.java b/src/core/src/main/java/org/apache/jmeter/gui/action/HtmlReportGenerator.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/HtmlReportGenerator.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/HtmlReportGenerator.java
diff --git a/src/core/org/apache/jmeter/gui/action/KeyStrokes.java b/src/core/src/main/java/org/apache/jmeter/gui/action/KeyStrokes.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/KeyStrokes.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/KeyStrokes.java
diff --git a/src/core/org/apache/jmeter/gui/action/Load.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Load.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Load.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Load.java
diff --git a/src/core/org/apache/jmeter/gui/action/LoadDraggedFile.java b/src/core/src/main/java/org/apache/jmeter/gui/action/LoadDraggedFile.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/LoadDraggedFile.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/LoadDraggedFile.java
diff --git a/src/core/org/apache/jmeter/gui/action/LoadRecentProject.java b/src/core/src/main/java/org/apache/jmeter/gui/action/LoadRecentProject.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/LoadRecentProject.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/LoadRecentProject.java
diff --git a/src/core/org/apache/jmeter/gui/action/LogLevelCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/LogLevelCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/LogLevelCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/LogLevelCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/LoggerPanelEnableDisable.java b/src/core/src/main/java/org/apache/jmeter/gui/action/LoggerPanelEnableDisable.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/LoggerPanelEnableDisable.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/LoggerPanelEnableDisable.java
diff --git a/src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/LookAndFeelCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/LookAndFeelCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/Move.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Move.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Move.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Move.java
diff --git a/src/core/org/apache/jmeter/gui/action/OpenLinkAction.java b/src/core/src/main/java/org/apache/jmeter/gui/action/OpenLinkAction.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/OpenLinkAction.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/OpenLinkAction.java
diff --git a/src/core/org/apache/jmeter/gui/action/Paste.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Paste.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Paste.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Paste.java
diff --git a/src/core/org/apache/jmeter/gui/action/RawTextSearcher.java b/src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/RawTextSearcher.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java
diff --git a/src/core/org/apache/jmeter/gui/action/RegexpSearcher.java b/src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/RegexpSearcher.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java
diff --git a/src/core/org/apache/jmeter/gui/action/RemoteStart.java b/src/core/src/main/java/org/apache/jmeter/gui/action/RemoteStart.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/RemoteStart.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/RemoteStart.java
diff --git a/src/core/org/apache/jmeter/gui/action/Remove.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Remove.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Remove.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Remove.java
diff --git a/src/core/org/apache/jmeter/gui/action/ResetSearchCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/ResetSearchCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/ResetSearchCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/ResetSearchCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/Restart.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Restart.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Restart.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Restart.java
diff --git a/src/core/org/apache/jmeter/gui/action/RevertProject.java b/src/core/src/main/java/org/apache/jmeter/gui/action/RevertProject.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/RevertProject.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/RevertProject.java
diff --git a/src/core/org/apache/jmeter/gui/action/SSLManagerCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/SSLManagerCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/SSLManagerCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/SSLManagerCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/Save.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Save.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Save.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Save.java
diff --git a/src/core/org/apache/jmeter/gui/action/SaveBeforeRun.java b/src/core/src/main/java/org/apache/jmeter/gui/action/SaveBeforeRun.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/SaveBeforeRun.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/SaveBeforeRun.java
diff --git a/src/core/org/apache/jmeter/gui/action/SaveGraphics.java b/src/core/src/main/java/org/apache/jmeter/gui/action/SaveGraphics.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/SaveGraphics.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/SaveGraphics.java
diff --git a/src/core/org/apache/jmeter/gui/action/SchematicView.java b/src/core/src/main/java/org/apache/jmeter/gui/action/SchematicView.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/SchematicView.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/SchematicView.java
diff --git a/src/core/org/apache/jmeter/gui/action/SearchTreeCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/SearchTreeCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/SearchTreeCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/SearchTreeCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/SearchTreeDialog.java b/src/core/src/main/java/org/apache/jmeter/gui/action/SearchTreeDialog.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/SearchTreeDialog.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/SearchTreeDialog.java
diff --git a/src/core/org/apache/jmeter/gui/action/Searcher.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Searcher.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Searcher.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Searcher.java
diff --git a/src/core/org/apache/jmeter/gui/action/SelectTemplatesDialog.java b/src/core/src/main/java/org/apache/jmeter/gui/action/SelectTemplatesDialog.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/SelectTemplatesDialog.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/SelectTemplatesDialog.java
diff --git a/src/core/org/apache/jmeter/gui/action/Start.java b/src/core/src/main/java/org/apache/jmeter/gui/action/Start.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/Start.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/Start.java
diff --git a/src/core/org/apache/jmeter/gui/action/StopStoppables.java b/src/core/src/main/java/org/apache/jmeter/gui/action/StopStoppables.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/StopStoppables.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/StopStoppables.java
diff --git a/src/core/org/apache/jmeter/gui/action/TemplatesCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/TemplatesCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/TemplatesCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/TemplatesCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/TreeNodeNamingPolicy.java b/src/core/src/main/java/org/apache/jmeter/gui/action/TreeNodeNamingPolicy.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/TreeNodeNamingPolicy.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/TreeNodeNamingPolicy.java
diff --git a/src/core/org/apache/jmeter/gui/action/UndoCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/UndoCommand.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/UndoCommand.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/UndoCommand.java
diff --git a/src/core/org/apache/jmeter/gui/action/What.java b/src/core/src/main/java/org/apache/jmeter/gui/action/What.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/What.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/What.java
diff --git a/src/core/org/apache/jmeter/gui/action/ZoomInOut.java b/src/core/src/main/java/org/apache/jmeter/gui/action/ZoomInOut.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/ZoomInOut.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/ZoomInOut.java
diff --git a/src/core/org/apache/jmeter/gui/action/impl/DefaultTreeNodeNamingPolicy.java b/src/core/src/main/java/org/apache/jmeter/gui/action/impl/DefaultTreeNodeNamingPolicy.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/impl/DefaultTreeNodeNamingPolicy.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/impl/DefaultTreeNodeNamingPolicy.java
diff --git a/src/core/org/apache/jmeter/gui/action/template/Template.java b/src/core/src/main/java/org/apache/jmeter/gui/action/template/Template.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/template/Template.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/template/Template.java
diff --git a/src/core/org/apache/jmeter/gui/action/template/TemplateManager.java b/src/core/src/main/java/org/apache/jmeter/gui/action/template/TemplateManager.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/template/TemplateManager.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/template/TemplateManager.java
diff --git a/src/core/org/apache/jmeter/gui/action/thinktime/ThinkTimeCreator.java b/src/core/src/main/java/org/apache/jmeter/gui/action/thinktime/ThinkTimeCreator.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/thinktime/ThinkTimeCreator.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/thinktime/ThinkTimeCreator.java
diff --git a/src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java b/src/core/src/main/java/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
rename to src/core/src/main/java/org/apache/jmeter/gui/action/validation/TreeClonerForValidation.java
diff --git a/src/core/org/apache/jmeter/gui/logging/GuiLogEventAppender.java b/src/core/src/main/java/org/apache/jmeter/gui/logging/GuiLogEventAppender.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/logging/GuiLogEventAppender.java
rename to src/core/src/main/java/org/apache/jmeter/gui/logging/GuiLogEventAppender.java
diff --git a/src/core/org/apache/jmeter/gui/logging/GuiLogEventBus.java b/src/core/src/main/java/org/apache/jmeter/gui/logging/GuiLogEventBus.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/logging/GuiLogEventBus.java
rename to src/core/src/main/java/org/apache/jmeter/gui/logging/GuiLogEventBus.java
diff --git a/src/core/org/apache/jmeter/gui/logging/GuiLogEventListener.java b/src/core/src/main/java/org/apache/jmeter/gui/logging/GuiLogEventListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/logging/GuiLogEventListener.java
rename to src/core/src/main/java/org/apache/jmeter/gui/logging/GuiLogEventListener.java
diff --git a/src/core/org/apache/jmeter/gui/logging/LogEventObject.java b/src/core/src/main/java/org/apache/jmeter/gui/logging/LogEventObject.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/logging/LogEventObject.java
rename to src/core/src/main/java/org/apache/jmeter/gui/logging/LogEventObject.java
diff --git a/src/core/org/apache/jmeter/gui/plugin/MenuCreator.java b/src/core/src/main/java/org/apache/jmeter/gui/plugin/MenuCreator.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/plugin/MenuCreator.java
rename to src/core/src/main/java/org/apache/jmeter/gui/plugin/MenuCreator.java
diff --git a/src/core/org/apache/jmeter/gui/tree/JMeterCellRenderer.java b/src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterCellRenderer.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/tree/JMeterCellRenderer.java
rename to src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterCellRenderer.java
diff --git a/src/core/org/apache/jmeter/gui/tree/JMeterTreeListener.java b/src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterTreeListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/tree/JMeterTreeListener.java
rename to src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterTreeListener.java
diff --git a/src/core/org/apache/jmeter/gui/tree/JMeterTreeModel.java b/src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterTreeModel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/tree/JMeterTreeModel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterTreeModel.java
diff --git a/src/core/org/apache/jmeter/gui/tree/JMeterTreeNode.java b/src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterTreeNode.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/tree/JMeterTreeNode.java
rename to src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterTreeNode.java
diff --git a/src/core/org/apache/jmeter/gui/tree/JMeterTreeTransferHandler.java b/src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterTreeTransferHandler.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/tree/JMeterTreeTransferHandler.java
rename to src/core/src/main/java/org/apache/jmeter/gui/tree/JMeterTreeTransferHandler.java
diff --git a/src/core/org/apache/jmeter/gui/tree/NamedTreeNode.java b/src/core/src/main/java/org/apache/jmeter/gui/tree/NamedTreeNode.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/tree/NamedTreeNode.java
rename to src/core/src/main/java/org/apache/jmeter/gui/tree/NamedTreeNode.java
diff --git a/src/core/org/apache/jmeter/gui/util/CheckBoxPanel.java b/src/core/src/main/java/org/apache/jmeter/gui/util/CheckBoxPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/CheckBoxPanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/CheckBoxPanel.java
diff --git a/src/core/org/apache/jmeter/gui/util/EscapeDialog.java b/src/core/src/main/java/org/apache/jmeter/gui/util/EscapeDialog.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/EscapeDialog.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/EscapeDialog.java
diff --git a/src/core/org/apache/jmeter/gui/util/FileDialoger.java b/src/core/src/main/java/org/apache/jmeter/gui/util/FileDialoger.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/FileDialoger.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/FileDialoger.java
diff --git a/src/core/org/apache/jmeter/gui/util/FileListPanel.java b/src/core/src/main/java/org/apache/jmeter/gui/util/FileListPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/FileListPanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/FileListPanel.java
diff --git a/src/core/org/apache/jmeter/gui/util/FilePanel.java b/src/core/src/main/java/org/apache/jmeter/gui/util/FilePanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/FilePanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/FilePanel.java
diff --git a/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java b/src/core/src/main/java/org/apache/jmeter/gui/util/FilePanelEntry.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/FilePanelEntry.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/FilePanelEntry.java
diff --git a/src/core/org/apache/jmeter/gui/util/FocusRequester.java b/src/core/src/main/java/org/apache/jmeter/gui/util/FocusRequester.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/FocusRequester.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/FocusRequester.java
diff --git a/src/core/org/apache/jmeter/gui/util/HeaderAsPropertyRenderer.java b/src/core/src/main/java/org/apache/jmeter/gui/util/HeaderAsPropertyRenderer.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/HeaderAsPropertyRenderer.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/HeaderAsPropertyRenderer.java
diff --git a/src/core/org/apache/jmeter/gui/util/HeaderAsPropertyRendererWrapper.java b/src/core/src/main/java/org/apache/jmeter/gui/util/HeaderAsPropertyRendererWrapper.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/HeaderAsPropertyRendererWrapper.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/HeaderAsPropertyRendererWrapper.java
diff --git a/src/core/org/apache/jmeter/gui/util/HorizontalPanel.java b/src/core/src/main/java/org/apache/jmeter/gui/util/HorizontalPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/HorizontalPanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/HorizontalPanel.java
diff --git a/src/core/org/apache/jmeter/gui/util/IconToolbarBean.java b/src/core/src/main/java/org/apache/jmeter/gui/util/IconToolbarBean.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/IconToolbarBean.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/IconToolbarBean.java
diff --git a/src/core/org/apache/jmeter/gui/util/JDateField.java b/src/core/src/main/java/org/apache/jmeter/gui/util/JDateField.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/JDateField.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/JDateField.java
diff --git a/src/core/org/apache/jmeter/gui/util/JLabeledRadioI18N.java b/src/core/src/main/java/org/apache/jmeter/gui/util/JLabeledRadioI18N.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/JLabeledRadioI18N.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/JLabeledRadioI18N.java
diff --git a/src/core/org/apache/jmeter/gui/util/JMeterColor.java b/src/core/src/main/java/org/apache/jmeter/gui/util/JMeterColor.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/JMeterColor.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/JMeterColor.java
diff --git a/src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java b/src/core/src/main/java/org/apache/jmeter/gui/util/JMeterMenuBar.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/JMeterMenuBar.java
diff --git a/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java b/src/core/src/main/java/org/apache/jmeter/gui/util/JMeterToolBar.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/JMeterToolBar.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/JMeterToolBar.java
diff --git a/src/core/org/apache/jmeter/gui/util/JSyntaxSearchToolBar.java b/src/core/src/main/java/org/apache/jmeter/gui/util/JSyntaxSearchToolBar.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/JSyntaxSearchToolBar.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/JSyntaxSearchToolBar.java
diff --git a/src/core/org/apache/jmeter/gui/util/JSyntaxTextArea.java b/src/core/src/main/java/org/apache/jmeter/gui/util/JSyntaxTextArea.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/JSyntaxTextArea.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/JSyntaxTextArea.java
diff --git a/src/core/org/apache/jmeter/gui/util/JTextScrollPane.java b/src/core/src/main/java/org/apache/jmeter/gui/util/JTextScrollPane.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/JTextScrollPane.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/JTextScrollPane.java
diff --git a/src/core/org/apache/jmeter/gui/util/MenuFactory.java b/src/core/src/main/java/org/apache/jmeter/gui/util/MenuFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/MenuFactory.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/MenuFactory.java
diff --git a/src/core/org/apache/jmeter/gui/util/MenuInfo.java b/src/core/src/main/java/org/apache/jmeter/gui/util/MenuInfo.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/MenuInfo.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/MenuInfo.java
diff --git a/src/core/org/apache/jmeter/gui/util/MenuSeparatorInfo.java b/src/core/src/main/java/org/apache/jmeter/gui/util/MenuSeparatorInfo.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/MenuSeparatorInfo.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/MenuSeparatorInfo.java
diff --git a/src/core/org/apache/jmeter/gui/util/NumberFieldErrorListener.java b/src/core/src/main/java/org/apache/jmeter/gui/util/NumberFieldErrorListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/NumberFieldErrorListener.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/NumberFieldErrorListener.java
diff --git a/src/core/org/apache/jmeter/gui/util/PowerTableModel.java b/src/core/src/main/java/org/apache/jmeter/gui/util/PowerTableModel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/PowerTableModel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/PowerTableModel.java
diff --git a/src/core/org/apache/jmeter/gui/util/TextAreaCellRenderer.java b/src/core/src/main/java/org/apache/jmeter/gui/util/TextAreaCellRenderer.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/TextAreaCellRenderer.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/TextAreaCellRenderer.java
diff --git a/src/core/org/apache/jmeter/gui/util/TextAreaTableCellEditor.java b/src/core/src/main/java/org/apache/jmeter/gui/util/TextAreaTableCellEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/TextAreaTableCellEditor.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/TextAreaTableCellEditor.java
diff --git a/src/core/org/apache/jmeter/gui/util/TextBoxDialoger.java b/src/core/src/main/java/org/apache/jmeter/gui/util/TextBoxDialoger.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/TextBoxDialoger.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/TextBoxDialoger.java
diff --git a/src/core/org/apache/jmeter/gui/util/TristateCheckBox.java b/src/core/src/main/java/org/apache/jmeter/gui/util/TristateCheckBox.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/TristateCheckBox.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/TristateCheckBox.java
diff --git a/src/core/org/apache/jmeter/gui/util/TristateState.java b/src/core/src/main/java/org/apache/jmeter/gui/util/TristateState.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/TristateState.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/TristateState.java
diff --git a/src/core/org/apache/jmeter/gui/util/VerticalPanel.java b/src/core/src/main/java/org/apache/jmeter/gui/util/VerticalPanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/VerticalPanel.java
rename to src/core/src/main/java/org/apache/jmeter/gui/util/VerticalPanel.java
diff --git a/src/core/org/apache/jmeter/gui/util/theme/darcula_theme.xml b/src/core/src/main/java/org/apache/jmeter/gui/util/theme/darcula_theme.xml
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/theme/darcula_theme.xml
rename to src/core/src/main/java/org/apache/jmeter/gui/util/theme/darcula_theme.xml
diff --git a/src/core/org/apache/jmeter/plugin/JMeterPlugin.java b/src/core/src/main/java/org/apache/jmeter/plugin/JMeterPlugin.java
similarity index 100%
rename from src/core/org/apache/jmeter/plugin/JMeterPlugin.java
rename to src/core/src/main/java/org/apache/jmeter/plugin/JMeterPlugin.java
diff --git a/src/core/org/apache/jmeter/plugin/PluginManager.java b/src/core/src/main/java/org/apache/jmeter/plugin/PluginManager.java
similarity index 100%
rename from src/core/org/apache/jmeter/plugin/PluginManager.java
rename to src/core/src/main/java/org/apache/jmeter/plugin/PluginManager.java
diff --git a/src/core/org/apache/jmeter/processor/PostProcessor.java b/src/core/src/main/java/org/apache/jmeter/processor/PostProcessor.java
similarity index 100%
rename from src/core/org/apache/jmeter/processor/PostProcessor.java
rename to src/core/src/main/java/org/apache/jmeter/processor/PostProcessor.java
diff --git a/src/core/org/apache/jmeter/processor/PreProcessor.java b/src/core/src/main/java/org/apache/jmeter/processor/PreProcessor.java
similarity index 100%
rename from src/core/org/apache/jmeter/processor/PreProcessor.java
rename to src/core/src/main/java/org/apache/jmeter/processor/PreProcessor.java
diff --git a/src/core/org/apache/jmeter/processor/gui/AbstractPostProcessorGui.java b/src/core/src/main/java/org/apache/jmeter/processor/gui/AbstractPostProcessorGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/processor/gui/AbstractPostProcessorGui.java
rename to src/core/src/main/java/org/apache/jmeter/processor/gui/AbstractPostProcessorGui.java
diff --git a/src/core/org/apache/jmeter/processor/gui/AbstractPreProcessorGui.java b/src/core/src/main/java/org/apache/jmeter/processor/gui/AbstractPreProcessorGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/processor/gui/AbstractPreProcessorGui.java
rename to src/core/src/main/java/org/apache/jmeter/processor/gui/AbstractPreProcessorGui.java
diff --git a/src/core/org/apache/jmeter/report/config/ConfigurationException.java b/src/core/src/main/java/org/apache/jmeter/report/config/ConfigurationException.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/config/ConfigurationException.java
rename to src/core/src/main/java/org/apache/jmeter/report/config/ConfigurationException.java
diff --git a/src/core/org/apache/jmeter/report/config/ConfigurationUtils.java b/src/core/src/main/java/org/apache/jmeter/report/config/ConfigurationUtils.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/config/ConfigurationUtils.java
rename to src/core/src/main/java/org/apache/jmeter/report/config/ConfigurationUtils.java
diff --git a/src/core/org/apache/jmeter/report/config/ExporterConfiguration.java b/src/core/src/main/java/org/apache/jmeter/report/config/ExporterConfiguration.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/config/ExporterConfiguration.java
rename to src/core/src/main/java/org/apache/jmeter/report/config/ExporterConfiguration.java
diff --git a/src/core/org/apache/jmeter/report/config/GraphConfiguration.java b/src/core/src/main/java/org/apache/jmeter/report/config/GraphConfiguration.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/config/GraphConfiguration.java
rename to src/core/src/main/java/org/apache/jmeter/report/config/GraphConfiguration.java
diff --git a/src/core/org/apache/jmeter/report/config/InstanceConfiguration.java b/src/core/src/main/java/org/apache/jmeter/report/config/InstanceConfiguration.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/config/InstanceConfiguration.java
rename to src/core/src/main/java/org/apache/jmeter/report/config/InstanceConfiguration.java
diff --git a/src/core/org/apache/jmeter/report/config/ReportGeneratorConfiguration.java b/src/core/src/main/java/org/apache/jmeter/report/config/ReportGeneratorConfiguration.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/config/ReportGeneratorConfiguration.java
rename to src/core/src/main/java/org/apache/jmeter/report/config/ReportGeneratorConfiguration.java
diff --git a/src/core/org/apache/jmeter/report/config/SubConfiguration.java b/src/core/src/main/java/org/apache/jmeter/report/config/SubConfiguration.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/config/SubConfiguration.java
rename to src/core/src/main/java/org/apache/jmeter/report/config/SubConfiguration.java
diff --git a/src/core/org/apache/jmeter/report/config/package.html b/src/core/src/main/java/org/apache/jmeter/report/config/package.html
similarity index 100%
rename from src/core/org/apache/jmeter/report/config/package.html
rename to src/core/src/main/java/org/apache/jmeter/report/config/package.html
diff --git a/src/core/org/apache/jmeter/report/core/AbstractSampleWriter.java b/src/core/src/main/java/org/apache/jmeter/report/core/AbstractSampleWriter.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/AbstractSampleWriter.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/AbstractSampleWriter.java
diff --git a/src/core/org/apache/jmeter/report/core/ControllerSamplePredicate.java b/src/core/src/main/java/org/apache/jmeter/report/core/ControllerSamplePredicate.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/ControllerSamplePredicate.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/ControllerSamplePredicate.java
diff --git a/src/core/org/apache/jmeter/report/core/ConvertException.java b/src/core/src/main/java/org/apache/jmeter/report/core/ConvertException.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/ConvertException.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/ConvertException.java
diff --git a/src/core/org/apache/jmeter/report/core/Converters.java b/src/core/src/main/java/org/apache/jmeter/report/core/Converters.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/Converters.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/Converters.java
diff --git a/src/core/org/apache/jmeter/report/core/CsvFile.java b/src/core/src/main/java/org/apache/jmeter/report/core/CsvFile.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/CsvFile.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/CsvFile.java
diff --git a/src/core/org/apache/jmeter/report/core/CsvSampleReader.java b/src/core/src/main/java/org/apache/jmeter/report/core/CsvSampleReader.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/CsvSampleReader.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/CsvSampleReader.java
diff --git a/src/core/org/apache/jmeter/report/core/CsvSampleWriter.java b/src/core/src/main/java/org/apache/jmeter/report/core/CsvSampleWriter.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/CsvSampleWriter.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/CsvSampleWriter.java
diff --git a/src/core/org/apache/jmeter/report/core/DataContext.java b/src/core/src/main/java/org/apache/jmeter/report/core/DataContext.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/DataContext.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/DataContext.java
diff --git a/src/core/org/apache/jmeter/report/core/JsonUtil.java b/src/core/src/main/java/org/apache/jmeter/report/core/JsonUtil.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/JsonUtil.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/JsonUtil.java
diff --git a/src/core/org/apache/jmeter/report/core/Sample.java b/src/core/src/main/java/org/apache/jmeter/report/core/Sample.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/Sample.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/Sample.java
diff --git a/src/core/org/apache/jmeter/report/core/SampleBuilder.java b/src/core/src/main/java/org/apache/jmeter/report/core/SampleBuilder.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/SampleBuilder.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/SampleBuilder.java
diff --git a/src/core/org/apache/jmeter/report/core/SampleComparator.java b/src/core/src/main/java/org/apache/jmeter/report/core/SampleComparator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/SampleComparator.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/SampleComparator.java
diff --git a/src/core/org/apache/jmeter/report/core/SampleException.java b/src/core/src/main/java/org/apache/jmeter/report/core/SampleException.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/SampleException.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/SampleException.java
diff --git a/src/core/org/apache/jmeter/report/core/SampleMetaDataParser.java b/src/core/src/main/java/org/apache/jmeter/report/core/SampleMetaDataParser.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/SampleMetaDataParser.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/SampleMetaDataParser.java
diff --git a/src/core/org/apache/jmeter/report/core/SampleMetadata.java b/src/core/src/main/java/org/apache/jmeter/report/core/SampleMetadata.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/SampleMetadata.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/SampleMetadata.java
diff --git a/src/core/org/apache/jmeter/report/core/SamplePredicate.java b/src/core/src/main/java/org/apache/jmeter/report/core/SamplePredicate.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/SamplePredicate.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/SamplePredicate.java
diff --git a/src/core/org/apache/jmeter/report/core/SampleSelector.java b/src/core/src/main/java/org/apache/jmeter/report/core/SampleSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/SampleSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/SampleSelector.java
diff --git a/src/core/org/apache/jmeter/report/core/SampleWriter.java b/src/core/src/main/java/org/apache/jmeter/report/core/SampleWriter.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/SampleWriter.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/SampleWriter.java
diff --git a/src/core/org/apache/jmeter/report/core/StringConverter.java b/src/core/src/main/java/org/apache/jmeter/report/core/StringConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/StringConverter.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/StringConverter.java
diff --git a/src/core/org/apache/jmeter/report/core/TimeHelper.java b/src/core/src/main/java/org/apache/jmeter/report/core/TimeHelper.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/TimeHelper.java
rename to src/core/src/main/java/org/apache/jmeter/report/core/TimeHelper.java
diff --git a/src/core/org/apache/jmeter/report/core/package.html b/src/core/src/main/java/org/apache/jmeter/report/core/package.html
similarity index 100%
rename from src/core/org/apache/jmeter/report/core/package.html
rename to src/core/src/main/java/org/apache/jmeter/report/core/package.html
diff --git a/src/core/org/apache/jmeter/report/dashboard/AbstractDataExporter.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/AbstractDataExporter.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/AbstractDataExporter.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/AbstractDataExporter.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/DataExporter.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/DataExporter.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/DataExporter.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/DataExporter.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/ExportException.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/ExportException.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/ExportException.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/ExportException.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/GenerationException.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/GenerationException.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/GenerationException.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/GenerationException.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/HtmlTemplateExporter.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/HtmlTemplateExporter.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/HtmlTemplateExporter.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/HtmlTemplateExporter.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/JsonExporter.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/JsonExporter.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/JsonExporter.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/JsonExporter.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/JsonizerVisitor.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/JsonizerVisitor.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/JsonizerVisitor.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/JsonizerVisitor.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/ReportGenerator.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/ReportGenerator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/ReportGenerator.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/ReportGenerator.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/SamplingStatistic.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/SamplingStatistic.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/SamplingStatistic.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/SamplingStatistic.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/TemplateVisitor.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/TemplateVisitor.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/TemplateVisitor.java
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/TemplateVisitor.java
diff --git a/src/core/org/apache/jmeter/report/dashboard/package.html b/src/core/src/main/java/org/apache/jmeter/report/dashboard/package.html
similarity index 100%
rename from src/core/org/apache/jmeter/report/dashboard/package.html
rename to src/core/src/main/java/org/apache/jmeter/report/dashboard/package.html
diff --git a/src/core/org/apache/jmeter/report/processor/AbstractAggregatorFactory.java b/src/core/src/main/java/org/apache/jmeter/report/processor/AbstractAggregatorFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/AbstractAggregatorFactory.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/AbstractAggregatorFactory.java
diff --git a/src/core/org/apache/jmeter/report/processor/AbstractSampleConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/AbstractSampleConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/AbstractSampleConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/AbstractSampleConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/AbstractSampleProcessor.java b/src/core/src/main/java/org/apache/jmeter/report/processor/AbstractSampleProcessor.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/AbstractSampleProcessor.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/AbstractSampleProcessor.java
diff --git a/src/core/org/apache/jmeter/report/processor/AbstractSampleSource.java b/src/core/src/main/java/org/apache/jmeter/report/processor/AbstractSampleSource.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/AbstractSampleSource.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/AbstractSampleSource.java
diff --git a/src/core/org/apache/jmeter/report/processor/AbstractSummaryConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/AbstractSummaryConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/AbstractSummaryConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/AbstractSummaryConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/AggregateConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/AggregateConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/AggregateConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/AggregateConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/Aggregator.java b/src/core/src/main/java/org/apache/jmeter/report/processor/Aggregator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/Aggregator.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/Aggregator.java
diff --git a/src/core/org/apache/jmeter/report/processor/AggregatorFactory.java b/src/core/src/main/java/org/apache/jmeter/report/processor/AggregatorFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/AggregatorFactory.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/AggregatorFactory.java
diff --git a/src/core/org/apache/jmeter/report/processor/ApdexSummaryConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ApdexSummaryConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ApdexSummaryConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ApdexSummaryConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/ApdexSummaryData.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ApdexSummaryData.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ApdexSummaryData.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ApdexSummaryData.java
diff --git a/src/core/org/apache/jmeter/report/processor/ApdexThresholdsInfo.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ApdexThresholdsInfo.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ApdexThresholdsInfo.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ApdexThresholdsInfo.java
diff --git a/src/core/org/apache/jmeter/report/processor/ChannelContext.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ChannelContext.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ChannelContext.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ChannelContext.java
diff --git a/src/core/org/apache/jmeter/report/processor/CsvFileSampleSource.java b/src/core/src/main/java/org/apache/jmeter/report/processor/CsvFileSampleSource.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/CsvFileSampleSource.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/CsvFileSampleSource.java
diff --git a/src/core/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/ExternalSampleSorter.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ExternalSampleSorter.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ExternalSampleSorter.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ExternalSampleSorter.java
diff --git a/src/core/org/apache/jmeter/report/processor/FieldSampleComparator.java b/src/core/src/main/java/org/apache/jmeter/report/processor/FieldSampleComparator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/FieldSampleComparator.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/FieldSampleComparator.java
diff --git a/src/core/org/apache/jmeter/report/processor/FilterConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/FilterConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/FilterConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/FilterConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/Job.java b/src/core/src/main/java/org/apache/jmeter/report/processor/Job.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/Job.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/Job.java
diff --git a/src/core/org/apache/jmeter/report/processor/ListResultData.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ListResultData.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ListResultData.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ListResultData.java
diff --git a/src/core/org/apache/jmeter/report/processor/MapResultData.java b/src/core/src/main/java/org/apache/jmeter/report/processor/MapResultData.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/MapResultData.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/MapResultData.java
diff --git a/src/core/org/apache/jmeter/report/processor/MaxAggregator.java b/src/core/src/main/java/org/apache/jmeter/report/processor/MaxAggregator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/MaxAggregator.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/MaxAggregator.java
diff --git a/src/core/org/apache/jmeter/report/processor/MaxAggregatorFactory.java b/src/core/src/main/java/org/apache/jmeter/report/processor/MaxAggregatorFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/MaxAggregatorFactory.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/MaxAggregatorFactory.java
diff --git a/src/core/org/apache/jmeter/report/processor/MeanAggregator.java b/src/core/src/main/java/org/apache/jmeter/report/processor/MeanAggregator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/MeanAggregator.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/MeanAggregator.java
diff --git a/src/core/org/apache/jmeter/report/processor/MeanAggregatorFactory.java b/src/core/src/main/java/org/apache/jmeter/report/processor/MeanAggregatorFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/MeanAggregatorFactory.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/MeanAggregatorFactory.java
diff --git a/src/core/org/apache/jmeter/report/processor/MedianAggregatorFactory.java b/src/core/src/main/java/org/apache/jmeter/report/processor/MedianAggregatorFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/MedianAggregatorFactory.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/MedianAggregatorFactory.java
diff --git a/src/core/org/apache/jmeter/report/processor/MinAggregator.java b/src/core/src/main/java/org/apache/jmeter/report/processor/MinAggregator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/MinAggregator.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/MinAggregator.java
diff --git a/src/core/org/apache/jmeter/report/processor/MinAggregatorFactory.java b/src/core/src/main/java/org/apache/jmeter/report/processor/MinAggregatorFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/MinAggregatorFactory.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/MinAggregatorFactory.java
diff --git a/src/core/org/apache/jmeter/report/processor/NormalizerSampleConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/NormalizerSampleConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/NormalizerSampleConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/NormalizerSampleConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/PercentileAggregator.java b/src/core/src/main/java/org/apache/jmeter/report/processor/PercentileAggregator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/PercentileAggregator.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/PercentileAggregator.java
diff --git a/src/core/org/apache/jmeter/report/processor/PercentileAggregatorFactory.java b/src/core/src/main/java/org/apache/jmeter/report/processor/PercentileAggregatorFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/PercentileAggregatorFactory.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/PercentileAggregatorFactory.java
diff --git a/src/core/org/apache/jmeter/report/processor/RequestsSummaryConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/RequestsSummaryConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/RequestsSummaryConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/RequestsSummaryConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/ResultData.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ResultData.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ResultData.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ResultData.java
diff --git a/src/core/org/apache/jmeter/report/processor/ResultDataVisitor.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ResultDataVisitor.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ResultDataVisitor.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ResultDataVisitor.java
diff --git a/src/core/org/apache/jmeter/report/processor/SampleConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/SampleConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/SampleConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/SampleConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/SampleContext.java b/src/core/src/main/java/org/apache/jmeter/report/processor/SampleContext.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/SampleContext.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/SampleContext.java
diff --git a/src/core/org/apache/jmeter/report/processor/SampleIndexer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/SampleIndexer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/SampleIndexer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/SampleIndexer.java
diff --git a/src/core/org/apache/jmeter/report/processor/SampleProcessor.java b/src/core/src/main/java/org/apache/jmeter/report/processor/SampleProcessor.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/SampleProcessor.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/SampleProcessor.java
diff --git a/src/core/org/apache/jmeter/report/processor/SampleProducer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/SampleProducer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/SampleProducer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/SampleProducer.java
diff --git a/src/core/org/apache/jmeter/report/processor/SampleSource.java b/src/core/src/main/java/org/apache/jmeter/report/processor/SampleSource.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/SampleSource.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/SampleSource.java
diff --git a/src/core/org/apache/jmeter/report/processor/SampleWriterConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/SampleWriterConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/SampleWriterConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/SampleWriterConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/StatisticsSummaryConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/StatisticsSummaryConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/StatisticsSummaryConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/StatisticsSummaryConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/StatisticsSummaryData.java b/src/core/src/main/java/org/apache/jmeter/report/processor/StatisticsSummaryData.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/StatisticsSummaryData.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/StatisticsSummaryData.java
diff --git a/src/core/org/apache/jmeter/report/processor/SumAggregator.java b/src/core/src/main/java/org/apache/jmeter/report/processor/SumAggregator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/SumAggregator.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/SumAggregator.java
diff --git a/src/core/org/apache/jmeter/report/processor/SumAggregatorFactory.java b/src/core/src/main/java/org/apache/jmeter/report/processor/SumAggregatorFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/SumAggregatorFactory.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/SumAggregatorFactory.java
diff --git a/src/core/org/apache/jmeter/report/processor/TaggerConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/TaggerConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/TaggerConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/TaggerConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/ThresholdSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ThresholdSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ThresholdSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ThresholdSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/TimeRateAggregator.java b/src/core/src/main/java/org/apache/jmeter/report/processor/TimeRateAggregator.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/TimeRateAggregator.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/TimeRateAggregator.java
diff --git a/src/core/org/apache/jmeter/report/processor/TimeRateAggregatorFactory.java b/src/core/src/main/java/org/apache/jmeter/report/processor/TimeRateAggregatorFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/TimeRateAggregatorFactory.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/TimeRateAggregatorFactory.java
diff --git a/src/core/org/apache/jmeter/report/processor/Top5ErrorsBySamplerConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/Top5ErrorsBySamplerConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/Top5ErrorsBySamplerConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/Top5ErrorsBySamplerConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/Top5ErrorsSummaryData.java b/src/core/src/main/java/org/apache/jmeter/report/processor/Top5ErrorsSummaryData.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/Top5ErrorsSummaryData.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/Top5ErrorsSummaryData.java
diff --git a/src/core/org/apache/jmeter/report/processor/ValueResultData.java b/src/core/src/main/java/org/apache/jmeter/report/processor/ValueResultData.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/ValueResultData.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/ValueResultData.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/AbstractGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/AbstractGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/AbstractOverTimeGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractOverTimeGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/AbstractOverTimeGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractOverTimeGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/AbstractSeriesSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractSeriesSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/AbstractSeriesSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractSeriesSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/AbstractVersusRequestsGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractVersusRequestsGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/AbstractVersusRequestsGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/AbstractVersusRequestsGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/CodeSeriesSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/CodeSeriesSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/CodeSeriesSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/CodeSeriesSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/ConnectTimeValueSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/ConnectTimeValueSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/ConnectTimeValueSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/ConnectTimeValueSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/CountValueSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/CountValueSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/CountValueSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/CountValueSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/ElapsedTimeValueSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/ElapsedTimeValueSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/ElapsedTimeValueSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/ElapsedTimeValueSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/GraphKeysSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/GraphKeysSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/GraphKeysSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/GraphKeysSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/GraphSeriesSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/GraphSeriesSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/GraphSeriesSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/GraphSeriesSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/GraphValueSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/GraphValueSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/GraphValueSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/GraphValueSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/GroupData.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/GroupData.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/GroupData.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/GroupData.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/GroupInfo.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/GroupInfo.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/GroupInfo.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/GroupInfo.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/IndexedNameSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/IndexedNameSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/IndexedNameSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/IndexedNameSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/LatencyValueSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/LatencyValueSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/LatencyValueSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/LatencyValueSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/NameSeriesSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/NameSeriesSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/NameSeriesSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/NameSeriesSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/SeriesData.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/SeriesData.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/SeriesData.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/SeriesData.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/StaticSeriesSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/StaticSeriesSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/StaticSeriesSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/StaticSeriesSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/StatusSeriesSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/StatusSeriesSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/StatusSeriesSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/StatusSeriesSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/SuccessfulElapsedTimeValueSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/SuccessfulElapsedTimeValueSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/SuccessfulElapsedTimeValueSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/SuccessfulElapsedTimeValueSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/TimeStampKeysSelector.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/TimeStampKeysSelector.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/TimeStampKeysSelector.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/TimeStampKeysSelector.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/ActiveThreadsGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ActiveThreadsGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/ActiveThreadsGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ActiveThreadsGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/BytesThroughputGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/BytesThroughputGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/BytesThroughputGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/BytesThroughputGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/CodesPerSecondGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/CodesPerSecondGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/CodesPerSecondGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/CodesPerSecondGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/ConnectTimeOverTimeGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ConnectTimeOverTimeGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/ConnectTimeOverTimeGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ConnectTimeOverTimeGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/CustomGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/CustomGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/CustomGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/CustomGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/HitsPerSecondGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/HitsPerSecondGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/HitsPerSecondGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/HitsPerSecondGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyOverTimeGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/LatencyOverTimeGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/LatencyOverTimeGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/LatencyOverTimeGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyVSRequestGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/LatencyVSRequestGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/LatencyVSRequestGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/LatencyVSRequestGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseCustomGraphGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseCustomGraphGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/ResponseCustomGraphGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseCustomGraphGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeDistributionGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimeDistributionGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeDistributionGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimeDistributionGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeOverTimeGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimeOverTimeGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeOverTimeGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimeOverTimeGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePerSampleGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimePerSampleGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePerSampleGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimePerSampleGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesOverTimeGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesOverTimeGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesOverTimeGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesOverTimeGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeVSRequestGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimeVSRequestGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeVSRequestGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/ResponseTimeVSRequestGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/SyntheticResponseTimeDistributionGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/SyntheticResponseTimeDistributionGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/SyntheticResponseTimeDistributionGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/SyntheticResponseTimeDistributionGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/TimeVSThreadGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/TimeVSThreadGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/TimeVSThreadGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/TimeVSThreadGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/TotalTPSGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/TotalTPSGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/TotalTPSGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/TotalTPSGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/TransactionsPerSecondGraphConsumer.java b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/TransactionsPerSecondGraphConsumer.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/TransactionsPerSecondGraphConsumer.java
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/TransactionsPerSecondGraphConsumer.java
diff --git a/src/core/org/apache/jmeter/report/processor/graph/impl/package.html b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/package.html
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/impl/package.html
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/impl/package.html
diff --git a/src/core/org/apache/jmeter/report/processor/graph/package.html b/src/core/src/main/java/org/apache/jmeter/report/processor/graph/package.html
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/graph/package.html
rename to src/core/src/main/java/org/apache/jmeter/report/processor/graph/package.html
diff --git a/src/core/org/apache/jmeter/report/processor/package.html b/src/core/src/main/java/org/apache/jmeter/report/processor/package.html
similarity index 100%
rename from src/core/org/apache/jmeter/report/processor/package.html
rename to src/core/src/main/java/org/apache/jmeter/report/processor/package.html
diff --git a/src/core/org/apache/jmeter/report/utils/MetricUtils.java b/src/core/src/main/java/org/apache/jmeter/report/utils/MetricUtils.java
similarity index 100%
rename from src/core/org/apache/jmeter/report/utils/MetricUtils.java
rename to src/core/src/main/java/org/apache/jmeter/report/utils/MetricUtils.java
diff --git a/src/core/org/apache/jmeter/reporters/AbstractListenerElement.java b/src/core/src/main/java/org/apache/jmeter/reporters/AbstractListenerElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/AbstractListenerElement.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/AbstractListenerElement.java
diff --git a/src/core/org/apache/jmeter/reporters/ResultAction.java b/src/core/src/main/java/org/apache/jmeter/reporters/ResultAction.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/ResultAction.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/ResultAction.java
diff --git a/src/core/org/apache/jmeter/reporters/ResultCollector.java b/src/core/src/main/java/org/apache/jmeter/reporters/ResultCollector.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/ResultCollector.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/ResultCollector.java
diff --git a/src/core/org/apache/jmeter/reporters/ResultCollectorHelper.java b/src/core/src/main/java/org/apache/jmeter/reporters/ResultCollectorHelper.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/ResultCollectorHelper.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/ResultCollectorHelper.java
diff --git a/src/core/org/apache/jmeter/reporters/ResultSaver.java b/src/core/src/main/java/org/apache/jmeter/reporters/ResultSaver.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/ResultSaver.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/ResultSaver.java
diff --git a/src/core/org/apache/jmeter/reporters/Summariser.java b/src/core/src/main/java/org/apache/jmeter/reporters/Summariser.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/Summariser.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/Summariser.java
diff --git a/src/core/org/apache/jmeter/reporters/SummariserRunningSample.java b/src/core/src/main/java/org/apache/jmeter/reporters/SummariserRunningSample.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/SummariserRunningSample.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/SummariserRunningSample.java
diff --git a/src/core/org/apache/jmeter/reporters/gui/ResultActionGui.java b/src/core/src/main/java/org/apache/jmeter/reporters/gui/ResultActionGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/gui/ResultActionGui.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/gui/ResultActionGui.java
diff --git a/src/core/org/apache/jmeter/reporters/gui/ResultSaverGui.java b/src/core/src/main/java/org/apache/jmeter/reporters/gui/ResultSaverGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/gui/ResultSaverGui.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/gui/ResultSaverGui.java
diff --git a/src/core/org/apache/jmeter/reporters/gui/SummariserGui.java b/src/core/src/main/java/org/apache/jmeter/reporters/gui/SummariserGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/reporters/gui/SummariserGui.java
rename to src/core/src/main/java/org/apache/jmeter/reporters/gui/SummariserGui.java
diff --git a/src/core/org/apache/jmeter/rmi/AliasKeyManager.java b/src/core/src/main/java/org/apache/jmeter/rmi/AliasKeyManager.java
similarity index 100%
rename from src/core/org/apache/jmeter/rmi/AliasKeyManager.java
rename to src/core/src/main/java/org/apache/jmeter/rmi/AliasKeyManager.java
diff --git a/src/core/org/apache/jmeter/rmi/RMIServerSocketFactoryImpl.java b/src/core/src/main/java/org/apache/jmeter/rmi/RMIServerSocketFactoryImpl.java
similarity index 100%
rename from src/core/org/apache/jmeter/rmi/RMIServerSocketFactoryImpl.java
rename to src/core/src/main/java/org/apache/jmeter/rmi/RMIServerSocketFactoryImpl.java
diff --git a/src/core/org/apache/jmeter/rmi/RmiUtils.java b/src/core/src/main/java/org/apache/jmeter/rmi/RmiUtils.java
similarity index 100%
rename from src/core/org/apache/jmeter/rmi/RmiUtils.java
rename to src/core/src/main/java/org/apache/jmeter/rmi/RmiUtils.java
diff --git a/src/core/org/apache/jmeter/rmi/SSLRMIClientSocketFactory.java b/src/core/src/main/java/org/apache/jmeter/rmi/SSLRMIClientSocketFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/rmi/SSLRMIClientSocketFactory.java
rename to src/core/src/main/java/org/apache/jmeter/rmi/SSLRMIClientSocketFactory.java
diff --git a/src/core/org/apache/jmeter/rmi/SSLRMIServerSocketFactory.java b/src/core/src/main/java/org/apache/jmeter/rmi/SSLRMIServerSocketFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/rmi/SSLRMIServerSocketFactory.java
rename to src/core/src/main/java/org/apache/jmeter/rmi/SSLRMIServerSocketFactory.java
diff --git a/src/core/org/apache/jmeter/samplers/AbstractSampleSender.java b/src/core/src/main/java/org/apache/jmeter/samplers/AbstractSampleSender.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/AbstractSampleSender.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/AbstractSampleSender.java
diff --git a/src/core/org/apache/jmeter/samplers/AbstractSampler.java b/src/core/src/main/java/org/apache/jmeter/samplers/AbstractSampler.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/AbstractSampler.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/AbstractSampler.java
diff --git a/src/core/org/apache/jmeter/samplers/AsynchSampleSender.java b/src/core/src/main/java/org/apache/jmeter/samplers/AsynchSampleSender.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/AsynchSampleSender.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/AsynchSampleSender.java
diff --git a/src/core/org/apache/jmeter/samplers/BatchSampleSender.java b/src/core/src/main/java/org/apache/jmeter/samplers/BatchSampleSender.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/BatchSampleSender.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/BatchSampleSender.java
diff --git a/src/core/org/apache/jmeter/samplers/Clearable.java b/src/core/src/main/java/org/apache/jmeter/samplers/Clearable.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/Clearable.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/Clearable.java
diff --git a/src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java b/src/core/src/main/java/org/apache/jmeter/samplers/DataStrippingSampleSender.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/DataStrippingSampleSender.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/DataStrippingSampleSender.java
diff --git a/src/core/org/apache/jmeter/samplers/DiskStoreSampleSender.java b/src/core/src/main/java/org/apache/jmeter/samplers/DiskStoreSampleSender.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/DiskStoreSampleSender.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/DiskStoreSampleSender.java
diff --git a/src/core/org/apache/jmeter/samplers/Entry.java b/src/core/src/main/java/org/apache/jmeter/samplers/Entry.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/Entry.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/Entry.java
diff --git a/src/core/org/apache/jmeter/samplers/HoldSampleSender.java b/src/core/src/main/java/org/apache/jmeter/samplers/HoldSampleSender.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/HoldSampleSender.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/HoldSampleSender.java
diff --git a/src/core/org/apache/jmeter/samplers/Interruptible.java b/src/core/src/main/java/org/apache/jmeter/samplers/Interruptible.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/Interruptible.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/Interruptible.java
diff --git a/src/core/org/apache/jmeter/samplers/RemoteListenerWrapper.java b/src/core/src/main/java/org/apache/jmeter/samplers/RemoteListenerWrapper.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/RemoteListenerWrapper.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/RemoteListenerWrapper.java
diff --git a/src/core/org/apache/jmeter/samplers/RemoteSampleListener.java b/src/core/src/main/java/org/apache/jmeter/samplers/RemoteSampleListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/RemoteSampleListener.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/RemoteSampleListener.java
diff --git a/src/core/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java b/src/core/src/main/java/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java
diff --git a/src/core/org/apache/jmeter/samplers/RemoteSampleListenerWrapper.java b/src/core/src/main/java/org/apache/jmeter/samplers/RemoteSampleListenerWrapper.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/RemoteSampleListenerWrapper.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/RemoteSampleListenerWrapper.java
diff --git a/src/core/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java b/src/core/src/main/java/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java
diff --git a/src/core/org/apache/jmeter/samplers/Remoteable.java b/src/core/src/main/java/org/apache/jmeter/samplers/Remoteable.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/Remoteable.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/Remoteable.java
diff --git a/src/core/org/apache/jmeter/samplers/SampleEvent.java b/src/core/src/main/java/org/apache/jmeter/samplers/SampleEvent.java
similarity index 98%
rename from src/core/org/apache/jmeter/samplers/SampleEvent.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/SampleEvent.java
index 2c39cae149..3c4bfe84a0 100644
--- a/src/core/org/apache/jmeter/samplers/SampleEvent.java
+++ b/src/core/src/main/java/org/apache/jmeter/samplers/SampleEvent.java
@@ -83,9 +83,6 @@ public class SampleEvent implements Serializable {
/**
* Creates SampleEvent without saving any variables.
- * <p>
- * Use by {@link org.apache.jmeter.protocol.http.proxy.ProxyControl
- * ProxyControl} and {@link StatisticalSampleSender}.
*
* @param result
* The SampleResult to be associated with this event
diff --git a/src/core/org/apache/jmeter/samplers/SampleListener.java b/src/core/src/main/java/org/apache/jmeter/samplers/SampleListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/SampleListener.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/SampleListener.java
diff --git a/src/core/org/apache/jmeter/samplers/SampleMonitor.java b/src/core/src/main/java/org/apache/jmeter/samplers/SampleMonitor.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/SampleMonitor.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/SampleMonitor.java
diff --git a/src/core/org/apache/jmeter/samplers/SampleResult.java b/src/core/src/main/java/org/apache/jmeter/samplers/SampleResult.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/SampleResult.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/SampleResult.java
diff --git a/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java b/src/core/src/main/java/org/apache/jmeter/samplers/SampleSaveConfiguration.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/SampleSaveConfiguration.java
diff --git a/src/core/org/apache/jmeter/samplers/SampleSender.java b/src/core/src/main/java/org/apache/jmeter/samplers/SampleSender.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/SampleSender.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/SampleSender.java
diff --git a/src/core/org/apache/jmeter/samplers/SampleSenderFactory.java b/src/core/src/main/java/org/apache/jmeter/samplers/SampleSenderFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/SampleSenderFactory.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/SampleSenderFactory.java
diff --git a/src/core/org/apache/jmeter/samplers/Sampler.java b/src/core/src/main/java/org/apache/jmeter/samplers/Sampler.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/Sampler.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/Sampler.java
diff --git a/src/core/org/apache/jmeter/samplers/StandardSampleSender.java b/src/core/src/main/java/org/apache/jmeter/samplers/StandardSampleSender.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/StandardSampleSender.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/StandardSampleSender.java
diff --git a/src/core/org/apache/jmeter/samplers/StatisticalSampleResult.java b/src/core/src/main/java/org/apache/jmeter/samplers/StatisticalSampleResult.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/StatisticalSampleResult.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/StatisticalSampleResult.java
diff --git a/src/core/org/apache/jmeter/samplers/StatisticalSampleSender.java b/src/core/src/main/java/org/apache/jmeter/samplers/StatisticalSampleSender.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/StatisticalSampleSender.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/StatisticalSampleSender.java
diff --git a/src/core/org/apache/jmeter/samplers/gui/AbstractSamplerGui.java b/src/core/src/main/java/org/apache/jmeter/samplers/gui/AbstractSamplerGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/samplers/gui/AbstractSamplerGui.java
rename to src/core/src/main/java/org/apache/jmeter/samplers/gui/AbstractSamplerGui.java
diff --git a/src/core/org/apache/jmeter/save/CSVSaveService.java b/src/core/src/main/java/org/apache/jmeter/save/CSVSaveService.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/CSVSaveService.java
rename to src/core/src/main/java/org/apache/jmeter/save/CSVSaveService.java
diff --git a/src/core/org/apache/jmeter/save/ListenerResultWrapper.java b/src/core/src/main/java/org/apache/jmeter/save/ListenerResultWrapper.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/ListenerResultWrapper.java
rename to src/core/src/main/java/org/apache/jmeter/save/ListenerResultWrapper.java
diff --git a/src/core/org/apache/jmeter/save/SaveGraphicsService.java b/src/core/src/main/java/org/apache/jmeter/save/SaveGraphicsService.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/SaveGraphicsService.java
rename to src/core/src/main/java/org/apache/jmeter/save/SaveGraphicsService.java
diff --git a/src/core/org/apache/jmeter/save/SaveService.java b/src/core/src/main/java/org/apache/jmeter/save/SaveService.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/SaveService.java
rename to src/core/src/main/java/org/apache/jmeter/save/SaveService.java
diff --git a/src/core/org/apache/jmeter/save/ScriptWrapper.java b/src/core/src/main/java/org/apache/jmeter/save/ScriptWrapper.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/ScriptWrapper.java
rename to src/core/src/main/java/org/apache/jmeter/save/ScriptWrapper.java
diff --git a/src/core/org/apache/jmeter/save/ScriptWrapperConverter.java b/src/core/src/main/java/org/apache/jmeter/save/ScriptWrapperConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/ScriptWrapperConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/ScriptWrapperConverter.java
diff --git a/src/core/org/apache/jmeter/save/TestResultWrapper.java b/src/core/src/main/java/org/apache/jmeter/save/TestResultWrapper.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/TestResultWrapper.java
rename to src/core/src/main/java/org/apache/jmeter/save/TestResultWrapper.java
diff --git a/src/core/org/apache/jmeter/save/converters/BooleanPropertyConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/BooleanPropertyConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/BooleanPropertyConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/BooleanPropertyConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/ConversionHelp.java b/src/core/src/main/java/org/apache/jmeter/save/converters/ConversionHelp.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/ConversionHelp.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/ConversionHelp.java
diff --git a/src/core/org/apache/jmeter/save/converters/HashTreeConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/HashTreeConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/HashTreeConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/HashTreeConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/IntegerPropertyConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/IntegerPropertyConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/IntegerPropertyConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/IntegerPropertyConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/LongPropertyConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/LongPropertyConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/LongPropertyConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/LongPropertyConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/MultiPropertyConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/MultiPropertyConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/MultiPropertyConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/MultiPropertyConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/SampleEventConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/SampleEventConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/SampleEventConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/SampleEventConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/SampleResultConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/SampleResultConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/SampleResultConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/SampleResultConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/SampleSaveConfigurationConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/SampleSaveConfigurationConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/SampleSaveConfigurationConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/SampleSaveConfigurationConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/StringPropertyConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/StringPropertyConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/StringPropertyConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/StringPropertyConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/TestElementConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/TestElementConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/TestElementConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/TestElementConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/TestElementPropertyConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/TestElementPropertyConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/TestElementPropertyConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/TestElementPropertyConverter.java
diff --git a/src/core/org/apache/jmeter/save/converters/TestResultWrapperConverter.java b/src/core/src/main/java/org/apache/jmeter/save/converters/TestResultWrapperConverter.java
similarity index 100%
rename from src/core/org/apache/jmeter/save/converters/TestResultWrapperConverter.java
rename to src/core/src/main/java/org/apache/jmeter/save/converters/TestResultWrapperConverter.java
diff --git a/src/core/org/apache/jmeter/services/FileServer.java b/src/core/src/main/java/org/apache/jmeter/services/FileServer.java
similarity index 100%
rename from src/core/org/apache/jmeter/services/FileServer.java
rename to src/core/src/main/java/org/apache/jmeter/services/FileServer.java
diff --git a/src/core/org/apache/jmeter/swing/HtmlPane.java b/src/core/src/main/java/org/apache/jmeter/swing/HtmlPane.java
similarity index 100%
rename from src/core/org/apache/jmeter/swing/HtmlPane.java
rename to src/core/src/main/java/org/apache/jmeter/swing/HtmlPane.java
diff --git a/src/core/org/apache/jmeter/testbeans/BeanInfoSupport.java b/src/core/src/main/java/org/apache/jmeter/testbeans/BeanInfoSupport.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/BeanInfoSupport.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/BeanInfoSupport.java
diff --git a/src/core/org/apache/jmeter/testbeans/TestBean.java b/src/core/src/main/java/org/apache/jmeter/testbeans/TestBean.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/TestBean.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/TestBean.java
diff --git a/src/core/org/apache/jmeter/testbeans/TestBeanBeanInfo.java b/src/core/src/main/java/org/apache/jmeter/testbeans/TestBeanBeanInfo.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/TestBeanBeanInfo.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/TestBeanBeanInfo.java
diff --git a/src/core/org/apache/jmeter/testbeans/TestBeanHelper.java b/src/core/src/main/java/org/apache/jmeter/testbeans/TestBeanHelper.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/TestBeanHelper.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/TestBeanHelper.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/BooleanPropertyEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/BooleanPropertyEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/BooleanPropertyEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/BooleanPropertyEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/ComboStringEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/ComboStringEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/ComboStringEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/ComboStringEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/EnumEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/EnumEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/EnumEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/EnumEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/FieldStringEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/FieldStringEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/FieldStringEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/FieldStringEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/FileEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/FileEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/FileEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/FileEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/IntegerPropertyEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/IntegerPropertyEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/IntegerPropertyEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/IntegerPropertyEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/LongPropertyEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/LongPropertyEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/LongPropertyEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/LongPropertyEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/PasswordEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/PasswordEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/PasswordEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/PasswordEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/SharedCustomizer.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/SharedCustomizer.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/SharedCustomizer.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/SharedCustomizer.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/TableEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/TableEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/TableEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/TableEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/TestBeanGUI.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/TestBeanGUI.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/TestBeanGUI.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/TestBeanGUI.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/TestBeanPropertyEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/TestBeanPropertyEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/TestBeanPropertyEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/TestBeanPropertyEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/TypeEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/TypeEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/TypeEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/TypeEditor.java
diff --git a/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/WrapperEditor.java
similarity index 100%
rename from src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
rename to src/core/src/main/java/org/apache/jmeter/testbeans/gui/WrapperEditor.java
diff --git a/src/core/org/apache/jmeter/testelement/AbstractScopedAssertion.java b/src/core/src/main/java/org/apache/jmeter/testelement/AbstractScopedAssertion.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/AbstractScopedAssertion.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/AbstractScopedAssertion.java
diff --git a/src/core/org/apache/jmeter/testelement/AbstractScopedTestElement.java b/src/core/src/main/java/org/apache/jmeter/testelement/AbstractScopedTestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/AbstractScopedTestElement.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/AbstractScopedTestElement.java
diff --git a/src/core/org/apache/jmeter/testelement/AbstractTestElement.java b/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/AbstractTestElement.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
diff --git a/src/core/org/apache/jmeter/testelement/AbstractTestElementBeanInfo.java b/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElementBeanInfo.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/AbstractTestElementBeanInfo.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElementBeanInfo.java
diff --git a/src/core/org/apache/jmeter/testelement/NonTestElement.java b/src/core/src/main/java/org/apache/jmeter/testelement/NonTestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/NonTestElement.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/NonTestElement.java
diff --git a/src/core/org/apache/jmeter/testelement/OnErrorTestElement.java b/src/core/src/main/java/org/apache/jmeter/testelement/OnErrorTestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/OnErrorTestElement.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/OnErrorTestElement.java
diff --git a/src/core/org/apache/jmeter/testelement/TestCloneable.java b/src/core/src/main/java/org/apache/jmeter/testelement/TestCloneable.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/TestCloneable.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/TestCloneable.java
diff --git a/src/core/org/apache/jmeter/testelement/TestElement.java b/src/core/src/main/java/org/apache/jmeter/testelement/TestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/TestElement.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/TestElement.java
diff --git a/src/core/org/apache/jmeter/testelement/TestElementTraverser.java b/src/core/src/main/java/org/apache/jmeter/testelement/TestElementTraverser.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/TestElementTraverser.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/TestElementTraverser.java
diff --git a/src/core/org/apache/jmeter/testelement/TestIterationListener.java b/src/core/src/main/java/org/apache/jmeter/testelement/TestIterationListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/TestIterationListener.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/TestIterationListener.java
diff --git a/src/core/org/apache/jmeter/testelement/TestPlan.java b/src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/TestPlan.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java
diff --git a/src/core/org/apache/jmeter/testelement/TestStateListener.java b/src/core/src/main/java/org/apache/jmeter/testelement/TestStateListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/TestStateListener.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/TestStateListener.java
diff --git a/src/core/org/apache/jmeter/testelement/ThreadListener.java b/src/core/src/main/java/org/apache/jmeter/testelement/ThreadListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/ThreadListener.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/ThreadListener.java
diff --git a/src/core/org/apache/jmeter/testelement/VariablesCollection.java b/src/core/src/main/java/org/apache/jmeter/testelement/VariablesCollection.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/VariablesCollection.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/VariablesCollection.java
diff --git a/src/core/org/apache/jmeter/testelement/WorkBench.java b/src/core/src/main/java/org/apache/jmeter/testelement/WorkBench.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/WorkBench.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/WorkBench.java
diff --git a/src/core/org/apache/jmeter/testelement/property/AbstractProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/AbstractProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/AbstractProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/AbstractProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/BooleanProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/BooleanProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/BooleanProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/BooleanProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/CollectionProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/CollectionProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/CollectionProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/CollectionProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/DoubleProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/DoubleProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/DoubleProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/DoubleProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/FloatProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/FloatProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/FloatProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/FloatProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/FunctionProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/FunctionProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/FunctionProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/FunctionProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/IntegerProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/IntegerProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/IntegerProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/IntegerProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/JMeterProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/JMeterProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/JMeterProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/JMeterProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/LongProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/LongProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/LongProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/LongProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/MapProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/MapProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/MapProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/MapProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/MultiProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/MultiProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/MultiProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/MultiProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/NullProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/NullProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/NullProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/NullProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/NumberProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/NumberProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/NumberProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/NumberProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/ObjectProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/ObjectProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/ObjectProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/ObjectProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/PropertyIterator.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/PropertyIterator.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/PropertyIterator.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/PropertyIterator.java
diff --git a/src/core/org/apache/jmeter/testelement/property/PropertyIteratorImpl.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/PropertyIteratorImpl.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/PropertyIteratorImpl.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/PropertyIteratorImpl.java
diff --git a/src/core/org/apache/jmeter/testelement/property/StringProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/StringProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/StringProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/StringProperty.java
diff --git a/src/core/org/apache/jmeter/testelement/property/TestElementProperty.java b/src/core/src/main/java/org/apache/jmeter/testelement/property/TestElementProperty.java
similarity index 100%
rename from src/core/org/apache/jmeter/testelement/property/TestElementProperty.java
rename to src/core/src/main/java/org/apache/jmeter/testelement/property/TestElementProperty.java
diff --git a/src/core/org/apache/jmeter/threads/AbstractThreadGroup.java b/src/core/src/main/java/org/apache/jmeter/threads/AbstractThreadGroup.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/AbstractThreadGroup.java
rename to src/core/src/main/java/org/apache/jmeter/threads/AbstractThreadGroup.java
diff --git a/src/core/org/apache/jmeter/threads/FindTestElementsUpToRootTraverser.java b/src/core/src/main/java/org/apache/jmeter/threads/FindTestElementsUpToRootTraverser.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/FindTestElementsUpToRootTraverser.java
rename to src/core/src/main/java/org/apache/jmeter/threads/FindTestElementsUpToRootTraverser.java
diff --git a/src/core/org/apache/jmeter/threads/JMeterContext.java b/src/core/src/main/java/org/apache/jmeter/threads/JMeterContext.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/JMeterContext.java
rename to src/core/src/main/java/org/apache/jmeter/threads/JMeterContext.java
diff --git a/src/core/org/apache/jmeter/threads/JMeterContextService.java b/src/core/src/main/java/org/apache/jmeter/threads/JMeterContextService.java
similarity index 96%
rename from src/core/org/apache/jmeter/threads/JMeterContextService.java
rename to src/core/src/main/java/org/apache/jmeter/threads/JMeterContextService.java
index 7a11dab042..990c945e53 100644
--- a/src/core/org/apache/jmeter/threads/JMeterContextService.java
+++ b/src/core/src/main/java/org/apache/jmeter/threads/JMeterContextService.java
@@ -70,10 +70,7 @@ public final class JMeterContextService {
}
/**
- * Replace Thread Context by the parameter. Currently only used by the
- * private class <code>ASyncSample</code> in
- * {@link org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase
- * HTTPSamplerBase}
+ * Replace Thread Context by the parameter.
*
* @param context
* {@link JMeterContext}
diff --git a/src/core/org/apache/jmeter/threads/JMeterThread.java b/src/core/src/main/java/org/apache/jmeter/threads/JMeterThread.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/JMeterThread.java
rename to src/core/src/main/java/org/apache/jmeter/threads/JMeterThread.java
diff --git a/src/core/org/apache/jmeter/threads/JMeterThreadMonitor.java b/src/core/src/main/java/org/apache/jmeter/threads/JMeterThreadMonitor.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/JMeterThreadMonitor.java
rename to src/core/src/main/java/org/apache/jmeter/threads/JMeterThreadMonitor.java
diff --git a/src/core/org/apache/jmeter/threads/JMeterVariables.java b/src/core/src/main/java/org/apache/jmeter/threads/JMeterVariables.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/JMeterVariables.java
rename to src/core/src/main/java/org/apache/jmeter/threads/JMeterVariables.java
diff --git a/src/core/org/apache/jmeter/threads/ListenerNotifier.java b/src/core/src/main/java/org/apache/jmeter/threads/ListenerNotifier.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/ListenerNotifier.java
rename to src/core/src/main/java/org/apache/jmeter/threads/ListenerNotifier.java
diff --git a/src/core/org/apache/jmeter/threads/PostThreadGroup.java b/src/core/src/main/java/org/apache/jmeter/threads/PostThreadGroup.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/PostThreadGroup.java
rename to src/core/src/main/java/org/apache/jmeter/threads/PostThreadGroup.java
diff --git a/src/core/org/apache/jmeter/threads/RemoteThreadsLifeCycleListener.java b/src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsLifeCycleListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/RemoteThreadsLifeCycleListener.java
rename to src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsLifeCycleListener.java
diff --git a/src/core/org/apache/jmeter/threads/RemoteThreadsListener.java b/src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/RemoteThreadsListener.java
rename to src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListener.java
diff --git a/src/core/org/apache/jmeter/threads/RemoteThreadsListenerImpl.java b/src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerImpl.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/RemoteThreadsListenerImpl.java
rename to src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerImpl.java
diff --git a/src/core/org/apache/jmeter/threads/RemoteThreadsListenerTestElement.java b/src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerTestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/RemoteThreadsListenerTestElement.java
rename to src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerTestElement.java
diff --git a/src/core/org/apache/jmeter/threads/RemoteThreadsListenerWrapper.java b/src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerWrapper.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/RemoteThreadsListenerWrapper.java
rename to src/core/src/main/java/org/apache/jmeter/threads/RemoteThreadsListenerWrapper.java
diff --git a/src/core/org/apache/jmeter/threads/SamplePackage.java b/src/core/src/main/java/org/apache/jmeter/threads/SamplePackage.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/SamplePackage.java
rename to src/core/src/main/java/org/apache/jmeter/threads/SamplePackage.java
diff --git a/src/core/org/apache/jmeter/threads/SetupThreadGroup.java b/src/core/src/main/java/org/apache/jmeter/threads/SetupThreadGroup.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/SetupThreadGroup.java
rename to src/core/src/main/java/org/apache/jmeter/threads/SetupThreadGroup.java
diff --git a/src/core/org/apache/jmeter/threads/TestCompiler.java b/src/core/src/main/java/org/apache/jmeter/threads/TestCompiler.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/TestCompiler.java
rename to src/core/src/main/java/org/apache/jmeter/threads/TestCompiler.java
diff --git a/src/core/org/apache/jmeter/threads/TestCompilerHelper.java b/src/core/src/main/java/org/apache/jmeter/threads/TestCompilerHelper.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/TestCompilerHelper.java
rename to src/core/src/main/java/org/apache/jmeter/threads/TestCompilerHelper.java
diff --git a/src/core/org/apache/jmeter/threads/ThreadGroup.java b/src/core/src/main/java/org/apache/jmeter/threads/ThreadGroup.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/ThreadGroup.java
rename to src/core/src/main/java/org/apache/jmeter/threads/ThreadGroup.java
diff --git a/src/core/org/apache/jmeter/threads/UnmodifiableJMeterVariables.java b/src/core/src/main/java/org/apache/jmeter/threads/UnmodifiableJMeterVariables.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/UnmodifiableJMeterVariables.java
rename to src/core/src/main/java/org/apache/jmeter/threads/UnmodifiableJMeterVariables.java
diff --git a/src/core/org/apache/jmeter/threads/gui/AbstractThreadGroupGui.java b/src/core/src/main/java/org/apache/jmeter/threads/gui/AbstractThreadGroupGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/gui/AbstractThreadGroupGui.java
rename to src/core/src/main/java/org/apache/jmeter/threads/gui/AbstractThreadGroupGui.java
diff --git a/src/core/org/apache/jmeter/threads/gui/PostThreadGroupGui.java b/src/core/src/main/java/org/apache/jmeter/threads/gui/PostThreadGroupGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/gui/PostThreadGroupGui.java
rename to src/core/src/main/java/org/apache/jmeter/threads/gui/PostThreadGroupGui.java
diff --git a/src/core/org/apache/jmeter/threads/gui/SetupThreadGroupGui.java b/src/core/src/main/java/org/apache/jmeter/threads/gui/SetupThreadGroupGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/gui/SetupThreadGroupGui.java
rename to src/core/src/main/java/org/apache/jmeter/threads/gui/SetupThreadGroupGui.java
diff --git a/src/core/org/apache/jmeter/threads/gui/ThreadGroupGui.java b/src/core/src/main/java/org/apache/jmeter/threads/gui/ThreadGroupGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/threads/gui/ThreadGroupGui.java
rename to src/core/src/main/java/org/apache/jmeter/threads/gui/ThreadGroupGui.java
diff --git a/src/core/org/apache/jmeter/timers/ModifiableTimer.java b/src/core/src/main/java/org/apache/jmeter/timers/ModifiableTimer.java
similarity index 100%
rename from src/core/org/apache/jmeter/timers/ModifiableTimer.java
rename to src/core/src/main/java/org/apache/jmeter/timers/ModifiableTimer.java
diff --git a/src/core/org/apache/jmeter/timers/Timer.java b/src/core/src/main/java/org/apache/jmeter/timers/Timer.java
similarity index 100%
rename from src/core/org/apache/jmeter/timers/Timer.java
rename to src/core/src/main/java/org/apache/jmeter/timers/Timer.java
diff --git a/src/core/org/apache/jmeter/timers/TimerService.java b/src/core/src/main/java/org/apache/jmeter/timers/TimerService.java
similarity index 100%
rename from src/core/org/apache/jmeter/timers/TimerService.java
rename to src/core/src/main/java/org/apache/jmeter/timers/TimerService.java
diff --git a/src/core/org/apache/jmeter/timers/gui/AbstractTimerGui.java b/src/core/src/main/java/org/apache/jmeter/timers/gui/AbstractTimerGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/timers/gui/AbstractTimerGui.java
rename to src/core/src/main/java/org/apache/jmeter/timers/gui/AbstractTimerGui.java
diff --git a/src/core/org/apache/jmeter/util/BSFBeanInfoSupport.java b/src/core/src/main/java/org/apache/jmeter/util/BSFBeanInfoSupport.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/BSFBeanInfoSupport.java
rename to src/core/src/main/java/org/apache/jmeter/util/BSFBeanInfoSupport.java
diff --git a/src/core/org/apache/jmeter/util/BSFJavaScriptEngine.java b/src/core/src/main/java/org/apache/jmeter/util/BSFJavaScriptEngine.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/BSFJavaScriptEngine.java
rename to src/core/src/main/java/org/apache/jmeter/util/BSFJavaScriptEngine.java
diff --git a/src/core/org/apache/jmeter/util/BSFTestElement.java b/src/core/src/main/java/org/apache/jmeter/util/BSFTestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/BSFTestElement.java
rename to src/core/src/main/java/org/apache/jmeter/util/BSFTestElement.java
diff --git a/src/core/org/apache/jmeter/util/BeanShellBeanInfoSupport.java b/src/core/src/main/java/org/apache/jmeter/util/BeanShellBeanInfoSupport.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/BeanShellBeanInfoSupport.java
rename to src/core/src/main/java/org/apache/jmeter/util/BeanShellBeanInfoSupport.java
diff --git a/src/core/org/apache/jmeter/util/BeanShellClient.java b/src/core/src/main/java/org/apache/jmeter/util/BeanShellClient.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/BeanShellClient.java
rename to src/core/src/main/java/org/apache/jmeter/util/BeanShellClient.java
diff --git a/src/core/org/apache/jmeter/util/BeanShellInterpreter.java b/src/core/src/main/java/org/apache/jmeter/util/BeanShellInterpreter.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/BeanShellInterpreter.java
rename to src/core/src/main/java/org/apache/jmeter/util/BeanShellInterpreter.java
diff --git a/src/core/org/apache/jmeter/util/BeanShellServer.java b/src/core/src/main/java/org/apache/jmeter/util/BeanShellServer.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/BeanShellServer.java
rename to src/core/src/main/java/org/apache/jmeter/util/BeanShellServer.java
diff --git a/src/core/org/apache/jmeter/util/BeanShellTestElement.java b/src/core/src/main/java/org/apache/jmeter/util/BeanShellTestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/BeanShellTestElement.java
rename to src/core/src/main/java/org/apache/jmeter/util/BeanShellTestElement.java
diff --git a/src/core/org/apache/jmeter/util/CPSPauser.java b/src/core/src/main/java/org/apache/jmeter/util/CPSPauser.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/CPSPauser.java
rename to src/core/src/main/java/org/apache/jmeter/util/CPSPauser.java
diff --git a/src/core/org/apache/jmeter/util/Calculator.java b/src/core/src/main/java/org/apache/jmeter/util/Calculator.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/Calculator.java
rename to src/core/src/main/java/org/apache/jmeter/util/Calculator.java
diff --git a/src/core/org/apache/jmeter/util/ColorHelper.java b/src/core/src/main/java/org/apache/jmeter/util/ColorHelper.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/ColorHelper.java
rename to src/core/src/main/java/org/apache/jmeter/util/ColorHelper.java
diff --git a/src/core/org/apache/jmeter/util/CustomX509TrustManager.java b/src/core/src/main/java/org/apache/jmeter/util/CustomX509TrustManager.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/CustomX509TrustManager.java
rename to src/core/src/main/java/org/apache/jmeter/util/CustomX509TrustManager.java
diff --git a/src/core/org/apache/jmeter/util/Document.java b/src/core/src/main/java/org/apache/jmeter/util/Document.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/Document.java
rename to src/core/src/main/java/org/apache/jmeter/util/Document.java
diff --git a/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java b/src/core/src/main/java/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java
rename to src/core/src/main/java/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java
diff --git a/src/core/org/apache/jmeter/util/JMeterTreeNodeTransferable.java b/src/core/src/main/java/org/apache/jmeter/util/JMeterTreeNodeTransferable.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/JMeterTreeNodeTransferable.java
rename to src/core/src/main/java/org/apache/jmeter/util/JMeterTreeNodeTransferable.java
diff --git a/src/core/org/apache/jmeter/util/JMeterUtils.java b/src/core/src/main/java/org/apache/jmeter/util/JMeterUtils.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/JMeterUtils.java
rename to src/core/src/main/java/org/apache/jmeter/util/JMeterUtils.java
diff --git a/src/core/org/apache/jmeter/util/JMeterVersion.java b/src/core/src/main/java/org/apache/jmeter/util/JMeterVersion.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/JMeterVersion.java
rename to src/core/src/main/java/org/apache/jmeter/util/JMeterVersion.java
diff --git a/src/core/org/apache/jmeter/util/JSR223BeanInfoSupport.java b/src/core/src/main/java/org/apache/jmeter/util/JSR223BeanInfoSupport.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/JSR223BeanInfoSupport.java
rename to src/core/src/main/java/org/apache/jmeter/util/JSR223BeanInfoSupport.java
diff --git a/src/core/org/apache/jmeter/util/JSR223TestElement.java b/src/core/src/main/java/org/apache/jmeter/util/JSR223TestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/JSR223TestElement.java
rename to src/core/src/main/java/org/apache/jmeter/util/JSR223TestElement.java
diff --git a/src/core/org/apache/jmeter/util/JsseSSLManager.java b/src/core/src/main/java/org/apache/jmeter/util/JsseSSLManager.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/JsseSSLManager.java
rename to src/core/src/main/java/org/apache/jmeter/util/JsseSSLManager.java
diff --git a/src/core/org/apache/jmeter/util/LocaleChangeEvent.java b/src/core/src/main/java/org/apache/jmeter/util/LocaleChangeEvent.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/LocaleChangeEvent.java
rename to src/core/src/main/java/org/apache/jmeter/util/LocaleChangeEvent.java
diff --git a/src/core/org/apache/jmeter/util/LocaleChangeListener.java b/src/core/src/main/java/org/apache/jmeter/util/LocaleChangeListener.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/LocaleChangeListener.java
rename to src/core/src/main/java/org/apache/jmeter/util/LocaleChangeListener.java
diff --git a/src/core/org/apache/jmeter/util/NameUpdater.java b/src/core/src/main/java/org/apache/jmeter/util/NameUpdater.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/NameUpdater.java
rename to src/core/src/main/java/org/apache/jmeter/util/NameUpdater.java
diff --git a/src/core/org/apache/jmeter/util/NamedObject.java b/src/core/src/main/java/org/apache/jmeter/util/NamedObject.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/NamedObject.java
rename to src/core/src/main/java/org/apache/jmeter/util/NamedObject.java
diff --git a/src/core/org/apache/jmeter/util/PropertiesBasedPrefixResolver.java b/src/core/src/main/java/org/apache/jmeter/util/PropertiesBasedPrefixResolver.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/PropertiesBasedPrefixResolver.java
rename to src/core/src/main/java/org/apache/jmeter/util/PropertiesBasedPrefixResolver.java
diff --git a/src/core/org/apache/jmeter/util/PropertiesBasedPrefixResolverForXpath2.java b/src/core/src/main/java/org/apache/jmeter/util/PropertiesBasedPrefixResolverForXpath2.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/PropertiesBasedPrefixResolverForXpath2.java
rename to src/core/src/main/java/org/apache/jmeter/util/PropertiesBasedPrefixResolverForXpath2.java
diff --git a/src/core/org/apache/jmeter/util/SSLManager.java b/src/core/src/main/java/org/apache/jmeter/util/SSLManager.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/SSLManager.java
rename to src/core/src/main/java/org/apache/jmeter/util/SSLManager.java
diff --git a/src/core/org/apache/jmeter/util/ScopePanel.java b/src/core/src/main/java/org/apache/jmeter/util/ScopePanel.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/ScopePanel.java
rename to src/core/src/main/java/org/apache/jmeter/util/ScopePanel.java
diff --git a/src/core/org/apache/jmeter/util/ScriptingBeanInfoSupport.java b/src/core/src/main/java/org/apache/jmeter/util/ScriptingBeanInfoSupport.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/ScriptingBeanInfoSupport.java
rename to src/core/src/main/java/org/apache/jmeter/util/ScriptingBeanInfoSupport.java
diff --git a/src/core/org/apache/jmeter/util/ScriptingTestElement.java b/src/core/src/main/java/org/apache/jmeter/util/ScriptingTestElement.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/ScriptingTestElement.java
rename to src/core/src/main/java/org/apache/jmeter/util/ScriptingTestElement.java
diff --git a/src/core/org/apache/jmeter/util/SlowInputStream.java b/src/core/src/main/java/org/apache/jmeter/util/SlowInputStream.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/SlowInputStream.java
rename to src/core/src/main/java/org/apache/jmeter/util/SlowInputStream.java
diff --git a/src/core/org/apache/jmeter/util/SlowOutputStream.java b/src/core/src/main/java/org/apache/jmeter/util/SlowOutputStream.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/SlowOutputStream.java
rename to src/core/src/main/java/org/apache/jmeter/util/SlowOutputStream.java
diff --git a/src/core/org/apache/jmeter/util/SlowSSLSocket.java b/src/core/src/main/java/org/apache/jmeter/util/SlowSSLSocket.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/SlowSSLSocket.java
rename to src/core/src/main/java/org/apache/jmeter/util/SlowSSLSocket.java
diff --git a/src/core/org/apache/jmeter/util/SlowSocket.java b/src/core/src/main/java/org/apache/jmeter/util/SlowSocket.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/SlowSocket.java
rename to src/core/src/main/java/org/apache/jmeter/util/SlowSocket.java
diff --git a/src/core/org/apache/jmeter/util/StringUtilities.java b/src/core/src/main/java/org/apache/jmeter/util/StringUtilities.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/StringUtilities.java
rename to src/core/src/main/java/org/apache/jmeter/util/StringUtilities.java
diff --git a/src/core/org/apache/jmeter/util/TemplateUtil.java b/src/core/src/main/java/org/apache/jmeter/util/TemplateUtil.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/TemplateUtil.java
rename to src/core/src/main/java/org/apache/jmeter/util/TemplateUtil.java
diff --git a/src/core/org/apache/jmeter/util/TidyException.java b/src/core/src/main/java/org/apache/jmeter/util/TidyException.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/TidyException.java
rename to src/core/src/main/java/org/apache/jmeter/util/TidyException.java
diff --git a/src/core/org/apache/jmeter/util/TrustAllSSLSocketFactory.java b/src/core/src/main/java/org/apache/jmeter/util/TrustAllSSLSocketFactory.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/TrustAllSSLSocketFactory.java
rename to src/core/src/main/java/org/apache/jmeter/util/TrustAllSSLSocketFactory.java
diff --git a/src/core/org/apache/jmeter/util/XPathQueryCacheLoader.java b/src/core/src/main/java/org/apache/jmeter/util/XPathQueryCacheLoader.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/XPathQueryCacheLoader.java
rename to src/core/src/main/java/org/apache/jmeter/util/XPathQueryCacheLoader.java
diff --git a/src/core/org/apache/jmeter/util/XPathUtil.java b/src/core/src/main/java/org/apache/jmeter/util/XPathUtil.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/XPathUtil.java
rename to src/core/src/main/java/org/apache/jmeter/util/XPathUtil.java
diff --git a/src/core/org/apache/jmeter/util/keystore/JmeterKeyStore.java b/src/core/src/main/java/org/apache/jmeter/util/keystore/JmeterKeyStore.java
similarity index 100%
rename from src/core/org/apache/jmeter/util/keystore/JmeterKeyStore.java
rename to src/core/src/main/java/org/apache/jmeter/util/keystore/JmeterKeyStore.java
diff --git a/src/core/org/apache/jmeter/visualizers/CachingStatCalculator.java b/src/core/src/main/java/org/apache/jmeter/visualizers/CachingStatCalculator.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/CachingStatCalculator.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/CachingStatCalculator.java
diff --git a/src/core/org/apache/jmeter/visualizers/ImageVisualizer.java b/src/core/src/main/java/org/apache/jmeter/visualizers/ImageVisualizer.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/ImageVisualizer.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/ImageVisualizer.java
diff --git a/src/core/org/apache/jmeter/visualizers/Printable.java b/src/core/src/main/java/org/apache/jmeter/visualizers/Printable.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/Printable.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/Printable.java
diff --git a/src/core/org/apache/jmeter/visualizers/RunningSample.java b/src/core/src/main/java/org/apache/jmeter/visualizers/RunningSample.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/RunningSample.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/RunningSample.java
diff --git a/src/core/org/apache/jmeter/visualizers/Sample.java b/src/core/src/main/java/org/apache/jmeter/visualizers/Sample.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/Sample.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/Sample.java
diff --git a/src/core/org/apache/jmeter/visualizers/SamplingStatCalculator.java b/src/core/src/main/java/org/apache/jmeter/visualizers/SamplingStatCalculator.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/SamplingStatCalculator.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/SamplingStatCalculator.java
diff --git a/src/core/org/apache/jmeter/visualizers/TableSample.java b/src/core/src/main/java/org/apache/jmeter/visualizers/TableSample.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/TableSample.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/TableSample.java
diff --git a/src/core/org/apache/jmeter/visualizers/Visualizer.java b/src/core/src/main/java/org/apache/jmeter/visualizers/Visualizer.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/Visualizer.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/Visualizer.java
diff --git a/src/core/org/apache/jmeter/visualizers/backend/Backend.java b/src/core/src/main/java/org/apache/jmeter/visualizers/backend/Backend.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/backend/Backend.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/backend/Backend.java
diff --git a/src/core/org/apache/jmeter/visualizers/gui/AbstractListenerGui.java b/src/core/src/main/java/org/apache/jmeter/visualizers/gui/AbstractListenerGui.java
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/gui/AbstractListenerGui.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/gui/AbstractListenerGui.java
diff --git a/src/core/org/apache/jmeter/visualizers/gui/AbstractVisualizer.java b/src/core/src/main/java/org/apache/jmeter/visualizers/gui/AbstractVisualizer.java
similarity index 98%
rename from src/core/org/apache/jmeter/visualizers/gui/AbstractVisualizer.java
rename to src/core/src/main/java/org/apache/jmeter/visualizers/gui/AbstractVisualizer.java
index 3867b7a292..3aa0e72470 100644
--- a/src/core/org/apache/jmeter/visualizers/gui/AbstractVisualizer.java
+++ b/src/core/src/main/java/org/apache/jmeter/visualizers/gui/AbstractVisualizer.java
@@ -94,9 +94,7 @@ import org.slf4j.LoggerFactory;
* {@link org.apache.jmeter.reporters.ResultCollector ResultCollector} as well
* and modify the {@link #configure(TestElement)},
* {@link #modifyTestElement(TestElement)}, and {@link #createTestElement()}
- * methods to create and modify your alternate ResultCollector. For an example
- * of this, see the
- * {@link org.apache.jmeter.visualizers.MailerVisualizer MailerVisualizer}.
+ * methods to create and modify your alternate ResultCollector.
*/
public abstract class AbstractVisualizer
extends AbstractListenerGui
diff --git a/src/core/org/apache/jmeter/visualizers/package.html b/src/core/src/main/java/org/apache/jmeter/visualizers/package.html
similarity index 100%
rename from src/core/org/apache/jmeter/visualizers/package.html
rename to src/core/src/main/java/org/apache/jmeter/visualizers/package.html
diff --git a/src/core/org/apache/jmeter/gui/action/schematic.xsl b/src/core/src/main/resources/org/apache/jmeter/gui/action/schematic.xsl
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/schematic.xsl
rename to src/core/src/main/resources/org/apache/jmeter/gui/action/schematic.xsl
diff --git a/src/core/org/apache/jmeter/gui/action/template/templates.dtd b/src/core/src/main/resources/org/apache/jmeter/gui/action/template/templates.dtd
similarity index 100%
rename from src/core/org/apache/jmeter/gui/action/template/templates.dtd
rename to src/core/src/main/resources/org/apache/jmeter/gui/action/template/templates.dtd
diff --git a/src/core/org/apache/jmeter/gui/util/textarea.properties b/src/core/src/main/resources/org/apache/jmeter/gui/util/textarea.properties
similarity index 100%
rename from src/core/org/apache/jmeter/gui/util/textarea.properties
rename to src/core/src/main/resources/org/apache/jmeter/gui/util/textarea.properties
diff --git a/src/core/org/apache/jmeter/help.txt b/src/core/src/main/resources/org/apache/jmeter/help.txt
similarity index 100%
rename from src/core/org/apache/jmeter/help.txt
rename to src/core/src/main/resources/org/apache/jmeter/help.txt
diff --git a/src/core/org/apache/jmeter/images/about.down.gif b/src/core/src/main/resources/org/apache/jmeter/images/about.down.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/about.down.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/about.down.gif
diff --git a/src/core/org/apache/jmeter/images/about.off.gif b/src/core/src/main/resources/org/apache/jmeter/images/about.off.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/about.off.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/about.off.gif
diff --git a/src/core/org/apache/jmeter/images/about.on.gif b/src/core/src/main/resources/org/apache/jmeter/images/about.on.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/about.on.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/about.on.gif
diff --git a/src/core/org/apache/jmeter/images/about.over.gif b/src/core/src/main/resources/org/apache/jmeter/images/about.over.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/about.over.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/about.over.gif
diff --git a/src/core/org/apache/jmeter/images/beaker.gif b/src/core/src/main/resources/org/apache/jmeter/images/beaker.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/beaker.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/beaker.gif
diff --git a/src/core/org/apache/jmeter/images/clear.down.gif b/src/core/src/main/resources/org/apache/jmeter/images/clear.down.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/clear.down.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/clear.down.gif
diff --git a/src/core/org/apache/jmeter/images/clear.off.gif b/src/core/src/main/resources/org/apache/jmeter/images/clear.off.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/clear.off.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/clear.off.gif
diff --git a/src/core/org/apache/jmeter/images/clear.on.gif b/src/core/src/main/resources/org/apache/jmeter/images/clear.on.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/clear.on.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/clear.on.gif
diff --git a/src/core/org/apache/jmeter/images/clear.over.gif b/src/core/src/main/resources/org/apache/jmeter/images/clear.over.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/clear.over.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/clear.over.gif
diff --git a/src/core/org/apache/jmeter/images/clipboard.gif b/src/core/src/main/resources/org/apache/jmeter/images/clipboard.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/clipboard.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/clipboard.gif
diff --git a/src/core/org/apache/jmeter/images/collapse-close.png b/src/core/src/main/resources/org/apache/jmeter/images/collapse-close.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/collapse-close.png
rename to src/core/src/main/resources/org/apache/jmeter/images/collapse-close.png
diff --git a/src/core/org/apache/jmeter/images/collapse-open.png b/src/core/src/main/resources/org/apache/jmeter/images/collapse-open.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/collapse-open.png
rename to src/core/src/main/resources/org/apache/jmeter/images/collapse-open.png
diff --git a/src/core/org/apache/jmeter/images/ear.gif b/src/core/src/main/resources/org/apache/jmeter/images/ear.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/ear.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/ear.gif
diff --git a/src/core/org/apache/jmeter/images/feather.gif b/src/core/src/main/resources/org/apache/jmeter/images/feather.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/feather.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/feather.gif
diff --git a/src/core/org/apache/jmeter/images/icon-apache.png b/src/core/src/main/resources/org/apache/jmeter/images/icon-apache.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/icon-apache.png
rename to src/core/src/main/resources/org/apache/jmeter/images/icon-apache.png
diff --git a/src/core/org/apache/jmeter/images/icon.properties b/src/core/src/main/resources/org/apache/jmeter/images/icon.properties
similarity index 100%
rename from src/core/org/apache/jmeter/images/icon.properties
rename to src/core/src/main/resources/org/apache/jmeter/images/icon.properties
diff --git a/src/core/org/apache/jmeter/images/icon_1.properties b/src/core/src/main/resources/org/apache/jmeter/images/icon_1.properties
similarity index 100%
rename from src/core/org/apache/jmeter/images/icon_1.properties
rename to src/core/src/main/resources/org/apache/jmeter/images/icon_1.properties
diff --git a/src/core/org/apache/jmeter/images/icon_error_sml.gif b/src/core/src/main/resources/org/apache/jmeter/images/icon_error_sml.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/icon_error_sml.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/icon_error_sml.gif
diff --git a/src/core/org/apache/jmeter/images/icon_old.properties b/src/core/src/main/resources/org/apache/jmeter/images/icon_old.properties
similarity index 100%
rename from src/core/org/apache/jmeter/images/icon_old.properties
rename to src/core/src/main/resources/org/apache/jmeter/images/icon_old.properties
diff --git a/src/core/org/apache/jmeter/images/icon_success_sml.gif b/src/core/src/main/resources/org/apache/jmeter/images/icon_success_sml.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/icon_success_sml.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/icon_success_sml.gif
diff --git a/src/core/org/apache/jmeter/images/icon_warning_sml.gif b/src/core/src/main/resources/org/apache/jmeter/images/icon_warning_sml.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/icon_warning_sml.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/icon_warning_sml.gif
diff --git a/src/core/org/apache/jmeter/images/jmeter.png b/src/core/src/main/resources/org/apache/jmeter/images/jmeter.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/jmeter.png
rename to src/core/src/main/resources/org/apache/jmeter/images/jmeter.png
diff --git a/src/core/org/apache/jmeter/images/knob.gif b/src/core/src/main/resources/org/apache/jmeter/images/knob.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/knob.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/knob.gif
diff --git a/src/core/org/apache/jmeter/images/leafnode.gif b/src/core/src/main/resources/org/apache/jmeter/images/leafnode.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/leafnode.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/leafnode.gif
diff --git a/src/core/org/apache/jmeter/images/leafnodeflip.gif b/src/core/src/main/resources/org/apache/jmeter/images/leafnodeflip.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/leafnodeflip.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/leafnodeflip.gif
diff --git a/src/core/org/apache/jmeter/images/meter.png b/src/core/src/main/resources/org/apache/jmeter/images/meter.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/meter.png
rename to src/core/src/main/resources/org/apache/jmeter/images/meter.png
diff --git a/src/core/org/apache/jmeter/images/new/barchart.png b/src/core/src/main/resources/org/apache/jmeter/images/new/barchart.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/barchart.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/barchart.png
diff --git a/src/core/org/apache/jmeter/images/new/barchart.png-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/barchart.png-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/barchart.png-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/barchart.png-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/blue-quill.png b/src/core/src/main/resources/org/apache/jmeter/images/new/blue-quill.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/blue-quill.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/blue-quill.png
diff --git a/src/core/org/apache/jmeter/images/new/book-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/book-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/book-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/book-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/book.png b/src/core/src/main/resources/org/apache/jmeter/images/new/book.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/book.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/book.png
diff --git a/src/core/org/apache/jmeter/images/new/chart-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/chart-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/chart-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/chart-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/chart.png b/src/core/src/main/resources/org/apache/jmeter/images/new/chart.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/chart.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/chart.png
diff --git a/src/core/org/apache/jmeter/images/new/clock-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/clock-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/clock-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/clock-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/clock.png b/src/core/src/main/resources/org/apache/jmeter/images/new/clock.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/clock.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/clock.png
diff --git a/src/core/org/apache/jmeter/images/new/funnel-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/funnel-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/funnel-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/funnel-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/funnel.png b/src/core/src/main/resources/org/apache/jmeter/images/new/funnel.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/funnel.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/funnel.png
diff --git a/src/core/org/apache/jmeter/images/new/glasses-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/glasses-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/glasses-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/glasses-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/glasses.png b/src/core/src/main/resources/org/apache/jmeter/images/new/glasses.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/glasses.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/glasses.png
diff --git a/src/core/org/apache/jmeter/images/new/mglass-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/mglass-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/mglass-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/mglass-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/mglass.png b/src/core/src/main/resources/org/apache/jmeter/images/new/mglass.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/mglass.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/mglass.png
diff --git a/src/core/org/apache/jmeter/images/new/pencil-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/pencil-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/pencil-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/pencil-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/pencil.png b/src/core/src/main/resources/org/apache/jmeter/images/new/pencil.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/pencil.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/pencil.png
diff --git a/src/core/org/apache/jmeter/images/new/pin-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/pin-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/pin-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/pin-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/pin.png b/src/core/src/main/resources/org/apache/jmeter/images/new/pin.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/pin.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/pin.png
diff --git a/src/core/org/apache/jmeter/images/new/puzzle-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/puzzle-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/puzzle-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/puzzle-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/puzzle.png b/src/core/src/main/resources/org/apache/jmeter/images/new/puzzle.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/puzzle.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/puzzle.png
diff --git a/src/core/org/apache/jmeter/images/new/remote-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/remote-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/remote-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/remote-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/remote.png b/src/core/src/main/resources/org/apache/jmeter/images/new/remote.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/remote.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/remote.png
diff --git a/src/core/org/apache/jmeter/images/new/scroll-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/scroll-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/scroll-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/scroll-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/scroll.png b/src/core/src/main/resources/org/apache/jmeter/images/new/scroll.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/scroll.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/scroll.png
diff --git a/src/core/org/apache/jmeter/images/new/table-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/table-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/table-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/table-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/table.png b/src/core/src/main/resources/org/apache/jmeter/images/new/table.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/table.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/table.png
diff --git a/src/core/org/apache/jmeter/images/new/thread-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/thread-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/thread-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/thread-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/thread.png b/src/core/src/main/resources/org/apache/jmeter/images/new/thread.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/thread.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/thread.png
diff --git a/src/core/org/apache/jmeter/images/new/typewriter-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/new/typewriter-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/typewriter-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/typewriter-grey.png
diff --git a/src/core/org/apache/jmeter/images/new/typewriter.png b/src/core/src/main/resources/org/apache/jmeter/images/new/typewriter.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/new/typewriter.png
rename to src/core/src/main/resources/org/apache/jmeter/images/new/typewriter.png
diff --git a/src/core/org/apache/jmeter/images/pipet.png b/src/core/src/main/resources/org/apache/jmeter/images/pipet.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/pipet.png
rename to src/core/src/main/resources/org/apache/jmeter/images/pipet.png
diff --git a/src/core/org/apache/jmeter/images/question.gif b/src/core/src/main/resources/org/apache/jmeter/images/question.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/question.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/question.gif
diff --git a/src/core/org/apache/jmeter/images/smallthread.disabled.gif b/src/core/src/main/resources/org/apache/jmeter/images/smallthread.disabled.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/smallthread.disabled.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/smallthread.disabled.gif
diff --git a/src/core/org/apache/jmeter/images/smallthread.enabled.gif b/src/core/src/main/resources/org/apache/jmeter/images/smallthread.enabled.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/smallthread.enabled.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/smallthread.enabled.gif
diff --git a/src/core/org/apache/jmeter/images/smallthread.idle.gif b/src/core/src/main/resources/org/apache/jmeter/images/smallthread.idle.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/smallthread.idle.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/smallthread.idle.gif
diff --git a/src/core/org/apache/jmeter/images/start.down.gif b/src/core/src/main/resources/org/apache/jmeter/images/start.down.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/start.down.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/start.down.gif
diff --git a/src/core/org/apache/jmeter/images/start.off.gif b/src/core/src/main/resources/org/apache/jmeter/images/start.off.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/start.off.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/start.off.gif
diff --git a/src/core/org/apache/jmeter/images/start.on.gif b/src/core/src/main/resources/org/apache/jmeter/images/start.on.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/start.on.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/start.on.gif
diff --git a/src/core/org/apache/jmeter/images/start.over.gif b/src/core/src/main/resources/org/apache/jmeter/images/start.over.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/start.over.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/start.over.gif
diff --git a/src/core/org/apache/jmeter/images/status/22x22/dialog-error-5.png b/src/core/src/main/resources/org/apache/jmeter/images/status/22x22/dialog-error-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/22x22/dialog-error-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/22x22/dialog-error-5.png
diff --git a/src/core/org/apache/jmeter/images/status/22x22/pictogram-din-w000-general.png b/src/core/src/main/resources/org/apache/jmeter/images/status/22x22/pictogram-din-w000-general.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/22x22/pictogram-din-w000-general.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/22x22/pictogram-din-w000-general.png
diff --git a/src/core/org/apache/jmeter/images/status/22x22/task-complete.png b/src/core/src/main/resources/org/apache/jmeter/images/status/22x22/task-complete.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/22x22/task-complete.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/22x22/task-complete.png
diff --git a/src/core/org/apache/jmeter/images/status/22x22/task-recurring.png b/src/core/src/main/resources/org/apache/jmeter/images/status/22x22/task-recurring.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/22x22/task-recurring.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/22x22/task-recurring.png
diff --git a/src/core/org/apache/jmeter/images/status/22x22/user-offline-2.png b/src/core/src/main/resources/org/apache/jmeter/images/status/22x22/user-offline-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/22x22/user-offline-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/22x22/user-offline-2.png
diff --git a/src/core/org/apache/jmeter/images/status/22x22/user-online-2.png b/src/core/src/main/resources/org/apache/jmeter/images/status/22x22/user-online-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/22x22/user-online-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/22x22/user-online-2.png
diff --git a/src/core/org/apache/jmeter/images/status/32x32/dialog-error-5.png b/src/core/src/main/resources/org/apache/jmeter/images/status/32x32/dialog-error-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/32x32/dialog-error-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/32x32/dialog-error-5.png
diff --git a/src/core/org/apache/jmeter/images/status/32x32/pictogram-din-w000-general.png b/src/core/src/main/resources/org/apache/jmeter/images/status/32x32/pictogram-din-w000-general.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/32x32/pictogram-din-w000-general.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/32x32/pictogram-din-w000-general.png
diff --git a/src/core/org/apache/jmeter/images/status/32x32/task-complete.png b/src/core/src/main/resources/org/apache/jmeter/images/status/32x32/task-complete.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/32x32/task-complete.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/32x32/task-complete.png
diff --git a/src/core/org/apache/jmeter/images/status/32x32/task-recurring.png b/src/core/src/main/resources/org/apache/jmeter/images/status/32x32/task-recurring.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/32x32/task-recurring.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/32x32/task-recurring.png
diff --git a/src/core/org/apache/jmeter/images/status/32x32/user-offline-2.png b/src/core/src/main/resources/org/apache/jmeter/images/status/32x32/user-offline-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/32x32/user-offline-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/32x32/user-offline-2.png
diff --git a/src/core/org/apache/jmeter/images/status/32x32/user-online-2.png b/src/core/src/main/resources/org/apache/jmeter/images/status/32x32/user-online-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/32x32/user-online-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/32x32/user-online-2.png
diff --git a/src/core/org/apache/jmeter/images/status/48x48/dialog-error-5.png b/src/core/src/main/resources/org/apache/jmeter/images/status/48x48/dialog-error-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/48x48/dialog-error-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/48x48/dialog-error-5.png
diff --git a/src/core/org/apache/jmeter/images/status/48x48/pictogram-din-w000-general.png b/src/core/src/main/resources/org/apache/jmeter/images/status/48x48/pictogram-din-w000-general.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/48x48/pictogram-din-w000-general.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/48x48/pictogram-din-w000-general.png
diff --git a/src/core/org/apache/jmeter/images/status/48x48/task-complete.png b/src/core/src/main/resources/org/apache/jmeter/images/status/48x48/task-complete.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/48x48/task-complete.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/48x48/task-complete.png
diff --git a/src/core/org/apache/jmeter/images/status/48x48/task-recurring.png b/src/core/src/main/resources/org/apache/jmeter/images/status/48x48/task-recurring.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/48x48/task-recurring.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/48x48/task-recurring.png
diff --git a/src/core/org/apache/jmeter/images/status/48x48/user-offline-2.png b/src/core/src/main/resources/org/apache/jmeter/images/status/48x48/user-offline-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/48x48/user-offline-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/48x48/user-offline-2.png
diff --git a/src/core/org/apache/jmeter/images/status/48x48/user-online-2.png b/src/core/src/main/resources/org/apache/jmeter/images/status/48x48/user-online-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/status/48x48/user-online-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/status/48x48/user-online-2.png
diff --git a/src/core/org/apache/jmeter/images/stop.down.gif b/src/core/src/main/resources/org/apache/jmeter/images/stop.down.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/stop.down.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/stop.down.gif
diff --git a/src/core/org/apache/jmeter/images/stop.off.gif b/src/core/src/main/resources/org/apache/jmeter/images/stop.off.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/stop.off.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/stop.off.gif
diff --git a/src/core/org/apache/jmeter/images/stop.on.gif b/src/core/src/main/resources/org/apache/jmeter/images/stop.on.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/stop.on.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/stop.on.gif
diff --git a/src/core/org/apache/jmeter/images/stop.over.gif b/src/core/src/main/resources/org/apache/jmeter/images/stop.over.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/stop.over.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/stop.over.gif
diff --git a/src/core/org/apache/jmeter/images/testtubes.png b/src/core/src/main/resources/org/apache/jmeter/images/testtubes.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/testtubes.png
rename to src/core/src/main/resources/org/apache/jmeter/images/testtubes.png
diff --git a/src/core/org/apache/jmeter/images/thread.disabled.gif b/src/core/src/main/resources/org/apache/jmeter/images/thread.disabled.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/thread.disabled.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/thread.disabled.gif
diff --git a/src/core/org/apache/jmeter/images/thread.enabled.gif b/src/core/src/main/resources/org/apache/jmeter/images/thread.enabled.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/thread.enabled.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/thread.enabled.gif
diff --git a/src/core/org/apache/jmeter/images/thread.gif b/src/core/src/main/resources/org/apache/jmeter/images/thread.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/thread.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/thread.gif
diff --git a/src/core/org/apache/jmeter/images/thread.idle.gif b/src/core/src/main/resources/org/apache/jmeter/images/thread.idle.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/thread.idle.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/thread.idle.gif
diff --git a/src/core/org/apache/jmeter/images/timer.gif b/src/core/src/main/resources/org/apache/jmeter/images/timer.gif
similarity index 100%
rename from src/core/org/apache/jmeter/images/timer.gif
rename to src/core/src/main/resources/org/apache/jmeter/images/timer.gif
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/applications-office.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/applications-office.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/applications-office.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/applications-office.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/arrow-right-3-notimer.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/arrow-right-3-notimer.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/arrow-right-3-notimer.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/arrow-right-3-notimer.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/arrow-right-3-startremoteall.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/arrow-right-3-startremoteall.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/arrow-right-3-startremoteall.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/arrow-right-3-startremoteall.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/arrow-right-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/arrow-right-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/arrow-right-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/arrow-right-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/color-picker-toggle.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/color-picker-toggle.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/color-picker-toggle.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/color-picker-toggle.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/document-new-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/document-new-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/document-new-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/document-new-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/document-open-2.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/document-open-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/document-open-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/document-open-2.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/document-save-5.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/document-save-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/document-save-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/document-save-5.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/document-save-as-5.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/document-save-as-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/document-save-as-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/document-save-as-5.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/documentation.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/documentation.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/documentation.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/documentation.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/edit-clear-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-clear-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/edit-clear-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-clear-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/edit-copy-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-copy-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/edit-copy-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-copy-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/edit-cut-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-cut-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/edit-cut-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-cut-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/edit-find-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-find-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/edit-find-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-find-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/edit-paste-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-paste-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/edit-paste-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-paste-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/edit-redo-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-redo-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/edit-redo-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-redo-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/edit-undo-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-undo-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/edit-undo-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/edit-undo-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/help-contents-5.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/help-contents-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/help-contents-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/help-contents-5.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/list-add-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/list-add-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/list-add-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/list-add-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/list-remove-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/list-remove-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/list-remove-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/list-remove-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/process-stop-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/process-stop-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/process-stop-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/process-stop-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/process-stop-7-shutdownremoteall.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/process-stop-7-shutdownremoteall.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/process-stop-7-shutdownremoteall.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/process-stop-7-shutdownremoteall.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/process-stop-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/process-stop-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/process-stop-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/process-stop-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/road-sign-us-stop-stopremoteall.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/road-sign-us-stop-stopremoteall.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/road-sign-us-stop-stopremoteall.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/road-sign-us-stop-stopremoteall.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/road-sign-us-stop.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/road-sign-us-stop.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/road-sign-us-stop.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/road-sign-us-stop.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/run-build-clean.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/run-build-clean.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/run-build-clean.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/run-build-clean.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/22x22/run-build-prune.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/run-build-prune.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/22x22/run-build-prune.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/22x22/run-build-prune.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/applications-office.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/applications-office.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/applications-office.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/applications-office.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/arrow-right-3-notimer.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/arrow-right-3-notimer.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/arrow-right-3-notimer.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/arrow-right-3-notimer.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/arrow-right-3-startremoteall.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/arrow-right-3-startremoteall.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/arrow-right-3-startremoteall.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/arrow-right-3-startremoteall.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/arrow-right-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/arrow-right-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/arrow-right-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/arrow-right-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/color-picker-toggle.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/color-picker-toggle.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/color-picker-toggle.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/color-picker-toggle.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/document-new-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/document-new-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/document-new-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/document-new-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/document-open-2.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/document-open-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/document-open-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/document-open-2.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/document-save-5.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/document-save-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/document-save-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/document-save-5.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/document-save-as-5.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/document-save-as-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/document-save-as-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/document-save-as-5.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/documentation.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/documentation.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/documentation.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/documentation.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/edit-clear-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-clear-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/edit-clear-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-clear-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/edit-copy-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-copy-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/edit-copy-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-copy-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/edit-cut-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-cut-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/edit-cut-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-cut-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/edit-find-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-find-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/edit-find-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-find-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/edit-paste-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-paste-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/edit-paste-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-paste-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/edit-redo-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-redo-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/edit-redo-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-redo-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/edit-undo-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-undo-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/edit-undo-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/edit-undo-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/help-contents-5.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/help-contents-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/help-contents-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/help-contents-5.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/list-add-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/list-add-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/list-add-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/list-add-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/list-remove-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/list-remove-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/list-remove-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/list-remove-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/process-stop-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/process-stop-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/process-stop-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/process-stop-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/process-stop-7-shutdownremoteall.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/process-stop-7-shutdownremoteall.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/process-stop-7-shutdownremoteall.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/process-stop-7-shutdownremoteall.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/process-stop-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/process-stop-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/process-stop-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/process-stop-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/road-sign-us-stop-stopremoteall.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/road-sign-us-stop-stopremoteall.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/road-sign-us-stop-stopremoteall.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/road-sign-us-stop-stopremoteall.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/road-sign-us-stop.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/road-sign-us-stop.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/road-sign-us-stop.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/road-sign-us-stop.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/run-build-clean.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/run-build-clean.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/run-build-clean.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/run-build-clean.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/32x32/run-build-prune.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/run-build-prune.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/32x32/run-build-prune.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/32x32/run-build-prune.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/applications-office.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/applications-office.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/applications-office.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/applications-office.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/arrow-right-3-notimer.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/arrow-right-3-notimer.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/arrow-right-3-notimer.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/arrow-right-3-notimer.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/arrow-right-3-startremoteall.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/arrow-right-3-startremoteall.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/arrow-right-3-startremoteall.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/arrow-right-3-startremoteall.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/arrow-right-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/arrow-right-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/arrow-right-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/arrow-right-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/color-picker-toggle.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/color-picker-toggle.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/color-picker-toggle.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/color-picker-toggle.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/document-new-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/document-new-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/document-new-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/document-new-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/document-open-2.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/document-open-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/document-open-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/document-open-2.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/document-save-5.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/document-save-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/document-save-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/document-save-5.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/document-save-as-5.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/document-save-as-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/document-save-as-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/document-save-as-5.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/documentation.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/documentation.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/documentation.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/documentation.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/edit-clear-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-clear-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/edit-clear-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-clear-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/edit-copy-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-copy-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/edit-copy-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-copy-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/edit-cut-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-cut-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/edit-cut-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-cut-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/edit-find-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-find-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/edit-find-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-find-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/edit-paste-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-paste-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/edit-paste-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-paste-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/edit-redo-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-redo-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/edit-redo-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-redo-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/edit-undo-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-undo-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/edit-undo-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/edit-undo-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/help-contents-5.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/help-contents-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/help-contents-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/help-contents-5.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/list-add-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/list-add-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/list-add-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/list-add-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/list-remove-3.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/list-remove-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/list-remove-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/list-remove-3.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/process-stop-4.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/process-stop-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/process-stop-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/process-stop-4.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/process-stop-7-shutdownremoteall.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/process-stop-7-shutdownremoteall.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/process-stop-7-shutdownremoteall.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/process-stop-7-shutdownremoteall.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/process-stop-7.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/process-stop-7.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/process-stop-7.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/process-stop-7.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/road-sign-us-stop-stopremoteall.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/road-sign-us-stop-stopremoteall.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/road-sign-us-stop-stopremoteall.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/road-sign-us-stop-stopremoteall.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/road-sign-us-stop.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/road-sign-us-stop.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/road-sign-us-stop.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/road-sign-us-stop.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/run-build-clean.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/run-build-clean.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/run-build-clean.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/run-build-clean.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/48x48/run-build-prune.png b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/run-build-prune.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/48x48/run-build-prune.png
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/48x48/run-build-prune.png
diff --git a/src/core/org/apache/jmeter/images/toolbar/icons-custom/arrow-right-3-notimer.svg b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/arrow-right-3-notimer.svg
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/icons-custom/arrow-right-3-notimer.svg
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/arrow-right-3-notimer.svg
diff --git a/src/core/org/apache/jmeter/images/toolbar/icons-custom/arrow-right-3-startremoteall.svg b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/arrow-right-3-startremoteall.svg
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/icons-custom/arrow-right-3-startremoteall.svg
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/arrow-right-3-startremoteall.svg
diff --git a/src/core/org/apache/jmeter/images/toolbar/icons-custom/color-picker-toggle.svg b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/color-picker-toggle.svg
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/icons-custom/color-picker-toggle.svg
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/color-picker-toggle.svg
diff --git a/src/core/org/apache/jmeter/images/toolbar/icons-custom/process-stop-7-shutdownremoteall.svg b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/process-stop-7-shutdownremoteall.svg
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/icons-custom/process-stop-7-shutdownremoteall.svg
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/process-stop-7-shutdownremoteall.svg
diff --git a/src/core/org/apache/jmeter/images/toolbar/icons-custom/road-sign-us-stop-stopremoteall.svg b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/road-sign-us-stop-stopremoteall.svg
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/icons-custom/road-sign-us-stop-stopremoteall.svg
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-custom/road-sign-us-stop-stopremoteall.svg
diff --git a/src/core/org/apache/jmeter/images/toolbar/icons-toolbar.properties b/src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-toolbar.properties
similarity index 100%
rename from src/core/org/apache/jmeter/images/toolbar/icons-toolbar.properties
rename to src/core/src/main/resources/org/apache/jmeter/images/toolbar/icons-toolbar.properties
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/applications-science-3.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/applications-science-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/applications-science-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/applications-science-3.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/appointment-new-3.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/appointment-new-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/appointment-new-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/appointment-new-3.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/color-picker-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/color-picker-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/color-picker-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/color-picker-grey.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/document-export-4_custom.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/document-export-4_custom.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/document-export-4_custom.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/document-export-4_custom.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/document-import-2_custom.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/document-import-2_custom.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/document-import-2_custom.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/document-import-2_custom.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/document-preview.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/document-preview.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/document-preview.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/document-preview.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/office-chart-area.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/office-chart-area.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/office-chart-area.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/office-chart-area.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/preferences-system-4.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/preferences-system-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/preferences-system-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/preferences-system-4.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/system-run-5.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/system-run-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/system-run-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/system-run-5.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/view-list-tree-4.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/view-list-tree-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/view-list-tree-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/view-list-tree-4.png
diff --git a/src/core/org/apache/jmeter/images/tree/19x19/view-pim-tasks.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/view-pim-tasks.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/19x19/view-pim-tasks.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/19x19/view-pim-tasks.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/applications-science-3.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/applications-science-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/applications-science-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/applications-science-3.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/appointment-new-3.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/appointment-new-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/appointment-new-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/appointment-new-3.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/color-picker-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/color-picker-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/color-picker-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/color-picker-grey.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/document-export-4_custom.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/document-export-4_custom.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/document-export-4_custom.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/document-export-4_custom.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/document-import-2_custom.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/document-import-2_custom.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/document-import-2_custom.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/document-import-2_custom.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/document-preview.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/document-preview.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/document-preview.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/document-preview.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/office-chart-area.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/office-chart-area.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/office-chart-area.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/office-chart-area.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/preferences-system-4.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/preferences-system-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/preferences-system-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/preferences-system-4.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/system-run-5.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/system-run-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/system-run-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/system-run-5.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/view-list-tree-4.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/view-list-tree-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/view-list-tree-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/view-list-tree-4.png
diff --git a/src/core/org/apache/jmeter/images/tree/24x24/view-pim-tasks.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/view-pim-tasks.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/24x24/view-pim-tasks.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/24x24/view-pim-tasks.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/applications-science-3.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/applications-science-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/applications-science-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/applications-science-3.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/appointment-new-3.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/appointment-new-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/appointment-new-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/appointment-new-3.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/color-picker-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/color-picker-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/color-picker-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/color-picker-grey.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/document-export-4_custom.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/document-export-4_custom.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/document-export-4_custom.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/document-export-4_custom.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/document-import-2_custom.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/document-import-2_custom.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/document-import-2_custom.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/document-import-2_custom.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/document-preview.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/document-preview.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/document-preview.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/document-preview.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/office-chart-area.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/office-chart-area.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/office-chart-area.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/office-chart-area.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/preferences-system-4.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/preferences-system-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/preferences-system-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/preferences-system-4.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/system-run-5.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/system-run-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/system-run-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/system-run-5.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/view-list-tree-4.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/view-list-tree-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/view-list-tree-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/view-list-tree-4.png
diff --git a/src/core/org/apache/jmeter/images/tree/32x32/view-pim-tasks.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/view-pim-tasks.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/32x32/view-pim-tasks.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/32x32/view-pim-tasks.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/applications-science-3.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/applications-science-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/applications-science-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/applications-science-3.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/appointment-new-3.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/appointment-new-3.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/appointment-new-3.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/appointment-new-3.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/color-picker-grey.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/color-picker-grey.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/color-picker-grey.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/color-picker-grey.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/document-export-4_custom.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/document-export-4_custom.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/document-export-4_custom.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/document-export-4_custom.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/document-import-2_custom.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/document-import-2_custom.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/document-import-2_custom.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/document-import-2_custom.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/document-preview.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/document-preview.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/document-preview.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/document-preview.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/office-chart-area.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/office-chart-area.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/office-chart-area.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/office-chart-area.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/preferences-system-4.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/preferences-system-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/preferences-system-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/preferences-system-4.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/system-run-5.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/system-run-5.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/system-run-5.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/system-run-5.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/view-list-tree-4.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/view-list-tree-4.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/view-list-tree-4.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/view-list-tree-4.png
diff --git a/src/core/org/apache/jmeter/images/tree/48x48/view-pim-tasks.png b/src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/view-pim-tasks.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/48x48/view-pim-tasks.png
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/48x48/view-pim-tasks.png
diff --git a/src/core/org/apache/jmeter/images/tree/icons-custom/document-export-4_custom.svg b/src/core/src/main/resources/org/apache/jmeter/images/tree/icons-custom/document-export-4_custom.svg
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/icons-custom/document-export-4_custom.svg
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/icons-custom/document-export-4_custom.svg
diff --git a/src/core/org/apache/jmeter/images/tree/icons-custom/document-import-2_custom.svg b/src/core/src/main/resources/org/apache/jmeter/images/tree/icons-custom/document-import-2_custom.svg
similarity index 100%
rename from src/core/org/apache/jmeter/images/tree/icons-custom/document-import-2_custom.svg
rename to src/core/src/main/resources/org/apache/jmeter/images/tree/icons-custom/document-import-2_custom.svg
diff --git a/src/core/org/apache/jmeter/images/vrt/19x19/security-high-2.png b/src/core/src/main/resources/org/apache/jmeter/images/vrt/19x19/security-high-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/vrt/19x19/security-high-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/vrt/19x19/security-high-2.png
diff --git a/src/core/org/apache/jmeter/images/vrt/19x19/security-low-2.png b/src/core/src/main/resources/org/apache/jmeter/images/vrt/19x19/security-low-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/vrt/19x19/security-low-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/vrt/19x19/security-low-2.png
diff --git a/src/core/org/apache/jmeter/images/vrt/24x24/security-high-2.png b/src/core/src/main/resources/org/apache/jmeter/images/vrt/24x24/security-high-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/vrt/24x24/security-high-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/vrt/24x24/security-high-2.png
diff --git a/src/core/org/apache/jmeter/images/vrt/24x24/security-low-2.png b/src/core/src/main/resources/org/apache/jmeter/images/vrt/24x24/security-low-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/vrt/24x24/security-low-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/vrt/24x24/security-low-2.png
diff --git a/src/core/org/apache/jmeter/images/vrt/32x32/security-high-2.png b/src/core/src/main/resources/org/apache/jmeter/images/vrt/32x32/security-high-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/vrt/32x32/security-high-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/vrt/32x32/security-high-2.png
diff --git a/src/core/org/apache/jmeter/images/vrt/32x32/security-low-2.png b/src/core/src/main/resources/org/apache/jmeter/images/vrt/32x32/security-low-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/vrt/32x32/security-low-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/vrt/32x32/security-low-2.png
diff --git a/src/core/org/apache/jmeter/images/vrt/48x48/security-high-2.png b/src/core/src/main/resources/org/apache/jmeter/images/vrt/48x48/security-high-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/vrt/48x48/security-high-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/vrt/48x48/security-high-2.png
diff --git a/src/core/org/apache/jmeter/images/vrt/48x48/security-low-2.png b/src/core/src/main/resources/org/apache/jmeter/images/vrt/48x48/security-low-2.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/vrt/48x48/security-low-2.png
rename to src/core/src/main/resources/org/apache/jmeter/images/vrt/48x48/security-low-2.png
diff --git a/src/core/org/apache/jmeter/images/warning.png b/src/core/src/main/resources/org/apache/jmeter/images/warning.png
similarity index 100%
rename from src/core/org/apache/jmeter/images/warning.png
rename to src/core/src/main/resources/org/apache/jmeter/images/warning.png
diff --git a/src/core/org/apache/jmeter/resources/messages.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_de.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_de.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_de.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_de.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_es.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_es.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_es.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_es.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_fr.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_fr.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_fr.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_fr.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_ja.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_ja.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_ja.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_ja.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_no.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_no.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_no.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_no.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_pl.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_pl.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_pl.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_pl.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_pt_BR.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_pt_BR.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_pt_BR.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_pt_BR.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_tr.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_tr.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_tr.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_tr.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_zh_CN.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_zh_CN.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_zh_CN.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_zh_CN.properties
diff --git a/src/core/org/apache/jmeter/resources/messages_zh_TW.properties b/src/core/src/main/resources/org/apache/jmeter/resources/messages_zh_TW.properties
similarity index 100%
rename from src/core/org/apache/jmeter/resources/messages_zh_TW.properties
rename to src/core/src/main/resources/org/apache/jmeter/resources/messages_zh_TW.properties
diff --git a/test/src/org/apache/jmeter/gui/HtmlReportGUISpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/gui/HtmlReportGUISpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/gui/HtmlReportGUISpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/gui/HtmlReportGUISpec.groovy
diff --git a/src/core/src/test/groovy/org/apache/jmeter/junit/spock/JMeterSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/junit/spock/JMeterSpec.groovy
new file mode 100644
index 0000000000..9bfd93d291
--- /dev/null
+++ b/src/core/src/test/groovy/org/apache/jmeter/junit/spock/JMeterSpec.groovy
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License") you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jmeter.junit.spock
+
+import org.apache.jmeter.junit.JMeterTestCaseJUnit
+import org.apache.jmeter.junit.JMeterTestUtils
+import org.apache.jmeter.util.JMeterUtils
+import spock.lang.Specification
+
+import java.nio.charset.Charset
+
+/**
+ * Common setup for Spock test cases.
+ * <p>
+ * Please only use this class if you <em>need</em> the things set up here.
+ * <p>
+ * Otherwise, extend {@link Specification}
+ */
+abstract class JMeterSpec extends Specification {
+
+ /*
+ * If not running under AllTests.java, make sure that the properties (and
+ * log file) are set up correctly.
+ *
+ * N.B. This assumes the JUnit test are executed in the
+ * project root, bin directory or one level down, and all the JMeter jars
+ * (plus any others needed at run-time) need to be on the classpath.
+ */
+ static {
+ // Initialize JMeterTestCaseJUnit which will setup JMeter properties, home, etc
+ JMeterTestCaseJUnit.class.getSuperclass();
+ }
+
+ private static void logprop(String prop) {
+ System.out.println(prop + "=" + System.getProperty(prop))
+ }
+
+ protected String getResourceFilePath(String resource) {
+ return JMeterTestUtils.getResourceFilePath(getClass(), resource);
+ }
+
+ protected static boolean isHeadless() {
+ System.properties['java.awt.headless'] == 'true'
+ }
+
+}
diff --git a/test/src/org/apache/jmeter/report/core/ConvertersSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/report/core/ConvertersSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/report/core/ConvertersSpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/report/core/ConvertersSpec.groovy
diff --git a/test/src/org/apache/jmeter/report/core/SampleMetadataParserSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/report/core/SampleMetadataParserSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/report/core/SampleMetadataParserSpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/report/core/SampleMetadataParserSpec.groovy
diff --git a/test/src/org/apache/jmeter/report/processor/ApdexSummaryConsumerSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/report/processor/ApdexSummaryConsumerSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/report/processor/ApdexSummaryConsumerSpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/report/processor/ApdexSummaryConsumerSpec.groovy
diff --git a/test/src/org/apache/jmeter/report/processor/FieldSampleComparatorSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/report/processor/FieldSampleComparatorSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/report/processor/FieldSampleComparatorSpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/report/processor/FieldSampleComparatorSpec.groovy
diff --git a/test/src/org/apache/jmeter/report/processor/ListResultDataSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/report/processor/ListResultDataSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/report/processor/ListResultDataSpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/report/processor/ListResultDataSpec.groovy
diff --git a/test/src/org/apache/jmeter/report/processor/Top5ErrorsBySamplerConsumerSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/report/processor/Top5ErrorsBySamplerConsumerSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/report/processor/Top5ErrorsBySamplerConsumerSpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/report/processor/Top5ErrorsBySamplerConsumerSpec.groovy
diff --git a/test/src/org/apache/jmeter/report/processor/Top5ErrorsSummaryDataSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/report/processor/Top5ErrorsSummaryDataSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/report/processor/Top5ErrorsSummaryDataSpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/report/processor/Top5ErrorsSummaryDataSpec.groovy
diff --git a/test/src/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesOverTimeGraphConsumerSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesOverTimeGraphConsumerSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesOverTimeGraphConsumerSpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesOverTimeGraphConsumerSpec.groovy
diff --git a/test/src/org/apache/jmeter/services/FileServerSpec.groovy b/src/core/src/test/groovy/org/apache/jmeter/services/FileServerSpec.groovy
similarity index 98%
rename from test/src/org/apache/jmeter/services/FileServerSpec.groovy
rename to src/core/src/test/groovy/org/apache/jmeter/services/FileServerSpec.groovy
index 2a9e1935f5..69d020fee6 100644
--- a/test/src/org/apache/jmeter/services/FileServerSpec.groovy
+++ b/src/core/src/test/groovy/org/apache/jmeter/services/FileServerSpec.groovy
@@ -25,8 +25,8 @@ class FileServerSpec extends JMeterSpec {
def sut = new FileServer()
- def testFile = findTestPath("testfiles/unit/FileServerSpec.csv")
- def emptyFile = findTestPath("testfiles/empty.csv")
+ def testFile = getResourceFilePath("testfiles/unit/FileServerSpec.csv")
+ def emptyFile = getResourceFilePath("testfiles/empty.csv")
def setup() {
diff --git a/test/src/org/apache/jmeter/JMeterTest.java b/src/core/src/test/java/org/apache/jmeter/JMeterTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/JMeterTest.java
rename to src/core/src/test/java/org/apache/jmeter/JMeterTest.java
diff --git a/test/src/org/apache/jmeter/engine/DistributedRunnerTest.java b/src/core/src/test/java/org/apache/jmeter/engine/DistributedRunnerTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/engine/DistributedRunnerTest.java
rename to src/core/src/test/java/org/apache/jmeter/engine/DistributedRunnerTest.java
diff --git a/test/src/org/apache/jmeter/engine/LocalHostTest.java b/src/core/src/test/java/org/apache/jmeter/engine/LocalHostTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/engine/LocalHostTest.java
rename to src/core/src/test/java/org/apache/jmeter/engine/LocalHostTest.java
diff --git a/test/src/org/apache/jmeter/engine/TestTreeCloner.java b/src/core/src/test/java/org/apache/jmeter/engine/TestTreeCloner.java
similarity index 100%
rename from test/src/org/apache/jmeter/engine/TestTreeCloner.java
rename to src/core/src/test/java/org/apache/jmeter/engine/TestTreeCloner.java
diff --git a/test/src/org/apache/jmeter/engine/util/TestValueReplacer.java b/src/core/src/test/java/org/apache/jmeter/engine/util/TestValueReplacer.java
similarity index 100%
rename from test/src/org/apache/jmeter/engine/util/TestValueReplacer.java
rename to src/core/src/test/java/org/apache/jmeter/engine/util/TestValueReplacer.java
diff --git a/test/src/org/apache/jmeter/gui/logging/TestGuiLogEventAppender.java b/src/core/src/test/java/org/apache/jmeter/gui/logging/TestGuiLogEventAppender.java
similarity index 100%
rename from test/src/org/apache/jmeter/gui/logging/TestGuiLogEventAppender.java
rename to src/core/src/test/java/org/apache/jmeter/gui/logging/TestGuiLogEventAppender.java
diff --git a/test/src/org/apache/jmeter/gui/util/JSyntaxTextAreaTest.java b/src/core/src/test/java/org/apache/jmeter/gui/util/JSyntaxTextAreaTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/gui/util/JSyntaxTextAreaTest.java
rename to src/core/src/test/java/org/apache/jmeter/gui/util/JSyntaxTextAreaTest.java
diff --git a/test/src/org/apache/jmeter/gui/util/TristateCheckBoxTest.java b/src/core/src/test/java/org/apache/jmeter/gui/util/TristateCheckBoxTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/gui/util/TristateCheckBoxTest.java
rename to src/core/src/test/java/org/apache/jmeter/gui/util/TristateCheckBoxTest.java
diff --git a/test/src/org/apache/jmeter/junit/JMeterTestCase.java b/src/core/src/test/java/org/apache/jmeter/junit/JMeterTestCase.java
similarity index 91%
rename from test/src/org/apache/jmeter/junit/JMeterTestCase.java
rename to src/core/src/test/java/org/apache/jmeter/junit/JMeterTestCase.java
index 81a182c8ef..a94e2d0593 100644
--- a/test/src/org/apache/jmeter/junit/JMeterTestCase.java
+++ b/src/core/src/test/java/org/apache/jmeter/junit/JMeterTestCase.java
@@ -82,7 +82,7 @@ public abstract class JMeterTestCase {
logprop("os.arch");
logprop("java.class.path");
} else {
- filePrefix = "";
+ filePrefix = JMeterTestUtils.setupJMeterHome();
}
}
@@ -153,4 +153,15 @@ public abstract class JMeterTestCase {
public static void assertPrimitiveEquals(boolean expected, boolean actual) {
org.junit.Assert.assertEquals(Boolean.valueOf(expected), Boolean.valueOf(actual));
}
+
+ /**
+ * Returns absolute path of a resource file.
+ * It allows to have test resources in {@code test/resources/org/apache...} folder
+ * and reference it as {@code getResourceFilePath("test1.txt")}.
+ * @param resource argument for klass.getResource. Relative (to current class) or absolute resource path
+ * @return absolute file path of a resource
+ */
+ protected String getResourceFilePath(String resource) {
+ return JMeterTestUtils.getResourceFilePath(getClass(), resource);
+ }
}
diff --git a/test/src/org/apache/jmeter/junit/JMeterTestCaseJUnit.java b/src/core/src/test/java/org/apache/jmeter/junit/JMeterTestCaseJUnit.java
similarity index 88%
rename from test/src/org/apache/jmeter/junit/JMeterTestCaseJUnit.java
rename to src/core/src/test/java/org/apache/jmeter/junit/JMeterTestCaseJUnit.java
index fa5a831812..aa330c130c 100644
--- a/test/src/org/apache/jmeter/junit/JMeterTestCaseJUnit.java
+++ b/src/core/src/test/java/org/apache/jmeter/junit/JMeterTestCaseJUnit.java
@@ -88,7 +88,7 @@ public abstract class JMeterTestCaseJUnit extends TestCase {
logprop("os.arch");
logprop("java.class.path");
} else {
- filePrefix = "";
+ filePrefix = JMeterTestUtils.setupJMeterHome();
}
}
@@ -119,4 +119,15 @@ public abstract class JMeterTestCaseJUnit extends TestCase {
}
func.setParameters(parms);
}
+
+ /**
+ * Returns absolute path of a resource file.
+ * It allows to have test resources in {@code test/resources/org/apache...} folder
+ * and reference it as {@code getResourceFilePath("test1.txt")}.
+ * @param resource argument for klass.getResource. Relative (to current class) or absolute resource path
+ * @return absolute file path of a resource
+ */
+ protected String getResourceFilePath(String resource) {
+ return JMeterTestUtils.getResourceFilePath(getClass(), resource);
+ }
}
diff --git a/test/src/org/apache/jmeter/junit/JMeterTestUtils.java b/src/core/src/test/java/org/apache/jmeter/junit/JMeterTestUtils.java
similarity index 50%
rename from test/src/org/apache/jmeter/junit/JMeterTestUtils.java
rename to src/core/src/test/java/org/apache/jmeter/junit/JMeterTestUtils.java
index cfd3e8ea3b..9f0f7468d7 100644
--- a/test/src/org/apache/jmeter/junit/JMeterTestUtils.java
+++ b/src/core/src/test/java/org/apache/jmeter/junit/JMeterTestUtils.java
@@ -19,6 +19,10 @@
package org.apache.jmeter.junit;
import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.nio.file.Paths;
import org.apache.jmeter.util.JMeterUtils;
@@ -35,24 +39,41 @@ public class JMeterTestUtils {
public static String setupJMeterHome() {
if (JMeterUtils.getJMeterProperties() == null) {
String file = "jmeter.properties";
- File f = new File(file);
- if (!f.canRead()) {
- System.out.println("Can't find " + file + " - trying bin/ and ../bin");
- if (!new File("bin/" + file).canRead()) {
- // When running tests inside IntelliJ
- filePrefix = "../bin/"; // JMeterUtils assumes Unix-style separators
- } else {
- filePrefix = "bin/"; // JMeterUtils assumes Unix-style separators
- }
- file = filePrefix + file;
- } else {
- filePrefix = "";
+ String prefix = ".";
+ for (int i = 0; i < 5 && !new File(prefix, "bin/jmeter.properties").canRead(); i++) {
+ prefix = "../" + prefix;
}
// Used to be done in initializeProperties
- String home=new File(System.getProperty("user.dir"),filePrefix).getParent();
+ String home = new File(prefix).getAbsolutePath();
+ filePrefix = prefix + "/bin/";
System.out.println("Setting JMeterHome: "+home);
JMeterUtils.setJMeterHome(home);
}
return filePrefix;
}
+
+ /**
+ * Returns absolute path of a resource file.
+ * It allows to have test resources in {@code test/resources/org/apache...} folder
+ * and reference it as {@code getResourceFilePath(MyTest.class, "test1.txt")}.
+ * @param klass class to resolve the resource
+ * @param resource argument for klass.getResource. Relative or absolute file path
+ * @return "" when input is "", input resource when resource is not found, or absolute file path of a resource
+ */
+ public static String getResourceFilePath(Class<?> klass, String resource) {
+ try {
+ if ("".equals(resource)) {
+ return resource;
+ }
+ URL url = klass.getResource(resource);
+ if (url == null) {
+ // Resource not found, assume the path is relative to the current dir
+ return resource;
+ }
+ URI uri = url.toURI();
+ return Paths.get(uri).toAbsolutePath().toString();
+ } catch (URISyntaxException e) {
+ throw new IllegalArgumentException("Unable to resolve resource " + resource, e);
+ }
+ }
}
diff --git a/test/src/org/apache/jmeter/junit/categories/ExcludeCategoryFilter.java b/src/core/src/test/java/org/apache/jmeter/junit/categories/ExcludeCategoryFilter.java
similarity index 100%
rename from test/src/org/apache/jmeter/junit/categories/ExcludeCategoryFilter.java
rename to src/core/src/test/java/org/apache/jmeter/junit/categories/ExcludeCategoryFilter.java
diff --git a/test/src/org/apache/jmeter/junit/categories/NeedGuiTests.java b/src/core/src/test/java/org/apache/jmeter/junit/categories/NeedGuiTests.java
similarity index 100%
rename from test/src/org/apache/jmeter/junit/categories/NeedGuiTests.java
rename to src/core/src/test/java/org/apache/jmeter/junit/categories/NeedGuiTests.java
diff --git a/test/src/org/apache/jmeter/junit/stubs/TestSampler.java b/src/core/src/test/java/org/apache/jmeter/junit/stubs/TestSampler.java
similarity index 100%
rename from test/src/org/apache/jmeter/junit/stubs/TestSampler.java
rename to src/core/src/test/java/org/apache/jmeter/junit/stubs/TestSampler.java
diff --git a/test/src/org/apache/jmeter/listeners/TestResultAction.java b/src/core/src/test/java/org/apache/jmeter/listeners/TestResultAction.java
similarity index 100%
rename from test/src/org/apache/jmeter/listeners/TestResultAction.java
rename to src/core/src/test/java/org/apache/jmeter/listeners/TestResultAction.java
diff --git a/test/src/org/apache/jmeter/report/core/CsvSampleReaderTest.java b/src/core/src/test/java/org/apache/jmeter/report/core/CsvSampleReaderTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/report/core/CsvSampleReaderTest.java
rename to src/core/src/test/java/org/apache/jmeter/report/core/CsvSampleReaderTest.java
diff --git a/test/src/org/apache/jmeter/report/core/SampleMetadataTest.java b/src/core/src/test/java/org/apache/jmeter/report/core/SampleMetadataTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/report/core/SampleMetadataTest.java
rename to src/core/src/test/java/org/apache/jmeter/report/core/SampleMetadataTest.java
diff --git a/test/src/org/apache/jmeter/report/core/TestCsvSampleWriter.java b/src/core/src/test/java/org/apache/jmeter/report/core/TestCsvSampleWriter.java
similarity index 100%
rename from test/src/org/apache/jmeter/report/core/TestCsvSampleWriter.java
rename to src/core/src/test/java/org/apache/jmeter/report/core/TestCsvSampleWriter.java
diff --git a/test/src/org/apache/jmeter/report/dashboard/ApdexPerTransactionTest.java b/src/core/src/test/java/org/apache/jmeter/report/dashboard/ApdexPerTransactionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/report/dashboard/ApdexPerTransactionTest.java
rename to src/core/src/test/java/org/apache/jmeter/report/dashboard/ApdexPerTransactionTest.java
diff --git a/test/src/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java b/src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java
rename to src/core/src/test/java/org/apache/jmeter/report/processor/ErrorsSummaryConsumerTest.java
diff --git a/test/src/org/apache/jmeter/report/processor/graph/impl/CustomGraphConsumerTest.java b/src/core/src/test/java/org/apache/jmeter/report/processor/graph/impl/CustomGraphConsumerTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/report/processor/graph/impl/CustomGraphConsumerTest.java
rename to src/core/src/test/java/org/apache/jmeter/report/processor/graph/impl/CustomGraphConsumerTest.java
diff --git a/test/src/org/apache/jmeter/resources/PackageTest.java b/src/core/src/test/java/org/apache/jmeter/resources/PackageTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/resources/PackageTest.java
rename to src/core/src/test/java/org/apache/jmeter/resources/PackageTest.java
diff --git a/test/src/org/apache/jmeter/samplers/NullSampler.java b/src/core/src/test/java/org/apache/jmeter/samplers/NullSampler.java
similarity index 100%
rename from test/src/org/apache/jmeter/samplers/NullSampler.java
rename to src/core/src/test/java/org/apache/jmeter/samplers/NullSampler.java
diff --git a/test/src/org/apache/jmeter/samplers/TestSampleResult.java b/src/core/src/test/java/org/apache/jmeter/samplers/TestSampleResult.java
similarity index 100%
rename from test/src/org/apache/jmeter/samplers/TestSampleResult.java
rename to src/core/src/test/java/org/apache/jmeter/samplers/TestSampleResult.java
diff --git a/test/src/org/apache/jmeter/samplers/TestSampleSaveConfiguration.java b/src/core/src/test/java/org/apache/jmeter/samplers/TestSampleSaveConfiguration.java
similarity index 100%
rename from test/src/org/apache/jmeter/samplers/TestSampleSaveConfiguration.java
rename to src/core/src/test/java/org/apache/jmeter/samplers/TestSampleSaveConfiguration.java
diff --git a/test/src/org/apache/jmeter/save/TestCSVSaveService.java b/src/core/src/test/java/org/apache/jmeter/save/TestCSVSaveService.java
similarity index 100%
rename from test/src/org/apache/jmeter/save/TestCSVSaveService.java
rename to src/core/src/test/java/org/apache/jmeter/save/TestCSVSaveService.java
diff --git a/test/src/org/apache/jmeter/test/ResourceLocator.java b/src/core/src/test/java/org/apache/jmeter/test/ResourceLocator.java
similarity index 100%
rename from test/src/org/apache/jmeter/test/ResourceLocator.java
rename to src/core/src/test/java/org/apache/jmeter/test/ResourceLocator.java
diff --git a/test/src/org/apache/jmeter/testbeans/gui/TestBooleanPropertyEditor.java b/src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestBooleanPropertyEditor.java
similarity index 100%
rename from test/src/org/apache/jmeter/testbeans/gui/TestBooleanPropertyEditor.java
rename to src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestBooleanPropertyEditor.java
diff --git a/test/src/org/apache/jmeter/testbeans/gui/TestComboStringEditor.java b/src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestComboStringEditor.java
similarity index 100%
rename from test/src/org/apache/jmeter/testbeans/gui/TestComboStringEditor.java
rename to src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestComboStringEditor.java
diff --git a/test/src/org/apache/jmeter/testbeans/gui/TestFieldStringEditor.java b/src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestFieldStringEditor.java
similarity index 100%
rename from test/src/org/apache/jmeter/testbeans/gui/TestFieldStringEditor.java
rename to src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestFieldStringEditor.java
diff --git a/test/src/org/apache/jmeter/testelement/PackageTest.java b/src/core/src/test/java/org/apache/jmeter/testelement/PackageTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/testelement/PackageTest.java
rename to src/core/src/test/java/org/apache/jmeter/testelement/PackageTest.java
diff --git a/test/src/org/apache/jmeter/testelement/TestNumberProperty.java b/src/core/src/test/java/org/apache/jmeter/testelement/TestNumberProperty.java
similarity index 100%
rename from test/src/org/apache/jmeter/testelement/TestNumberProperty.java
rename to src/core/src/test/java/org/apache/jmeter/testelement/TestNumberProperty.java
diff --git a/test/src/org/apache/jmeter/testelement/property/AbstractPropertyTest.java b/src/core/src/test/java/org/apache/jmeter/testelement/property/AbstractPropertyTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/testelement/property/AbstractPropertyTest.java
rename to src/core/src/test/java/org/apache/jmeter/testelement/property/AbstractPropertyTest.java
diff --git a/test/src/org/apache/jmeter/testelement/property/MapPropertyTest.java b/src/core/src/test/java/org/apache/jmeter/testelement/property/MapPropertyTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/testelement/property/MapPropertyTest.java
rename to src/core/src/test/java/org/apache/jmeter/testelement/property/MapPropertyTest.java
diff --git a/test/src/org/apache/jmeter/testelement/property/PackageTest.java b/src/core/src/test/java/org/apache/jmeter/testelement/property/PackageTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/testelement/property/PackageTest.java
rename to src/core/src/test/java/org/apache/jmeter/testelement/property/PackageTest.java
diff --git a/test/src/org/apache/jmeter/threads/JMeterContextServiceHelper.java b/src/core/src/test/java/org/apache/jmeter/threads/JMeterContextServiceHelper.java
similarity index 100%
rename from test/src/org/apache/jmeter/threads/JMeterContextServiceHelper.java
rename to src/core/src/test/java/org/apache/jmeter/threads/JMeterContextServiceHelper.java
diff --git a/test/src/org/apache/jmeter/threads/TestJMeterContextService.java b/src/core/src/test/java/org/apache/jmeter/threads/TestJMeterContextService.java
similarity index 100%
rename from test/src/org/apache/jmeter/threads/TestJMeterContextService.java
rename to src/core/src/test/java/org/apache/jmeter/threads/TestJMeterContextService.java
diff --git a/test/src/org/apache/jmeter/threads/TestJMeterThread.java b/src/core/src/test/java/org/apache/jmeter/threads/TestJMeterThread.java
similarity index 89%
rename from test/src/org/apache/jmeter/threads/TestJMeterThread.java
rename to src/core/src/test/java/org/apache/jmeter/threads/TestJMeterThread.java
index 960f850e42..2e98c92c67 100644
--- a/test/src/org/apache/jmeter/threads/TestJMeterThread.java
+++ b/src/core/src/test/java/org/apache/jmeter/threads/TestJMeterThread.java
@@ -27,8 +27,9 @@ import org.apache.jmeter.control.LoopController;
import org.apache.jmeter.samplers.AbstractSampler;
import org.apache.jmeter.samplers.Entry;
import org.apache.jmeter.samplers.SampleResult;
+import org.apache.jmeter.testelement.AbstractTestElement;
import org.apache.jmeter.testelement.ThreadListener;
-import org.apache.jmeter.timers.ConstantTimer;
+import org.apache.jmeter.timers.Timer;
import org.apache.jorphan.collections.HashTree;
import org.junit.Test;
@@ -76,6 +77,19 @@ public class TestJMeterThread {
}
+ private static class DummyTimer extends AbstractTestElement implements Timer {
+ private long delay;
+
+ void setDelay(long delay) {
+ this.delay = delay;
+ }
+
+ @Override
+ public long delay() {
+ return delay;
+ }
+ }
+
private static class ThrowingThreadListener implements ThreadListener {
private boolean throwError;
@@ -129,7 +143,7 @@ public class TestJMeterThread {
HashTree testTree = new HashTree();
LoopController samplerController = createLoopController();
testTree.add(samplerController);
- testTree.add(samplerController, createConstantTimer("3000"));
+ testTree.add(samplerController, createConstantTimer(3000));
DummySampler dummySampler = createSampler();
testTree.add(samplerController, dummySampler);
@@ -169,11 +183,11 @@ public class TestJMeterThread {
return result;
}
- private ConstantTimer createConstantTimer(String delay) {
- ConstantTimer constantTimer = new ConstantTimer();
- constantTimer.setEnabled(true);
- constantTimer.setDelay(delay);
- constantTimer.setName("Long delay");
- return constantTimer;
+ private Timer createConstantTimer(long delay) {
+ DummyTimer timer = new DummyTimer();
+ timer.setEnabled(true);
+ timer.setDelay(delay);
+ timer.setName("Long delay");
+ return timer;
}
}
diff --git a/test/src/org/apache/jmeter/threads/TestTestCompiler.java b/src/core/src/test/java/org/apache/jmeter/threads/TestTestCompiler.java
similarity index 100%
rename from test/src/org/apache/jmeter/threads/TestTestCompiler.java
rename to src/core/src/test/java/org/apache/jmeter/threads/TestTestCompiler.java
diff --git a/test/src/org/apache/jmeter/threads/TestUnmodifiableJMeterVariables.java b/src/core/src/test/java/org/apache/jmeter/threads/TestUnmodifiableJMeterVariables.java
similarity index 100%
rename from test/src/org/apache/jmeter/threads/TestUnmodifiableJMeterVariables.java
rename to src/core/src/test/java/org/apache/jmeter/threads/TestUnmodifiableJMeterVariables.java
diff --git a/test/src/org/apache/jmeter/util/JSR223TestElementTest.java b/src/core/src/test/java/org/apache/jmeter/util/JSR223TestElementTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/util/JSR223TestElementTest.java
rename to src/core/src/test/java/org/apache/jmeter/util/JSR223TestElementTest.java
diff --git a/test/src/org/apache/jmeter/util/LogRecord.java b/src/core/src/test/java/org/apache/jmeter/util/LogRecord.java
similarity index 100%
rename from test/src/org/apache/jmeter/util/LogRecord.java
rename to src/core/src/test/java/org/apache/jmeter/util/LogRecord.java
diff --git a/test/src/org/apache/jmeter/util/LogRecordingDelegatingLogger.java b/src/core/src/test/java/org/apache/jmeter/util/LogRecordingDelegatingLogger.java
similarity index 100%
rename from test/src/org/apache/jmeter/util/LogRecordingDelegatingLogger.java
rename to src/core/src/test/java/org/apache/jmeter/util/LogRecordingDelegatingLogger.java
diff --git a/test/src/org/apache/jmeter/util/PackageTest.java b/src/core/src/test/java/org/apache/jmeter/util/PackageTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/util/PackageTest.java
rename to src/core/src/test/java/org/apache/jmeter/util/PackageTest.java
diff --git a/test/src/org/apache/jmeter/util/StringUtilitiesTest.java b/src/core/src/test/java/org/apache/jmeter/util/StringUtilitiesTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/util/StringUtilitiesTest.java
rename to src/core/src/test/java/org/apache/jmeter/util/StringUtilitiesTest.java
diff --git a/test/src/org/apache/jmeter/util/TestJMeterUtils.java b/src/core/src/test/java/org/apache/jmeter/util/TestJMeterUtils.java
similarity index 100%
rename from test/src/org/apache/jmeter/util/TestJMeterUtils.java
rename to src/core/src/test/java/org/apache/jmeter/util/TestJMeterUtils.java
diff --git a/test/src/org/apache/jmeter/util/XPathUtilTest.java b/src/core/src/test/java/org/apache/jmeter/util/XPathUtilTest.java
similarity index 93%
rename from test/src/org/apache/jmeter/util/XPathUtilTest.java
rename to src/core/src/test/java/org/apache/jmeter/util/XPathUtilTest.java
index f5cbd36f4f..1c279e6f74 100644
--- a/test/src/org/apache/jmeter/util/XPathUtilTest.java
+++ b/src/core/src/test/java/org/apache/jmeter/util/XPathUtilTest.java
@@ -38,11 +38,9 @@ import javax.xml.transform.TransformerException;
import javax.xml.transform.stream.StreamSource;
import org.apache.jmeter.assertions.AssertionResult;
-import org.apache.jmeter.assertions.gui.XPath2Panel;
import org.hamcrest.CoreMatchers;
import org.junit.Test;
import org.w3c.dom.Document;
-import org.w3c.dom.Element;
import org.xml.sax.SAXException;
import net.sf.saxon.s9api.Processor;
@@ -175,20 +173,6 @@ public class XPathUtilTest {
System.setErr(origErr);
}
- @Test()
- public void testValidateXPath2() throws ParserConfigurationException {
- Document testDoc = XPathUtil.makeDocumentBuilder(false, false, false, false).newDocument();
- Element el = testDoc.createElement("root"); //$NON-NLS-1$
- testDoc.appendChild(el);
- String namespaces = "a=http://www.w3.org/2003/01/geo/wgs84_pos# b=http://www.w3.org/2003/01/geo/wgs85_pos#";
- String xPathQuery = "//Employees/b:Employee[1]/a:ag";
- assertTrue("When the user give namspaces, the result of validation should be true",
- XPath2Panel.validXPath(xPathQuery, false, namespaces));
- namespaces = "a=http://www.w3.org/2003/01/geo/wgs84_pos#";
- assertFalse("When the user doesn't give namspaces, the result of validation should be false",
- XPath2Panel.validXPath(xPathQuery, false, namespaces));
- }
-
@Test()
public void testMakeDocument() throws ParserConfigurationException, SAXException, IOException, TidyException {
String responseData = "<book><page>one</page><page>two</page><empty></empty><a><b></b></a></book>";
diff --git a/test/src/org/apache/jorphan/TestXMLBuffer.java b/src/core/src/test/java/org/apache/jorphan/TestXMLBuffer.java
similarity index 100%
rename from test/src/org/apache/jorphan/TestXMLBuffer.java
rename to src/core/src/test/java/org/apache/jorphan/TestXMLBuffer.java
diff --git a/test/src/org/apache/jorphan/reflect/TestFunctor.java b/src/core/src/test/java/org/apache/jorphan/reflect/TestFunctor.java
similarity index 100%
rename from test/src/org/apache/jorphan/reflect/TestFunctor.java
rename to src/core/src/test/java/org/apache/jorphan/reflect/TestFunctor.java
diff --git a/test/src/org/apache/jorphan/test/AllTests.java b/src/core/src/test/java/org/apache/jorphan/test/AllTests.java
similarity index 100%
rename from test/src/org/apache/jorphan/test/AllTests.java
rename to src/core/src/test/java/org/apache/jorphan/test/AllTests.java
diff --git a/test/src/org/apache/jorphan/test/JMeterSerialTest.java b/src/core/src/test/java/org/apache/jorphan/test/JMeterSerialTest.java
similarity index 100%
rename from test/src/org/apache/jorphan/test/JMeterSerialTest.java
rename to src/core/src/test/java/org/apache/jorphan/test/JMeterSerialTest.java
diff --git a/test/resources/XPathUtilTestXml.xml b/src/core/src/test/resources/XPathUtilTestXml.xml
similarity index 100%
rename from test/resources/XPathUtilTestXml.xml
rename to src/core/src/test/resources/XPathUtilTestXml.xml
diff --git a/test/resources/log4j2.xml b/src/core/src/test/resources/log4j2.xml
similarity index 100%
rename from test/resources/log4j2.xml
rename to src/core/src/test/resources/log4j2.xml
diff --git a/test/resources/org/apache/jmeter/report/dashboard/reportgenerator_test.properties b/src/core/src/test/resources/org/apache/jmeter/report/dashboard/reportgenerator_test.properties
similarity index 100%
rename from test/resources/org/apache/jmeter/report/dashboard/reportgenerator_test.properties
rename to src/core/src/test/resources/org/apache/jmeter/report/dashboard/reportgenerator_test.properties
diff --git a/bin/testfiles/empty.csv b/src/core/src/test/resources/org/apache/jmeter/services/testfiles/empty.csv
similarity index 100%
copy from bin/testfiles/empty.csv
copy to src/core/src/test/resources/org/apache/jmeter/services/testfiles/empty.csv
diff --git a/bin/testfiles/unit/FileServerSpec.csv b/src/core/src/test/resources/org/apache/jmeter/services/testfiles/unit/FileServerSpec.csv
similarity index 100%
rename from bin/testfiles/unit/FileServerSpec.csv
rename to src/core/src/test/resources/org/apache/jmeter/services/testfiles/unit/FileServerSpec.csv
diff --git a/test/resources/resourcefile.txt b/src/core/src/test/resources/resourcefile.txt
similarity index 100%
rename from test/resources/resourcefile.txt
rename to src/core/src/test/resources/resourcefile.txt
diff --git a/test/src/org/apache/jmeter/engine/util/PackageSpec.groovy b/src/dist-check/src/test/groovy/org/apache/jmeter/engine/util/PackageSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/engine/util/PackageSpec.groovy
rename to src/dist-check/src/test/groovy/org/apache/jmeter/engine/util/PackageSpec.groovy
diff --git a/test/src/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy b/src/dist-check/src/test/groovy/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy
rename to src/dist-check/src/test/groovy/org/apache/jmeter/gui/action/HtmlReportGeneratorSpec.groovy
diff --git a/test/src/org/apache/jmeter/gui/util/MenuFactorySpec.groovy b/src/dist-check/src/test/groovy/org/apache/jmeter/gui/util/MenuFactorySpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/gui/util/MenuFactorySpec.groovy
rename to src/dist-check/src/test/groovy/org/apache/jmeter/gui/util/MenuFactorySpec.groovy
diff --git a/test/src/org/apache/jmeter/report/dashboard/ReportGeneratorSpec.groovy b/src/dist-check/src/test/groovy/org/apache/jmeter/report/dashboard/ReportGeneratorSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/report/dashboard/ReportGeneratorSpec.groovy
rename to src/dist-check/src/test/groovy/org/apache/jmeter/report/dashboard/ReportGeneratorSpec.groovy
diff --git a/test/src/org/apache/jmeter/control/TestSwitchController.java b/src/dist-check/src/test/java/org/apache/jmeter/control/TestSwitchController.java
similarity index 100%
rename from test/src/org/apache/jmeter/control/TestSwitchController.java
rename to src/dist-check/src/test/java/org/apache/jmeter/control/TestSwitchController.java
diff --git a/test/src/org/apache/jmeter/functions/ComponentReferenceFunctionTest.java b/src/dist-check/src/test/java/org/apache/jmeter/functions/ComponentReferenceFunctionTest.java
similarity index 98%
rename from test/src/org/apache/jmeter/functions/ComponentReferenceFunctionTest.java
rename to src/dist-check/src/test/java/org/apache/jmeter/functions/ComponentReferenceFunctionTest.java
index d410d70301..bd0df2d6f0 100644
--- a/test/src/org/apache/jmeter/functions/ComponentReferenceFunctionTest.java
+++ b/src/dist-check/src/test/java/org/apache/jmeter/functions/ComponentReferenceFunctionTest.java
@@ -96,7 +96,7 @@ public class ComponentReferenceFunctionTest extends JMeterTestCaseJUnit {
public void createFunctionSet() throws Exception {
funcTitles = new HashMap<>(20);
String compref = "../xdocs/usermanual/functions.xml";
- try (InputStream stream = new FileInputStream(compref)) {
+ try (InputStream stream = new FileInputStream(findTestFile(compref))) {
Element body = getBodyFromXMLDocument(stream);
Element section = (Element) body.getElementsByTagName("section").item(0);
NodeList subSections = section.getElementsByTagName("subsection");
diff --git a/test/src/org/apache/jmeter/gui/action/TestLoad.java b/src/dist-check/src/test/java/org/apache/jmeter/gui/action/TestLoad.java
similarity index 95%
rename from test/src/org/apache/jmeter/gui/action/TestLoad.java
rename to src/dist-check/src/test/java/org/apache/jmeter/gui/action/TestLoad.java
index 88c4714f01..662a5865e3 100644
--- a/test/src/org/apache/jmeter/gui/action/TestLoad.java
+++ b/src/dist-check/src/test/java/org/apache/jmeter/gui/action/TestLoad.java
@@ -35,7 +35,7 @@ import junit.framework.TestSuite;
*/
public class TestLoad extends JMeterTestCaseJUnit {
- private static final String basedir = new File(System.getProperty("user.dir")).getParent();
+ private static final String basedir = new File(System.getProperty("user.dir")).getParentFile().getParent();
private static final File testfiledir = new File(basedir,"bin/testfiles");
private static final File demofiledir = new File(basedir,"xdocs/demos");
@@ -79,6 +79,9 @@ public class TestLoad extends JMeterTestCaseJUnit {
private static void scanFiles(TestSuite suite, File parent) {
String dir = parent.getName();
File[] testFiles = parent.listFiles(jmxFilter);
+ if (testFiles == null) {
+ fail("*.jmx files for test should be present in folder " + parent);
+ }
for (File file : testFiles) {
suite.addTest(new TestLoad("checkTestFile", file, dir));
}
diff --git a/test/src/org/apache/jmeter/junit/JMeterTest.java b/src/dist-check/src/test/java/org/apache/jmeter/junit/JMeterTest.java
similarity index 98%
rename from test/src/org/apache/jmeter/junit/JMeterTest.java
rename to src/dist-check/src/test/java/org/apache/jmeter/junit/JMeterTest.java
index ab6cb54fe1..9c14726762 100644
--- a/test/src/org/apache/jmeter/junit/JMeterTest.java
+++ b/src/dist-check/src/test/java/org/apache/jmeter/junit/JMeterTest.java
@@ -451,6 +451,10 @@ public class JMeterTest extends JMeterTestCaseJUnit {
if (n.endsWith("RemoteJMeterEngineImpl")) {
continue; // Don't try to instantiate remote server
}
+ if (n.endsWith("RemoteSampleListenerImpl")) {
+ // TODO: Cannot start. travis-job-e984b3d5-f93f-4b0f-b6c0-50988a5ece9d is a loopback address.
+ continue;
+ }
caught = instantiateClass(exName, myThis, objects, n, caught);
}
caughtError = false;
diff --git a/test/src/org/apache/jmeter/resources/TestPropertiesFiles.java b/src/dist-check/src/test/java/org/apache/jmeter/resources/TestPropertiesFiles.java
similarity index 100%
rename from test/src/org/apache/jmeter/resources/TestPropertiesFiles.java
rename to src/dist-check/src/test/java/org/apache/jmeter/resources/TestPropertiesFiles.java
diff --git a/test/src/org/apache/jmeter/save/TestSaveService.java b/src/dist-check/src/test/java/org/apache/jmeter/save/TestSaveService.java
similarity index 98%
rename from test/src/org/apache/jmeter/save/TestSaveService.java
rename to src/dist-check/src/test/java/org/apache/jmeter/save/TestSaveService.java
index 44699e63dd..a347595455 100644
--- a/test/src/org/apache/jmeter/save/TestSaveService.java
+++ b/src/dist-check/src/test/java/org/apache/jmeter/save/TestSaveService.java
@@ -207,7 +207,8 @@ public class TestSaveService extends JMeterTestCase {
HashTree tree = SaveService.loadTree(file);
assertNotNull(tree);
} catch (IllegalArgumentException ex) {
- fail("Exception loading " + file.getAbsolutePath());
+ ex.addSuppressed(new Throwable("fileName=" + file.getAbsolutePath()));
+ throw ex;
}
}
}
diff --git a/test/src/org/apache/jmeter/testbeans/gui/PackageTest.java b/src/dist-check/src/test/java/org/apache/jmeter/testbeans/gui/PackageTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/testbeans/gui/PackageTest.java
rename to src/dist-check/src/test/java/org/apache/jmeter/testbeans/gui/PackageTest.java
diff --git a/test/src/org/apache/jmeter/testelement/TestElementTest.java b/src/dist-check/src/test/java/org/apache/jmeter/testelement/TestElementTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/testelement/TestElementTest.java
rename to src/dist-check/src/test/java/org/apache/jmeter/testelement/TestElementTest.java
diff --git a/test/src/org/apache/jorphan/TestFunctorUsers.java b/src/dist-check/src/test/java/org/apache/jorphan/TestFunctorUsers.java
similarity index 100%
rename from test/src/org/apache/jorphan/TestFunctorUsers.java
rename to src/dist-check/src/test/java/org/apache/jorphan/TestFunctorUsers.java
diff --git a/test/src/org/apache/jorphan/reflect/TestClassFinder.java b/src/dist-check/src/test/java/org/apache/jorphan/reflect/TestClassFinder.java
similarity index 89%
rename from test/src/org/apache/jorphan/reflect/TestClassFinder.java
rename to src/dist-check/src/test/java/org/apache/jorphan/reflect/TestClassFinder.java
index 69da588101..552e9c8ed9 100644
--- a/test/src/org/apache/jorphan/reflect/TestClassFinder.java
+++ b/src/dist-check/src/test/java/org/apache/jorphan/reflect/TestClassFinder.java
@@ -19,8 +19,6 @@
package org.apache.jorphan.reflect;
import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
@@ -111,19 +109,6 @@ public class TestClassFinder {
Assert.assertFalse(annotatedClasses.isEmpty());
}
- @Test
- public void testFindAllClassesInJar() throws Exception {
- List<Path> jarsPaths = Files.find(Paths.get(libDirs[0]), 1, (p, a) -> String.valueOf(p).endsWith(".jar"))
- .collect(Collectors.toList());
- for (Path jarPath : jarsPaths) {
- if (!ClassFinder.findClasses(new String[] { jarPath.toRealPath().toString() }, c -> true).isEmpty()) {
- // ok, we found an annotated class
- return;
- }
- }
- Assert.fail("No classes found in: " + jarsPaths);
- }
-
@Test
public void testFindAnnotatedInnerClasses() throws Exception {
@SuppressWarnings("unchecked")
diff --git a/test/resources/org/apache/jmeter/gui/report/HTMLReportExpect.json b/src/dist-check/src/test/resources/org/apache/jmeter/gui/report/HTMLReportExpect.json
similarity index 100%
rename from test/resources/org/apache/jmeter/gui/report/HTMLReportExpect.json
rename to src/dist-check/src/test/resources/org/apache/jmeter/gui/report/HTMLReportExpect.json
diff --git a/src/examples/org/apache/jmeter/examples/sampler/ExampleSampler.java b/src/examples/src/main/java/org/apache/jmeter/examples/sampler/ExampleSampler.java
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/sampler/ExampleSampler.java
rename to src/examples/src/main/java/org/apache/jmeter/examples/sampler/ExampleSampler.java
diff --git a/src/examples/org/apache/jmeter/examples/sampler/gui/ExampleSamplerGui.java b/src/examples/src/main/java/org/apache/jmeter/examples/sampler/gui/ExampleSamplerGui.java
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/sampler/gui/ExampleSamplerGui.java
rename to src/examples/src/main/java/org/apache/jmeter/examples/sampler/gui/ExampleSamplerGui.java
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example1/Example1.java b/src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example1/Example1.java
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example1/Example1.java
rename to src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example1/Example1.java
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example2/Example2.java b/src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example2/Example2.java
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example2/Example2.java
rename to src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example2/Example2.java
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example2/Example2BeanInfo.java b/src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example2/Example2BeanInfo.java
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example2/Example2BeanInfo.java
rename to src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example2/Example2BeanInfo.java
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example3/Example3.java b/src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example3/Example3.java
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example3/Example3.java
rename to src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example3/Example3.java
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example3/Example3BeanInfo.java b/src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example3/Example3BeanInfo.java
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example3/Example3BeanInfo.java
rename to src/examples/src/main/java/org/apache/jmeter/examples/testbeans/example3/Example3BeanInfo.java
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources.properties b/src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources.properties
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources.properties
rename to src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources.properties
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources_es.properties b/src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources_es.properties
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources_es.properties
rename to src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources_es.properties
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources_pt_BR.properties b/src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources_pt_BR.properties
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources_pt_BR.properties
rename to src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources_pt_BR.properties
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources_tr.properties b/src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources_tr.properties
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources_tr.properties
rename to src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources_tr.properties
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources_zh_TW.properties b/src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources_zh_TW.properties
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example2/Example2Resources_zh_TW.properties
rename to src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example2/Example2Resources_zh_TW.properties
diff --git a/src/examples/org/apache/jmeter/examples/testbeans/example3/Example3Resources.properties b/src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example3/Example3Resources.properties
similarity index 100%
rename from src/examples/org/apache/jmeter/examples/testbeans/example3/Example3Resources.properties
rename to src/examples/src/main/resources/org/apache/jmeter/examples/testbeans/example3/Example3Resources.properties
diff --git a/src/functions/org/apache/jmeter/functions/AbstractFunctionByKey.java b/src/functions/src/main/java/org/apache/jmeter/functions/AbstractFunctionByKey.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/AbstractFunctionByKey.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/AbstractFunctionByKey.java
diff --git a/src/functions/org/apache/jmeter/functions/AbstractHostIPName.java b/src/functions/src/main/java/org/apache/jmeter/functions/AbstractHostIPName.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/AbstractHostIPName.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/AbstractHostIPName.java
diff --git a/src/functions/org/apache/jmeter/functions/BeanShell.java b/src/functions/src/main/java/org/apache/jmeter/functions/BeanShell.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/BeanShell.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/BeanShell.java
diff --git a/src/functions/org/apache/jmeter/functions/CSVRead.java b/src/functions/src/main/java/org/apache/jmeter/functions/CSVRead.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/CSVRead.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/CSVRead.java
diff --git a/src/functions/org/apache/jmeter/functions/ChangeCase.java b/src/functions/src/main/java/org/apache/jmeter/functions/ChangeCase.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/ChangeCase.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/ChangeCase.java
diff --git a/src/functions/org/apache/jmeter/functions/CharFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/CharFunction.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/CharFunction.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/CharFunction.java
diff --git a/src/functions/org/apache/jmeter/functions/DateTimeConvertFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/DateTimeConvertFunction.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/DateTimeConvertFunction.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/DateTimeConvertFunction.java
diff --git a/src/functions/org/apache/jmeter/functions/DigestEncodeFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/DigestEncodeFunction.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/DigestEncodeFunction.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/DigestEncodeFunction.java
diff --git a/src/functions/org/apache/jmeter/functions/EscapeHtml.java b/src/functions/src/main/java/org/apache/jmeter/functions/EscapeHtml.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/EscapeHtml.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/EscapeHtml.java
diff --git a/src/functions/org/apache/jmeter/functions/EscapeOroRegexpChars.java b/src/functions/src/main/java/org/apache/jmeter/functions/EscapeOroRegexpChars.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/EscapeOroRegexpChars.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/EscapeOroRegexpChars.java
diff --git a/src/functions/org/apache/jmeter/functions/EscapeXml.java b/src/functions/src/main/java/org/apache/jmeter/functions/EscapeXml.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/EscapeXml.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/EscapeXml.java
diff --git a/src/functions/org/apache/jmeter/functions/EvalFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/EvalFunction.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/EvalFunction.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/EvalFunction.java
diff --git a/src/functions/org/apache/jmeter/functions/EvalVarFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/EvalVarFunction.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/EvalVarFunction.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/EvalVarFunction.java
diff --git a/src/functions/org/apache/jmeter/functions/FileRowColContainer.java b/src/functions/src/main/java/org/apache/jmeter/functions/FileRowColContainer.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/FileRowColContainer.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/FileRowColContainer.java
diff --git a/src/functions/org/apache/jmeter/functions/FileToString.java b/src/functions/src/main/java/org/apache/jmeter/functions/FileToString.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/FileToString.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/FileToString.java
diff --git a/src/functions/org/apache/jmeter/functions/FileWrapper.java b/src/functions/src/main/java/org/apache/jmeter/functions/FileWrapper.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/FileWrapper.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/FileWrapper.java
diff --git a/src/functions/org/apache/jmeter/functions/Groovy.java b/src/functions/src/main/java/org/apache/jmeter/functions/Groovy.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/Groovy.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/Groovy.java
diff --git a/src/functions/org/apache/jmeter/functions/IntSum.java b/src/functions/src/main/java/org/apache/jmeter/functions/IntSum.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/IntSum.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/IntSum.java
diff --git a/src/functions/org/apache/jmeter/functions/IsPropDefined.java b/src/functions/src/main/java/org/apache/jmeter/functions/IsPropDefined.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/IsPropDefined.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/IsPropDefined.java
diff --git a/src/functions/org/apache/jmeter/functions/IsVarDefined.java b/src/functions/src/main/java/org/apache/jmeter/functions/IsVarDefined.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/IsVarDefined.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/IsVarDefined.java
diff --git a/src/functions/org/apache/jmeter/functions/IterationCounter.java b/src/functions/src/main/java/org/apache/jmeter/functions/IterationCounter.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/IterationCounter.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/IterationCounter.java
diff --git a/src/functions/org/apache/jmeter/functions/JavaScript.java b/src/functions/src/main/java/org/apache/jmeter/functions/JavaScript.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/JavaScript.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/JavaScript.java
diff --git a/src/functions/org/apache/jmeter/functions/Jexl2Function.java b/src/functions/src/main/java/org/apache/jmeter/functions/Jexl2Function.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/Jexl2Function.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/Jexl2Function.java
diff --git a/src/functions/org/apache/jmeter/functions/Jexl3Function.java b/src/functions/src/main/java/org/apache/jmeter/functions/Jexl3Function.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/Jexl3Function.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/Jexl3Function.java
diff --git a/src/functions/org/apache/jmeter/functions/LogFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/LogFunction.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/LogFunction.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/LogFunction.java
diff --git a/src/functions/org/apache/jmeter/functions/LogFunction2.java b/src/functions/src/main/java/org/apache/jmeter/functions/LogFunction2.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/LogFunction2.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/LogFunction2.java
diff --git a/src/functions/org/apache/jmeter/functions/LongSum.java b/src/functions/src/main/java/org/apache/jmeter/functions/LongSum.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/LongSum.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/LongSum.java
diff --git a/src/functions/org/apache/jmeter/functions/MachineIP.java b/src/functions/src/main/java/org/apache/jmeter/functions/MachineIP.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/MachineIP.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/MachineIP.java
diff --git a/src/functions/org/apache/jmeter/functions/MachineName.java b/src/functions/src/main/java/org/apache/jmeter/functions/MachineName.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/MachineName.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/MachineName.java
diff --git a/src/functions/org/apache/jmeter/functions/Property.java b/src/functions/src/main/java/org/apache/jmeter/functions/Property.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/Property.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/Property.java
diff --git a/src/functions/org/apache/jmeter/functions/Property2.java b/src/functions/src/main/java/org/apache/jmeter/functions/Property2.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/Property2.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/Property2.java
diff --git a/src/functions/org/apache/jmeter/functions/Random.java b/src/functions/src/main/java/org/apache/jmeter/functions/Random.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/Random.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/Random.java
diff --git a/src/functions/org/apache/jmeter/functions/RandomDate.java b/src/functions/src/main/java/org/apache/jmeter/functions/RandomDate.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/RandomDate.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/RandomDate.java
diff --git a/src/functions/org/apache/jmeter/functions/RandomFromMultipleVars.java b/src/functions/src/main/java/org/apache/jmeter/functions/RandomFromMultipleVars.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/RandomFromMultipleVars.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/RandomFromMultipleVars.java
diff --git a/src/functions/org/apache/jmeter/functions/RandomString.java b/src/functions/src/main/java/org/apache/jmeter/functions/RandomString.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/RandomString.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/RandomString.java
diff --git a/src/functions/org/apache/jmeter/functions/RegexFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/RegexFunction.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/RegexFunction.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/RegexFunction.java
diff --git a/src/functions/org/apache/jmeter/functions/SamplerName.java b/src/functions/src/main/java/org/apache/jmeter/functions/SamplerName.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/SamplerName.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/SamplerName.java
diff --git a/src/functions/org/apache/jmeter/functions/SetProperty.java b/src/functions/src/main/java/org/apache/jmeter/functions/SetProperty.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/SetProperty.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/SetProperty.java
diff --git a/src/functions/org/apache/jmeter/functions/SplitFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/SplitFunction.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/SplitFunction.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/SplitFunction.java
diff --git a/src/functions/org/apache/jmeter/functions/StringFromFile.java b/src/functions/src/main/java/org/apache/jmeter/functions/StringFromFile.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/StringFromFile.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/StringFromFile.java
diff --git a/src/functions/org/apache/jmeter/functions/StringToFile.java b/src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/StringToFile.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java
diff --git a/src/functions/org/apache/jmeter/functions/TestPlanName.java b/src/functions/src/main/java/org/apache/jmeter/functions/TestPlanName.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/TestPlanName.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/TestPlanName.java
diff --git a/src/functions/org/apache/jmeter/functions/ThreadGroupName.java b/src/functions/src/main/java/org/apache/jmeter/functions/ThreadGroupName.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/ThreadGroupName.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/ThreadGroupName.java
diff --git a/src/functions/org/apache/jmeter/functions/ThreadNumber.java b/src/functions/src/main/java/org/apache/jmeter/functions/ThreadNumber.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/ThreadNumber.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/ThreadNumber.java
diff --git a/src/functions/org/apache/jmeter/functions/TimeFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/TimeFunction.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/TimeFunction.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/TimeFunction.java
diff --git a/src/functions/org/apache/jmeter/functions/TimeShift.java b/src/functions/src/main/java/org/apache/jmeter/functions/TimeShift.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/TimeShift.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/TimeShift.java
diff --git a/src/functions/org/apache/jmeter/functions/UnEscape.java b/src/functions/src/main/java/org/apache/jmeter/functions/UnEscape.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/UnEscape.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/UnEscape.java
diff --git a/src/functions/org/apache/jmeter/functions/UnEscapeHtml.java b/src/functions/src/main/java/org/apache/jmeter/functions/UnEscapeHtml.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/UnEscapeHtml.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/UnEscapeHtml.java
diff --git a/src/functions/org/apache/jmeter/functions/UrlDecode.java b/src/functions/src/main/java/org/apache/jmeter/functions/UrlDecode.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/UrlDecode.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/UrlDecode.java
diff --git a/src/functions/org/apache/jmeter/functions/UrlEncode.java b/src/functions/src/main/java/org/apache/jmeter/functions/UrlEncode.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/UrlEncode.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/UrlEncode.java
diff --git a/src/functions/org/apache/jmeter/functions/Uuid.java b/src/functions/src/main/java/org/apache/jmeter/functions/Uuid.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/Uuid.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/Uuid.java
diff --git a/src/functions/org/apache/jmeter/functions/Variable.java b/src/functions/src/main/java/org/apache/jmeter/functions/Variable.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/Variable.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/Variable.java
diff --git a/src/functions/org/apache/jmeter/functions/XPath.java b/src/functions/src/main/java/org/apache/jmeter/functions/XPath.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/XPath.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/XPath.java
diff --git a/src/functions/org/apache/jmeter/functions/XPathFileContainer.java b/src/functions/src/main/java/org/apache/jmeter/functions/XPathFileContainer.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/XPathFileContainer.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/XPathFileContainer.java
diff --git a/src/functions/org/apache/jmeter/functions/XPathWrapper.java b/src/functions/src/main/java/org/apache/jmeter/functions/XPathWrapper.java
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/XPathWrapper.java
rename to src/functions/src/main/java/org/apache/jmeter/functions/XPathWrapper.java
diff --git a/src/functions/org/apache/jmeter/functions/package.html b/src/functions/src/main/java/org/apache/jmeter/functions/package.html
similarity index 100%
rename from src/functions/org/apache/jmeter/functions/package.html
rename to src/functions/src/main/java/org/apache/jmeter/functions/package.html
diff --git a/test/src/org/apache/jmeter/functions/ChangeCaseSpec.groovy b/src/functions/src/test/groovy/org/apache/jmeter/functions/ChangeCaseSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/functions/ChangeCaseSpec.groovy
rename to src/functions/src/test/groovy/org/apache/jmeter/functions/ChangeCaseSpec.groovy
diff --git a/test/src/org/apache/jmeter/functions/gui/FunctionHelperSpec.groovy b/src/functions/src/test/groovy/org/apache/jmeter/functions/gui/FunctionHelperSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/functions/gui/FunctionHelperSpec.groovy
rename to src/functions/src/test/groovy/org/apache/jmeter/functions/gui/FunctionHelperSpec.groovy
diff --git a/test/src/org/apache/jmeter/functions/CSVReadFunctionTest.java b/src/functions/src/test/java/org/apache/jmeter/functions/CSVReadFunctionTest.java
similarity index 97%
rename from test/src/org/apache/jmeter/functions/CSVReadFunctionTest.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/CSVReadFunctionTest.java
index 633690a045..1929ef5870 100644
--- a/test/src/org/apache/jmeter/functions/CSVReadFunctionTest.java
+++ b/src/functions/src/test/java/org/apache/jmeter/functions/CSVReadFunctionTest.java
@@ -36,11 +36,11 @@ public class CSVReadFunctionTest extends JMeterTestCase implements JMeterSerialT
private static final Logger log = LoggerFactory.getLogger(CSVReadFunctionTest.class);
// Create the CSVRead function and set its parameters.
- private static CSVRead setCSVReadParams(String p1, String p2) throws Exception {
+ private CSVRead setCSVReadParams(String p1, String p2) throws Exception {
CSVRead cr = new CSVRead();
Collection<CompoundVariable> parms = new LinkedList<>();
if (p1 != null) {
- parms.add(new CompoundVariable(p1));
+ parms.add(new CompoundVariable(getResourceFilePath(p1)));
}
if (p2 != null) {
parms.add(new CompoundVariable(p2));
diff --git a/test/src/org/apache/jmeter/functions/EvalFunctionTest.java b/src/functions/src/test/java/org/apache/jmeter/functions/EvalFunctionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/EvalFunctionTest.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/EvalFunctionTest.java
diff --git a/test/src/org/apache/jmeter/functions/FunctionTestHelper.java b/src/functions/src/test/java/org/apache/jmeter/functions/FunctionTestHelper.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/FunctionTestHelper.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/FunctionTestHelper.java
diff --git a/test/src/org/apache/jmeter/functions/PackageTest.java b/src/functions/src/test/java/org/apache/jmeter/functions/PackageTest.java
similarity index 95%
rename from test/src/org/apache/jmeter/functions/PackageTest.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/PackageTest.java
index 4219931890..14702692c5 100644
--- a/test/src/org/apache/jmeter/functions/PackageTest.java
+++ b/src/functions/src/test/java/org/apache/jmeter/functions/PackageTest.java
@@ -50,11 +50,11 @@ public class PackageTest extends JMeterTestCaseJUnit {
}
// Create the CSVRead function and set its parameters.
- private static CSVRead setCSVReadParams(String p1, String p2) throws Exception {
+ private CSVRead setCSVReadParams(String p1, String p2) throws Exception {
CSVRead cr = new CSVRead();
Collection<CompoundVariable> parms = new LinkedList<>();
if (p1 != null) {
- parms.add(new CompoundVariable(p1));
+ parms.add(new CompoundVariable(getResourceFilePath(p1)));
}
if (p2 != null) {
parms.add(new CompoundVariable(p2));
@@ -298,7 +298,7 @@ public class PackageTest extends JMeterTestCaseJUnit {
}
public void XPathtestrowNum() throws Exception {
- XPathFileContainer f = new XPathFileContainer("../build.xml", "/project/target/@name");
+ XPathFileContainer f = new XPathFileContainer(getResourceFilePath("xpathfilecontainer.xml"), "/project/target/@name");
assertNotNull(f);
int myRow = f.nextRow();
@@ -315,7 +315,7 @@ public class PackageTest extends JMeterTestCaseJUnit {
}
public void XPathtestColumns() throws Exception {
- XPathFileContainer f = new XPathFileContainer("../build.xml", "/project/target/@name");
+ XPathFileContainer f = new XPathFileContainer(getResourceFilePath("xpathfilecontainer.xml"), "/project/target/@name");
assertNotNull(f);
assertTrue("Not empty", f.size() > 0);
int last = 0;
@@ -328,7 +328,7 @@ public class PackageTest extends JMeterTestCaseJUnit {
}
public void XPathtestDefault() throws Exception {
- XPathFileContainer f = new XPathFileContainer("../build.xml", "/project/@default");
+ XPathFileContainer f = new XPathFileContainer(getResourceFilePath("xpathfilecontainer.xml"), "/project/@default");
assertNotNull(f);
assertTrue("Not empty", f.size() > 0);
assertEquals("install", f.getXPathString(0));
@@ -430,7 +430,7 @@ public class PackageTest extends JMeterTestCaseJUnit {
private XPath setupXPath(String file, String expr) throws Exception{
Collection<CompoundVariable> parms = new LinkedList<>();
- parms.add(new CompoundVariable(file));
+ parms.add(new CompoundVariable(getResourceFilePath(file)));
parms.add(new CompoundVariable(expr));
XPath xp = new XPath();
xp.setParameters(parms);
diff --git a/test/src/org/apache/jmeter/functions/RandomFunctionTest.java b/src/functions/src/test/java/org/apache/jmeter/functions/RandomFunctionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/RandomFunctionTest.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/RandomFunctionTest.java
diff --git a/test/src/org/apache/jmeter/functions/SplitFunctionTest.java b/src/functions/src/test/java/org/apache/jmeter/functions/SplitFunctionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/SplitFunctionTest.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/SplitFunctionTest.java
diff --git a/test/src/org/apache/jmeter/functions/StringFromFileFunctionTest.java b/src/functions/src/test/java/org/apache/jmeter/functions/StringFromFileFunctionTest.java
similarity index 90%
rename from test/src/org/apache/jmeter/functions/StringFromFileFunctionTest.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/StringFromFileFunctionTest.java
index 6d6fbde652..7ecfd1e853 100644
--- a/test/src/org/apache/jmeter/functions/StringFromFileFunctionTest.java
+++ b/src/functions/src/test/java/org/apache/jmeter/functions/StringFromFileFunctionTest.java
@@ -33,7 +33,10 @@ public class StringFromFileFunctionTest extends JMeterTestCase {
@Test
public void SFFTest1() throws Exception {
- StringFromFile sff1 = SFFParams("testfiles/SFFTest#'.'txt", "", "1", "3");
+ String dir = getResourceFilePath("testfiles/");
+ // It is processed by DecimalFormat, and dots in path would result in
+ // IllegalArgumentException: Multiple decimal separators in pattern
+ StringFromFile sff1 = SFFParams("'" + dir.replaceAll("'", "''") + "/SFFTest'#'.'txt", "", "1", "3");
assertEquals("uno", sff1.execute());
assertEquals("dos", sff1.execute());
assertEquals("tres", sff1.execute());
@@ -117,11 +120,11 @@ public class StringFromFileFunctionTest extends JMeterTestCase {
}
// Create the StringFromFile function and set its parameters.
- private static StringFromFile SFFParams(String p1, String p2, String p3, String p4) throws Exception {
+ private StringFromFile SFFParams(String p1, String p2, String p3, String p4) throws Exception {
StringFromFile sff = new StringFromFile();
Collection<CompoundVariable> parms = new LinkedList<>();
if (p1 != null) {
- parms.add(new CompoundVariable(p1));
+ parms.add(new CompoundVariable(getResourceFilePath(p1)));
}
if (p2 != null) {
parms.add(new CompoundVariable(p2));
diff --git a/test/src/org/apache/jmeter/functions/SumFunctionTest.java b/src/functions/src/test/java/org/apache/jmeter/functions/SumFunctionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/SumFunctionTest.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/SumFunctionTest.java
diff --git a/test/src/org/apache/jmeter/functions/TestChangeCase.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestChangeCase.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestChangeCase.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestChangeCase.java
diff --git a/test/src/org/apache/jmeter/functions/TestDateTimeConvertFunction.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestDateTimeConvertFunction.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestDateTimeConvertFunction.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestDateTimeConvertFunction.java
diff --git a/test/src/org/apache/jmeter/functions/TestDigestFunction.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestDigestFunction.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestDigestFunction.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestDigestFunction.java
diff --git a/test/src/org/apache/jmeter/functions/TestEscapeOroRegexpChars.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestEscapeOroRegexpChars.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestEscapeOroRegexpChars.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestEscapeOroRegexpChars.java
diff --git a/test/src/org/apache/jmeter/functions/TestFileRowColContainer.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestFileRowColContainer.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestFileRowColContainer.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestFileRowColContainer.java
diff --git a/test/src/org/apache/jmeter/functions/TestFileToString.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestFileToString.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestFileToString.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestFileToString.java
diff --git a/test/src/org/apache/jmeter/functions/TestGroovyFunction.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestGroovyFunction.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestGroovyFunction.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestGroovyFunction.java
diff --git a/test/src/org/apache/jmeter/functions/TestIsPropDefined.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestIsPropDefined.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestIsPropDefined.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestIsPropDefined.java
diff --git a/test/src/org/apache/jmeter/functions/TestIsVarDefined.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestIsVarDefined.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestIsVarDefined.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestIsVarDefined.java
diff --git a/test/src/org/apache/jmeter/functions/TestJavascriptFunction.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestJavascriptFunction.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestJavascriptFunction.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestJavascriptFunction.java
diff --git a/test/src/org/apache/jmeter/functions/TestJavascriptFunctionWithRhino.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestJavascriptFunctionWithRhino.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestJavascriptFunctionWithRhino.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestJavascriptFunctionWithRhino.java
diff --git a/test/src/org/apache/jmeter/functions/TestJexl2Function.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestJexl2Function.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestJexl2Function.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestJexl2Function.java
diff --git a/test/src/org/apache/jmeter/functions/TestJexl3Function.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestJexl3Function.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestJexl3Function.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestJexl3Function.java
diff --git a/test/src/org/apache/jmeter/functions/TestMachineIPName.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestMachineIPName.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestMachineIPName.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestMachineIPName.java
diff --git a/test/src/org/apache/jmeter/functions/TestRandomFromMultipleVars.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestRandomFromMultipleVars.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestRandomFromMultipleVars.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestRandomFromMultipleVars.java
diff --git a/test/src/org/apache/jmeter/functions/TestRegexFunction.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestRegexFunction.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestRegexFunction.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestRegexFunction.java
diff --git a/test/src/org/apache/jmeter/functions/TestSamplerNameFunction.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestSamplerNameFunction.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestSamplerNameFunction.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestSamplerNameFunction.java
diff --git a/test/src/org/apache/jmeter/functions/TestSetProperty.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestSetProperty.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestSetProperty.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestSetProperty.java
diff --git a/test/src/org/apache/jmeter/functions/TestSimpleFunctions.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestSimpleFunctions.java
similarity index 97%
rename from test/src/org/apache/jmeter/functions/TestSimpleFunctions.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestSimpleFunctions.java
index 248095c454..d5f5b1878a 100644
--- a/test/src/org/apache/jmeter/functions/TestSimpleFunctions.java
+++ b/src/functions/src/test/java/org/apache/jmeter/functions/TestSimpleFunctions.java
@@ -26,7 +26,7 @@ import java.util.UUID;
import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.junit.JMeterTestCase;
-import org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy;
+import org.apache.jmeter.junit.stubs.TestSampler;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.services.FileServer;
import org.apache.jmeter.threads.JMeterContext;
@@ -178,7 +178,7 @@ public class TestSimpleFunctions extends JMeterTestCase implements JMeterSerialT
public void testThreadGroupName() throws Exception {
AbstractFunctionByKey function = new ThreadGroupName();
try {
- HTTPSamplerProxy httpRequest = new HTTPSamplerProxy();
+ TestSampler httpRequest = new TestSampler();
ThreadGroup threadGroup = new ThreadGroup();
threadGroup.setName("ThreadGroup-1");
JMeterContext context = JMeterContextService.getContext();
@@ -195,7 +195,7 @@ public class TestSimpleFunctions extends JMeterTestCase implements JMeterSerialT
public void testThreadGroupNameBug63241() throws Exception {
AbstractFunctionByKey function = new ThreadGroupName();
try {
- HTTPSamplerProxy httpRequest = new HTTPSamplerProxy();
+ TestSampler httpRequest = new TestSampler();
JMeterContext context = JMeterContextService.getContext();
// This is the state when called from a non test thread
context.setThreadGroup(null);
diff --git a/test/src/org/apache/jmeter/functions/TestStringtoFile.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestStringtoFile.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestStringtoFile.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestStringtoFile.java
diff --git a/test/src/org/apache/jmeter/functions/TestTimeFunction.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestTimeFunction.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestTimeFunction.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestTimeFunction.java
diff --git a/test/src/org/apache/jmeter/functions/TestTimeRandomDateFunction.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestTimeRandomDateFunction.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestTimeRandomDateFunction.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestTimeRandomDateFunction.java
diff --git a/test/src/org/apache/jmeter/functions/TestTimeShiftFunction.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestTimeShiftFunction.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestTimeShiftFunction.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestTimeShiftFunction.java
diff --git a/test/src/org/apache/jmeter/functions/TestUrlEncodeDecode.java b/src/functions/src/test/java/org/apache/jmeter/functions/TestUrlEncodeDecode.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/TestUrlEncodeDecode.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/TestUrlEncodeDecode.java
diff --git a/test/src/org/apache/jmeter/functions/VariableTest.java b/src/functions/src/test/java/org/apache/jmeter/functions/VariableTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/functions/VariableTest.java
rename to src/functions/src/test/java/org/apache/jmeter/functions/VariableTest.java
diff --git a/bin/testfiles/BeanShellTest.bsh b/src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/BeanShellTest.bsh
similarity index 100%
rename from bin/testfiles/BeanShellTest.bsh
rename to src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/BeanShellTest.bsh
diff --git a/bin/testfiles/SFFTest1.txt b/src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/SFFTest1.txt
similarity index 100%
rename from bin/testfiles/SFFTest1.txt
rename to src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/SFFTest1.txt
diff --git a/bin/testfiles/SFFTest2.txt b/src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/SFFTest2.txt
similarity index 100%
rename from bin/testfiles/SFFTest2.txt
rename to src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/SFFTest2.txt
diff --git a/bin/testfiles/SFFTest3.txt b/src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/SFFTest3.txt
similarity index 100%
rename from bin/testfiles/SFFTest3.txt
rename to src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/SFFTest3.txt
diff --git a/bin/testfiles/XPathTest.xml b/src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/XPathTest.xml
similarity index 100%
rename from bin/testfiles/XPathTest.xml
rename to src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/XPathTest.xml
diff --git a/bin/testfiles/XPathTest2.xml b/src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/XPathTest2.xml
similarity index 100%
rename from bin/testfiles/XPathTest2.xml
rename to src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/XPathTest2.xml
diff --git a/bin/testfiles/testblank.csv b/src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/testblank.csv
similarity index 100%
rename from bin/testfiles/testblank.csv
rename to src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/testblank.csv
diff --git a/bin/testfiles/unit/CSVReadFunctionTest.csv b/src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/unit/CSVReadFunctionTest.csv
similarity index 100%
rename from bin/testfiles/unit/CSVReadFunctionTest.csv
rename to src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/unit/CSVReadFunctionTest.csv
diff --git a/bin/testfiles/unit/FunctionsPackageTest.csv b/src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/unit/FunctionsPackageTest.csv
similarity index 100%
rename from bin/testfiles/unit/FunctionsPackageTest.csv
rename to src/functions/src/test/resources/org/apache/jmeter/functions/testfiles/unit/FunctionsPackageTest.csv
diff --git a/src/functions/src/test/resources/org/apache/jmeter/functions/xpathfilecontainer.xml b/src/functions/src/test/resources/org/apache/jmeter/functions/xpathfilecontainer.xml
new file mode 100644
index 0000000000..eb2bb95866
--- /dev/null
+++ b/src/functions/src/test/resources/org/apache/jmeter/functions/xpathfilecontainer.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project default="install">
+ <target name="clean"/>
+ <target name="build"/>
+ <target name="install"/>
+ <target name="uninstall"/>
+</project>
\ No newline at end of file
diff --git a/test/src/org/apache/jmeter/visualizers/GenerateTreeGui.java b/src/generator/src/main/java/org/apache/jmeter/visualizers/GenerateTreeGui.java
similarity index 100%
rename from test/src/org/apache/jmeter/visualizers/GenerateTreeGui.java
rename to src/generator/src/main/java/org/apache/jmeter/visualizers/GenerateTreeGui.java
diff --git a/src/jorphan/org/apache/commons/cli/avalon/AbstractParserControl.java b/src/jorphan/src/main/java/org/apache/commons/cli/avalon/AbstractParserControl.java
similarity index 100%
rename from src/jorphan/org/apache/commons/cli/avalon/AbstractParserControl.java
rename to src/jorphan/src/main/java/org/apache/commons/cli/avalon/AbstractParserControl.java
diff --git a/src/jorphan/org/apache/commons/cli/avalon/CLArgsParser.java b/src/jorphan/src/main/java/org/apache/commons/cli/avalon/CLArgsParser.java
similarity index 100%
rename from src/jorphan/org/apache/commons/cli/avalon/CLArgsParser.java
rename to src/jorphan/src/main/java/org/apache/commons/cli/avalon/CLArgsParser.java
diff --git a/src/jorphan/org/apache/commons/cli/avalon/CLOption.java b/src/jorphan/src/main/java/org/apache/commons/cli/avalon/CLOption.java
similarity index 100%
rename from src/jorphan/org/apache/commons/cli/avalon/CLOption.java
rename to src/jorphan/src/main/java/org/apache/commons/cli/avalon/CLOption.java
diff --git a/src/jorphan/org/apache/commons/cli/avalon/CLOptionDescriptor.java b/src/jorphan/src/main/java/org/apache/commons/cli/avalon/CLOptionDescriptor.java
similarity index 100%
rename from src/jorphan/org/apache/commons/cli/avalon/CLOptionDescriptor.java
rename to src/jorphan/src/main/java/org/apache/commons/cli/avalon/CLOptionDescriptor.java
diff --git a/src/jorphan/org/apache/commons/cli/avalon/CLUtil.java b/src/jorphan/src/main/java/org/apache/commons/cli/avalon/CLUtil.java
similarity index 100%
rename from src/jorphan/org/apache/commons/cli/avalon/CLUtil.java
rename to src/jorphan/src/main/java/org/apache/commons/cli/avalon/CLUtil.java
diff --git a/src/jorphan/org/apache/commons/cli/avalon/ParserControl.java b/src/jorphan/src/main/java/org/apache/commons/cli/avalon/ParserControl.java
similarity index 100%
rename from src/jorphan/org/apache/commons/cli/avalon/ParserControl.java
rename to src/jorphan/src/main/java/org/apache/commons/cli/avalon/ParserControl.java
diff --git a/src/jorphan/org/apache/commons/cli/avalon/Token.java b/src/jorphan/src/main/java/org/apache/commons/cli/avalon/Token.java
similarity index 100%
rename from src/jorphan/org/apache/commons/cli/avalon/Token.java
rename to src/jorphan/src/main/java/org/apache/commons/cli/avalon/Token.java
diff --git a/src/jorphan/org/apache/commons/cli/avalon/package.html b/src/jorphan/src/main/java/org/apache/commons/cli/avalon/package.html
similarity index 100%
rename from src/jorphan/org/apache/commons/cli/avalon/package.html
rename to src/jorphan/src/main/java/org/apache/commons/cli/avalon/package.html
diff --git a/src/jorphan/org/apache/jorphan/collections/Data.java b/src/jorphan/src/main/java/org/apache/jorphan/collections/Data.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/collections/Data.java
rename to src/jorphan/src/main/java/org/apache/jorphan/collections/Data.java
diff --git a/src/jorphan/org/apache/jorphan/collections/HashTree.java b/src/jorphan/src/main/java/org/apache/jorphan/collections/HashTree.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/collections/HashTree.java
rename to src/jorphan/src/main/java/org/apache/jorphan/collections/HashTree.java
diff --git a/src/jorphan/org/apache/jorphan/collections/HashTreeTraverser.java b/src/jorphan/src/main/java/org/apache/jorphan/collections/HashTreeTraverser.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/collections/HashTreeTraverser.java
rename to src/jorphan/src/main/java/org/apache/jorphan/collections/HashTreeTraverser.java
diff --git a/src/jorphan/org/apache/jorphan/collections/ListedHashTree.java b/src/jorphan/src/main/java/org/apache/jorphan/collections/ListedHashTree.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/collections/ListedHashTree.java
rename to src/jorphan/src/main/java/org/apache/jorphan/collections/ListedHashTree.java
diff --git a/src/jorphan/org/apache/jorphan/collections/SearchByClass.java b/src/jorphan/src/main/java/org/apache/jorphan/collections/SearchByClass.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/collections/SearchByClass.java
rename to src/jorphan/src/main/java/org/apache/jorphan/collections/SearchByClass.java
diff --git a/src/jorphan/org/apache/jorphan/documentation/VisibleForTesting.java b/src/jorphan/src/main/java/org/apache/jorphan/documentation/VisibleForTesting.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/documentation/VisibleForTesting.java
rename to src/jorphan/src/main/java/org/apache/jorphan/documentation/VisibleForTesting.java
diff --git a/src/jorphan/org/apache/jorphan/exec/KeyToolUtils.java b/src/jorphan/src/main/java/org/apache/jorphan/exec/KeyToolUtils.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/exec/KeyToolUtils.java
rename to src/jorphan/src/main/java/org/apache/jorphan/exec/KeyToolUtils.java
diff --git a/src/jorphan/org/apache/jorphan/exec/StreamCopier.java b/src/jorphan/src/main/java/org/apache/jorphan/exec/StreamCopier.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/exec/StreamCopier.java
rename to src/jorphan/src/main/java/org/apache/jorphan/exec/StreamCopier.java
diff --git a/src/jorphan/org/apache/jorphan/exec/SystemCommand.java b/src/jorphan/src/main/java/org/apache/jorphan/exec/SystemCommand.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/exec/SystemCommand.java
rename to src/jorphan/src/main/java/org/apache/jorphan/exec/SystemCommand.java
diff --git a/src/jorphan/org/apache/jorphan/gui/AbstractTreeTableModel.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/AbstractTreeTableModel.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/AbstractTreeTableModel.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/AbstractTreeTableModel.java
diff --git a/src/jorphan/org/apache/jorphan/gui/ComponentUtil.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/ComponentUtil.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/ComponentUtil.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/ComponentUtil.java
diff --git a/src/jorphan/org/apache/jorphan/gui/DefaultTreeTableModel.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/DefaultTreeTableModel.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/DefaultTreeTableModel.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/DefaultTreeTableModel.java
diff --git a/src/jorphan/org/apache/jorphan/gui/GuiUtils.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/GuiUtils.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/GuiUtils.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/GuiUtils.java
diff --git a/src/jorphan/org/apache/jorphan/gui/JLabeledChoice.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledChoice.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/JLabeledChoice.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledChoice.java
diff --git a/src/jorphan/org/apache/jorphan/gui/JLabeledField.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledField.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/JLabeledField.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledField.java
diff --git a/src/jorphan/org/apache/jorphan/gui/JLabeledPasswordField.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledPasswordField.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/JLabeledPasswordField.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledPasswordField.java
diff --git a/src/jorphan/org/apache/jorphan/gui/JLabeledTextArea.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledTextArea.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/JLabeledTextArea.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledTextArea.java
diff --git a/src/jorphan/org/apache/jorphan/gui/JLabeledTextField.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledTextField.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/JLabeledTextField.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/JLabeledTextField.java
diff --git a/src/jorphan/org/apache/jorphan/gui/JTreeTable.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/JTreeTable.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/JTreeTable.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/JTreeTable.java
diff --git a/src/jorphan/org/apache/jorphan/gui/MenuScroller.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/MenuScroller.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/MenuScroller.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/MenuScroller.java
diff --git a/src/jorphan/org/apache/jorphan/gui/MinMaxLongRenderer.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/MinMaxLongRenderer.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/MinMaxLongRenderer.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/MinMaxLongRenderer.java
diff --git a/src/jorphan/org/apache/jorphan/gui/NumberRenderer.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/NumberRenderer.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/NumberRenderer.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/NumberRenderer.java
diff --git a/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/ObjectTableModel.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/ObjectTableModel.java
diff --git a/src/jorphan/org/apache/jorphan/gui/ObjectTableSorter.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/ObjectTableSorter.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/ObjectTableSorter.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/ObjectTableSorter.java
diff --git a/src/jorphan/org/apache/jorphan/gui/RateRenderer.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/RateRenderer.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/RateRenderer.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/RateRenderer.java
diff --git a/src/jorphan/org/apache/jorphan/gui/RendererUtils.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/RendererUtils.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/RendererUtils.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/RendererUtils.java
diff --git a/src/jorphan/org/apache/jorphan/gui/RightAlignRenderer.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/RightAlignRenderer.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/RightAlignRenderer.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/RightAlignRenderer.java
diff --git a/src/jorphan/org/apache/jorphan/gui/TreeTableModel.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/TreeTableModel.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/TreeTableModel.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/TreeTableModel.java
diff --git a/src/jorphan/org/apache/jorphan/gui/layout/VerticalLayout.java b/src/jorphan/src/main/java/org/apache/jorphan/gui/layout/VerticalLayout.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/gui/layout/VerticalLayout.java
rename to src/jorphan/src/main/java/org/apache/jorphan/gui/layout/VerticalLayout.java
diff --git a/src/jorphan/org/apache/jorphan/io/TextFile.java b/src/jorphan/src/main/java/org/apache/jorphan/io/TextFile.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/io/TextFile.java
rename to src/jorphan/src/main/java/org/apache/jorphan/io/TextFile.java
diff --git a/src/jorphan/org/apache/jorphan/logging/LoggingManager.java b/src/jorphan/src/main/java/org/apache/jorphan/logging/LoggingManager.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/logging/LoggingManager.java
rename to src/jorphan/src/main/java/org/apache/jorphan/logging/LoggingManager.java
diff --git a/src/jorphan/org/apache/jorphan/logging/Slf4jLogkitLogger.java b/src/jorphan/src/main/java/org/apache/jorphan/logging/Slf4jLogkitLogger.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/logging/Slf4jLogkitLogger.java
rename to src/jorphan/src/main/java/org/apache/jorphan/logging/Slf4jLogkitLogger.java
diff --git a/src/jorphan/org/apache/jorphan/math/NumberComparator.java b/src/jorphan/src/main/java/org/apache/jorphan/math/NumberComparator.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/math/NumberComparator.java
rename to src/jorphan/src/main/java/org/apache/jorphan/math/NumberComparator.java
diff --git a/src/jorphan/org/apache/jorphan/math/StatCalculator.java b/src/jorphan/src/main/java/org/apache/jorphan/math/StatCalculator.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/math/StatCalculator.java
rename to src/jorphan/src/main/java/org/apache/jorphan/math/StatCalculator.java
diff --git a/src/jorphan/org/apache/jorphan/math/StatCalculatorInteger.java b/src/jorphan/src/main/java/org/apache/jorphan/math/StatCalculatorInteger.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/math/StatCalculatorInteger.java
rename to src/jorphan/src/main/java/org/apache/jorphan/math/StatCalculatorInteger.java
diff --git a/src/jorphan/org/apache/jorphan/math/StatCalculatorLong.java b/src/jorphan/src/main/java/org/apache/jorphan/math/StatCalculatorLong.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/math/StatCalculatorLong.java
rename to src/jorphan/src/main/java/org/apache/jorphan/math/StatCalculatorLong.java
diff --git a/src/jorphan/org/apache/jorphan/reflect/ClassFilter.java b/src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassFilter.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/reflect/ClassFilter.java
rename to src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassFilter.java
diff --git a/src/jorphan/org/apache/jorphan/reflect/ClassFinder.java b/src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassFinder.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/reflect/ClassFinder.java
rename to src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassFinder.java
diff --git a/src/jorphan/org/apache/jorphan/reflect/ClassTools.java b/src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassTools.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/reflect/ClassTools.java
rename to src/jorphan/src/main/java/org/apache/jorphan/reflect/ClassTools.java
diff --git a/src/jorphan/org/apache/jorphan/reflect/Functor.java b/src/jorphan/src/main/java/org/apache/jorphan/reflect/Functor.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/reflect/Functor.java
rename to src/jorphan/src/main/java/org/apache/jorphan/reflect/Functor.java
diff --git a/src/jorphan/org/apache/jorphan/test/UnitTestManager.java b/src/jorphan/src/main/java/org/apache/jorphan/test/UnitTestManager.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/test/UnitTestManager.java
rename to src/jorphan/src/main/java/org/apache/jorphan/test/UnitTestManager.java
diff --git a/src/jorphan/org/apache/jorphan/util/Converter.java b/src/jorphan/src/main/java/org/apache/jorphan/util/Converter.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/Converter.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/Converter.java
diff --git a/src/jorphan/org/apache/jorphan/util/HeapDumper.java b/src/jorphan/src/main/java/org/apache/jorphan/util/HeapDumper.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/HeapDumper.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/HeapDumper.java
diff --git a/src/jorphan/org/apache/jorphan/util/JMeterError.java b/src/jorphan/src/main/java/org/apache/jorphan/util/JMeterError.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/JMeterError.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/JMeterError.java
diff --git a/src/jorphan/org/apache/jorphan/util/JMeterException.java b/src/jorphan/src/main/java/org/apache/jorphan/util/JMeterException.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/JMeterException.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/JMeterException.java
diff --git a/src/jorphan/org/apache/jorphan/util/JMeterStopTestException.java b/src/jorphan/src/main/java/org/apache/jorphan/util/JMeterStopTestException.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/JMeterStopTestException.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/JMeterStopTestException.java
diff --git a/src/jorphan/org/apache/jorphan/util/JMeterStopTestNowException.java b/src/jorphan/src/main/java/org/apache/jorphan/util/JMeterStopTestNowException.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/JMeterStopTestNowException.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/JMeterStopTestNowException.java
diff --git a/src/jorphan/org/apache/jorphan/util/JMeterStopThreadException.java b/src/jorphan/src/main/java/org/apache/jorphan/util/JMeterStopThreadException.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/JMeterStopThreadException.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/JMeterStopThreadException.java
diff --git a/src/jorphan/org/apache/jorphan/util/JOrphanUtils.java b/src/jorphan/src/main/java/org/apache/jorphan/util/JOrphanUtils.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/JOrphanUtils.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/JOrphanUtils.java
diff --git a/src/jorphan/org/apache/jorphan/util/ThreadDumper.java b/src/jorphan/src/main/java/org/apache/jorphan/util/ThreadDumper.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/ThreadDumper.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/ThreadDumper.java
diff --git a/src/jorphan/org/apache/jorphan/util/XMLBuffer.java b/src/jorphan/src/main/java/org/apache/jorphan/util/XMLBuffer.java
similarity index 100%
rename from src/jorphan/org/apache/jorphan/util/XMLBuffer.java
rename to src/jorphan/src/main/java/org/apache/jorphan/util/XMLBuffer.java
diff --git a/src/jorphan/org/apache/log/ContextMap.java b/src/jorphan/src/main/java/org/apache/log/ContextMap.java
similarity index 100%
rename from src/jorphan/org/apache/log/ContextMap.java
rename to src/jorphan/src/main/java/org/apache/log/ContextMap.java
diff --git a/src/jorphan/org/apache/log/LogEvent.java b/src/jorphan/src/main/java/org/apache/log/LogEvent.java
similarity index 100%
rename from src/jorphan/org/apache/log/LogEvent.java
rename to src/jorphan/src/main/java/org/apache/log/LogEvent.java
diff --git a/src/jorphan/org/apache/log/LogTarget.java b/src/jorphan/src/main/java/org/apache/log/LogTarget.java
similarity index 100%
rename from src/jorphan/org/apache/log/LogTarget.java
rename to src/jorphan/src/main/java/org/apache/log/LogTarget.java
diff --git a/src/jorphan/org/apache/log/Logger.java b/src/jorphan/src/main/java/org/apache/log/Logger.java
similarity index 100%
rename from src/jorphan/org/apache/log/Logger.java
rename to src/jorphan/src/main/java/org/apache/log/Logger.java
diff --git a/src/jorphan/org/apache/log/Priority.java b/src/jorphan/src/main/java/org/apache/log/Priority.java
similarity index 100%
rename from src/jorphan/org/apache/log/Priority.java
rename to src/jorphan/src/main/java/org/apache/log/Priority.java
diff --git a/test/src/org/apache/jorphan/io/TextFileSpec.groovy b/src/jorphan/src/test/groovy/org/apache/jorphan/io/TextFileSpec.groovy
similarity index 100%
rename from test/src/org/apache/jorphan/io/TextFileSpec.groovy
rename to src/jorphan/src/test/groovy/org/apache/jorphan/io/TextFileSpec.groovy
diff --git a/test/src/org/apache/jorphan/util/ConverterSpec.groovy b/src/jorphan/src/test/groovy/org/apache/jorphan/util/ConverterSpec.groovy
similarity index 100%
rename from test/src/org/apache/jorphan/util/ConverterSpec.groovy
rename to src/jorphan/src/test/groovy/org/apache/jorphan/util/ConverterSpec.groovy
diff --git a/test/src/org/apache/commons/cli/avalon/ClutilTestCase.java b/src/jorphan/src/test/java/org/apache/commons/cli/avalon/ClutilTestCase.java
similarity index 100%
rename from test/src/org/apache/commons/cli/avalon/ClutilTestCase.java
rename to src/jorphan/src/test/java/org/apache/commons/cli/avalon/ClutilTestCase.java
diff --git a/test/src/org/apache/jorphan/collections/PackageTest.java b/src/jorphan/src/test/java/org/apache/jorphan/collections/PackageTest.java
similarity index 100%
rename from test/src/org/apache/jorphan/collections/PackageTest.java
rename to src/jorphan/src/test/java/org/apache/jorphan/collections/PackageTest.java
diff --git a/test/src/org/apache/jorphan/exec/TestKeyToolUtils.java b/src/jorphan/src/test/java/org/apache/jorphan/exec/TestKeyToolUtils.java
similarity index 100%
rename from test/src/org/apache/jorphan/exec/TestKeyToolUtils.java
rename to src/jorphan/src/test/java/org/apache/jorphan/exec/TestKeyToolUtils.java
diff --git a/test/src/org/apache/jorphan/gui/MinMaxLongRendererTest.java b/src/jorphan/src/test/java/org/apache/jorphan/gui/MinMaxLongRendererTest.java
similarity index 100%
rename from test/src/org/apache/jorphan/gui/MinMaxLongRendererTest.java
rename to src/jorphan/src/test/java/org/apache/jorphan/gui/MinMaxLongRendererTest.java
diff --git a/test/src/org/apache/jorphan/gui/ObjectTableModelTest.java b/src/jorphan/src/test/java/org/apache/jorphan/gui/ObjectTableModelTest.java
similarity index 100%
rename from test/src/org/apache/jorphan/gui/ObjectTableModelTest.java
rename to src/jorphan/src/test/java/org/apache/jorphan/gui/ObjectTableModelTest.java
diff --git a/test/src/org/apache/jorphan/gui/ObjectTableSorterTest.java b/src/jorphan/src/test/java/org/apache/jorphan/gui/ObjectTableSorterTest.java
similarity index 100%
rename from test/src/org/apache/jorphan/gui/ObjectTableSorterTest.java
rename to src/jorphan/src/test/java/org/apache/jorphan/gui/ObjectTableSorterTest.java
diff --git a/test/src/org/apache/jorphan/gui/TableModelEventBacker.java b/src/jorphan/src/test/java/org/apache/jorphan/gui/TableModelEventBacker.java
similarity index 100%
rename from test/src/org/apache/jorphan/gui/TableModelEventBacker.java
rename to src/jorphan/src/test/java/org/apache/jorphan/gui/TableModelEventBacker.java
diff --git a/test/src/org/apache/jorphan/math/TestStatCalculator.java b/src/jorphan/src/test/java/org/apache/jorphan/math/TestStatCalculator.java
similarity index 100%
rename from test/src/org/apache/jorphan/math/TestStatCalculator.java
rename to src/jorphan/src/test/java/org/apache/jorphan/math/TestStatCalculator.java
diff --git a/test/src/org/apache/jorphan/reflect/TestClassTools.java b/src/jorphan/src/test/java/org/apache/jorphan/reflect/TestClassTools.java
similarity index 100%
rename from test/src/org/apache/jorphan/reflect/TestClassTools.java
rename to src/jorphan/src/test/java/org/apache/jorphan/reflect/TestClassTools.java
diff --git a/test/src/org/apache/jorphan/util/TestConverter.java b/src/jorphan/src/test/java/org/apache/jorphan/util/TestConverter.java
similarity index 100%
rename from test/src/org/apache/jorphan/util/TestConverter.java
rename to src/jorphan/src/test/java/org/apache/jorphan/util/TestConverter.java
diff --git a/test/src/org/apache/jorphan/util/TestJorphanUtils.java b/src/jorphan/src/test/java/org/apache/jorphan/util/TestJorphanUtils.java
similarity index 100%
rename from test/src/org/apache/jorphan/util/TestJorphanUtils.java
rename to src/jorphan/src/test/java/org/apache/jorphan/util/TestJorphanUtils.java
diff --git a/src/core/org/apache/jmeter/DynamicClassLoader.java b/src/launcher/src/main/java/org/apache/jmeter/DynamicClassLoader.java
similarity index 100%
rename from src/core/org/apache/jmeter/DynamicClassLoader.java
rename to src/launcher/src/main/java/org/apache/jmeter/DynamicClassLoader.java
diff --git a/src/core/org/apache/jmeter/NewDriver.java b/src/launcher/src/main/java/org/apache/jmeter/NewDriver.java
similarity index 100%
rename from src/core/org/apache/jmeter/NewDriver.java
rename to src/launcher/src/main/java/org/apache/jmeter/NewDriver.java
diff --git a/src/core/org/apache/jmeter/util/ShutdownClient.java b/src/launcher/src/main/java/org/apache/jmeter/util/ShutdownClient.java
similarity index 95%
rename from src/core/org/apache/jmeter/util/ShutdownClient.java
rename to src/launcher/src/main/java/org/apache/jmeter/util/ShutdownClient.java
index 78a54672fb..6a5795831b 100644
--- a/src/core/org/apache/jmeter/util/ShutdownClient.java
+++ b/src/launcher/src/main/java/org/apache/jmeter/util/ShutdownClient.java
@@ -23,15 +23,14 @@ import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
-import org.apache.jmeter.JMeter;
-
-
/**
* Simple utility to send a shutdown message to a non-GUI instance of JMeter
*/
public class ShutdownClient {
+ public static final int UDP_PORT_DEFAULT = 4445;
+
public static void main(String[] args) throws IOException {
- int port = JMeter.UDP_PORT_DEFAULT;
+ int port = UDP_PORT_DEFAULT;
if (args.length > 1){
port = Integer.parseInt(args[1]);
} else if (args.length == 0) {
diff --git a/res/META-INF/jmeter_as_ascii_art.txt b/src/launcher/src/main/resources/org/apache/jmeter/jmeter_as_ascii_art.txt
similarity index 80%
rename from res/META-INF/jmeter_as_ascii_art.txt
rename to src/launcher/src/main/resources/org/apache/jmeter/jmeter_as_ascii_art.txt
index 4e02dc9812..e941be57a3 100644
--- a/res/META-INF/jmeter_as_ascii_art.txt
+++ b/src/launcher/src/main/resources/org/apache/jmeter/jmeter_as_ascii_art.txt
@@ -1,7 +1,7 @@
- _ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____
- / \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \
- / _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |
- / ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <
-/_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ @VERSION@
+ _ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____
+ / \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \
+ / _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |
+ / ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <
+/_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ @VERSION@
Copyright (c) 1999-@YEAR@ The Apache Software Foundation
diff --git a/src/protocol/ftp/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java b/src/protocol/ftp/src/main/java/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java
similarity index 100%
rename from src/protocol/ftp/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java
rename to src/protocol/ftp/src/main/java/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java
diff --git a/src/protocol/ftp/org/apache/jmeter/protocol/ftp/control/gui/FtpTestSamplerGui.java b/src/protocol/ftp/src/main/java/org/apache/jmeter/protocol/ftp/control/gui/FtpTestSamplerGui.java
similarity index 100%
rename from src/protocol/ftp/org/apache/jmeter/protocol/ftp/control/gui/FtpTestSamplerGui.java
rename to src/protocol/ftp/src/main/java/org/apache/jmeter/protocol/ftp/control/gui/FtpTestSamplerGui.java
diff --git a/src/protocol/ftp/org/apache/jmeter/protocol/ftp/sampler/FTPSampler.java b/src/protocol/ftp/src/main/java/org/apache/jmeter/protocol/ftp/sampler/FTPSampler.java
similarity index 100%
rename from src/protocol/ftp/org/apache/jmeter/protocol/ftp/sampler/FTPSampler.java
rename to src/protocol/ftp/src/main/java/org/apache/jmeter/protocol/ftp/sampler/FTPSampler.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/api/auth/DigestParameters.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/api/auth/DigestParameters.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/api/auth/DigestParameters.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/api/auth/DigestParameters.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/config/MultipartUrlConfig.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/AuthManager.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/AuthManager.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/AuthManager.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/AuthManager.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/Authorization.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/Authorization.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/Authorization.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/Authorization.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CacheManager.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CacheManager.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/Cookie.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/Cookie.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/Cookie.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/Cookie.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/CookieHandler.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CookieHandler.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/CookieHandler.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CookieHandler.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/CookieManager.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CookieManager.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/CookieManager.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CookieManager.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DNSCacheManager.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/DelegatingKerberosScheme.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DelegatingKerberosScheme.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/DelegatingKerberosScheme.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DelegatingKerberosScheme.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/DelegatingSPNegoScheme.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DelegatingSPNegoScheme.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/DelegatingSPNegoScheme.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DelegatingSPNegoScheme.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/DynamicKerberosSchemeFactory.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DynamicKerberosSchemeFactory.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/DynamicKerberosSchemeFactory.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DynamicKerberosSchemeFactory.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/DynamicSPNegoSchemeFactory.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DynamicSPNegoSchemeFactory.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/DynamicSPNegoSchemeFactory.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/DynamicSPNegoSchemeFactory.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/HC4CookieHandler.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HC4CookieHandler.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/HC4CookieHandler.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HC4CookieHandler.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/Header.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/Header.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/Header.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/Header.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/HeaderManager.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HeaderManager.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/HeaderManager.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HeaderManager.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/HttpMirrorControl.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HttpMirrorControl.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/HttpMirrorControl.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HttpMirrorControl.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/HttpMirrorServer.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HttpMirrorServer.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/HttpMirrorServer.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HttpMirrorServer.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/HttpMirrorThread.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HttpMirrorThread.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/HttpMirrorThread.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/HttpMirrorThread.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/KerberosManager.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/KerberosManager.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/KerberosManager.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/RecordingController.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/RecordingController.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/RecordingController.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/RecordingController.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/StaticHost.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/StaticHost.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/StaticHost.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/StaticHost.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/AjpSamplerGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/gui/AjpSamplerGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/gui/AjpSamplerGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/gui/AjpSamplerGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpMirrorControlGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/gui/HttpMirrorControlGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpMirrorControlGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/gui/HttpMirrorControlGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/RecordController.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/gui/RecordController.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/control/gui/RecordController.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/gui/RecordController.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/curl/BasicCurlParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/curl/BasicCurlParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/curl/BasicCurlParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/curl/BasicCurlParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/gui/AuthPanel.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/AuthPanel.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/gui/AuthPanel.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/AuthPanel.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/gui/CacheManagerGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/CacheManagerGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/gui/CacheManagerGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/CacheManagerGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/CookiePanel.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/CookiePanel.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/gui/HeaderPanel.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/HeaderPanel.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/gui/HeaderPanel.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/HeaderPanel.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/gui/action/ParseCurlCommandAction.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/action/ParseCurlCommandAction.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/gui/action/ParseCurlCommandAction.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/gui/action/ParseCurlCommandAction.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/modifier/AnchorModifier.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/AnchorModifier.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/modifier/AnchorModifier.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/AnchorModifier.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/modifier/RegExUserParameters.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/RegExUserParameters.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/modifier/RegExUserParameters.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/RegExUserParameters.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/AnchorModifierGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/gui/AnchorModifierGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/AnchorModifierGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/gui/AnchorModifierGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/RegExUserParametersGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/gui/RegExUserParametersGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/RegExUserParametersGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/gui/RegExUserParametersGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/BaseParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/BaseParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/BaseParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/BaseParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/CSSParseExceptionCallback.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/CSSParseExceptionCallback.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/CSSParseExceptionCallback.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/CSSParseExceptionCallback.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/CssParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/CssParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/CssParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/CssParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/CssParserCacheLoader.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/CssParserCacheLoader.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/CssParserCacheLoader.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/CssParserCacheLoader.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParseException.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/HTMLParseException.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParseException.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/HTMLParseException.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/HTMLParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/HTMLParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParsingUtils.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/HtmlParsingUtils.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/HtmlParsingUtils.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/HtmlParsingUtils.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/JTidyHTMLParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/JTidyHTMLParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/JTidyHTMLParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/JTidyHTMLParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/JsoupBasedHtmlParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/JsoupBasedHtmlParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/JsoupBasedHtmlParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/JsoupBasedHtmlParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/LagartoBasedHtmlParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/LagartoBasedHtmlParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/LagartoBasedHtmlParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/LagartoBasedHtmlParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/LinkExtractorParseException.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/LinkExtractorParseException.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/LinkExtractorParseException.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/LinkExtractorParseException.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/LinkExtractorParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/LinkExtractorParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/LinkExtractorParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/LinkExtractorParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/RegexpHTMLParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/RegexpHTMLParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/RegexpHTMLParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/RegexpHTMLParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/URLCollection.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/URLCollection.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/URLCollection.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/URLCollection.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/parser/URLString.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/URLString.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/parser/URLString.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/URLString.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/AbstractSamplerCreator.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/AbstractSamplerCreator.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/AbstractSamplerCreator.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/AbstractSamplerCreator.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Daemon.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/Daemon.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/Daemon.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/Daemon.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/FormCharSetFinder.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/FormCharSetFinder.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/FormCharSetFinder.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/FormCharSetFinder.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpReplyHdr.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/HttpReplyHdr.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpReplyHdr.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/HttpReplyHdr.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/Proxy.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/Proxy.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/SamplerCreator.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/SamplerCreator.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/SamplerCreator.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/SamplerCreator.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/SamplerCreatorFactory.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/SamplerCreatorFactory.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/SamplerCreatorFactory.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/SamplerCreatorFactory.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ServerAliasKeyManager.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/ServerAliasKeyManager.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/ServerAliasKeyManager.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/ServerAliasKeyManager.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/RecorderDialog.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/RecorderDialog.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/RecorderDialog.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/RecorderDialog.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSampler.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/AccessLogSampler.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSampler.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/AccessLogSampler.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerBeanInfo.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerBeanInfo.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerBeanInfo.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerBeanInfo.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AjpSampler.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/AjpSampler.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/AjpSampler.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/AjpSampler.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPAbstractImpl.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPFileImpl.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPFileImpl.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPFileImpl.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPFileImpl.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHCAbstractImpl.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPHCAbstractImpl.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHCAbstractImpl.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPHCAbstractImpl.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPJavaImpl.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPJavaImpl.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPJavaImpl.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPJavaImpl.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBaseBeanInfo.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBaseBeanInfo.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBaseBeanInfo.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBaseBeanInfo.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBaseConverter.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBaseConverter.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBaseConverter.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBaseConverter.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerFactory.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerFactory.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerFactory.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerFactory.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerProxy.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerProxy.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerProxy.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerProxy.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HttpClientDefaultParameters.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HttpClientDefaultParameters.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HttpClientDefaultParameters.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HttpClientDefaultParameters.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HttpWebdav.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HttpWebdav.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/HttpWebdav.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HttpWebdav.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/PostWriter.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/PostWriter.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/PostWriter.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/PostWriter.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/PutWriter.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/PutWriter.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/PutWriter.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/PutWriter.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/ResourcesDownloader.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/ResourcesDownloader.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/ResourcesDownloader.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/ResourcesDownloader.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/hc/LaxDeflateInputStream.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/hc/LaxDeflateInputStream.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/hc/LaxDeflateInputStream.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/hc/LaxDeflateInputStream.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/hc/LaxGZIPInputStream.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/hc/LaxGZIPInputStream.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/hc/LaxGZIPInputStream.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/hc/LaxGZIPInputStream.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/hc/LazyLayeredConnectionSocketFactory.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/hc/LazyLayeredConnectionSocketFactory.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/hc/LazyLayeredConnectionSocketFactory.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/hc/LazyLayeredConnectionSocketFactory.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/Base64Encoder.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/Base64Encoder.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/Base64Encoder.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/Base64Encoder.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/ConversionUtils.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/ConversionUtils.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/ConversionUtils.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/ConversionUtils.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/DirectAccessByteArrayOutputStream.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/DirectAccessByteArrayOutputStream.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/DirectAccessByteArrayOutputStream.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/DirectAccessByteArrayOutputStream.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/EncoderCache.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/EncoderCache.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/EncoderCache.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/EncoderCache.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPArgument.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPArgument.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPArgument.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPArgument.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstants.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPConstants.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstants.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPConstants.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPConstantsInterface.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPFileArg.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPFileArg.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPFileArg.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPFileArg.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPFileArgs.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPFileArgs.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPFileArgs.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPFileArgs.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPResultConverter.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPResultConverter.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/HTTPResultConverter.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/HTTPResultConverter.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/LoopbackHTTPSocket.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/LoopbackHTTPSocket.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/LoopbackHTTPSocket.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/LoopbackHTTPSocket.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/SlowHCPlainConnectionSocketFactory.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/SlowHCPlainConnectionSocketFactory.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/SlowHCPlainConnectionSocketFactory.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/SlowHCPlainConnectionSocketFactory.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/Filter.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/Filter.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/Filter.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/Filter.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/Generator.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/Generator.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/Generator.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/Generator.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/LogFilter.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/LogFilter.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/LogFilter.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/LogFilter.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/LogParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/LogParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/LogParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/LogParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/NVPair.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/NVPair.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/NVPair.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/NVPair.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/OrderPreservingLogParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/OrderPreservingLogParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/OrderPreservingLogParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/OrderPreservingLogParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/SessionFilter.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/SessionFilter.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/SessionFilter.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/SessionFilter.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/SharedTCLogParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/SharedTCLogParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/SharedTCLogParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/SharedTCLogParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/StandardGenerator.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/StandardGenerator.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/StandardGenerator.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/StandardGenerator.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/TCLogParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/TCLogParser.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/util/accesslog/TCLogParser.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/accesslog/TCLogParser.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java
rename to src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTP.java
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources.properties b/src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources.properties
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources.properties
rename to src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources.properties
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_es.properties b/src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_es.properties
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_es.properties
rename to src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_es.properties
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_fr.properties b/src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_fr.properties
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_fr.properties
rename to src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_fr.properties
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_pt_BR.properties b/src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_pt_BR.properties
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_pt_BR.properties
rename to src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_pt_BR.properties
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_tr.properties b/src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_tr.properties
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_tr.properties
rename to src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_tr.properties
diff --git a/src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_zh_TW.properties b/src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_zh_TW.properties
similarity index 100%
rename from src/protocol/http/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_zh_TW.properties
rename to src/protocol/http/src/main/resources/org/apache/jmeter/protocol/http/sampler/AccessLogSamplerResources_zh_TW.properties
diff --git a/test/src/org/apache/jmeter/protocol/http/control/DNSCacheManagerSpec.groovy b/src/protocol/http/src/test/groovy/org/apache/jmeter/protocol/http/control/DNSCacheManagerSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/DNSCacheManagerSpec.groovy
rename to src/protocol/http/src/test/groovy/org/apache/jmeter/protocol/http/control/DNSCacheManagerSpec.groovy
diff --git a/test/src/org/apache/jmeter/protocol/http/util/HTTPUtilsSpec.groovy b/src/protocol/http/src/test/groovy/org/apache/jmeter/protocol/http/util/HTTPUtilsSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/util/HTTPUtilsSpec.groovy
rename to src/protocol/http/src/test/groovy/org/apache/jmeter/protocol/http/util/HTTPUtilsSpec.groovy
diff --git a/test/src/org/apache/jmeter/curl/BasicCurlParserTest.java b/src/protocol/http/src/test/java/org/apache/jmeter/curl/BasicCurlParserTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/curl/BasicCurlParserTest.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/curl/BasicCurlParserTest.java
diff --git a/test/src/org/apache/jmeter/gui/action/ParseCurlCommandActionTest.java b/src/protocol/http/src/test/java/org/apache/jmeter/gui/action/ParseCurlCommandActionTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/gui/action/ParseCurlCommandActionTest.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/gui/action/ParseCurlCommandActionTest.java
diff --git a/test/src/org/apache/jmeter/protocol/http/config/MultipartUrlConfigTest.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/config/MultipartUrlConfigTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/config/MultipartUrlConfigTest.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/config/MultipartUrlConfigTest.java
diff --git a/test/src/org/apache/jmeter/protocol/http/config/UrlConfigTest.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/config/UrlConfigTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/config/UrlConfigTest.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/config/UrlConfigTest.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestAuthManager.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestAuthManager.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestAuthManager.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestAuthManager.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestAuthManagerThreadIteration.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestAuthManagerThreadIteration.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestAuthManagerThreadIteration.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestAuthManagerThreadIteration.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestAuthorization.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestAuthorization.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestAuthorization.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestAuthorization.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerBase.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerBase.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerBase.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerBase.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerHC4.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerHC4.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerHC4.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerHC4.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerThreadIteration.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerThreadIteration.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerThreadIteration.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerThreadIteration.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerUrlConnection.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerUrlConnection.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerUrlConnection.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerUrlConnection.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerUrlConnectionBase.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerUrlConnectionBase.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestCacheManagerUrlConnectionBase.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCacheManagerUrlConnectionBase.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestCookieManagerThreadIteration.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCookieManagerThreadIteration.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestCookieManagerThreadIteration.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestCookieManagerThreadIteration.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestHC4CookieManager.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestHC4CookieManager.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestHC4CookieManager.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestHC4CookieManager.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/TestHTTPMirrorThread.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestHTTPMirrorThread.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/TestHTTPMirrorThread.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/TestHTTPMirrorThread.java
diff --git a/test/src/org/apache/jmeter/protocol/http/control/gui/TestHttpTestSampleGui.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/gui/TestHttpTestSampleGui.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/control/gui/TestHttpTestSampleGui.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/control/gui/TestHttpTestSampleGui.java
diff --git a/test/src/org/apache/jmeter/protocol/http/modifier/TestAnchorModifier.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/modifier/TestAnchorModifier.java
similarity index 97%
rename from test/src/org/apache/jmeter/protocol/http/modifier/TestAnchorModifier.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/modifier/TestAnchorModifier.java
index c781dc524b..245f4731f7 100644
--- a/test/src/org/apache/jmeter/protocol/http/modifier/TestAnchorModifier.java
+++ b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/modifier/TestAnchorModifier.java
@@ -53,15 +53,15 @@ public class TestAnchorModifier extends JMeterTestCase {
}
private void testProcessingHTMLFile(String HTMLFileName) throws Exception {
- File file = new File(System.getProperty("user.dir") + "/testfiles/load_bug_list.jmx");
+ File file = findTestFile("testfiles/load_bug_list.jmx");
HTTPSamplerBase config = (HTTPSamplerBase) SaveService.loadTree(file).getArray()[0];
config.setRunningVersion(true);
HTTPSampleResult result = new HTTPSampleResult();
- file = new File(System.getProperty("user.dir") + "/testfiles/Load_JMeter_Page.jmx");
+ file = findTestFile("testfiles/Load_JMeter_Page.jmx");
HTTPSamplerBase context = (HTTPSamplerBase) SaveService.loadTree(file).getArray()[0];
jmctx.setCurrentSampler(context);
jmctx.setCurrentSampler(config);
- result.setResponseData(new TextFile(System.getProperty("user.dir") + HTMLFileName).getText(), null);
+ result.setResponseData(new TextFile(findTestFile(HTMLFileName)).getText(), null);
result.setSampleLabel(context.toString());
result.setSamplerData(context.toString());
result.setURL(new URL("http://bz.apache.org/fakepage.html"));
@@ -91,17 +91,17 @@ public class TestAnchorModifier extends JMeterTestCase {
@Test
public void testModifySampler() throws Exception {
- testProcessingHTMLFile("/testfiles/jmeter_home_page.html");
+ testProcessingHTMLFile("testfiles/jmeter_home_page.html");
}
@Test
public void testModifySamplerWithRelativeLink() throws Exception {
- testProcessingHTMLFile("/testfiles/jmeter_home_page_with_relative_links.html");
+ testProcessingHTMLFile("testfiles/jmeter_home_page_with_relative_links.html");
}
@Test
public void testModifySamplerWithBaseHRef() throws Exception {
- testProcessingHTMLFile("/testfiles/jmeter_home_page_with_base_href.html");
+ testProcessingHTMLFile("testfiles/jmeter_home_page_with_base_href.html");
}
@Test
diff --git a/test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/modifier/TestURLRewritingModifier.java
diff --git a/test/src/org/apache/jmeter/protocol/http/parser/NotReusableParser.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/NotReusableParser.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/parser/NotReusableParser.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/NotReusableParser.java
diff --git a/test/src/org/apache/jmeter/protocol/http/parser/ReusableParser.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/ReusableParser.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/parser/ReusableParser.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/ReusableParser.java
diff --git a/test/src/org/apache/jmeter/protocol/http/parser/TestBaseParser.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestBaseParser.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/parser/TestBaseParser.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestBaseParser.java
diff --git a/test/src/org/apache/jmeter/protocol/http/parser/TestBug60842HtmlParser.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestBug60842HtmlParser.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/parser/TestBug60842HtmlParser.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestBug60842HtmlParser.java
diff --git a/test/src/org/apache/jmeter/protocol/http/parser/TestCssParser.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestCssParser.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/parser/TestCssParser.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestCssParser.java
diff --git a/test/src/org/apache/jmeter/protocol/http/parser/TestHTMLParser.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestHTMLParser.java
similarity index 94%
rename from test/src/org/apache/jmeter/protocol/http/parser/TestHTMLParser.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestHTMLParser.java
index 1caacff5ad..32047bd3d4 100644
--- a/test/src/org/apache/jmeter/protocol/http/parser/TestHTMLParser.java
+++ b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestHTMLParser.java
@@ -21,9 +21,12 @@ package org.apache.jmeter.protocol.http.parser;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileReader;
+import java.io.FileNotFoundException;
import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
import java.net.URL;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -35,6 +38,7 @@ import java.util.TreeSet;
import java.util.Vector;
import java.util.stream.Collectors;
+import org.apache.commons.io.IOUtils;
import org.apache.jmeter.junit.JMeterTestCaseJUnit;
import org.apache.jmeter.util.JMeterUtils;
import org.slf4j.Logger;
@@ -377,12 +381,7 @@ public class TestHTMLParser extends JMeterTestCaseJUnit {
String parserName = p.getClass().getName().substring("org.apache.jmeter.protocol.http.parser.".length());
String fname = file.substring(file.indexOf('/')+1);
log.debug("file {}", file);
- File f = findTestFile(file);
- byte[] buffer = new byte[(int) f.length()];
- try (InputStream is = new FileInputStream(f)){
- int len = is.read(buffer);
- assertEquals(len, buffer.length);
- }
+ byte[] buffer = IOUtils.toByteArray(getInputStream(file));
Iterator<URL> result;
if (c == null) {
result = p.getEmbeddedResourceURLs(userAgent, buffer, new URL(url), System.getProperty("file.encoding"));
@@ -428,9 +427,25 @@ public class TestHTMLParser extends JMeterTestCaseJUnit {
if (file == null || file.isEmpty()) {
return Collections.emptyList();
}
- try (FileReader fr = new FileReader(findTestFile(file));
- BufferedReader br = new BufferedReader(fr)) {
+ try (InputStream is = getInputStream(file);
+ Reader fr = new InputStreamReader(is, StandardCharsets.UTF_8);
+ BufferedReader br = new BufferedReader(fr)) {
return br.lines().collect(Collectors.toList());
}
}
+
+ private static InputStream getInputStream(String file) {
+ if (file.startsWith("testfiles/HTMLParserTestFile_2")) {
+ // testfiles/HTMLParserTestFile_2 is shared between unit tests and batch tests,
+ // so the file is located in root/bin/testfiles/...
+ String path = "../../../bin/" + file;
+ System.out.println(new File(path).getAbsolutePath());
+ try {
+ return new FileInputStream(path);
+ } catch (FileNotFoundException e) {
+ throw new IllegalArgumentException("File " + file + " is not found (" + path + ")");
+ }
+ }
+ return TestHTMLParser.class.getResourceAsStream("/" + file);
+ }
}
diff --git a/test/src/org/apache/jmeter/protocol/http/parser/TestHtmlParsingUtils.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestHtmlParsingUtils.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/parser/TestHtmlParsingUtils.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/parser/TestHtmlParsingUtils.java
diff --git a/test/src/org/apache/jmeter/protocol/http/proxy/NonGuiProxySample.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/proxy/NonGuiProxySample.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/proxy/NonGuiProxySample.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/proxy/NonGuiProxySample.java
diff --git a/test/src/org/apache/jmeter/protocol/http/proxy/TestHttpRequestHdr.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/proxy/TestHttpRequestHdr.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/proxy/TestHttpRequestHdr.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/proxy/TestHttpRequestHdr.java
diff --git a/test/src/org/apache/jmeter/protocol/http/proxy/TestProxyControl.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/proxy/TestProxyControl.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/proxy/TestProxyControl.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/proxy/TestProxyControl.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/HTTPNullSampler.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/HTTPNullSampler.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/HTTPNullSampler.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/HTTPNullSampler.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/HTTPSampler3.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/HTTPSampler3.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/HTTPSampler3.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/HTTPSampler3.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/NullURLConnection.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/NullURLConnection.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/NullURLConnection.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/NullURLConnection.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/PackageTest.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/PackageTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/PackageTest.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/PackageTest.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/PostWriterTest.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/PostWriterTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/PostWriterTest.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/PostWriterTest.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/PutWriterTest.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/PutWriterTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/PutWriterTest.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/PutWriterTest.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/SamplingNamingTest.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/SamplingNamingTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/SamplingNamingTest.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/SamplingNamingTest.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/TestHTTPHC4Impl.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPHC4Impl.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/TestHTTPHC4Impl.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPHC4Impl.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/TestHTTPSamplers.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPSamplers.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/TestHTTPSamplers.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPSamplers.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/TestHTTPSamplersAgainstHttpMirrorServer.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPSamplersAgainstHttpMirrorServer.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/TestHTTPSamplersAgainstHttpMirrorServer.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPSamplersAgainstHttpMirrorServer.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/TestHttpWebdav.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHttpWebdav.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/sampler/TestHttpWebdav.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHttpWebdav.java
diff --git a/test/src/org/apache/jmeter/protocol/http/sampler/TestSerializedHTTPSampler.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestSerializedHTTPSampler.java
similarity index 90%
rename from test/src/org/apache/jmeter/protocol/http/sampler/TestSerializedHTTPSampler.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestSerializedHTTPSampler.java
index 5f89b3c325..da3f6071e2 100644
--- a/test/src/org/apache/jmeter/protocol/http/sampler/TestSerializedHTTPSampler.java
+++ b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestSerializedHTTPSampler.java
@@ -23,13 +23,11 @@ import static org.hamcrest.CoreMatchers.not;
import static org.junit.Assert.assertThat;
import java.io.File;
-import java.nio.file.Paths;
import org.apache.jmeter.junit.JMeterTestCase;
import org.apache.jmeter.protocol.http.util.HTTPFileArg;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.services.FileServer;
-import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.test.JMeterSerialTest;
import org.junit.Test;
@@ -40,11 +38,12 @@ public class TestSerializedHTTPSampler extends JMeterTestCase implements JMeterS
String baseDirPath = FileServer.getFileServer().getBaseDir();
File baseDir = new File(baseDirPath);
try {
- FileServer.getFileServer().setBase(Paths.get(JMeterUtils.getJMeterHome(), "test", "resources").toFile());
+ File file = new File(getResourceFilePath("checkThatFilesAreReadRelativeToBaseDir.txt"));
+ FileServer.getFileServer().setBase(file.getParentFile());
HTTPSamplerBase sampler = new HTTPSampler3();
sampler.setMethod("POST");
sampler.setPath("https://httpbin.org/post");
- sampler.setHTTPFiles(new HTTPFileArg[]{new HTTPFileArg("resourcefile.txt", "", "")});
+ sampler.setHTTPFiles(new HTTPFileArg[]{new HTTPFileArg(file.getName(), "", "")});
SampleResult sample = sampler.sample();
assertThat(sample.getResponseDataAsString(), not(containsString("java.io.FileNotFoundException:")));
diff --git a/test/src/org/apache/jmeter/protocol/http/util/TestHTTPArgument.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestHTTPArgument.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/util/TestHTTPArgument.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestHTTPArgument.java
diff --git a/test/src/org/apache/jmeter/protocol/http/util/TestHTTPFileArg.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestHTTPFileArg.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/util/TestHTTPFileArg.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestHTTPFileArg.java
diff --git a/test/src/org/apache/jmeter/protocol/http/util/TestHTTPFileArgs.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestHTTPFileArgs.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/util/TestHTTPFileArgs.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/TestHTTPFileArgs.java
diff --git a/test/src/org/apache/jmeter/protocol/http/util/accesslog/TestLogFilter.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/accesslog/TestLogFilter.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/util/accesslog/TestLogFilter.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/accesslog/TestLogFilter.java
diff --git a/test/src/org/apache/jmeter/protocol/http/util/accesslog/TestSessionFilter.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/accesslog/TestSessionFilter.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/util/accesslog/TestSessionFilter.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/accesslog/TestSessionFilter.java
diff --git a/test/src/org/apache/jmeter/protocol/http/util/accesslog/TestTCLogParser.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/accesslog/TestTCLogParser.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/util/accesslog/TestTCLogParser.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/util/accesslog/TestTCLogParser.java
diff --git a/test/src/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTPTest.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTPTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTPTest.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/visualizers/RequestViewHTTPTest.java
diff --git a/test/src/org/apache/jmeter/testelement/TestHeaderManager.java b/src/protocol/http/src/test/java/org/apache/jmeter/testelement/TestHeaderManager.java
similarity index 100%
rename from test/src/org/apache/jmeter/testelement/TestHeaderManager.java
rename to src/protocol/http/src/test/java/org/apache/jmeter/testelement/TestHeaderManager.java
diff --git a/bin/testfiles/empty.csv b/src/protocol/http/src/test/resources/org/apache/jmeter/protocol/http/sampler/checkThatFilesAreReadRelativeToBaseDir.txt
similarity index 100%
rename from bin/testfiles/empty.csv
rename to src/protocol/http/src/test/resources/org/apache/jmeter/protocol/http/sampler/checkThatFilesAreReadRelativeToBaseDir.txt
diff --git a/bin/testfiles/HTMLParserTestCase.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCase.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase.all
diff --git a/bin/testfiles/HTMLParserTestCase.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCase.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase.html
diff --git a/bin/testfiles/HTMLParserTestCase.set b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase.set
similarity index 100%
rename from bin/testfiles/HTMLParserTestCase.set
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase.set
diff --git a/bin/testfiles/HTMLParserTestCase2.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase2.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCase2.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase2.html
diff --git a/bin/testfiles/HTMLParserTestCase3.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase3.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCase3.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCase3.html
diff --git a/bin/testfiles/HTMLParserTestCaseBase.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseBase.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseBase.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseBase.all
diff --git a/bin/testfiles/HTMLParserTestCaseBase.set b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseBase.set
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseBase.set
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseBase.set
diff --git a/bin/testfiles/HTMLParserTestCaseFrames.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseFrames.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseFrames.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseFrames.all
diff --git a/bin/testfiles/HTMLParserTestCaseFrames.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseFrames.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseFrames.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseFrames.html
diff --git a/bin/testfiles/HTMLParserTestCaseFrames.set b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseFrames.set
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseFrames.set
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseFrames.set
diff --git a/bin/testfiles/HTMLParserTestCaseWithBaseHRef.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithBaseHRef.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithBaseHRef.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithBaseHRef.html
diff --git a/bin/testfiles/HTMLParserTestCaseWithBaseHRef2.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithBaseHRef2.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithBaseHRef2.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithBaseHRef2.html
diff --git a/bin/testfiles/HTMLParserTestCaseWithComments.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithComments.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithComments.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithComments.html
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional1.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional1.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1.html
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional1_FF.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1_FF.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional1_FF.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1_FF.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional1_IE6.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1_IE6.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional1_IE6.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1_IE6.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional1_IE7.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1_IE7.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional1_IE7.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1_IE7.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional1_IE8.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1_IE8.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional1_IE8.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional1_IE8.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional2.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional2.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2.html
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional2_FF.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2_FF.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional2_FF.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2_FF.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional2_IE7.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2_IE7.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional2_IE7.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2_IE7.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional2_IE8.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2_IE8.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional2_IE8.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2_IE8.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional2_IE9.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2_IE9.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional2_IE9.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional2_IE9.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional3.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional3.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3.html
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional3_FF.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3_FF.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional3_FF.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3_FF.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional3_IE10.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3_IE10.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional3_IE10.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3_IE10.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional3_IE55.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3_IE55.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional3_IE55.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3_IE55.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithConditional3_IE6.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3_IE6.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithConditional3_IE6.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithConditional3_IE6.all
diff --git a/bin/testfiles/HTMLParserTestCaseWithMissingBaseHRef.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithMissingBaseHRef.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestCaseWithMissingBaseHRef.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestCaseWithMissingBaseHRef.html
diff --git a/bin/testfiles/HTMLParserTestFrames.all b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestFrames.all
similarity index 100%
rename from bin/testfiles/HTMLParserTestFrames.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestFrames.all
diff --git a/bin/testfiles/HTMLParserTestFrames.html b/src/protocol/http/src/test/resources/testfiles/HTMLParserTestFrames.html
similarity index 100%
rename from bin/testfiles/HTMLParserTestFrames.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLParserTestFrames.html
diff --git a/bin/testfiles/HTMLScript.all b/src/protocol/http/src/test/resources/testfiles/HTMLScript.all
similarity index 100%
rename from bin/testfiles/HTMLScript.all
rename to src/protocol/http/src/test/resources/testfiles/HTMLScript.all
diff --git a/bin/testfiles/HTMLScript.html b/src/protocol/http/src/test/resources/testfiles/HTMLScript.html
similarity index 100%
rename from bin/testfiles/HTMLScript.html
rename to src/protocol/http/src/test/resources/testfiles/HTMLScript.html
diff --git a/bin/testfiles/HTMLScript.set b/src/protocol/http/src/test/resources/testfiles/HTMLScript.set
similarity index 100%
rename from bin/testfiles/HTMLScript.set
rename to src/protocol/http/src/test/resources/testfiles/HTMLScript.set
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/config/JavaConfig.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/config/JavaConfig.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/config/JavaConfig.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/config/JavaConfig.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/config/gui/JavaConfigGui.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/config/gui/JavaConfigGui.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/config/gui/JavaConfigGui.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/config/gui/JavaConfigGui.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/JavaTestSamplerGui.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/control/gui/JavaTestSamplerGui.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/control/gui/JavaTestSamplerGui.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/control/gui/JavaTestSamplerGui.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/AbstractJavaSamplerClient.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/AbstractJavaSamplerClient.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/AbstractJavaSamplerClient.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/AbstractJavaSamplerClient.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSampler.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/BSFSampler.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSampler.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/BSFSampler.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerBeanInfo.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerBeanInfo.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerBeanInfo.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerBeanInfo.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223Sampler.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JSR223Sampler.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223Sampler.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JSR223Sampler.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerBeanInfo.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerBeanInfo.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerBeanInfo.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerBeanInfo.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerClient.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerClient.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerClient.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerClient.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerContext.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerContext.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerContext.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSamplerContext.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/test/JavaTest.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/test/JavaTest.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/test/JavaTest.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/test/JavaTest.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/test/SleepTest.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/test/SleepTest.java
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/test/SleepTest.java
rename to src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/test/SleepTest.java
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources.properties b/src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources.properties
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources.properties
rename to src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources.properties
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources_fr.properties b/src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources_fr.properties
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources_fr.properties
rename to src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources_fr.properties
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources_zh_CN.properties b/src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources_zh_CN.properties
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources_zh_CN.properties
rename to src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/BSFSamplerResources_zh_CN.properties
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources.properties b/src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources.properties
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources.properties
rename to src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources.properties
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources_fr.properties b/src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources_fr.properties
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources_fr.properties
rename to src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources_fr.properties
diff --git a/src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources_zh_CN.properties b/src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources_zh_CN.properties
similarity index 100%
rename from src/protocol/java/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources_zh_CN.properties
rename to src/protocol/java/src/main/resources/org/apache/jmeter/protocol/java/sampler/JSR223SamplerResources_zh_CN.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/JDBCTestElementBeanInfoSupport.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/JDBCTestElementBeanInfoSupport.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/JDBCTestElementBeanInfoSupport.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/JDBCTestElementBeanInfoSupport.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElement.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/config/DataSourceElement.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElement.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/config/DataSourceElement.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/config/DataSourceElementBeanInfo.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/AbstractJDBCProcessor.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/AbstractJDBCProcessor.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/AbstractJDBCProcessor.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/AbstractJDBCProcessor.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessor.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessor.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessor.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessor.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorBeanInfo.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorBeanInfo.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorBeanInfo.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorBeanInfo.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessor.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessor.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessor.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessor.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorBeanInfo.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorBeanInfo.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorBeanInfo.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorBeanInfo.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerBeanInfo.java b/src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerBeanInfo.java
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerBeanInfo.java
rename to src/protocol/jdbc/src/main/java/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerBeanInfo.java
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_es.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_es.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_es.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_es.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_fr.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_fr.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_fr.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_fr.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_pt_BR.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_pt_BR.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_pt_BR.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_pt_BR.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_tr.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_tr.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_tr.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_tr.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_zh_TW.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_zh_TW.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_zh_TW.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/config/DataSourceElementResources_zh_TW.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources_fr.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources_fr.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources_fr.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources_fr.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources_zh_CN.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources_zh_CN.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources_zh_CN.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPostProcessorResources_zh_CN.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources_fr.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources_fr.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources_fr.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources_fr.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources_zh_CN.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources_zh_CN.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources_zh_CN.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/processor/JDBCPreProcessorResources_zh_CN.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_es.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_es.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_es.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_es.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_fr.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_fr.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_fr.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_fr.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_pt_BR.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_pt_BR.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_pt_BR.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_pt_BR.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_tr.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_tr.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_tr.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_tr.properties
diff --git a/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_zh_TW.properties b/src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_zh_TW.properties
similarity index 100%
rename from src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_zh_TW.properties
rename to src/protocol/jdbc/src/main/resources/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerResources_zh_TW.properties
diff --git a/test/src/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerSpec.groovy b/src/protocol/jdbc/src/test/groovy/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerSpec.groovy
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerSpec.groovy
rename to src/protocol/jdbc/src/test/groovy/org/apache/jmeter/protocol/jdbc/sampler/JDBCSamplerSpec.groovy
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/Utils.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/Utils.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ClientPool.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/client/ClientPool.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/client/ClientPool.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/client/ClientPool.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/client/Publisher.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/client/Publisher.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPropertiesPanel.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSPropertiesPanel.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPropertiesPanel.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSPropertiesPanel.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSSamplerGui.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSSamplerGui.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSSamplerGui.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSSamplerGui.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSSubscriberGui.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSSubscriberGui.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSSubscriberGui.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSSubscriberGui.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/BaseJMSSampler.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/BaseJMSSampler.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/BaseJMSSampler.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/BaseJMSSampler.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/FixedQueueExecutor.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/FixedQueueExecutor.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/FixedQueueExecutor.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/FixedQueueExecutor.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSProperties.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSProperties.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSProperties.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSProperties.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSProperty.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSProperty.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSProperty.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSProperty.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/QueueExecutor.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/QueueExecutor.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/QueueExecutor.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/QueueExecutor.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/Receiver.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/Receiver.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/Receiver.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/Receiver.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/TemporaryQueueExecutor.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/TemporaryQueueExecutor.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/TemporaryQueueExecutor.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/TemporaryQueueExecutor.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/TimeoutEnabledQueueRequestor.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/TimeoutEnabledQueueRequestor.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/TimeoutEnabledQueueRequestor.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/TimeoutEnabledQueueRequestor.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/BinaryMessageRenderer.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/BinaryMessageRenderer.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/BinaryMessageRenderer.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/BinaryMessageRenderer.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/FileKey.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/FileKey.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/FileKey.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/FileKey.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/MapMessageRenderer.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/MapMessageRenderer.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/MapMessageRenderer.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/MapMessageRenderer.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/MessageRenderer.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/MessageRenderer.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/MessageRenderer.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/MessageRenderer.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/ObjectMessageRenderer.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/ObjectMessageRenderer.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/ObjectMessageRenderer.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/ObjectMessageRenderer.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/RendererFactory.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/RendererFactory.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/RendererFactory.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/RendererFactory.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/Renderers.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/Renderers.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/Renderers.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/Renderers.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/TextMessageRenderer.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/TextMessageRenderer.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/TextMessageRenderer.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/TextMessageRenderer.java
diff --git a/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/package-info.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/package-info.java
similarity index 100%
rename from src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/render/package-info.java
rename to src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/render/package-info.java
diff --git a/test/src/org/apache/jmeter/protocol/jms/sampler/PublisherSamplerTest.java b/src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/PublisherSamplerTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/jms/sampler/PublisherSamplerTest.java
rename to src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/PublisherSamplerTest.java
diff --git a/test/src/org/apache/jmeter/protocol/jms/sampler/render/BinaryMessageRendererTest.java b/src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/BinaryMessageRendererTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/jms/sampler/render/BinaryMessageRendererTest.java
rename to src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/BinaryMessageRendererTest.java
diff --git a/test/src/org/apache/jmeter/protocol/jms/sampler/render/MessageRendererTest.java b/src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/MessageRendererTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/jms/sampler/render/MessageRendererTest.java
rename to src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/MessageRendererTest.java
diff --git a/test/src/org/apache/jmeter/protocol/jms/sampler/render/ObjectMessageRendererTest.java b/src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/ObjectMessageRendererTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/jms/sampler/render/ObjectMessageRendererTest.java
rename to src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/ObjectMessageRendererTest.java
diff --git a/test/src/org/apache/jmeter/protocol/jms/sampler/render/Person.java b/src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/Person.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/jms/sampler/render/Person.java
rename to src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/Person.java
diff --git a/test/src/org/apache/jmeter/protocol/jms/sampler/render/TextMessageRendererTest.java b/src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/TextMessageRendererTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/jms/sampler/render/TextMessageRendererTest.java
rename to src/protocol/jms/src/test/java/org/apache/jmeter/protocol/jms/sampler/render/TextMessageRendererTest.java
diff --git a/test/resources/org/apache/jmeter/protocol/jms/sampler/render/cp1252.txt b/src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/cp1252.txt
similarity index 100%
rename from test/resources/org/apache/jmeter/protocol/jms/sampler/render/cp1252.txt
rename to src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/cp1252.txt
diff --git a/test/resources/org/apache/jmeter/protocol/jms/sampler/render/noVar.txt b/src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/noVar.txt
similarity index 100%
rename from test/resources/org/apache/jmeter/protocol/jms/sampler/render/noVar.txt
rename to src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/noVar.txt
diff --git a/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_cp1252.xml b/src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_cp1252.xml
similarity index 100%
rename from test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_cp1252.xml
rename to src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_cp1252.xml
diff --git a/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_doe.xml b/src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_doe.xml
similarity index 100%
rename from test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_doe.xml
rename to src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_doe.xml
diff --git a/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_prolog_cp1252.xml b/src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_prolog_cp1252.xml
similarity index 100%
rename from test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_prolog_cp1252.xml
rename to src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_prolog_cp1252.xml
diff --git a/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_utf8.xml b/src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_utf8.xml
similarity index 100%
rename from test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_utf8.xml
rename to src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/object_utf8.xml
diff --git a/test/resources/org/apache/jmeter/protocol/jms/sampler/render/oneVar.txt b/src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/oneVar.txt
similarity index 100%
rename from test/resources/org/apache/jmeter/protocol/jms/sampler/render/oneVar.txt
rename to src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/oneVar.txt
diff --git a/test/resources/org/apache/jmeter/protocol/jms/sampler/render/utf8.txt b/src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/utf8.txt
similarity index 100%
rename from test/resources/org/apache/jmeter/protocol/jms/sampler/render/utf8.txt
rename to src/protocol/jms/src/test/resources/org/apache/jmeter/protocol/jms/sampler/render/utf8.txt
diff --git a/src/junit/test/AfterAnnotatedTest.java b/src/protocol/junit-sample/src/main/java/test/AfterAnnotatedTest.java
similarity index 100%
rename from src/junit/test/AfterAnnotatedTest.java
rename to src/protocol/junit-sample/src/main/java/test/AfterAnnotatedTest.java
diff --git a/src/junit/test/BeforeAnnotatedTest.java b/src/protocol/junit-sample/src/main/java/test/BeforeAnnotatedTest.java
similarity index 100%
rename from src/junit/test/BeforeAnnotatedTest.java
rename to src/protocol/junit-sample/src/main/java/test/BeforeAnnotatedTest.java
diff --git a/src/junit/test/DummyAnnotatedTest.java b/src/protocol/junit-sample/src/main/java/test/DummyAnnotatedTest.java
similarity index 100%
rename from src/junit/test/DummyAnnotatedTest.java
rename to src/protocol/junit-sample/src/main/java/test/DummyAnnotatedTest.java
diff --git a/src/junit/test/Junit4AnnotationsTest.java b/src/protocol/junit-sample/src/main/java/test/Junit4AnnotationsTest.java
similarity index 100%
rename from src/junit/test/Junit4AnnotationsTest.java
rename to src/protocol/junit-sample/src/main/java/test/Junit4AnnotationsTest.java
diff --git a/src/junit/test/RerunTest.java b/src/protocol/junit-sample/src/main/java/test/RerunTest.java
similarity index 100%
rename from src/junit/test/RerunTest.java
rename to src/protocol/junit-sample/src/main/java/test/RerunTest.java
diff --git a/src/junit/test/SetupTestError.java b/src/protocol/junit-sample/src/main/java/test/SetupTestError.java
similarity index 100%
rename from src/junit/test/SetupTestError.java
rename to src/protocol/junit-sample/src/main/java/test/SetupTestError.java
diff --git a/src/junit/test/SetupTestFail.java b/src/protocol/junit-sample/src/main/java/test/SetupTestFail.java
similarity index 100%
rename from src/junit/test/SetupTestFail.java
rename to src/protocol/junit-sample/src/main/java/test/SetupTestFail.java
diff --git a/src/junit/test/TearDownTestFail.java b/src/protocol/junit-sample/src/main/java/test/TearDownTestFail.java
similarity index 100%
rename from src/junit/test/TearDownTestFail.java
rename to src/protocol/junit-sample/src/main/java/test/TearDownTestFail.java
diff --git a/src/junit/woolfel/DummyTestCase.java b/src/protocol/junit-sample/src/main/java/woolfel/DummyTestCase.java
similarity index 100%
rename from src/junit/woolfel/DummyTestCase.java
rename to src/protocol/junit-sample/src/main/java/woolfel/DummyTestCase.java
diff --git a/src/junit/woolfel/SubDummyTest.java b/src/protocol/junit-sample/src/main/java/woolfel/SubDummyTest.java
similarity index 100%
rename from src/junit/woolfel/SubDummyTest.java
rename to src/protocol/junit-sample/src/main/java/woolfel/SubDummyTest.java
diff --git a/src/junit/woolfel/SubDummyTest2.java b/src/protocol/junit-sample/src/main/java/woolfel/SubDummyTest2.java
similarity index 100%
rename from src/junit/woolfel/SubDummyTest2.java
rename to src/protocol/junit-sample/src/main/java/woolfel/SubDummyTest2.java
diff --git a/src/junit/org/apache/jmeter/protocol/java/control/gui/ClassFilter.java b/src/protocol/junit/src/main/java/org/apache/jmeter/protocol/java/control/gui/ClassFilter.java
similarity index 100%
rename from src/junit/org/apache/jmeter/protocol/java/control/gui/ClassFilter.java
rename to src/protocol/junit/src/main/java/org/apache/jmeter/protocol/java/control/gui/ClassFilter.java
diff --git a/src/junit/org/apache/jmeter/protocol/java/control/gui/JUnitTestSamplerGui.java b/src/protocol/junit/src/main/java/org/apache/jmeter/protocol/java/control/gui/JUnitTestSamplerGui.java
similarity index 100%
rename from src/junit/org/apache/jmeter/protocol/java/control/gui/JUnitTestSamplerGui.java
rename to src/protocol/junit/src/main/java/org/apache/jmeter/protocol/java/control/gui/JUnitTestSamplerGui.java
diff --git a/src/junit/org/apache/jmeter/protocol/java/sampler/JUnitSampler.java b/src/protocol/junit/src/main/java/org/apache/jmeter/protocol/java/sampler/JUnitSampler.java
similarity index 100%
rename from src/junit/org/apache/jmeter/protocol/java/sampler/JUnitSampler.java
rename to src/protocol/junit/src/main/java/org/apache/jmeter/protocol/java/sampler/JUnitSampler.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgument.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgument.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgument.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgument.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArguments.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LDAPArguments.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArguments.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LDAPArguments.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LdapConfigGui.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LdapConfigGui.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LdapConfigGui.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LdapConfigGui.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LdapExtConfigGui.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LdapExtConfigGui.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LdapExtConfigGui.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/config/gui/LdapExtConfigGui.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/control/gui/LdapExtTestSamplerGui.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/control/gui/LdapExtTestSamplerGui.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/control/gui/LdapExtTestSamplerGui.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/control/gui/LdapExtTestSamplerGui.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/control/gui/LdapTestSamplerGui.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/control/gui/LdapTestSamplerGui.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/control/gui/LdapTestSamplerGui.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/control/gui/LdapTestSamplerGui.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/sampler/LDAPExtSampler.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPSampler.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/sampler/LDAPSampler.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LDAPSampler.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/sampler/LDAPSampler.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LdapClient.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/sampler/LdapClient.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LdapClient.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/sampler/LdapClient.java
diff --git a/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LdapExtClient.java b/src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/sampler/LdapExtClient.java
similarity index 100%
rename from src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LdapExtClient.java
rename to src/protocol/ldap/src/main/java/org/apache/jmeter/protocol/ldap/sampler/LdapExtClient.java
diff --git a/test/src/org/apache/jmeter/protocol/ldap/config/gui/PackageTest.java b/src/protocol/ldap/src/test/java/org/apache/jmeter/protocol/ldap/config/gui/PackageTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/ldap/config/gui/PackageTest.java
rename to src/protocol/ldap/src/test/java/org/apache/jmeter/protocol/ldap/config/gui/PackageTest.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailFileFolder.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/MailFileFolder.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailFileFolder.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/MailFileFolder.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailFileMessage.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/MailFileMessage.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailFileMessage.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/MailFileMessage.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailFileStore.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/MailFileStore.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailFileStore.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/MailFileStore.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/gui/MailReaderSamplerGui.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/gui/MailReaderSamplerGui.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/gui/MailReaderSamplerGui.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/mail/sampler/gui/MailReaderSamplerGui.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/SmtpSampler.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/SmtpSampler.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/SmtpSampler.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/SmtpSampler.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/gui/SecuritySettingsPanel.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/gui/SecuritySettingsPanel.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/gui/SecuritySettingsPanel.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/gui/SecuritySettingsPanel.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/gui/SmtpPanel.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/gui/SmtpPanel.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/gui/SmtpPanel.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/gui/SmtpPanel.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/gui/SmtpSamplerGui.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/gui/SmtpSamplerGui.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/gui/SmtpSamplerGui.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/gui/SmtpSamplerGui.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/LocalTrustStoreSSLSocketFactory.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/protocol/LocalTrustStoreSSLSocketFactory.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/LocalTrustStoreSSLSocketFactory.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/protocol/LocalTrustStoreSSLSocketFactory.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SynchronousTransportListener.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/protocol/SynchronousTransportListener.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SynchronousTransportListener.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/protocol/SynchronousTransportListener.java
diff --git a/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/TrustAllSSLSocketFactory.java b/src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/protocol/TrustAllSSLSocketFactory.java
similarity index 100%
rename from src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/TrustAllSSLSocketFactory.java
rename to src/protocol/mail/src/main/java/org/apache/jmeter/protocol/smtp/sampler/protocol/TrustAllSSLSocketFactory.java
diff --git a/src/protocol/mail/META-INF/javamail.providers b/src/protocol/mail/src/main/resources/META-INF/javamail.providers
similarity index 100%
rename from src/protocol/mail/META-INF/javamail.providers
rename to src/protocol/mail/src/main/resources/META-INF/javamail.providers
diff --git a/test/src/org/apache/jmeter/protocol/mail/sampler/TestMailReaderSampler.java b/src/protocol/mail/src/test/java/org/apache/jmeter/protocol/mail/sampler/TestMailReaderSampler.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/mail/sampler/TestMailReaderSampler.java
rename to src/protocol/mail/src/test/java/org/apache/jmeter/protocol/mail/sampler/TestMailReaderSampler.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoDBHolder.java b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoDBHolder.java
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoDBHolder.java
rename to src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoDBHolder.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoSourceElement.java b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElement.java
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoSourceElement.java
rename to src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElement.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementBeanInfo.java b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementBeanInfo.java
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementBeanInfo.java
rename to src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementBeanInfo.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/mongo/EvalResultHandler.java b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/EvalResultHandler.java
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/mongo/EvalResultHandler.java
rename to src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/EvalResultHandler.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/mongo/MongoDB.java b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoDB.java
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/mongo/MongoDB.java
rename to src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoDB.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/mongo/MongoUtils.java b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoUtils.java
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/mongo/MongoUtils.java
rename to src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/mongo/MongoUtils.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptRunner.java b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptRunner.java
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptRunner.java
rename to src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptRunner.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSampler.java b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSampler.java
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSampler.java
rename to src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSampler.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerBeanInfo.java b/src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerBeanInfo.java
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerBeanInfo.java
rename to src/protocol/mongodb/src/main/java/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerBeanInfo.java
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources.properties b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources.properties
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources.properties
rename to src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources.properties
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_fr.properties b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_fr.properties
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_fr.properties
rename to src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/config/MongoSourceElementResources_fr.properties
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources.properties b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources.properties
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources.properties
rename to src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources.properties
diff --git a/src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_fr.properties b/src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_fr.properties
similarity index 100%
rename from src/protocol/mongodb/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_fr.properties
rename to src/protocol/mongodb/src/main/resources/org/apache/jmeter/protocol/mongodb/sampler/MongoScriptSamplerResources_fr.properties
diff --git a/src/protocol/native/org/apache/jmeter/protocol/system/SystemSampler.java b/src/protocol/native/src/main/java/org/apache/jmeter/protocol/system/SystemSampler.java
similarity index 100%
rename from src/protocol/native/org/apache/jmeter/protocol/system/SystemSampler.java
rename to src/protocol/native/src/main/java/org/apache/jmeter/protocol/system/SystemSampler.java
diff --git a/src/protocol/native/org/apache/jmeter/protocol/system/gui/SystemSamplerGui.java b/src/protocol/native/src/main/java/org/apache/jmeter/protocol/system/gui/SystemSamplerGui.java
similarity index 100%
rename from src/protocol/native/org/apache/jmeter/protocol/system/gui/SystemSamplerGui.java
rename to src/protocol/native/src/main/java/org/apache/jmeter/protocol/system/gui/SystemSamplerGui.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/control/gui/TCPSamplerGui.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/control/gui/TCPSamplerGui.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/control/gui/TCPSamplerGui.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/control/gui/TCPSamplerGui.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImpl.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImpl.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImpl.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImpl.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImpl.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImpl.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImpl.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImpl.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/ReadException.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/ReadException.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/ReadException.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/ReadException.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientDecorator.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPClientDecorator.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientDecorator.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPClientDecorator.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
diff --git a/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
similarity index 100%
rename from src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
rename to src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
diff --git a/test/src/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImplTest.java b/src/protocol/tcp/src/test/java/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImplTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImplTest.java
rename to src/protocol/tcp/src/test/java/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImplTest.java
diff --git a/test/src/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImplTest.java b/src/protocol/tcp/src/test/java/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImplTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImplTest.java
rename to src/protocol/tcp/src/test/java/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImplTest.java
diff --git a/test/src/org/apache/jmeter/protocol/tcp/sampler/TCPClientDecoratorTest.java b/src/protocol/tcp/src/test/java/org/apache/jmeter/protocol/tcp/sampler/TCPClientDecoratorTest.java
similarity index 100%
rename from test/src/org/apache/jmeter/protocol/tcp/sampler/TCPClientDecoratorTest.java
rename to src/protocol/tcp/src/test/java/org/apache/jmeter/protocol/tcp/sampler/TCPClientDecoratorTest.java
diff --git a/test/src/org/apache/jmeter/junit/spock/JMeterSpec.groovy b/test/src/org/apache/jmeter/junit/spock/JMeterSpec.groovy
deleted file mode 100644
index 86cbccfc52..0000000000
--- a/test/src/org/apache/jmeter/junit/spock/JMeterSpec.groovy
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License") you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jmeter.junit.spock
-
-import org.apache.jmeter.util.JMeterUtils
-import spock.lang.Specification
-
-import java.nio.charset.Charset
... 94 lines suppressed ...
[jmeter] 07/07: Add Gradle build scripts
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
milamber pushed a commit to annotated tag v5_2_0_RC1
in repository https://gitbox.apache.org/repos/asf/jmeter.git
commit 9cb34844b0c8267257a80b2a3741e2f84af384db
Author: Vladimir Sitnikov <si...@gmail.com>
AuthorDate: Sun Feb 24 23:51:10 2019 +0300
Add Gradle build scripts
---
.gitignore | 18 +
.travis.yml | 50 +--
CONTRIBUTING.md | 35 ++
LICENSE | 112 -----
build.gradle.kts | 397 +++++++++++++++++
buildSrc/build.gradle.kts | 61 +++
buildSrc/settings.gradle.kts | 36 ++
.../subprojects/batchtest/batchtest.gradle.kts | 30 ++
.../jmeter/buildtools/batchtest/BatchTest.kt | 207 +++++++++
.../jmeter/buildtools/batchtest/BatchTestServer.kt | 142 ++++++
.../jmeter/buildtools/batchtest/BatchtestPlugin.kt | 27 ++
.../buildtools/batchtest/WriterExtensions.kt | 38 ++
.../jmeter/buildtools/witness/DependencyKey.kt | 58 +++
.../jmeter/buildtools/witness/WitnessExtension.kt | 30 ++
.../jmeter/buildtools/witness/WitnessPlugin.kt | 176 ++++++++
buildSrc/subprojects/witness/witness.gradle.kts | 26 ++
LICENSE => config/LICENSE | 114 -----
.../checkstyle/checkstyle-suppressions.xml | 0
checkstyle.xml => config/checkstyle/checkstyle.xml | 2 +-
.../checkstyle/java.header.regex | 0
eclipse.md | 96 +----
gradle.md | 132 ++++++
gradle.properties | 100 +++++
gradle/dependencyVerification.gradle.kts | 263 +++++++++++
gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 55741 bytes
.../wrapper/gradle-wrapper.properties | 11 +-
gradlew | 172 ++++++++
gradlew.bat | 84 ++++
licenses/README.txt | 7 -
rat-excludes.txt | 29 +-
settings.gradle.kts | 62 +++
src/bom/build.gradle.kts | 141 ++++++
src/build.gradle.kts | 186 ++++++++
src/components/build.gradle.kts | 87 ++++
src/config/build.gradle.kts | 82 ++++
src/core/build.gradle.kts | 107 +++++
.../java/org/apache/jmeter/util/JMeterVersion.java | 106 -----
.../org/apache/jmeter/util/JMeterVersion.java | 36 ++
.../testbeans/gui/TestFieldStringEditor.java | 2 +
src/dist-check/build.gradle.kts | 214 +++++++++
src/dist/build.gradle.kts | 479 +++++++++++++++++++++
src/examples/build.gradle.kts | 21 +
src/functions/build.gradle.kts | 40 ++
src/generator/build.gradle.kts | 21 +
src/jorphan/build.gradle.kts | 28 ++
src/launcher/build.gradle.kts | 35 ++
src/licenses/build.gradle.kts | 171 ++++++++
src/licenses/licenses/asm/LICENSE | 27 ++
.../licenses/licenses/bootstrap-social/LICENSE | 0
.../licenses/licenses/bootstrap/LICENSE | 0
.../licenses/licenses/datatables-plugins/LICENSE | 0
.../licenses/datatables-responsive/LICENSE | 0
.../licenses/licenses/datatables/LICENSE | 0
.../licenses/licenses/dec/LICENSE | 6 +-
src/licenses/licenses/dnsjava-2.1.8/LICENSE | 24 ++
.../licenses/licenses/flot-axislabels/LICENSE | 0
.../licenses/licenses/flot.tooltip/LICENSE | 0
.../licenses/licenses/flot/LICENSE | 0
.../licenses/licenses/font-awesome-code/LICENSE | 0
.../licenses/licenses/font-awesome-font/LICENSE | 0
src/licenses/licenses/jcharts-0.7.5/LICENSE | 46 ++
src/licenses/licenses/jodd/LICENSE | 24 ++
.../licenses/licenses/jquery/LICENSE | 0
.../licenses/licenses/metisMenu/LICENSE | 0
.../licenses/licenses/openiconlibrary/LICENSE | 0
src/licenses/licenses/rsyntaxtextarea/LICENSE | 24 ++
src/licenses/licenses/slf4j-api/LICENSE | 21 +
.../licenses/start-bootstrap-admin2/LICENSE | 0
src/licenses/licenses/xmlpull/LICENSE.txt | 119 +++++
src/licenses/licenses/xpp3_min-1.1.4c/CC0-1.0.txt | 119 +++++
src/licenses/licenses/xpp3_min-1.1.4c/LICENSE.txt | 46 ++
src/licenses/licenses/xstream/LICENSE | 28 ++
src/protocol/build.gradle.kts | 181 ++++++++
.../protocol/http/sampler/TestHTTPHC4Impl.java | 1 +
src/release/build.gradle.kts | 97 +++++
xdocs/building.xml | 121 +++---
xdocs/svnindex.xml | 98 -----
xdocs/velocity.properties | 1 -
78 files changed, 4599 insertions(+), 655 deletions(-)
diff --git a/.gitignore b/.gitignore
index 456b228b8a..567f04705d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,16 @@
# Directory trees to ignore
/backups/
/build/
+/buildSrc/build/
+/buildSrc/subprojects/*/build/**
+/buildSrc/subprojects/*/bin/**
+/buildSrc/subprojects/*/out/**
+/src/*/build/
+/src/*/bin/
+/src/*/out/
+/src/protocol/*/build/
+/src/protocol/*/bin/
+/src/protocol/*/out/
/dist/
/docs/
/local/
@@ -10,6 +20,14 @@
/target/
!/bin/report-template/**/dist
+/bin/temp/
+/bin/testfiles/testReport*
+
+# Ignore Gradle project-specific cache directory
+.gradle
+
+# macOS
+.DS_Store
# specific files to ignore
*.log
diff --git a/.travis.yml b/.travis.yml
index 37ad1a7640..012bf088d8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,54 +1,38 @@
sudo: false
language: java
-before_script:
- - test "x$RUN_CHECKSTYLE" != 'x' || ant -Djava.awt.headless=true clean download_jars install
- - test "x$RUN_CHECKSTYLE" != 'xtrue' || ant -Djava.awt.headless=true download_checkstyle
-
-before_install:
- - wget --no-check-certificate https://www.apache.org/dist/ant/binaries/apache-ant-1.10.5-bin.tar.gz
- - tar -xzvf apache-ant-1.10.5-bin.tar.gz
- - export PATH="$(pwd)/apache-ant-1.10.5/bin:$PATH"
- - echo $(ant -version)
-
# skip default "install" command
install: true
+before_cache:
+ - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
+ - rm -fr $HOME/.gradle/caches/*/plugin-resolution/
+cache:
+ directories:
+ - $HOME/.gradle/caches/
+ - $HOME/.gradle/wrapper/
+
env:
global:
- - ANT_OPTS="-Ddisable-svnCheck=true -Djava.awt.headless=true -Drmi_force_localhost=true"
+ - GRADLE_ARGS="-Djava.awt.headless=true"
+ # Building source and binary distributions takes time, and it does not verify much, so we skip it in CI
+ - SKIP_DIST_TASKS="$GRADLE_ARGS -PskipDist"
matrix:
include:
- - jdk: oraclejdk8
- env: RUN_CHECKSTYLE=true
- script: ant -Djava.awt.headless=true checkstyle
- - name: Coverage on our default build with Oracle Java 8
- jdk: oraclejdk8
- script:
- - ant coverage-travis
- after_success:
- - bash <(curl -s https://codecov.io/bash)
- sudo: true # otherwise TEST_HTTPS.jmx -> analytics.usa.gov does not work
- - name: Tests with OpenJDK 8
+ - name: Tests with OpenJDK 8 + code coverage
jdk: openjdk8
script:
- - ant test
+ - ./gradlew $GRADLE_ARGS check createDist jacocoReport
+ after_success:
+ - bash <(curl -s https://codecov.io/bash)
- name: Tests with OpenJDK 11
jdk: openjdk11
script:
- - ant test
- sudo: true # otherwise TEST_HTTPS.jmx -> analytics.usa.gov does not work
+ - ./gradlew $SKIP_DIST_TASKS -PskipCheckstyle build createDist
- name: Tests with OpenJDK EA
jdk: openjdk-ea
script:
- - ant test
- sudo: true # otherwise TEST_HTTPS.jmx -> analytics.usa.gov does not work
+ - ./gradlew $SKIP_DIST_TASKS -PskipCheckstyle build createDist
allow_failures:
- jdk: openjdk-ea
-# disable building with jdk9 as it has a bug and will not compile JMeter
-# see https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8193802
-# - jdk: oraclejdk9
-# script: ant -Djava.awt.headless=true -Drmi_force_localhost=true -Dskip.bug52310=true test
-# sudo: true # otherwise TEST_HTTPS.jmx -> analytics.usa.gov does not work
-
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 17596a8fd2..cb8ab6ad34 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -23,6 +23,41 @@ See:
* https://bz.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_severity=Blocker&bug_severity=Critical&bug_severity=Major&bug_severity=Normal&bug_severity=Regression&bug_severity=Minor&bug_severity=Trivial&product=JMeter&order=Bug%20Number&list_id=164231
* https://bz.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=NEEDINFO&bug_severity=Enhancement&product=JMeter&order=Bug%20Number&list_id=164232
+## Development setup
+
+### Gradle
+
+You might find useful Gradle commands in [gradle.md](gradle.md)
+
+### <a name="intellij"></a>IntelliJ IDEA
+
+You require IntelliJ 2018.3.1 or newer.
+
+1. Open the build.gradle.kts file with IntelliJ IDEA and choose `Open as Project`
+1. Make sure `Create separate module per source set` is selected
+1. Make sure `Use default gradle wrapper` is selected
+1. In the `File already exists` dialogue, choose `Yes` to overwrite
+1. In the `Open Project` dialogue, choose `Delete Existing Project and Import`
+
+### Eclipse
+
+Eclipse can import Gradle projects automatically via `Import...->Gradle project` wizard.
+
+Optionally you can generate Eclipse project by running
+
+ ./gradlew eclipse
+
+The steps to import the sources (based on Eclipse 2019-06) into Eclipse are as follows:
+
+1. Install `Eclipse IDE for Java Developers`
+1. Install the Groovy Eclipse plugin and select Groovy Compiler 2.4 (some tests are written in Groovy)
+1. Install `Kotlin for Eclipse` plugin (builds scripts are written in Kotlin)
+1. Make sure you have a Java 8 compatible JDK configured in your workspace
+1. Open `File->Import...`
+1. Select `Existing Gradle Project` and click `Next`
+1. Read `How to experience the best Gradle integration` and click `Next`
+1. Then you might just click `Finish`
+
## :star2: Have a patch?
The best way to make sure your issue or feature is addressed is to submit a patch.
We accept patches through:
diff --git a/LICENSE b/LICENSE
index f2728e6496..334968348e 100644
--- a/LICENSE
+++ b/LICENSE
@@ -176,115 +176,3 @@
END OF TERMS AND CONDITIONS
============================ End of Apache License V 2.0 ===================
-
-Source and binary distributions of Apache JMeter contain:
-
-- icons from the Open Icon Library http://openiconlibrary.sourceforge.net/
-For license details, please see the file: licenses/src/openiconlibrary.txt
-
-Additional source files (also included in binary distributions):
-For details, please see the files under: licenses/src
-
-* bootstrap-3.3.4.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/bootstrap
-* bootstrap-social.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/bootstrap-social
-* datatables-1.10.9.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/datatables
-* datatables-plugins.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/datatables-plugins
-* datatables-responsive-1.0.5.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/datatables-responsive
-* flot-0.8.3.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/flot
-* flot-axislabels.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/flot-axislabels
-* flot-tooltip-0.7.1.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip
-* font-awesome-4.2.0.txt (OFL-1.1 | MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/font-awesome
-* holderjs.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/holderjs
-* jquery-2.1.3.txt (MIT | ./bin/report-template/sbadmin2-1.0.7/bower_components/jquery
-* metisMenu-1.1.3.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/metisMenu
-* mocha-1.17.1.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/mocha
-* morrisjs-0.5.0.txt (Simplified BSD) | ./bin/report-template/sbadmin2-1.0.7/bower_components/morrisjs
-* raphael-2.1.4.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/raphael
-* start-bootstrap-admin2-1.0.7.txt (Apache License V2.0) | ./bin/report-template/sbadmin2-1.0.7 and not in the above folders
-
-Binary distributions additionally contain software included under various licenses,
-see below.
-
-The following software is provided under the Apache License V 2.0 (as above):
-
-- Software produced at the ASF:
-
-* apache-bsf-2.4.0.jar
-* beanshell-2.0b6.jar
-* cglib-nodep-3.2.9.jar
-* commons-codec-1.11.jar
-* commons-collections-3.2.2.jar
-* commons-dbcp2-2.5.0.jar
-* commons-io-2.6.jar
-* commons-jexl2-2.1.1.jar
-* commons-jexl3-3.1.jar
-* commons-lang3-3.8.1.jar
-* commons-math3-3.6.1.jar
-* commons-net-3.6.jar
-* commons-pool2-2.6.0.jar
-* commons-text-1.6.jar
-* dec-0.1.2.jar
-* groovy-all-2.4.16.jar
-* httpasyncclient-4.1.4.jar
-* httpclient-4.5.8.jar
-* httpcore-4.4.11.jar
-* httpcore-nio-4.4.11.jar
-* httpmime-4.5.8.jar
-* jakarta-oro-2.0.8.jar
-* jms-1.1.1.jar
-* log4j-1.2-api-2.11.1.jar
-* log4j-api-2.11.1.jar
-* log4j-core-2.11.1.jar
-* log4j-slf4j-impl-2.11.1.jar
-* serializer-2.7.2.jar
-* startbootstrap-sb-admin-2-1.0.7
-* tika-core-1.21.jar
-* tika-parsers-1.21.jar
-* xalan-2.7.2.jar
-* xerces-2.12.0.jar
-* xml-apis-1.4.01.jar
-* xmlgraphics-commons-2.3.jar
-
-- Software produced outside the ASF which is available under AL 2.0:
-
-* accessors-smart-1.2.jar
-* caffeine-2.6.2.jar
-* darcula.jar
-* freemarker-2.3.28.jar (AL2.0, see licenses/bin for additional info)
-* jackson-annotations-2.9.9.jar
-* jackson-core-2.9.9.jar
-* jackson-databind-2.9.9.jar
-* json-path-2.4.0.jar
-* json-smart-2.3.jar
-* mongo-java-driver-2.11.3.jar
-* objenesis-2.6.jar
-* ph-commons-9.2.1.jar
-* ph-css-6.1.1.jar
-* spock-core-1.2-groovy-2.4.jar
-
-- Software produced outside the ASF which is available under other licenses (not AL 2.0):
-For details, please see the files under: licenses/bin
-
-* asm-7.0.jar (BSD)
-* dnsjava-2.1.8.jar (BSD)
-* hamcrest-core-1.3.jar (BSD)
-* javamail-1.5.0-b01.jar (CDDL Version 1.0)
-* javax.activation-api-1.2.0.jar (CDDL Version 1.1)
-* javax.activation-1.2.0.jar (CDDL Version 1.1)
-* jcharts-0.7.5.jar (?)
-* jcl-over-slf4j-1.7.25.jar (MIT)
-* jsoup-1.11.3.jar (MIT)
-* jodd-core-5.0.6.jar (Simplified BSD)
-* jodd-lagarto-5.0.6.jar (Simplified BSD)
-* jodd-log-5.0.6.jar (Simplified BSD)
-* jodd-props-5.0.6.jar (Simplified BSD)
-* jtidy-r938.jar (?)
-* junit-4.12.jar (BSD)
-* rhino-1.7.10.jar (MPL 2.0)
-* rsyntaxtextarea-3.0.2.jar (BSD)
-* slf4j-api-1.7.25.jar (MIT)
-* xmlpull-1.1.3.1.jar (Public Domain)
-* xpp3-1.1.4c.jar (Indiana University Extreme! Lab Software License 1.1.1)
-* xstream-1.4.11.jar (BSD)
-* hamcrest-date-2.0.4.jar (BSD)
-* Saxon-HE-9.9.1-1.jar (Mozilla Public License version 2.0)
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000000..f66cb7b333
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,397 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+import com.github.spotbugs.SpotBugsPlugin
+import com.github.spotbugs.SpotBugsTask
+import com.github.vlsi.gradle.crlf.CrLfSpec
+import com.github.vlsi.gradle.crlf.LineEndings
+import com.github.vlsi.gradle.crlf.filter
+import com.github.vlsi.gradle.git.FindGitAttributes
+import com.github.vlsi.gradle.git.dsl.gitignore
+import com.github.vlsi.gradle.release.RepositoryType
+import org.ajoberstar.grgit.Grgit
+import org.gradle.api.tasks.testing.logging.TestExceptionFormat
+
+plugins {
+ java
+ jmeterbuild.witness
+ jacoco
+ checkstyle
+ id("org.jetbrains.gradle.plugin.idea-ext") version "0.5" apply false
+ id("org.nosphere.apache.rat") version "0.5.0"
+ id("com.github.spotbugs") version "1.6.10"
+ id("org.sonarqube") version "2.7.1"
+ id("com.github.vlsi.crlf") version "1.16.0"
+ id("com.github.vlsi.ide") version "1.16.0"
+ id("com.github.vlsi.stage-vote-release") version "1.16.0"
+ signing
+ publishing
+}
+
+ide {
+ copyrightToAsf()
+ ideaInstructionsUri =
+ uri("https://github.com/apache/jmeter/blob/master/CONTRIBUTING.md#intellij")
+ doNotDetectFrameworks("android", "jruby")
+}
+
+fun Project.boolProp(name: String) =
+ findProperty(name)
+ // Project properties include tasks, extensions, etc, and we want only String properties
+ // We don't want to use "task" as a boolean property
+ ?.let { it as? String }
+ ?.equals("false", ignoreCase = true)?.not()
+
+
+// Release candidate index
+val String.v: String get() = rootProject.extra["$this.version"] as String
+version = "jmeter".v + releaseParams.snapshotSuffix
+
+val displayVersion by extra {
+ version.toString() +
+ if (releaseParams.release.get()) {
+ ""
+ } else {
+ // Append 7 characters of Git commit id for snapshot version
+ val grgit: Grgit? by project
+ grgit?.let { " " + it.head().abbreviatedId }
+ }
+}
+
+println("Building JMeter $version")
+
+apply(from = "$rootDir/gradle/dependencyVerification.gradle.kts")
+
+fun reportsForHumans() = !(System.getenv()["CI"]?.toBoolean() ?: false)
+
+val lastEditYear by extra {
+ file("$rootDir/NOTICE")
+ .readLines()
+ .first { it.contains("Copyright") }
+ .let {
+ """Copyright \d{4}-(\d{4})""".toRegex()
+ .find(it)?.groupValues?.get(1)
+ ?: throw IllegalStateException("Unable to identify copyright year from $rootDir/NOTICE")
+ }
+}
+
+// This task scans the project for gitignore / gitattributes, and that is reused for building
+// source/binary artifacts with the appropriate eol/executable file flags
+// It enables to automatically exclude patterns from .gitignore
+val gitProps by tasks.registering(FindGitAttributes::class) {
+ // Scanning for .gitignore and .gitattributes files in a task avoids doing that
+ // when distribution build is not required (e.g. code is just compiled)
+ root.set(rootDir)
+}
+
+val rat by tasks.getting(org.nosphere.apache.rat.RatTask::class) {
+ gitignore(gitProps)
+ // Note: patterns are in non-standard syntax for RAT, so we use exclude(..) instead of excludeFile
+ exclude(rootDir.resolve("rat-excludes.txt").readLines())
+}
+
+releaseParams {
+ tlp.set("JMeter")
+ releaseTag.set("v${project.version.toString().replace('.', '_')}")
+ rcTag.set(releaseTag.map { "${it}_RC" + rc.get() })
+ previewSiteContents {
+ into("rat")
+ from(rat)
+ }
+ svnDist {
+ // All the release versions are put under release/jmeter/{source,binary}
+ releaseFolder.set("release/jmeter")
+ releaseSubfolder.apply {
+ put(Regex("_src\\."), "sources")
+ put(Regex("."), "binaries")
+ }
+ }
+ nexus {
+ if (repositoryType.get() == RepositoryType.PROD) {
+ // org.apache.jmeter at repository.apache.org
+ stagingProfileId.set("4d29c092016673")
+ }
+ }
+}
+
+val jacocoReport by tasks.registering(JacocoReport::class) {
+ group = "Coverage reports"
+ description = "Generates an aggregate report from all subprojects"
+}
+
+val jacocoEnabled by extra {
+ (boolProp("coverage") ?: false) || gradle.startParameter.taskNames.any { it.contains("jacoco") }
+}
+
+// Do not enable spotbugs by default. Execute it only when -Pspotbugs is present
+val enableSpotBugs by extra {
+ boolProp("spotbugs") ?: false
+}
+
+val skipCheckstyle by extra {
+ boolProp("skipCheckstyle") ?: false
+}
+
+// Allow to skip building source/binary distributions
+val skipDist by extra {
+ boolProp("skipDist") ?: false
+}
+
+allprojects {
+ if (project.path != ":src") {
+ tasks.register<DependencyInsightReportTask>("allDepInsight") {
+ group = LifecycleBasePlugin.BUILD_GROUP
+ description =
+ "Shows insights where the dependency is used. For instance: allDepInsight --configuration compile --dependency org.jsoup:jsoup"
+ }
+ }
+}
+
+sonarqube {
+ properties {
+ // See https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Gradle#AnalyzingwithSonarQubeScannerforGradle-Configureanalysisproperties
+ property("sonar.sourceEncoding", "UTF-8")
+ val projectName = "JMeter"
+ property("sonar.projectName", projectName)
+ property("sonar.projectKey", "org.apache.jmeter:$projectName")
+ property("sonar.projectVersion", project.version.toString())
+ property("sonar.host.url", System.getenv()["SONAR_HOST_URL"] ?: "http://localhost:9000")
+ property("sonar.login", System.getenv()["SONAR_LOGIN"] ?: "")
+ property("sonar.password", System.getenv()["SONAR_PASSWORD"] ?: "")
+ property("sonar.links.homepage", "https://jmeter.apache.org")
+ property("sonar.links.ci", "https://builds.apache.org/job/JMeter-trunk/")
+ property("sonar.links.scm", "https://jmeter.apache.org/svnindex.html")
+ property("sonar.links.issue", "https://jmeter.apache.org/issues.html")
+ }
+}
+
+allprojects {
+ group = "org.apache.jmeter"
+ // JMeter ClassFinder parses "class.path" and tries to find jar names there,
+ // so we should produce jars without versions names for now
+ // version = rootProject.version
+ plugins.withType<JavaPlugin> {
+ apply<IdeaPlugin>()
+ apply<EclipsePlugin>()
+ if (!skipCheckstyle) {
+ apply<CheckstylePlugin>()
+ checkstyle {
+ toolVersion = "checkstyle".v
+ }
+ }
+ apply<SpotBugsPlugin>()
+
+ spotbugs {
+ toolVersion = "spotbugs".v
+ }
+ }
+
+ plugins.withType<JacocoPlugin> {
+ the<JacocoPluginExtension>().toolVersion = "jacoco".v
+
+ val testTasks = tasks.withType<Test>()
+ val javaExecTasks = tasks.withType<JavaExec>()
+ // This configuration must be postponed since JacocoTaskExtension might be added inside
+ // configure block of a task (== before this code is run). See :src:dist-check:createBatchTask
+ afterEvaluate {
+ for (t in arrayOf(testTasks, javaExecTasks)) {
+ t.configureEach {
+ extensions.findByType<JacocoTaskExtension>()?.apply {
+ // Do not collect coverage when not asked (e.g. via jacocoReport or -Pcoverage)
+ isEnabled = jacocoEnabled
+ // We don't want to collect coverage for third-party classes
+ includes?.add("org.apache.jmeter.*")
+ includes?.add("org.apache.jorphan.*")
+ includes?.add("org.apache.commons.cli.*")
+ }
+ }
+ }
+ }
+
+ jacocoReport {
+ // Note: this creates a lazy collection
+ // Some of the projects might fail to create a file (e.g. no tests or no coverage),
+ // So we check for file existence. Otherwise JacocoMerge would fail
+ val execFiles =
+ files(testTasks, javaExecTasks).filter { it.exists() && it.name.endsWith(".exec") }
+ executionData(execFiles)
+ }
+
+ tasks.withType<JacocoReport>().configureEach {
+ reports {
+ html.isEnabled = reportsForHumans()
+ xml.isEnabled = !reportsForHumans()
+ }
+ }
+ // Add each project to combined report
+ configure<SourceSetContainer> {
+ val mainCode = main.get()
+ jacocoReport.configure {
+ additionalSourceDirs.from(mainCode.allJava.srcDirs)
+ sourceDirectories.from(mainCode.allSource.srcDirs)
+ // IllegalStateException: Can't add different class with same name: module-info
+ // https://github.com/jacoco/jacoco/issues/858
+ classDirectories.from(mainCode.output.asFileTree.matching {
+ exclude("module-info.class")
+ })
+ }
+ }
+ }
+
+ tasks.withType<AbstractArchiveTask>().configureEach {
+ // Ensure builds are reproducible
+ isPreserveFileTimestamps = false
+ isReproducibleFileOrder = true
+ dirMode = "775".toInt(8)
+ fileMode = "664".toInt(8)
+ }
+
+ // Not all the modules use publishing plugin
+ plugins.withType<PublishingPlugin> {
+ apply<SigningPlugin>()
+ // Sign all the published artifacts
+ signing {
+ sign(publishing.publications)
+ }
+ }
+
+ plugins.withType<SigningPlugin> {
+ afterEvaluate {
+ configure<SigningExtension> {
+ val release = rootProject.releaseParams.release.get()
+ // Note it would still try to sign the artifacts,
+ // however it would fail only when signing a RELEASE version fails
+ isRequired = release
+ }
+ }
+ }
+
+ plugins.withType<JavaPlugin> {
+ // This block is executed right after `java` plugin is added to a project
+
+ repositories {
+ jcenter()
+ ivy {
+ url = uri("https://github.com/bulenkov/Darcula/raw/")
+ content {
+ includeModule("com.github.bulenkov.darcula", "darcula")
+ }
+ patternLayout {
+ artifact("[revision]/build/[module].[ext]")
+ }
+ metadataSources {
+ artifact() // == don't try downloading .pom file from the repository
+ }
+ }
+ }
+
+ tasks {
+ withType<JavaCompile>().configureEach {
+ options.encoding = "UTF-8"
+ }
+ withType<ProcessResources>().configureEach {
+ from(source) {
+ include("**/*.properties")
+ filteringCharset = "UTF-8"
+ // apply native2ascii conversion since Java 8 expects properties to have ascii symbols only
+ filter(org.apache.tools.ant.filters.EscapeUnicode::class)
+ filter(LineEndings.LF)
+ }
+ // Text-like resources are normalized to LF (just for consistency purposes)
+ // This makes to produce exactly the same jar files no matter which OS is used for the build
+ from(source) {
+ include("**/*.dtd")
+ include("**/*.svg")
+ include("**/*.txt")
+ // Test resources have files in CP1252, and we don't want to parse them as UTF-8
+ exclude("**/*cp1252*")
+ filteringCharset = "UTF-8"
+ filter(LineEndings.LF)
+ }
+ }
+ afterEvaluate {
+ // Add default license/notice when missing (e.g. see :src:config that overrides LICENSE)
+ withType<Jar>().configureEach {
+ CrLfSpec(LineEndings.LF).run {
+ into("META-INF") {
+ filteringCharset = "UTF-8"
+ duplicatesStrategy = DuplicatesStrategy.EXCLUDE
+ // Note: we need "generic Apache-2.0" text without third-party items
+ // So we use the text from $rootDir/config/ since source distribution
+ // contains altered text at $rootDir/LICENSE
+ textFrom("$rootDir/config/LICENSE")
+ textFrom("$rootDir/NOTICE")
+ }
+ }
+ }
+ }
+ withType<Jar>().configureEach {
+ manifest {
+ attributes["Bundle-License"] = "Apache-2.0"
+ attributes["Specification-Title"] = "Apache JMeter"
+ attributes["Specification-Vendor"] = "Apache Software Foundation"
+ attributes["Implementation-Vendor"] = "Apache Software Foundation"
+ attributes["Implementation-Vendor-Id"] = "org.apache"
+ attributes["Implementation-Version"] = rootProject.version
+ }
+ }
+ withType<Test>().configureEach {
+ testLogging {
+ exceptionFormat = TestExceptionFormat.FULL
+ }
+ // Pass the property to tests
+ systemProperty("java.awt.headless", System.getProperty("java.awt.headless"))
+ }
+ withType<SpotBugsTask>().configureEach {
+ group = LifecycleBasePlugin.VERIFICATION_GROUP
+ if (enableSpotBugs) {
+ description = "$description (skipped by default, to enable it add -Dspotbugs)"
+ }
+ reports {
+ html.isEnabled = reportsForHumans()
+ xml.isEnabled = !reportsForHumans()
+ }
+ enabled = enableSpotBugs
+ }
+ withType<Javadoc>().configureEach {
+ (options as StandardJavadocDocletOptions).apply {
+ noTimestamp.value = true
+ showFromProtected()
+ docEncoding = "UTF-8"
+ charSet = "UTF-8"
+ encoding = "UTF-8"
+ docTitle = "Apache JMeter ${project.name} API"
+ windowTitle = "Apache JMeter ${project.name} API"
+ header = "<b>Apache JMeter</b>"
+ bottom =
+ "Copyright © 1998-$lastEditYear Apache Software Foundation. All Rights Reserved."
+ if (JavaVersion.current() >= JavaVersion.VERSION_1_9) {
+ addBooleanOption("html5", true)
+ links("https://docs.oracle.com/javase/9/docs/api/")
+ } else {
+ links("https://docs.oracle.com/javase/8/docs/api/")
+ }
+ }
+ }
+ }
+
+ configure<JavaPluginConvention> {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ }
+ }
+}
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
new file mode 100644
index 0000000000..942feedc02
--- /dev/null
+++ b/buildSrc/build.gradle.kts
@@ -0,0 +1,61 @@
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+plugins {
+ java
+ `kotlin-dsl` apply false
+}
+
+repositories {
+ jcenter()
+ gradlePluginPortal()
+}
+
+allprojects {
+ repositories {
+ jcenter()
+ gradlePluginPortal()
+ }
+ applyKotlinProjectConventions()
+}
+
+fun Project.applyKotlinProjectConventions() {
+ apply(plugin = "org.gradle.kotlin.kotlin-dsl")
+
+ plugins.withType<KotlinDslPlugin> {
+ configure<KotlinDslPluginOptions> {
+ experimentalWarning.set(false)
+ }
+ }
+
+ tasks.withType<KotlinCompile> {
+ sourceCompatibility = "unused"
+ targetCompatibility = "unused"
+ kotlinOptions {
+ jvmTarget = "1.8"
+ }
+ }
+}
+
+dependencies {
+ subprojects.forEach {
+ runtimeOnly(project(it.path))
+ }
+}
diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts
new file mode 100644
index 0000000000..e80a7eecec
--- /dev/null
+++ b/buildSrc/settings.gradle.kts
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+include("batchtest")
+include("witness")
+
+val upperCaseLetters = "\\p{Upper}".toRegex()
+
+fun String.toKebabCase() =
+ replace(upperCaseLetters) { "-${it.value.toLowerCase()}" }
+
+fun buildFileNameFor(projectDirName: String) =
+ "$projectDirName.gradle.kts"
+
+for (project in rootProject.children) {
+ val projectDirName = project.name.toKebabCase()
+ project.projectDir = file("subprojects/$projectDirName")
+ project.buildFileName = buildFileNameFor(projectDirName)
+ assert(project.projectDir.isDirectory)
+ assert(project.buildFile.isFile)
+}
\ No newline at end of file
diff --git a/buildSrc/subprojects/batchtest/batchtest.gradle.kts b/buildSrc/subprojects/batchtest/batchtest.gradle.kts
new file mode 100644
index 0000000000..83ad498635
--- /dev/null
+++ b/buildSrc/subprojects/batchtest/batchtest.gradle.kts
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+dependencies {
+ compile("org.ajoberstar.grgit:grgit-gradle:3.1.1")
+}
+
+gradlePlugin {
+ plugins {
+ register("batchtest") {
+ id = "jmeterbuild.batchtest"
+ implementationClass = "org.apache.jmeter.buildtools.batchtest.BatchtestPlugin"
+ }
+ }
+}
diff --git a/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/BatchTest.kt b/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/BatchTest.kt
new file mode 100644
index 0000000000..3a2ad2c884
--- /dev/null
+++ b/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/BatchTest.kt
@@ -0,0 +1,207 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.buildtools.batchtest
+
+import org.eclipse.jgit.diff.DiffAlgorithm
+import org.eclipse.jgit.diff.DiffFormatter
+import org.eclipse.jgit.diff.RawText
+import org.eclipse.jgit.diff.RawTextComparator
+import org.gradle.api.GradleException
+import org.gradle.api.model.ObjectFactory
+import org.gradle.api.tasks.*
+import org.gradle.kotlin.dsl.configure
+import org.gradle.kotlin.dsl.property
+import java.io.File
+import java.net.InetAddress
+import javax.inject.Inject
+
+open class BatchTest @Inject constructor(objects: ObjectFactory) : JavaExec() {
+ companion object {
+ const val BATCH_TESTS_GROUP_NAME = "Batch test"
+ }
+
+ @Input
+ val ignoreErrorLogs = objects.property<Boolean>().convention(false)
+
+ @Input
+ val testName = objects.property<String>()
+
+ @InputDirectory
+ val inputDirectory = objects.directoryProperty().convention(
+ project.rootProject.layout.projectDirectory.dir("bin/testfiles")
+ )
+
+ @InputFile
+ val batchProperties = objects.fileProperty().convention(
+ project.rootProject.layout.projectDirectory.file("bin/testfiles/jmeter-batch.properties")
+ )
+
+ @InputFile
+ val log4jXml = objects.fileProperty().convention(
+ project.rootProject.layout.projectDirectory.file("bin/testfiles/log4j2-batch.xml")
+ )
+
+ @Input
+ val userLanguage = objects.property<String>().convention("en")
+
+ @Input
+ val userRegion = objects.property<String>().convention("en")
+
+ @Input
+ val userCountry = objects.property<String>().convention("US")
+
+ @InputFile
+ val jmx = objects.fileProperty()
+ .convention(inputDirectory.file(testName.map { "$it.jmx" }))
+
+ @Internal
+ val outputDirectory = objects.directoryProperty()
+ .convention(project.rootProject.layout.projectDirectory.dir("bin"))
+
+ @Internal
+ val logFile = objects.fileProperty()
+ .convention(outputDirectory.file(testName.map { "$it.log" }))
+
+ @Internal
+ val jtlFile = objects.fileProperty()
+ .convention(outputDirectory.file(testName.map { "$it.jtl" }))
+
+ @Internal
+ val csvFile = objects.fileProperty()
+ .convention(outputDirectory.file(testName.map { "$it.csv" }))
+
+ @Internal
+ val xmlFile = objects.fileProperty()
+ .convention(outputDirectory.file(testName.map { "$it.xml" }))
+
+ @Internal
+ val errFile = objects.fileProperty()
+ .convention(outputDirectory.file(testName.map { "$it.err" }))
+
+ // Re-run the task when jar contents is changed
+ @get:InputFiles
+ val jars
+ get() = project.rootProject.layout.projectDirectory.dir("lib").asFileTree
+
+ @get:InputFile
+ val jmeterJar
+ get() = project.rootProject.layout.projectDirectory.dir("bin").file("ApacheJMeter.jar")
+
+ init {
+ group = BATCH_TESTS_GROUP_NAME
+ description = "Runs jmx file via process fork and verifies outputs"
+ configure {
+ workingDir = File(project.rootDir, "bin")
+ main = "org.apache.jmeter.NewDriver"
+ classpath(jmeterJar)
+
+ // This does not depend on the task configuration, so the properties are initialized early
+ // It enables to override the properties later (e.g. in the build script)
+ maxHeapSize = "128m"
+ jvmArgs("-Xss256k", "-XX:MaxMetaspaceSize=128m")
+ systemProperty("java.rmi.server.hostname", InetAddress.getLocalHost().canonicalHostName)
+ systemProperty("java.awt.headless", "true")
+ }
+ }
+
+ fun jmeterArgument(name: String, value: String) {
+ args("-J$name=$value")
+ }
+
+ private fun deleteWorkfiles() {
+ project.delete(csvFile, xmlFile, logFile, jtlFile, errFile)
+ }
+
+ fun compareFiles(summary: MutableList<String>, actualFile: File): Boolean {
+ val actual = actualFile.readText()
+ val fileName = actualFile.name
+ val expectedFile = inputDirectory.file(fileName).get().asFile
+ val expected = expectedFile.readText()
+ if (expected == actual) {
+ return true
+ }
+
+ summary.add("unexpected output $fileName")
+ println("ERROR: unexpected output for $fileName:")
+ println(" - expected ${expectedFile.length()} bytes, $expectedFile")
+ println(" + actual ${actualFile.length()} bytes, $actualFile")
+
+ val e = RawText(expectedFile)
+ val a = RawText(actualFile)
+ val diffAlgorithm = DiffAlgorithm.getAlgorithm(DiffAlgorithm.SupportedAlgorithm.HISTOGRAM)
+ val edits = diffAlgorithm.diff(RawTextComparator.DEFAULT, e, a)
+ DiffFormatter(System.out).format(edits, e, a)
+ return false;
+ }
+
+ override fun exec() {
+ systemProperty("user.language", userLanguage.get())
+ systemProperty("user.region", userRegion.get())
+ systemProperty("user.country", userCountry.get())
+ args("-pjmeter.properties")
+ args("-q", batchProperties.get())
+ args("-n")
+ args("-t", jmx.get())
+ args("-i", log4jXml.get())
+ args("-j", logFile.get())
+ args("-l", jtlFile.get())
+ // Check properties can be passed to local/remote tests
+ args("-Jmodule=Module")
+ args("-Gmodule=Module")
+ // Check property can be used for filenames in local/remote tests (no need to defined as -G)
+ args("-JCSVFILE=${csvFile.get()}")
+
+ deleteWorkfiles()
+
+ super.exec()
+
+ val summary = mutableListOf<String>()
+ checkErrors(summary)
+
+ if (summary.isNotEmpty()) {
+ throw GradleException("Failures detected while testing ${jmx.get()}: $summary")
+ }
+ deleteWorkfiles()
+ }
+
+ protected open fun checkErrors(summary: MutableList<String>) {
+ compareFiles(summary, csvFile.get().asFile)
+ compareFiles(summary, xmlFile.get().asFile)
+ val log = logFile.get().asFile
+ catLogFile(log, summary, ignoreErrorLogs.get())
+ }
+
+ protected fun catLogFile(
+ log: File,
+ summary: MutableList<String>,
+ ignoreErrors: Boolean = false
+ ) {
+ if (log.length() == 0L) {
+ println("No errors present in the logfile $log (the file is empty)")
+ return
+ }
+ if (ignoreErrors) {
+ println("WARNING: the task was configured to ignore errors in the output log")
+ } else {
+ summary.add("errors in ${log.name}")
+ }
+ println("Logfile contents (errors during the test, see $log):")
+ log.inputStream().use { it.copyTo(System.out) }
+ }
+}
diff --git a/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/BatchTestServer.kt b/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/BatchTestServer.kt
new file mode 100644
index 0000000000..a983773300
--- /dev/null
+++ b/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/BatchTestServer.kt
@@ -0,0 +1,142 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.buildtools.batchtest
+
+import org.gradle.api.GradleException
+import org.gradle.api.model.ObjectFactory
+import org.gradle.api.tasks.Internal
+import org.gradle.api.tasks.OutputFile
+import org.gradle.kotlin.dsl.findByType
+import org.gradle.testing.jacoco.plugins.JacocoTaskExtension
+import java.io.File
+import java.net.ConnectException
+import java.net.InetAddress
+import java.net.ServerSocket
+import java.net.Socket
+import java.time.Duration
+import java.util.concurrent.Executors
+import java.util.concurrent.TimeUnit
+import java.util.concurrent.TimeoutException
+import javax.inject.Inject
+
+open class BatchTestServer @Inject constructor(objects: ObjectFactory) : BatchTest(objects) {
+ private val executor =
+ Executors.newFixedThreadPool(project.gradle.startParameter.maxWorkerCount)
+
+ @Internal
+ val serverLogFile = objects.fileProperty()
+ .convention(outputDirectory.file(testName.map { "${it}Server.log" }))
+
+ @OutputFile
+ val jacocoExecFile = objects.fileProperty()
+ .convention(project.layout.buildDirectory.file("jacoco/$name.exec"))
+
+ private fun deleteWorkfiles() {
+ project.delete(serverLogFile)
+ }
+
+ private fun getFreePort(): Int =
+ ServerSocket(0).use {
+ return it.localPort
+ }
+
+ private fun waitForPort(host: String, port: Int, timeout: Duration): Boolean {
+ val deadline = System.nanoTime() + timeout.toNanos()
+ while (System.nanoTime() < deadline) {
+ try {
+ Socket(host, port).close()
+ return true
+ } catch (e: ConnectException) {
+ /* ignore */
+ Thread.sleep(50)
+ }
+ }
+ throw GradleException("Unable to connect to $host:$port with timeout of $timeout")
+ }
+
+ override fun checkErrors(summary: MutableList<String>) {
+ super.checkErrors(summary)
+ catLogFile(serverLogFile.get().asFile, summary)
+ }
+
+ override fun exec() {
+ deleteWorkfiles()
+
+ val client = this
+ val serverPort = getFreePort()
+ val serverHost = InetAddress.getLocalHost().canonicalHostName
+ args("-R$serverHost:$serverPort")
+ val jacoco = extensions.findByType<JacocoTaskExtension>()
+ // The extension might not exist, so don't fail if so
+ // When the extension is present, we get javaagent argumet from it
+ val jvmarg = jacoco?.takeIf { it.isEnabled }?.let {
+ val dst = it.destinationFile ?: throw GradleException("destinationFile is not configured for task $this")
+ val serverExec = jacocoExecFile.get().asFile
+ it.setDestinationFile(serverExec)
+ if (serverExec.exists()) {
+ // We want to capture new coverage, not a merged result from previous runs
+ // so previous .exec should be deleted if exists
+ serverExec.delete()
+ }
+ val jvmarg = it.asJvmArg
+
+ it.setDestinationFile(dst)
+ jvmarg
+ }
+ val server = executor.submit {
+ project.javaexec {
+ workingDir = File(project.rootDir, "bin")
+ main = "org.apache.jmeter.NewDriver"
+ classpath(client.classpath)
+ standardOutput = System.out.writer().withPrefix("[server] ")
+ errorOutput = System.err.writer().withPrefix("[server] ")
+ maxHeapSize = client.maxHeapSize
+ jvmArgs("-Xss256k", "-XX:MaxMetaspaceSize=128m")
+ if (jvmarg != null) {
+ jvmArgs(jvmarg)
+ }
+ systemProperty("java.rmi.server.hostname", serverHost)
+ systemProperty("server_port", serverPort)
+ systemProperty("java.awt.headless", "true")
+ systemProperty("user.language", userLanguage.get())
+ systemProperty("user.region", userRegion.get())
+ systemProperty("user.country", userCountry.get())
+
+ args("-pjmeter.properties")
+ args("-q", batchProperties.get())
+ args("-i", log4jXml.get())
+ args("-j", serverLogFile.get())
+ args("-s", "-Jserver.exitaftertest=true")
+ }
+ .rethrowFailure()
+ .assertNormalExitValue()
+ }
+
+ waitForPort(serverHost, serverPort, Duration.ofSeconds(5))
+ super.exec()
+
+ try {
+ server.get(1, TimeUnit.SECONDS)
+ } catch (e: TimeoutException) {
+ server.cancel(true)
+ }
+
+ deleteWorkfiles()
+ }
+}
diff --git a/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/BatchtestPlugin.kt b/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/BatchtestPlugin.kt
new file mode 100644
index 0000000000..9401331f65
--- /dev/null
+++ b/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/BatchtestPlugin.kt
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.buildtools.batchtest
+
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+
+open class BatchtestPlugin: Plugin<Project> {
+ override fun apply(target: Project) {
+ }
+}
\ No newline at end of file
diff --git a/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/WriterExtensions.kt b/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/WriterExtensions.kt
new file mode 100644
index 0000000000..feae656f53
--- /dev/null
+++ b/buildSrc/subprojects/batchtest/src/main/kotlin/org/apache/jmeter/buildtools/batchtest/WriterExtensions.kt
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.buildtools.batchtest
+
+import org.gradle.internal.io.LineBufferingOutputStream
+import org.gradle.internal.io.TextStream
+import java.io.Writer
+
+fun Writer.withPrefix(prefix: String) =
+ LineBufferingOutputStream(object : TextStream {
+ override fun text(text: String?) {
+ write(prefix)
+ write(text)
+ flush()
+ }
+
+ override fun endOfStream(failure: Throwable?) {
+ if (failure != null) {
+ throw failure
+ }
+ }
+ })
diff --git a/buildSrc/subprojects/witness/src/main/kotlin/org/apache/jmeter/buildtools/witness/DependencyKey.kt b/buildSrc/subprojects/witness/src/main/kotlin/org/apache/jmeter/buildtools/witness/DependencyKey.kt
new file mode 100644
index 0000000000..e25861064d
--- /dev/null
+++ b/buildSrc/subprojects/witness/src/main/kotlin/org/apache/jmeter/buildtools/witness/DependencyKey.kt
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.buildtools.witness
+
+import org.gradle.api.artifacts.Dependency
+import org.gradle.api.artifacts.DependencyArtifact
+import org.gradle.api.artifacts.ModuleDependency
+import org.gradle.api.artifacts.component.ModuleComponentIdentifier
+
+data class DependencyKey(val dependencyNotation: String) : Comparable<DependencyKey> {
+ constructor(compId: ModuleComponentIdentifier, classifier: String?, ext: String) :
+ this(compId.toString().with(classifier, ext))
+
+ constructor(dependency: Dependency) : this(dependency.toStr())
+
+ override fun compareTo(other: DependencyKey): Int =
+ dependencyNotation.compareTo(other.dependencyNotation)
+
+ override fun toString() = dependencyNotation
+}
+
+private fun String.with(classifier: String?, ext: String): String {
+ if (classifier == null) {
+ return this
+ }
+ var result = "$this:$classifier"
+ if (ext != DependencyArtifact.DEFAULT_TYPE) {
+ result += "@$ext"
+ }
+ return result
+
+}
+
+fun Dependency.toStr(): String {
+ val result = "$group:$name:$version"
+ if (this is ModuleDependency) {
+ for (artifact in this.artifacts) {
+ return result.with(artifact.classifier, artifact.extension)
+ }
+ }
+ return result
+}
diff --git a/buildSrc/subprojects/witness/src/main/kotlin/org/apache/jmeter/buildtools/witness/WitnessExtension.kt b/buildSrc/subprojects/witness/src/main/kotlin/org/apache/jmeter/buildtools/witness/WitnessExtension.kt
new file mode 100644
index 0000000000..36bf31dd6f
--- /dev/null
+++ b/buildSrc/subprojects/witness/src/main/kotlin/org/apache/jmeter/buildtools/witness/WitnessExtension.kt
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.buildtools.witness
+
+import org.gradle.api.Project
+
+open class WitnessExtension(private val project: Project) {
+ val hashes = mutableMapOf<DependencyKey, String>()
+
+ fun sha256(dependency: Any, hash: String) {
+ val dep = project.dependencies.create(dependency)
+ hashes[DependencyKey(dep)] = hash
+ }
+}
diff --git a/buildSrc/subprojects/witness/src/main/kotlin/org/apache/jmeter/buildtools/witness/WitnessPlugin.kt b/buildSrc/subprojects/witness/src/main/kotlin/org/apache/jmeter/buildtools/witness/WitnessPlugin.kt
new file mode 100644
index 0000000000..14652c47d7
--- /dev/null
+++ b/buildSrc/subprojects/witness/src/main/kotlin/org/apache/jmeter/buildtools/witness/WitnessPlugin.kt
@@ -0,0 +1,176 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.buildtools.witness
+
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+import org.gradle.api.artifacts.component.ModuleComponentIdentifier
+import org.gradle.kotlin.dsl.the
+import org.gradle.language.base.plugins.LifecycleBasePlugin
+import org.gradle.workers.IsolationMode
+import org.gradle.workers.WorkerExecutor
+import java.io.File
+import java.math.BigInteger
+import java.security.MessageDigest
+import java.util.*
+import java.util.stream.Collectors
+import javax.inject.Inject
+
+class WitnessPlugin @Inject constructor(val workerExecutor: WorkerExecutor) : Plugin<Project> {
+ companion object {
+ const val VERIFY_CHECKSUMS_TASK_NAME = "verifyChecksums"
+ const val CALCULATE_CHECKSUMS_TASK_NAME = "calculateChecksums"
+ }
+
+ override fun apply(project: Project) {
+ if (project.parent != null) {
+ throw IllegalArgumentException("witness plugin should be applied to the root project only")
+ }
+
+ project.extensions.create("dependencyVerification", WitnessExtension::class.java, project)
+
+ project.tasks.register(VERIFY_CHECKSUMS_TASK_NAME) {
+ group = LifecycleBasePlugin.VERIFICATION_GROUP
+ description = "Verifies checksums of the project dependencies"
+ // Avoid task caching just in case
+ outputs.upToDateWhen { false }
+ doLast {
+ val allDependencies = project.collectFiles()
+ val verification = project.the<WitnessExtension>()
+ val allHashes = verification.hashes.keys.toMutableSet()
+ for (dep in allDependencies) {
+ allHashes.remove(dep.key)
+ workerExecutor.submit(CalculateSHA512::class.java) {
+ displayName = "validate checksum for ${dep.key.dependencyNotation}"
+ isolationMode = IsolationMode.NONE
+ params(dep.value.uses.toString(), dep.value.file, verification.hashes[dep.key] ?: "")
+ }
+ }
+ workerExecutor.await()
+ if (allHashes.isEmpty()) {
+ println(
+ "The following artifacts are not longer present in project dependencies," +
+ " however the checksums are registered: ${allHashes.sorted().joinToString(
+ "\n"
+ )}"
+ )
+ }
+ }
+ }
+ project.tasks.register(CALCULATE_CHECKSUMS_TASK_NAME) {
+ group = LifecycleBasePlugin.VERIFICATION_GROUP
+ description = "Calculates and prints the checksums of the project dependencies"
+ // Avoid task caching just in case
+ outputs.upToDateWhen { false }
+ doLast {
+ val allDependencies = project.collectFiles()
+ val hashSums = allDependencies
+ .entries
+ .parallelStream()
+ .map({ e -> e.key.dependencyNotation to e.value.file.sha512() })
+ .sorted(Comparator.comparing({ e -> e.first.toLowerCase(Locale.ROOT) }))
+ .map({ e -> """sha256("${e.first}", "${e.second}")""" })
+ .collect(Collectors.joining("\n"))
+ println(hashSums)
+ }
+ }
+ }
+}
+
+data class DependencyUse(val projectPath: String, val configuration: String) {
+ override fun toString() = "$projectPath/$configuration"
+}
+
+data class DependencyAndProject(val file: File, val uses: MutableSet<DependencyUse> = mutableSetOf())
+
+private fun Project.collectFiles(): Map<DependencyKey, DependencyAndProject> {
+ val result = sortedMapOf<DependencyKey, DependencyAndProject>()
+
+ for (p: Project in allprojects
+ .filter { !it.repositories.isEmpty() }
+ ) {
+ for(conf in p.let { it.buildscript.configurations + it.configurations }
+ .filter { it.isCanBeResolved }) {
+ for (art in conf.resolvedConfiguration.resolvedArtifacts) {
+ val compId = art.id.componentIdentifier
+ if (compId is ModuleComponentIdentifier) {
+ val dependencyKey = DependencyKey(
+ compId,
+ art.classifier,
+ art.extension
+ )
+ result.computeIfAbsent(dependencyKey) {
+ DependencyAndProject(
+ art.file
+ )
+ }
+ .uses.add(
+ DependencyUse(
+ p.path,
+ conf.name
+ )
+ )
+ }
+ }
+ }
+ }
+ return result
+}
+
+private fun File.sha512(): String {
+ val md = MessageDigest.getInstance("SHA-512")
+ val buf = ByteArray(4096)
+ this.inputStream().use {
+ while (true) {
+ val read = it.read(buf)
+ if (read == -1) {
+ break
+ }
+ md.update(buf, 0, read)
+ }
+ }
+ return BigInteger(1, md.digest()).toString(16).toUpperCase()
+}
+
+class CalculateSHA512 @Inject constructor(
+ private val uses: String,
+ private val file: File,
+ private val expectedHash: String
+) : Runnable {
+ override fun run() {
+ val actualHash = file.sha512()
+ if (expectedHash.isBlank()) {
+ throw HashMissingException(uses, file, actualHash)
+ }
+ if (expectedHash != actualHash) {
+ throw HashMismatchException(
+ uses,
+ file,
+ actualHash = actualHash,
+ expectedHash = expectedHash
+ )
+ }
+ }
+}
+
+class HashMissingException(uses: String, file: File, actualHash: String) :
+ java.lang.RuntimeException("Was not specified, current hash is $actualHash, file: $file, used in projects: $uses")
+
+class HashMismatchException(uses: String, file: File, actualHash: String, expectedHash: String) :
+ java.lang.RuntimeException("Hash mismatch. Expected: $expectedHash, actual: $actualHash, file: $file, used in projects: $uses")
diff --git a/buildSrc/subprojects/witness/witness.gradle.kts b/buildSrc/subprojects/witness/witness.gradle.kts
new file mode 100644
index 0000000000..f43a4685bb
--- /dev/null
+++ b/buildSrc/subprojects/witness/witness.gradle.kts
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+gradlePlugin {
+ plugins {
+ register("witness") {
+ id = "jmeterbuild.witness"
+ implementationClass = "org.apache.jmeter.buildtools.witness.WitnessPlugin"
+ }
+ }
+}
diff --git a/LICENSE b/config/LICENSE
similarity index 69%
copy from LICENSE
copy to config/LICENSE
index f2728e6496..d9a10c0d8e 100644
--- a/LICENSE
+++ b/config/LICENSE
@@ -174,117 +174,3 @@
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
-
-============================ End of Apache License V 2.0 ===================
-
-Source and binary distributions of Apache JMeter contain:
-
-- icons from the Open Icon Library http://openiconlibrary.sourceforge.net/
-For license details, please see the file: licenses/src/openiconlibrary.txt
-
-Additional source files (also included in binary distributions):
-For details, please see the files under: licenses/src
-
-* bootstrap-3.3.4.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/bootstrap
-* bootstrap-social.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/bootstrap-social
-* datatables-1.10.9.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/datatables
-* datatables-plugins.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/datatables-plugins
-* datatables-responsive-1.0.5.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/datatables-responsive
-* flot-0.8.3.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/flot
-* flot-axislabels.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/flot-axislabels
-* flot-tooltip-0.7.1.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip
-* font-awesome-4.2.0.txt (OFL-1.1 | MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/font-awesome
-* holderjs.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/holderjs
-* jquery-2.1.3.txt (MIT | ./bin/report-template/sbadmin2-1.0.7/bower_components/jquery
-* metisMenu-1.1.3.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/metisMenu
-* mocha-1.17.1.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/mocha
-* morrisjs-0.5.0.txt (Simplified BSD) | ./bin/report-template/sbadmin2-1.0.7/bower_components/morrisjs
-* raphael-2.1.4.txt (MIT) | ./bin/report-template/sbadmin2-1.0.7/bower_components/raphael
-* start-bootstrap-admin2-1.0.7.txt (Apache License V2.0) | ./bin/report-template/sbadmin2-1.0.7 and not in the above folders
-
-Binary distributions additionally contain software included under various licenses,
-see below.
-
-The following software is provided under the Apache License V 2.0 (as above):
-
-- Software produced at the ASF:
-
-* apache-bsf-2.4.0.jar
-* beanshell-2.0b6.jar
-* cglib-nodep-3.2.9.jar
-* commons-codec-1.11.jar
-* commons-collections-3.2.2.jar
-* commons-dbcp2-2.5.0.jar
-* commons-io-2.6.jar
-* commons-jexl2-2.1.1.jar
-* commons-jexl3-3.1.jar
-* commons-lang3-3.8.1.jar
-* commons-math3-3.6.1.jar
-* commons-net-3.6.jar
-* commons-pool2-2.6.0.jar
-* commons-text-1.6.jar
-* dec-0.1.2.jar
-* groovy-all-2.4.16.jar
-* httpasyncclient-4.1.4.jar
-* httpclient-4.5.8.jar
-* httpcore-4.4.11.jar
-* httpcore-nio-4.4.11.jar
-* httpmime-4.5.8.jar
-* jakarta-oro-2.0.8.jar
-* jms-1.1.1.jar
-* log4j-1.2-api-2.11.1.jar
-* log4j-api-2.11.1.jar
-* log4j-core-2.11.1.jar
-* log4j-slf4j-impl-2.11.1.jar
-* serializer-2.7.2.jar
-* startbootstrap-sb-admin-2-1.0.7
-* tika-core-1.21.jar
-* tika-parsers-1.21.jar
-* xalan-2.7.2.jar
-* xerces-2.12.0.jar
-* xml-apis-1.4.01.jar
-* xmlgraphics-commons-2.3.jar
-
-- Software produced outside the ASF which is available under AL 2.0:
-
-* accessors-smart-1.2.jar
-* caffeine-2.6.2.jar
-* darcula.jar
-* freemarker-2.3.28.jar (AL2.0, see licenses/bin for additional info)
-* jackson-annotations-2.9.9.jar
-* jackson-core-2.9.9.jar
-* jackson-databind-2.9.9.jar
-* json-path-2.4.0.jar
-* json-smart-2.3.jar
-* mongo-java-driver-2.11.3.jar
-* objenesis-2.6.jar
-* ph-commons-9.2.1.jar
-* ph-css-6.1.1.jar
-* spock-core-1.2-groovy-2.4.jar
-
-- Software produced outside the ASF which is available under other licenses (not AL 2.0):
-For details, please see the files under: licenses/bin
-
-* asm-7.0.jar (BSD)
-* dnsjava-2.1.8.jar (BSD)
-* hamcrest-core-1.3.jar (BSD)
-* javamail-1.5.0-b01.jar (CDDL Version 1.0)
-* javax.activation-api-1.2.0.jar (CDDL Version 1.1)
-* javax.activation-1.2.0.jar (CDDL Version 1.1)
-* jcharts-0.7.5.jar (?)
-* jcl-over-slf4j-1.7.25.jar (MIT)
-* jsoup-1.11.3.jar (MIT)
-* jodd-core-5.0.6.jar (Simplified BSD)
-* jodd-lagarto-5.0.6.jar (Simplified BSD)
-* jodd-log-5.0.6.jar (Simplified BSD)
-* jodd-props-5.0.6.jar (Simplified BSD)
-* jtidy-r938.jar (?)
-* junit-4.12.jar (BSD)
-* rhino-1.7.10.jar (MPL 2.0)
-* rsyntaxtextarea-3.0.2.jar (BSD)
-* slf4j-api-1.7.25.jar (MIT)
-* xmlpull-1.1.3.1.jar (Public Domain)
-* xpp3-1.1.4c.jar (Indiana University Extreme! Lab Software License 1.1.1)
-* xstream-1.4.11.jar (BSD)
-* hamcrest-date-2.0.4.jar (BSD)
-* Saxon-HE-9.9.1-1.jar (Mozilla Public License version 2.0)
diff --git a/checkstyle-suppressions.xml b/config/checkstyle/checkstyle-suppressions.xml
similarity index 100%
rename from checkstyle-suppressions.xml
rename to config/checkstyle/checkstyle-suppressions.xml
diff --git a/checkstyle.xml b/config/checkstyle/checkstyle.xml
similarity index 99%
rename from checkstyle.xml
rename to config/checkstyle/checkstyle.xml
index 3129df285f..d4252f6a9e 100644
--- a/checkstyle.xml
+++ b/config/checkstyle/checkstyle.xml
@@ -29,7 +29,7 @@
<!-- Verify that EVERY source file has the appropriate license -->
<module name="RegexpHeader">
- <property name="headerFile" value="java.header.regex"/>
+ <property name="headerFile" value="${config_loc}/java.header.regex"/>
<property name="multiLines" value="10"/>
<property name="fileExtensions" value="java, groovy"/>
</module>
diff --git a/java.header.regex b/config/checkstyle/java.header.regex
similarity index 100%
rename from java.header.regex
rename to config/checkstyle/java.header.regex
diff --git a/eclipse.md b/eclipse.md
index 839fbe5853..5f2c81efba 100644
--- a/eclipse.md
+++ b/eclipse.md
@@ -1,96 +1,22 @@

-# Eclipse Configuration for JMeter project
-## Eclipse settings
+## Launching Apache JMeter from Eclipse
-The following files should be excluded from build output:
-
-> `*.metaprops`
-
-See `Project Preferences/Java Compiler/Building/Output Folder/Filtered Resources`
-
-
-## Eclipse.classpath
-
-**This has been tested with Eclipse 3.2 up to 4.6.1. It may not work with other versions.**
-
-The file `eclipse.classpath` is intended as a starter `.classpath` file
-for building JMeter using Eclipse version 3 to 4.6.
-
-Make sure to execute the `ant download_jars` task to download and install the jars referred
-to in the classpath before creating the Eclipse project.
-
-If you do after creating project, then don't forget to refresh Eclipse project.
-
-Note that Eclipse is not easy to use for creating jar files.
-However, it is easy to use Eclipse to run Ant.
-
-The following targets may prove useful:
-
- - `clean` - Clean up to force a build from source
- - `package-only` - creates the jars
- - `package` - compiles everything and then packages it
- - `run_gui` - compiles, packages, and then start the JMeter GUI from the jars
-
-## Invoking Ant targets inside Eclipse
-
-You can use the `Run As --> Ant Build` and select target, or you can use
-the `Windows --> Show View --> Ant View`. Then select the `build.xml` file and
-drag and drop to the `Ant View`.
-Now you can invoke targets by clicking on them.
-Note that if you invoke for example the `compile` target, and get error
-messages about
-
-
-> Unable to find a javac compiler;
- com.sun.tools.javac.Main is not on the classpath.
- Perhaps JAVA_HOME does not point to the JDK
-
-
-it just means that your Eclipse project is set up with JRE libraries instead of JDK libraries.
-The suggested fix is to add a JDK in `Window --> Preferences --> Java --> Installed JREs`.
-
-Then do a `Project --> Properties` and select `Java Build Path` in the left pane, and then
-select the `Libraries` tab in the right pane. Scroll to the bottom, select the `JRE System Library`,
-and click `Remove`. Then click `Add library...` , select `JRE System Library`, and then select
-the JDK.
-
-Now it should work when you invoke the `compile` target.
-
-
-## Finishing the build using Ant
-
-Find the `build.xml` file in the project,
-right click on it, and click `Run As --> Ant Build`.
-
-Make sure you select the `package` target.
-
-This will compile any remaining classes,
-and then create all the jars.
-
-Now refresh the project (you should add this to the Ant build properties)
-
-## Launching from Eclipse
-
-You can use the Ant target `run_gui` to run the JMeter GUI, or you can follow the instructions
+You can use the Gradle task `runGui` to run the JMeter GUI, or you can follow the instructions
below to add a Java Application launch, which will for example, allow you to use the debugger to
run JMeter.
These instructions assume you have configured Eclipse to use the classpath
-as suggested in eclipse.classpath, and have run `ant package` to compile
-the RMI classes and build the jars.
+as suggested in [CONTRIBUTING.md](CONTRIBUTING.md).
-Create a new Java Application launch configuration.
-
-On the Main tab, enter the following as the main class:
-
-> `org.apache.jmeter.NewDriver`
-
-On the Arguments tab, in the Working Directory area, pick the radio
-button next to `Other` and enter the following in the text box:
+## Launching from Eclipse
-> `${workspace_loc}/jmeter/bin`
+Note: you can use Gradle task `runGui` to start JMeter, however Eclipse does not support
+debugging of the Gradle tasks.
- where `jmeter` is the name of the JMeter project.
+Alternative option is to create a `Launch Configuration`:
- **It would be nicer to use `${project_loc}/bin` but unfortunately the Eclipse Debug view does not seem to preserve any of the project variables**
+1. Create a new `Java Application` launch configuration
+1. Use `dist` for `Project`
+1. Use `org.apache.jmeter.NewDriver` for the main class
+1. On the arguments tab use the following for `Working Directory`: `${workspace_loc:jmeter/bin}`
diff --git a/gradle.md b/gradle.md
new file mode 100644
index 0000000000..60cfb51b86
--- /dev/null
+++ b/gradle.md
@@ -0,0 +1,132 @@
+# Gradle command-line
+
+Useful commands (gw comes from https://github.com/dougborg/gdub, otherwise `./gradlew` can be used instead):
+
+* Build and run
+
+ # Build and start JMeter GUI
+ gw runGui
+
+ # Build project and copy relevant jars to rootDir/lib, and start JMeter
+ gw createDist; ./bin/jmeter
+
+ # Build all distributions (source, binary)
+ gw :src:dist:assemble
+
+* Base project info
+
+ # Display all submodules
+ gw projects
+ # Different tasks for current module
+ gw tasks
+
+* Cleaning build directories
+Technically speaking, `clean` should not be required (every time it is required it might be just a bug), however it might be useful to perform a "clean" build
+
+ # Cleans current project (submodule)
+ gw clean
+ # Cleans the specified project
+ gw :src:core:clean
+
+* Dependencies
+
+ # Displays dependencies. Gradle's "configurations" are something like different classpaths.
+ gw dependencies
+
+ # Analyze why the project depends on `org.ow2.asm:asm`
+ gw dependencyInsight --dependency org.ow2.asm:asm
+
+ # Verify checksums of dependencies
+ gw verifyChecksums
+
+ # Print current checksums like in gradle/dependencyVerification.gradle.kts
+ gw calculateChecksums
+
+* Static checks
+
+ # Run RAT
+ gw rat
+ # Run checkstyle for main (non-test) code
+ gw checkstyleMain
+ # Run checkstyle for test code
+ gw checkstyleTest
+
+* Compiling code
+
+ gw compileJava
+ gw compileTestJava
+ ...
+
+* Build project
+
+ # Just build jar (see build/libs/*.jar)
+ gw jar
+ # "build" is a default task to "execute all the actions"
+ gw build
+ # Test might be skipped by `-x test` (Gradle's default way to skip task by name)
+ gw -x test build
+ # Build project in parallel
+ gw build --parallel
+
+* Tests
+Gradle automatically tracks task dependencies, so if you modify a file in `/src/jorphan/*`, then you can just invoke `gw check` at project level or in `core` module, and Gradle will automatically build the required jars and files.
+
+ # Runs all the tests (unit tests, checkstyle, etc)
+ gw check
+ # Runs just unit tests
+ gw test
+ # Runs just core tests
+ gw :src:core:test
+
+* Coverage
+
+ # Generates code coverage report for the test task to build/reports/jacoco/test/html
+ gw jacocoTestReport
+ # Generate combined coverage report
+ gw jacocoReport
+
+* Generate Javadocs
+
+ # Builds javadoc to build/docs/javadoc subfolder
+ gw javadoc
+ # Builds javadoc jar to build/libs/jorphan-javadoc.jar
+ gw javadocJar
+
+* Site
+
+ # Creates preview of a site to build/docs/site
+ gw :src:dist:previewSite
+
+ # Builds and publishes site preview to a Git repository
+ gw :src:dist:pushPreviewSite
+
+* Maven
+
+ # publishes Maven artifact to local repository
+ gw publishToMavenLocal
+
+ # generates pom file to
+ # src/protocol/http/build/publications/http
+ gw :src:protocol:http:generatePomFileForHttpPublication
+
+* Release artifacts
+
+ # Builds ZIP and TGZ artifacts for the release
+ gw :src:dist:build
+
+* Signing
+It is implemented via https://docs.gradle.org/5.2.1/userguide/signing_plugin.html, so it is done automatically provided credentials are specified via https://docs.gradle.org/5.2.1/userguide/signing_plugin.html#sec:signatory_credentials
+
+ # Signs all the artifacts of the current module (see results in build/**/*.asc
+ gw sign
+
+* Releasing
+It is not yet fully implemented, however basic bits can be tested.
+Use https://github.com/vlsi/asflike-release-environment to start a local "release environment" (==SVN, Nexus, etc)
+
+ # Builds the project, pushes artifacts to svn://.../dev, stages artifacts to Nexus staging repository
+ # Note: it uses https://github.com/vlsi/asflike-release-environment, so it does not alter public repositories
+ gw -Prelease prepareVote
+
+ # Publishes staged artifacts to SVN and Nexus
+ gw -Prelease publishDist
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000000..8bb0557449
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,100 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+org.gradle.parallel=true
+kotlin.code.style=official
+
+# This is version for Calcite Avatica itself
+# Note: it should not include "-SNAPSHOT" as it is automatically added by build.gradle.kts
+# Release version can be generated by using -Prelease or -Prc=<int> arguments
+jmeter.version=5.2.0
+
+# Tools
+checkstyle.version=8.22
+jacoco.version=0.8.2
+spotbugs.version=3.1.12
+velocity.version=1.7
+
+# Dependencies
+accessors-smart.version=1.2
+activemq.version=5.15.8
+apache-rat.version=0.13
+asm.version=7.1
+bouncycastle.version=1.60
+bsf.version=2.4.0
+bsh.version=2.0b6
+caffeine.version=2.6.2
+cglib-nodep.version=3.2.9
+commons-codec.version=1.11
+commons-collections.version=3.2.2
+commons-dbcp2.version=2.5.0
+commons-io.version=2.6
+commons-jexl.version=2.1.1
+commons-jexl3.version=3.1
+commons-lang.version=2.6
+commons-lang3.version=3.8.1
+commons-math3.version=3.6.1
+commons-net.version=3.6
+commons-pool2.version=2.6.0
+commons-text.version=1.6
+darcula.version=e208efb96f70e4be9dc362fbb46f6e181ef501dd
+dec.version=0.1.2
+dnsjava.version=2.1.8
+freemarker.version=2.3.28
+ftplet-api.version=1.1.1
+ftpserver-core.version=1.1.1
+geronimo-jms_1.1_spec.version=1.1.1
+groovy-all.version=2.4.16
+hamcrest-core.version=1.3
+hamcrest-date.version=2.0.4
+hsqldb.version=2.4.1
+httpasyncclient.version=4.1.4
+httpclient.version=4.5.8
+httpcore-nio.version=4.4.11
+httpcore.version=4.4.11
+httpmime.version=4.5.8
+jackson.version=2.9.9
+javax.activation-api.version=1.2.0
+javax.activation.version=1.2.0
+jcharts.version=0.7.5
+jdom.version=1.1.3
+jodd.version=5.0.6
+json-path.version=2.4.0
+json-smart.version=2.3
+jsoup.version=1.11.3
+jtidy.version=r938
+junit.version=4.12
+log4j.version=2.11.1
+mail.version=1.5.0-b01
+mina-core.version=2.0.19
+mongo-java-driver.version=2.11.3
+objenesis.version=2.6
+oro.version=2.0.8
+ph-commons.version=9.2.1
+ph-css.version=6.1.1
+rhino.version=1.7.10
+rsyntaxtextarea.version=3.0.2
+Saxon-HE.version=9.9.1-1
+slf4j.version=1.7.25
+spock-core.version=1.2-groovy-2.4
+springframework.version=4.3.17.RELEASE
+tika.version=1.21
+xalan.version=2.7.2
+xercesImpl.version=2.12.0
+xml-apis.version=1.4.01
+xmlgraphics-commons.version=2.3
+xmlpull.version=1.1.3.1
+xpp3_min.version=1.1.4c
+xstream.version=1.4.11
diff --git a/gradle/dependencyVerification.gradle.kts b/gradle/dependencyVerification.gradle.kts
new file mode 100644
index 0000000000..57c80eb034
--- /dev/null
+++ b/gradle/dependencyVerification.gradle.kts
@@ -0,0 +1,263 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+import org.apache.jmeter.buildtools.witness.WitnessExtension
+
+project.extensions.configure<WitnessExtension> {
+ sha256("antlr:antlr:2.7.7", "311C3115F9F6651D1711C52D1739E25A70F25456CACB9A2CDDE7627498C30B13D721133CC75B39462AD18812A82472EF1B3B9D64FAB5ABB0377C12BF82043A74")
+ sha256("bsf:bsf:2.4.0", "CF2FF6EA53CD13EA842CAD398F1BE24539BEC68A5CBBD088492ADAB50BC782CDE6D9F4C0B6A24DEAEEE537809C90631C43F9A680FF2826C28CCF1B39380954E3")
+ sha256("c3p0:c3p0:0.9.1.1", "30755A3D85DE72539CE02018E3AAFA6E21B914F435C3AF5B3073E24CA0A0FB6D8770C08E49E078843279EC36BA62CDA8EE8BFD2BF98C7E3E75A59C0D25BAC453")
+ sha256("cglib:cglib-nodep:3.2.9", "429F5E63C33F3E65615243AD24C27C86FD1ADE3C5DAA0A64F9FAF8BCE1E59ED9A6D4EDC348281CBB8FD7AE10C01FC2E3716FF74571B14A31A37DDE1DE06E2A3A")
+ sha256("com.adobe.xmp:xmpcore:5.1.3", "2F3B52A0433DA5BB243C6E1EC2DB849E3F6DCB70F8D002130544D7847AD15FABA8EDA04525EEB43E8A01C1C8C5A934D65F7D4A8F60E015025A93EB40326F6C9")
+ sha256("com.beust:jcommander:1.35", "1CD8F74CF54286338BEA0DBB0114B4A11B1DD938B8C5C0B5559C878B75426E26DDF3B09DC10B1095E0CE2E27DA39BDE10823312BFF0C67BAE131545C6C994BD7")
+ sha256("com.drewnoakes:metadata-extractor:2.11.0", "F973B0BE4E67B2404B77D2FC9BA5AD1B29F969D7DC49C84BAAFF66C99F0600276D3B454812A6554E9DCA3BF1AA1AD7297692D2A7A9DEC9368F3A30577039EE0")
+ sha256("com.epam:parso:2.0.11", "F2A8B32819709CA76A793DC8E81EA40E7C0681DAB2929BB55716FC8BC3DBF2641E9975DC609F35A103A7900E2D0375F71AD134F704AA9EBFBE9D06373ECE8E8D")
+ sha256("com.fasterxml.jackson.core:jackson-annotations:2.9.9", "FD7E441FBB6A807B1841497BBF6B4950CA11A48FAD19B83BAD6DA691A9878A8B03F28EEF11DAC7EF160CB9535C999D7BBF49DA155C165C205AEB7DD81C111F28")
+ sha256("com.fasterxml.jackson.core:jackson-core:2.9.9", "D8BEAC9E71444BC795C9D99308EAD3284A39AA161F825708DA7DBDFCE410D099C0BBC76C31C27ADAD540CF3BCCF6826D539FCB157923EFAE84B10B3778B920A9")
+ sha256("com.fasterxml.jackson.core:jackson-databind:2.9.9", "47204158C4ADBBC8D6659055786641EF6EC95EF6648662AD797AFACE0A3E1074C7BD4D2F565BBE5837BFD0BC06AEC2D8888415FF94A94583F5BDA644CA5004A5")
+ sha256("com.fasterxml.woodstox:woodstox-core:5.0.3", "C7C3A5B069B764AA64388C73F1F16B4089A12AC8F5E1C56149C542CFF17D4DFFC42A22B36A900C4AA478B019950952AE4539F2739F7DCE4182896EAF2906D095")
+ sha256("com.fifesoft:rsyntaxtextarea:3.0.2", "A210EC77304E7B0B175532BD7E5C2A46823C0D93B359E174782B548087B48A0386D3CAE566877ACFB6252E6B4F28C25DAA6B8074A55BC54A296FC4AC554B0DC1")
+ sha256("com.github.ben-manes.caffeine:caffeine:2.6.2", "6521F1BFEFCD6E2991A7D017BBA8D751C5BA4694D335B61B4E732A2B795C748532BE7A5A63107B6BB70F816CEEEA4659B77EBAC68AD02C44CD813C478F759A06")
+ sha256("com.github.bulenkov.darcula:darcula:e208efb96f70e4be9dc362fbb46f6e181ef501dd", "80F3335D8EA3FB3FF07A12A79C958C4E3F8BB542511C52825A8B3694AC96F027E24396CE9EDCEFA44EE93B5CBED4E4AED4575E6AAED56F363BAE92C52EE85D22")
+ sha256("com.github.jai-imageio:jai-imageio-core:1.4.0", "5FB01617717FDC6DB514FE6DA2B253C3D925326190A8BA101941F29BFF6E3C147E6216C501CA66B4D4051D213B1C05FADB3707563782BFCC5674357338786C01")
+ sha256("com.github.junrar:junrar:4.0.0", "4807E854A992768E0366D81043F03179CB4680333251DF41AD9AD8E11E48E7471D4BD6B56250A0CB1BB4CA494D46485B38CF7FC6619268570EF47A701FAA7294")
+ sha256("com.github.openjson:openjson:1.0.10", "63E4714F9A21038F6573B4562C0DD08FE7FA1A59320CD430408EF884F7AD6080464A82D4100C0F6DB79E4ED868E0D932D6B7DE77932CEE032D48BF41E0E60E6F")
+ sha256("com.github.spotbugs:spotbugs-annotations:3.1.12", "8B4EABA6A44232B3E62F37EAAC146C2BD2222D4AB1BC27A8DE80130D06D22AB4383C62CF05F5A7FFB7E162B81490C81B1E84D42C6A6EC5A379221A8435EDCAED")
+ sha256("com.github.spotbugs:spotbugs:3.1.12", "F27658417C5EBB620F32353DE4ED0703856E749C0739D3E975AF3F5D295C778D9A0D8057D90EC6614AEC17B5104BDFA594FBBBA39BA276FF47CAA25F2FDAC4E1")
+ sha256("com.github.virtuald:curvesapi:1.05", "DEB3CAE5AEDA8D16FD5C052D5F3EEF25D929179046D65D50B56BDE7C878964556DC1002887A300F6A5CCB8E774748E887FDB694DA0BBA8384BF558CBE51E3733")
+ sha256("com.google.code.findbugs:jsr305:1.3.9", "6DA282CFD8E30D9F8CF17702B8709172B00E22B75A627A1D85F8989615B8A1A401BC25D9AEE7B14AED1D9B5DF73BF2EA8D66F9C8468D9577C29F0CCFA2CC70A")
+ sha256("com.google.code.findbugs:jsr305:3.0.2", "BB09DB62919A50FA5B55906013BE6CA4FC7ACB2E87455FAC5EAF9EDE2E41CE8BBAFC0E5A385A561264EA4CD71BBBD3EF5A45E02D63277A201D06A0AE1636F804")
+ sha256("com.google.code.gson:gson:2.8.5", "5DD7214C542A7B93AAB3EAB0BA13E4AC3D6DDB05C795FB6D3992E21925A98DCE87CB186AC67B4D3AD146F96E14D38B3892837ECA57A27B4E845ACA6D4E4F708A")
+ sha256("com.google.errorprone:error_prone_annotations:2.1.3", "BD2135CC9EB2C652658A2814EC9C565FA3E071D4CFF590CBE17B853885C78C9F84C1B7B24BA736F4F30ED8CEC60A6AF983827FCBED61FF142F27AC808E97FC6B")
+ sha256("com.google.errorprone:error_prone_annotations:2.2.0", "8F5F13FAC4C40D680A1F062C609AA598E7585684AF37D695357738935FC0683DDCB94C880DDDD03E78B1DB071C2E5CEBD054A061F8F24322C5FFA43ACA34A859")
+ sha256("com.google.guava:failureaccess:1.0.1", "F8D59B808D6BA617252305B66D5590937DA9B2B843D492D06B8D0B1B1F397E39F360D5817707797B979A5BF20BF21987B35333E7A15C44ED7401FEA2D2119CAE")
+ sha256("com.google.guava:guava:18.0", "C84AD9F1646B52B6E19F55C3C63936C6DBE59597D53CEC6855F85E21AD26F9BC27B0C541B793FAB117E2359B1BF3FCD59B222255345FCE858BC03CC48CBFFD65")
+ sha256("com.google.guava:guava:23.6-jre", "CF317C065E915F585460F807D3C53ACEE4CA3F75E8D6B771F0F5E9FDABBC4454A5B51334F2C7DE26854167EA5464808962B7739F4393D262C313E2CB46252CBD")
+ sha256("com.google.guava:guava:27.1-jre", "5C32A58148C3B91577CD6D335D61A1994041A2A5C77A240303BA6E786C895336400F6FD449EAB0802594BF47C17985C5587AB87C3C4B628BFC1D7090DDC0B006")
+ sha256("com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava", "C5987A979174CBACAE2E78B319F080420CC71BCDBCF7893745731EEB93C23ED13BFF8D4599441F373F3A246023D33DF03E882DE3015EE932A74A774AFDD0782F")
+ sha256("com.google.j2objc:j2objc-annotations:1.1", "A4A0B58FFC2D9F9B516F571BCD0AC14E4D3EEC15AACD6320A4A1A12045ACCE8C6081E8CE922C4E882221CEDB2CC266399AB468487AE9A08124D65EDC07AE30F0")
+ sha256("com.google.protobuf:protobuf-java:3.7.1", "B7D24E9BB5C9DC1B2D60393008E5CC20F5E4E2769E3FDE542130B61D63B1EC1B8D76AFDD8B3A5E0692CB8E4DD104EF7312DE3423DC51A7979F6DBDD770E9BED2")
+ sha256("com.googlecode.json-simple:json-simple:1.1.1", "F8798BFBCC8AB8001BAF90CE47EC2264234DC1DA2D4AA97FDCDC0990472A6B5A5A32F828E776140777D598A99D8A0C0F51C6D0767AE1A829690AB9200AE35742")
+ sha256("com.googlecode.juniversalchardet:juniversalchardet:1.0.3", "62278BB82D1DCBF64E92E5314FF1CE481E34E3D4BCC2AAD54D410B339F00B33CEB8AADDF6ED86E839D924F17D25948A0AE4A37015724076048D14E1AA66C942D")
+ sha256("com.googlecode.mp4parser:isoparser:1.1.22", "5D83F4325EC301B568D0EB0FB133FDD55A3214CDFB5C77B59A8C6D6C5E7B9FC22C6517DAD6B9982DD063446496600CCDE3905B1E705A7B3695EC9AF5F3DD9D2F")
+ sha256("com.healthmarketscience.jackcess:jackcess-encrypt:3.0.0", "F7FE5C6BA18DC0A597AC772887FC925D0FFA6827F165EA4AE1CBD236B04B049F1C27FD19E3C513774E44E4F58841BE7B529172E57B03AA7BC2DCA748716FC332")
+ sha256("com.healthmarketscience.jackcess:jackcess:3.0.1", "CC3FA228855E5C930C735DBA172D96D5BB7C63021705F5FCCDF02F56EB4CA8AB102FCC2C350876E3B0AF578435AC368FDCAF33F131D9E4877CC59E31B1B84F5E")
+ sha256("com.helger:ph-commons:9.2.1", "C82A4C6AA1702B95049A8348B88F3A5ABC5B4781A796328E46E701F57C0DFEAC289441D332E1D730EE46107AB24AB106CDE2D39BB8BEFAFAC123D53382B85A40")
+ sha256("com.helger:ph-css:6.1.1", "EED6A6C680424C4337A8FFE8431F5E042841FBACE3529622125837F9E4D89B3DA8675BD74799957384CAC77ACB9F0AE031BAB3883CD87291E03ED823EDE8EC31")
+ sha256("com.jayway.jsonpath:json-path:2.4.0", "B55B30CF85CA12E6A492FD48D4B6BB0B1F3BA610C195AA1A36EDA2A80E24BF7688A6A802362D398108E822F6DCB7B713CF421BB4208897FC4F5CC7B8B9B4C97C")
+ sha256("com.pff:java-libpst:0.8.1", "99E6A768230FEA380F12A44879894830B138BE8E31F443BB07A45436C6AD72AA0264814257C80B247E6BD763BAC38D9D36B255B7903C42920A9698CF4347439D")
+ sha256("com.puppycrawl.tools:checkstyle:8.8", "E19EEB7923493CC4DC4C2FBC33E8E8CDBA20A203E844BBB261D315562D5250D993F98C4FA33DE7BA3B17FF68BD4B27AE83049EFFC3B474409EBD96EDB8BAAC9F")
+ sha256("com.rometools:rome-utils:1.12.0", "42B7B88554A5040CD8508A519E3ADAA430219718557AAFE9700ACCA194B890C673A45886731E963EA61534BA2B51D860A3294FC9B42C04F3A9FF5762D976B515")
+ sha256("com.rometools:rome:1.12.0", "DD5D9F43DF582BFB62F5BDA42776788423D2A6AC40FE94C890AEE8CC22B9512364B0FD4B19EB78424E618C4058E91968DB9328ED87554B5BCD07FCFA2BFC1CC")
+ sha256("com.sun.activation:jakarta.activation:1.2.1", "56243D42D0B4579AE8DCEBB3BB9C0807D54F68E37AF1A43C1379D9878FDA8CF2D39F4FDFACB480DC1D58BAE357C9895DA6A19DD5D01B4514B01F2AA9F8701A7C")
+ sha256("com.sun.istack:istack-commons-runtime:3.0.8", "E712166F961CCA819A61BD6EFC93B93759788D283AF73DCC6ED09C0F9C045D7DC2F7FABC0E236B2996FCDEBE26E1B2EC5EA45EB4353943DAD82ECFEF0488305E")
+ sha256("com.sun.istack:istack-commons-tools:3.0.8", "2227AFF6B142E629887193D40E6AC0F5A7DE9C0C0D0C0BF3486036A16F4B777A132472500433B494F42DEEDAFDA2BD59A05A5602B883EE35B2D06E6CE0D773FF")
+ sha256("com.sun.xml.bind.external:relaxng-datatype:2.3.2", "247596BAF976E09A7764FF8E84A76CE530722989A7B3111DD2381BC0E4650808410332E76C88BFF48B675D5EDC081376DF70A2C2DEB3CD8501471A27C332C8DD")
+ sha256("com.sun.xml.bind.external:rngom:2.3.2", "44B50E855772500DA1167A70E1BA0293EE825E2D829D72EAE1B88C767E1027E26E7091571EDB863737102DCB7F3415043A4FDA9534ADD218C7CDAAFEE883DAB3")
+ sha256("com.sun.xml.dtd-parser:dtd-parser:1.4.1", "2F5411F0A21A171216995856A6234E01FD90F61D0C459E7113ED2BF878673D8902A23F01B7B81AA57C9B8DB69741947611B5F602A2AA74A6F5017C65E6F67837")
+ sha256("com.sun.xml.fastinfoset:FastInfoset:1.2.16", "CD57377D61D66AC2AB6AB90483252385FE2BBB9E13DEE07913362A64FFE97B16082DF981DBE469DF3F67AD946827BE6F4355D63003A393BDA62A0FC8B54A590B")
+ sha256("com.thoughtworks.xstream:xstream:1.4.11", "ACEBA38FE0239A8D873D276023F9EFD1C79CE8C6651BB7314A06684758AABFCDB1E89A71B26FA596C9491BDC3D4BBEEF3819683D65002E584CD4728A03C2DE0B")
+ sha256("commons-beanutils:commons-beanutils:1.9.3", "F19B50135FCF20D9B4FB193CC651C97081D389EF320A691B51637809E7E99ACBCA2B28BEEB60F0997525FDE923125FEDEACF7FBE17D203F97F1C3A66DC84D3CA")
+ sha256("commons-cli:commons-cli:1.4", "FA769A08A118141831CD4EAF2CE4F3F65855B8AEEE86FBF3E07B4C619FACF801F8B55C14C5E56A154CD14F438A8F120BB59A20C1B6BE04979501E362F252CA48")
+ sha256("commons-codec:commons-codec:1.11", "D9586162B257386B5871E7E9AE255A38014A9EFAEEF5148DE5E40A3B0200364DAD8516BDDD554352AA2E5337BEC2CC11DF88C76C4FDDE96A40F3421AA60650D7")
+ sha256("commons-codec:commons-codec:1.12", "B2EF7A042957EA8AF2C09EC4EB5ACB3173B714D09DD8AE46F2EB03F6A880E7EECE26CB77265E6A83578D824252EBE1F1D7B86A176B34CCA1572D57FD4F6D31E8")
+ sha256("commons-collections:commons-collections:3.2.2", "51C72F9ACA7726F3C387095E66BE85A6DF97C74B00A25434B89188C1B8EAB6E2B55ACCF7B9BD412430D22BD09324DEC076E300B3D1FA39FCCAD471F0F2A3DA16")
+ sha256("commons-io:commons-io:2.6", "4DE22E2A50711F756A5542474395D8619DCA0A8BE0407B722605005A1167F8C306BC5EEF7F0B8252F5508C817C1CEB759171E4E18D4EB9697DFDD809AC39673F")
+ sha256("commons-lang:commons-lang:2.6", "4A5A3DBE4941C645E2CCA068CCA5C1882CFE988B02E7CD981D1E51784900767D1DEAB0E0E0566F559C9FCABB4A180E436D5BB948902D4F4106F37360466AFB42")
+ sha256("commons-logging:commons-logging:1.0.4", "C8D2D39A60ADCC49091D393DAF30473D1776E4B6B09BB86639171F660833A17AFBDC9F3E85843093535DA16FA664CD7CD4CA38F54E141018DD1B78DE681AD668")
+ sha256("commons-logging:commons-logging:1.2", "ED00DBFABD9AE00EFA26DD400983601D076FE36408B7D6520084B447E5D1FA527CE65BD6AFDCB58506C3A808323D28E88F26CB99C6F5DB9FF64F6525ECDFA557")
+ sha256("commons-net:commons-net:3.6", "DBA414CEA9FB4B47DFE6D20C347BD91052185DD958996BFDD1E709F66B5FA7812EBB0DAD80C47E72BCC0075B3B5526C705216EFE771CAC1CC53B2F7923124FAF")
+ sha256("de.l3s.boilerpipe:boilerpipe:1.1.0", "CFF6CEC6E8390680CF3EB3658ADE1CDE7CC0A322AF471B081CAFCF852CD1733EE792D911188AA4CCC718D52F3A875BD54E51DE8E0DCE9A410270B44FB298E0D0")
+ sha256("dnsjava:dnsjava:2.1.8", "A4BCB8BBB43906F42FAF1802C504CCC9C616E49AFD5DD7DB77676D13AAED79A300979FFC2195B680A9C6D5F03466B611B6F1338D824099816AA224B234760F4B")
+ sha256("edu.ucar:cdm:4.5.5", "1E3FE3004C1DE7C1076D0EAFE107672754235126C6C0CE2F12933E428335237D5A9C7A0C2F2F807AF5CB6EBFF7BA85903D19FF42B3F0C7E61CB0A66FCBD2137F")
+ sha256("edu.ucar:grib:4.5.5", "CEF12816D542D1D59A7A047329A534E47F3497C54A56CB359E5124B28A5064D16B51BE9FB3392EA5FFDC326C0FE89DFCEB20643A8D7CBE7382A79FE7954C037E")
+ sha256("edu.ucar:httpservices:4.5.5", "F42AF94C12BCFE80218D5EF32BB01BC9DC49EF8A59540F0D85795DFA682465F8B974FB788D2E31AB22AD45BFCCE86FDA4620ACC70B5494BB14C99F5540E5B7A1")
+ sha256("edu.ucar:netcdf4:4.5.5", "CB5562C3B738FC6CA55C05137223736AD1ECC9F5DEBF8B6127CEDA80C606FD2A7D760755A1CDED30B6D17D3709C2314F6C2E454272A559D0C0DFAE5E050677E9")
+ sha256("edu.ucar:udunits:4.5.5", "45F1BE0E9B2CE2A49182841BB9B8F4F318B5E83D4F0CD60FC1BCE73B8002B6F56B2A553811B9003178EAB9A110CB517E2C0836CB2ED5F54BD87AFA74881B8FAE")
+ sha256("edu.usc.ir:sentiment-analysis-parser:0.1", "345194112BD6240DC8C05F611CABCE002045C15B73533065FC66025AF32808C67409312CFAA89490DC7C9CF059B6D4D2AC71B20EE611EDE96796BB80F6D0BE3D")
+ sha256("gradle.plugin.com.github.spotbugs:spotbugs-gradle-plugin:1.6.10", "E7486B32EF6C9C14FE879814DA5F06CA6ECABF47195063A93E6FC8CD10119244C5A7BC3C71A4760CCE3AFFA9E9736336D345D8ED84EB65153C15683FA6529D92")
+ sha256("io.ehdev:gradle-semantic-versioning:1.1.0", "1A47AAF2442159C1CBD22521F31C74B4C71C4168AF5B22D04B4691FDD286E90F02B2792DEDAD3EEEC12B5034ADA1A9EE751C975B5A169AE0B33EE800A8D96E7F")
+ sha256("jakarta.activation:jakarta.activation-api:1.2.1", "C60EDC99F119B9E0DF0CF527E2512F2B7AB9DB0E17C54E83850695F80F652C981EAAE90A296DB671CF7ED88A044C150224E030DF333FEB30F346E8A31FB794C6")
+ sha256("jakarta.ws.rs:jakarta.ws.rs-api:2.1.5", "C5B644D0A8C487AC95D5667877B744FBD33B72A4C1274E81121EC77A4C6E7FAE34857CA129AFE386EA1D0F38D97D31301E95D0B9EFA3EB1C57969831BC337E80")
+ sha256("jakarta.xml.bind:jakarta.xml.bind-api:2.3.2", "5A9A94FC323AECC9C5B28E9AC688AAC8D09725D4CAE660A57F5698914DB91E351283DFE4909A2CC6DE803890AC2B3B9F06AF9D071D465031E55326A1085A11DB")
+ sha256("javax.activation:activation:1.1", "C0FF5BF3ACE7ACC1B31FCC109CEE48D9EB8F025AE15A31DC91ECA760933BDB97C93F05D61E95AF1E317859D72E5F179F897F5BF3DF0E3810F4212D43BACEE4BD")
+ sha256("javax.activation:javax.activation-api:1.2.0", "8EE0DB43AE402F0079A836EF2BFF5D15160E3FF9D585C3283F4CF474BE4EDD2FCC8714D8F032EFD72CAE77EC5F6D304FC24FA094D9CDBA5CF72966CC964AF6C9")
+ sha256("javax.annotation:javax.annotation-api:1.3.2", "679CF44C3B9D635B43ED122A555D570292C3F0937C33871C40438A1A53E2058C80578694EC9466EAC9E280E19BFB7A95B261594CC4C1161C85DC97DF6235E553")
+ sha256("javax.mail:mail:1.5.0-b01", "801A910F70DD743982872DCDEA46C24C6378E82C2CD2D970902A9CE5864191D3847BCFF6D5B81AEB89BABF056A30A70A03AA5687586D52CBFAAEAE3A5D6649F9")
+ sha256("javax.measure:unit-api:1.0", "61C6E98CFF028CDDAB791AEBF1A8BC6C90A881D4AC8B711DB620242B8D4F78AE272939CCF52F64CB9A1171771D161AE980905BCE23E74DCB406C9FA5DC20677D")
+ sha256("jaxen:jaxen:1.1.6", "6BD11529D6DFCB27DDD485C8DA2440D3686CB61693A9461833A2BED49407343DF4BA707F45164A6E69B78979581D91FBF0F6C5EAB28653DCFA724AFC89529778")
+ sha256("jcharts:jcharts:0.7.5", "3953900BEBE38F4242499D106D59425F54B73C0478C3050F0DC0917D5C36CC35F94CCFEA96E6BF85E9B1282BD572F55AFEF1B485F81F5ED9493CC4D3828F5A0B")
+ sha256("joda-time:joda-time:2.2", "36B269548FD36E59B6888131F95B7CD7B9500F13F9475FC4E1018661641356675AF5CB741796FE2FAC3DB3DAD8C9C000F4E9BE9D6F5583460CE01D5B7C236850")
+ sha256("junit:junit:4.12", "5974670C3D178A12DA5929BA5DD9B4F5FF461BDC1B92618C2C36D53E88650DF7ADBF3C1684017BB082B477CB8F40F15DCF7526F06F06183F93118BA9EBEACCCE")
+ sha256("net.java.dev.jna:jna:5.3.1", "67F15CF67C1684670AEB1C3B9309B662132FA1FDAAC35C5FA23298EEDF66082D943046E8E3A0F690A3DD4A0B5516090C05B27C755164DB62C88BA698451FB886")
+ sha256("net.jcip:jcip-annotations:1.0", "CB312B3F571D91EF183C119D878F50464FFD97F853B7311CBA386463F295E8B7B3A5A89ED4269A045CACD5AA7CB4C803D4882854A0FDDEFA9BBC28C72AA6C786")
+ sha256("net.minidev:accessors-smart:1.2", "39FE6A5EBD2AE2D33D8737C8407A8CAA4F6A62CE2057D726BB82496D35104B76F230BBB9721E1DB5F535FEFA3D70EE88C0A5A5E4A3F1266D7317CAE897AD0882")
+ sha256("net.minidev:json-smart:2.3", "977FFE05C17965B403A60471EB6C160103263BBE454E942D67D4D725E1826B504DE6C15038FF01EA90632BF9AD8A31B47C6662613BB905F020EFFA68C44D6F9A")
+ sha256("net.sf.ehcache:ehcache-core:2.6.2", "BBB516CA5DA491EAC7CE5D3061DA191AEBCB33C9BD02B733C8B035BEECB7F96B168267CA1F788FD807B63BA99BDA4FF1238B7C8EF3895CCA0FD9881F7EB44803")
+ sha256("net.sf.jtidy:jtidy:r938", "4C6CC198BD8CDE62B6CC9091ED95A4114EAAD035C196317C891F8F2263B28649A33B1F26F74F2B043A17CEC2A3D025EDA81ACF317FDF2D04641FA646E486B345")
+ sha256("net.sf.saxon:Saxon-HE:9.8.0-7", "10BC1069FBC92E04813D959F06276464D43943F103C8D20D0909A29B277FB603FC1F3299CC3CC9E26B35A9601C9A17D0A85ED60D45C16CA6460EC471D531C08A")
+ sha256("net.sf.saxon:Saxon-HE:9.9.1-1", "DEED3B397975A8419C903B61A1FC54C1E3899506B6D8DD562425DFD776690C51A8BB5326B821AFA4892670F410688255506CB0BFEB8F7532B84914A11490CCB3")
+ sha256("org.antlr:antlr4-runtime:4.7.1", "3DF12874CD7DEDB586FD7F61A95872F7A462C2AD59DA58CF2BF2A271CCDFA93808426262435892E8AF4A5F07E6CD6DB5200997731540932C6536FAF41B1F2686")
+ sha256("org.apache-extras.beanshell:bsh:2.0b6", "A39321A99A8A619A48B65752F6EE6B8F11D3B28EBB051082EC70A70A0D5041E83D144378DF191929E3D6562BD5EE4C4F1CCADB0BA42055529D18800A41D8AE18")
+ sha256("org.apache.activemq:activemq-broker:5.15.8", "1092F81D61BCD0137130C4A553B028B021D02EEE9E0B1E5B38C9478204DE1174B9AC5399222BD49F0E5E458AE1432CECDCD1B3412A849986AEB14DA766C6189C")
+ sha256("org.apache.activemq:activemq-client:5.15.8", "FE9A38BE230C9F034C53F0C6416B2C668C7DDB975B693E3A087FC1433200CBC717116841981EA0D3D6A0C88F220ADAEB4CA248DD7D243244D84F12EA7320FC28")
+ sha256("org.apache.activemq:activemq-jms-pool:5.15.8", "4606604A8C2F1C596CA9C3294A8218D022FA30454FBFD61863CA0C6CF4398B069FC90CEA89201C4CB2B2AD87C171603095AC9F46EE142C089755429BDEB49344")
+ sha256("org.apache.activemq:activemq-openwire-legacy:5.15.8", "8B730DA2BF0755A7C486CA5C495F2F43C3C043F6E33C0FF34BE31C46403B91BCE87864AF44CCD8D305ECA1D778736A84238A7541AE3F61718F7863E1024CCAEF")
+ sha256("org.apache.activemq:activemq-pool:5.15.8", "78202EF368175E05226039F5620884BB48DA1B254DB99EE136F023A6A9730566922FA37F26715E7E8BF0B0394C0268C2A466DF82365DC867508E11D41D67F4B2")
+ sha256("org.apache.activemq:activemq-spring:5.15.8", "CE11F857A4CFE55F8CE994F31F60B6D0EBEB1DC9667BEBA3CDF63C7E3F3C3C7E5ED3837424FA58A2A35CDA0A76E1B1CDCE69BCED42893550E9099F90482F9115")
+ sha256("org.apache.ant:ant-launcher:1.10.5", "613612F80DDC5B8C0DA49C97CC3E12108F2B06257053330AC364B943BB7AE07DE375F57DA961C9C04D23DB9D202C5A60BC1DD17CB473EC56BA6B2F371D36DA4D")
+ sha256("org.apache.ant:ant:1.10.5", "84040128CBE8EB051ECC17037D4744A04437D891E376DA7728588A93C92EC78A21B282723F7C37060BBD50693D556358197B4AA25C68A7508FA8C20F7EB12618")
+ sha256("org.apache.bcel:bcel:6.3", "76073839812981106BB7089668B5421D0D2E1E8BDB272FC79EA5A5D51D27832BB8E8B37C344DA173A54A19506D9BE43BCE727F24C5360AAA530B2FFDBB4A4435")
+ sha256("org.apache.commons:commons-collections4:4.2", "E1BA369FFE4E0D8FB1C432FFB2171AAF4435AE2A88F6C91EBF8E7AEA28791DC3035685F34A93A5B1370745374EA4BF3B9CA7A99BF73A0017811D29C13AFA9A1E")
+ sha256("org.apache.commons:commons-compress:1.18", "CB581DF3820FDFA810826F00BE2AEE1B7E551DE8363ED6D8D712098E545D61CD9C903F057F7BBDF5AF6BACFD314754A13FF9694B44F848DF0DE51239F01805FB")
+ sha256("org.apache.commons:commons-csv:1.6", "4FE40D0CFC383481728C8AE70A2536B2FFB6D2F8577E8649F959AB1F98CD6B099E18CCA7EB177290467185EFA40C398F4584ACE0233D437AF1FA112E36E49306")
+ sha256("org.apache.commons:commons-dbcp2:2.5.0", "9CEF8B6F4DD907A63B1FA562A9D2497D84E8A9C7839955742B134421D63B0CF0A102802CAC97985842C0231D6E76CEFA9A29C6A3378955517E8BE192133961ED")
+ sha256("org.apache.commons:commons-exec:1.3", "1543FB3D06491A25DABFDB889808942ED31A403EE349D59FD1C7A850B74FC826E8847CCFC9EEFDA111F126FE38298083CAE5968C1F447D6D81005EA06449C3BE")
+ sha256("org.apache.commons:commons-jexl3:3.1", "6AD2D83CFB29CB6C19DB70D4A89E8BD317B10DA736AC0B9B37C3F4DF8E428AE5987BF73AA1BA9439955E7278B7E056B009B691E2E64925E3E3C5B2CFA1349D9F")
+ sha256("org.apache.commons:commons-jexl:2.1.1", "DCD62490CC386516F66427F5E478C308F6937EB6D64A34A02DE56255129DED20BEDB85C01B5C794D95CA3C4D6A11D58FA920779C5E517B78A881C5A229E4FBA2")
+ sha256("org.apache.commons:commons-lang3:3.8.1", "FB0FE98385496A565678A000C26A3245082ABFBF879CC29A35112B4BF18C966697A7A63BB1FD2FAE4A42512CD3DE5A2E6DC9D1DF4A4058332A6DDEAE06CDF667")
+ sha256("org.apache.commons:commons-lang3:3.9", "C6516EBAA0D83D3DFC421061A57D0F7EB30D0CF9EA05A0D5FA1C94B4D42BCA211444EA9023DE1A812533B88112BE95CD5D9638E160AFCB31C31D6570F95A9610")
+ sha256("org.apache.commons:commons-math3:3.6.1", "8BC2438B3B4D9A6BE4A47A58410B2D4D0E56E05787AB24BADAB8CBC9075D61857E8D2F0BFFEDAD33F18F8A356541D00F80A8597B5DEDB995BE8480D693D03226")
+ sha256("org.apache.commons:commons-pool2:2.6.0", "C31D44FF2D527DEC5189BAF8AE1D888C37A53A60283C58CBEACD723C773DB8219DD54E0FCA15F29F781E0AF66E60E894254D6AAC80178207B51DD2F9DCC972C3")
+ sha256("org.apache.commons:commons-text:1.6", "A0C077E33C075FFD2A9BF6776C1C27F6D19B451DD6F9A26CC06AED586BD746E5DADEFEE72E130F0D43768F8E3F24CDDABE79B1E94ABF227FBC8E8C58DB0C6504")
+ sha256("org.apache.cxf:cxf-core:3.3.1", "DB8C2331945F6963E34ACFB449D6CE72B4A801296CFC9CBBC746680F44324FFF7A6B0FB841F8EA009C940B6B7AFAEEFF0FF1E098C48771C1598EFE09D929D311")
+ sha256("org.apache.cxf:cxf-rt-frontend-jaxrs:3.3.1", "2DCCAA90B70B1D7990FA48284FB6D3B46ABA7294CFC5A2401CCE7E613ABB34A8444CFFD31C6A93B246E8D2B51EE16B7E8F7EF97891E6119789BC3B0710B850F")
+ sha256("org.apache.cxf:cxf-rt-rs-client:3.3.1", "16125405F6BAB5B89997DA8831419C377EEE1BAF5077E7C0D3961AAAFCD79C417A6B2681CE1F9AAFD79CD99BFE13AFC968817D499E1893A01256AF337F850347")
+ sha256("org.apache.cxf:cxf-rt-security:3.3.1", "DAEEDADCC80C40540D7EFB5D2A0E859C8182BA2D5493195C7DC539C66025E30EEE9006DBEB9F50118B35B3271F5F88EDFD74489B58383627023B9B42E6A15100")
+ sha256("org.apache.cxf:cxf-rt-transports-http:3.3.1", "935763F1FA09CCBED12F0A9F21E020551A8C1169DC4D8B49C8E4BBEF23FFCCA95288A77C87DFDA16CE04E2FFC5D18721E1592CD7A85B047F4E16EAECDC01028A")
+ sha256("org.apache.ftpserver:ftplet-api:1.1.1", "70C9E913E578460BB9B8F014C47B9C9634B9454F194EF105CFD4EB896857DC47D292B1AB88C267FF6BC0E608BFEA0BB900DB6E4D88E5F5D9096EF6A4B4CDD51C")
+ sha256("org.apache.ftpserver:ftpserver-core:1.1.1", "D880495D077694475D27C081488728085FC19B8E1F113E8BA64656A3DE0A7DBC612F341EC653F3CB719B889916DE20DBD188898EED7A8CFECBAF9BE52A237118")
+ sha256("org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec:1.0.1", "32E38035E7A9BC63F31CAA612421BDC33DDB9503E37C97B587490926D35831A8E3C2FEF324ACADC9A301AA977A761B36C94188A64E53E0AEC8641B04A21B3597")
+ sha256("org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1", "94CB8660775596B298DB93E11FDBB28D2A582B161F7A6D667D41946F59E8B114AA80E15C28C4186F05B43F432B1AC555D845AD870309609202382C3F6061E319")
+ sha256("org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec:1.0.1", "F61164A57A83D7C5383E28EB7C57182A94E0966B3194BEC51720CE127AECA0C8802106898FFEEDEE00D55C59277104A6D04C2183BBCE7807AE5336AA83EF2323")
+ sha256("org.apache.httpcomponents:httpasyncclient:4.1.4", "A80DB5DBF772F02D02BA6C7C163E8DA9517DD7195714B495ACB845C429580C1FC926D3E71C115E75BE8C145651DCE2FDFA0DC380132F7809C14B3AD95492AEE")
+ sha256("org.apache.httpcomponents:httpclient:4.5.6", "32CB1EE6E34C883FF7F4ADE7EAF563152962B0E40E6795F93D1600FFE1CED7102062C8D0C2C31F4FC9606F1F500EA554E5D83B7AE650C1D78A3BE312808E6F35")
+ sha256("org.apache.httpcomponents:httpclient:4.5.8", "DEB6B66065CFDED63795B934E18C3ACABEB3CAFE8A34D3903ED280284C7B2A3F801711AA5413699EA72CB8356D8F5C81F96BEEA5B910D97411F99E3220FCA2DE")
+ sha256("org.apache.httpcomponents:httpcore-nio:4.4.11", "921BFA77D06C2B624D257DC6D57689A06F704954AE49FE4433D5200018F46607A46EA21ECA3C7757913BD6C1C2605A025BEA912A007230EA2E4227C07F8ADCA3")
+ sha256("org.apache.httpcomponents:httpcore:4.4.11", "1F45A26F97E5488BF1985F5F5C88C5E2744F46D422040708F7641DEB14BB04561BCEC35C9284C1DCE606FCDCB768EDC3EF970EF965BD6BB591EC362DFD417C74")
+ sha256("org.apache.httpcomponents:httpmime:4.5.8", "E44EEBDC57A0E2F99FFDD7907A8D5ADCC18FF05FF5CE353AA7D05A2C7914272E6D4746F09399DF024C2663E1838C6477581D2787B8D07B8EDD3B18D526381993")
+ sha256("org.apache.james:apache-mime4j-core:0.8.3", "37F175C4839FDC050A8A80CEFC0A7557F849D79EE1AE81F41AC4A31419FABD3C1B21F955EACF89B7EB05BCFFA5E9A88960CFD0C0DC12E52D0B6A2C4BC8617569")
+ sha256("org.apache.james:apache-mime4j-dom:0.8.3", "2575C5824499E4297EF06E6D90A9544471ECFCF6D55B6ED9C6D2A856ECAAAA0682F9260087A10C0D947E1A9156C71D141D907D7A522D4048607F1190754B704")
+ sha256("org.apache.logging.log4j:log4j-1.2-api:2.11.1", "7FA86AE3F19F88C0690D12F7ACD04D270E365C1E925DF0A8012DDE7B8B3EA1F787D34C9FC26B198D7D8054F7BFADB522A34C4B8C1C7998E7C138187C5DA4060E")
+ sha256("org.apache.logging.log4j:log4j-api:2.11.1", "A598DA3836D2DDCA60CFB3D62DF96E525A8A130CB67199C3FA0380E722B82B8F5778372CCCB763BF8AC216112C3E5E6300FC5B85E097845F42FB743ADC1FD41F")
+ sha256("org.apache.logging.log4j:log4j-core:2.11.1", "6D23ECAF0AC18A5DFF492B8F047543B392FE5D1D56EF1F9F6C68CFF43C7EE97F2FD8521C22D242E5ACBFF9C133E9315045D6C689609F9C7DA3DDFC3FFB96B261")
+ sha256("org.apache.logging.log4j:log4j-slf4j-impl:2.11.1", "55360BF9BCD47DAE49FCC8E28DBAD9D3AA26BCC66729DA98D701CC2099CB070E537F19327FA52486B4E557FA513D37AFBBE6FD17B1557527FB2496F56072545A")
+ sha256("org.apache.mina:mina-core:2.0.19", "B494D592C42D4F8C70BD5F1927A71729E12016F28FAC77BB41286186A69C530B7B486DAB8A44C7B09BB8BD44B960FBA10246E5D61420DE6FCE1E29D0FA22C202")
+ sha256("org.apache.opennlp:opennlp-tools:1.9.1", "3D20422140AE74067D04AD9A02C3F465BAE85D6FED7B24A6150D37D145A68DA651E8E490F97EED5FE59C3A02BE64D801BBA1F2D72A0F79FA84508ABEE0063D65")
+ sha256("org.apache.pdfbox:fontbox:2.0.15", "877A6FB617E17C22CCD630DF9BDFE2E986982D032C5AAEBB97DC5D1174B165A8AC4BF01F891FF77A5D818C23CF5423DBA17E472435E63B7AF109773FBE6642E4")
+ sha256("org.apache.pdfbox:jbig2-imageio:3.0.2", "1A9860034C091E1487510839C45F64C222B0238E8547BD7E893874EBFAB4462001FAF6411840FC3F60072B35A6EF068FD0AF848AA78CEB811053D51AAC471121")
+ sha256("org.apache.pdfbox:jempbox:1.8.16", "1299DDE3C232CD7CB51C4197EDEE1E37C0767407646404077FF34A64F81686A6F0E11AF7852FEBB63737FB48F3C57294DCA986ED9B57C8A302BA54DF3A07BD91")
+ sha256("org.apache.pdfbox:pdfbox-tools:2.0.15", "6B23FBE72E760D5C8928AE99C34123EEC2FBED231B7A85352E4B41173BB727EF954B6A72FB32F7B914EEBA50D4C9B0ED7A7DF613ACCA53CBE5616D440154E66C")
+ sha256("org.apache.pdfbox:pdfbox:2.0.15", "4AF554DC579E84569FA0D78D20866F521E83F4EBCFBC6DBF1B7EBF93B8D6F0AB9595D0B9AA4D25D4772FE9CC03B558323942B582DAA660B4EDD80A70C27741B5")
+ sha256("org.apache.poi:poi-ooxml-schemas:4.0.1", "986237F46ED0BAFBE1E28D6621D8BF6EE93E65C3BF832EE568F9C73BC1AB06A2EFB07FC0154A7B6B736BF211575B10920E0516A2F5C149BA91F193CDCFEBA6F6")
+ sha256("org.apache.poi:poi-ooxml:4.0.1", "2E06829BD2DF9001FA47CF672B31A9B640F16D1F8E9B8CA98BAD2E0612A7B12CFBFE860B78F4C0A725F1B77E6B14979E2E44E52C452BEDDAD35A3CE256539B48")
+ sha256("org.apache.poi:poi-scratchpad:4.0.1", "E9F73A76B6A033E454EFBF98093A5436ADA97E03C34F772DA49FE7DD071CADB2FD8CDB99D0AE607749F42BEA444E15C5CF68F305F7C2678FFFD643D90B4260CB")
+ sha256("org.apache.poi:poi:4.0.1", "7D7206EBAAE0357CC5D4E0B68E3189CE0B579A4AE5F3834819350216039FFD7AEF21313926908DBD5FFDB69CA8E16494F3FA1958A0B31E8632EB5CCEA6929227")
+ sha256("org.apache.sis.core:sis-feature:0.8", "A0DC51CCF5432039F4284CCA66C4105542945764B87B25CA515AF70265A42556262D8989D57518801035F31CD63F661C689C66B7A5992AF741470B3FB97E4773")
+ sha256("org.apache.sis.core:sis-metadata:0.8", "E03E3218761316D5FA20B1A6D70997AD8C5A373B35D643F74A113D15058C614ECA40A2689BB7C75B71E16B490A28C6967CF02EF24A0D02D68A3CBED5745B371E")
+ sha256("org.apache.sis.core:sis-referencing:0.8", "10549ACCC68701127E3551A563367F21AA21BA2956A34C273ACC2914B14C6709442C53DA4CE621802CDC6ADD2E427DB0FCE9C10EB0F091EEC199E94FCDA480A8")
+ sha256("org.apache.sis.core:sis-utility:0.8", "B49FF6D0163F9006BFED223DBC24955636CDB153703D9F11CEAE7DF82C92B0D3DC01E27338D2E486A83441D1E1D5FE57242017E523245DCB1240A6D511158318")
+ sha256("org.apache.sis.storage:sis-netcdf:0.8", "824243440FB2F6F9417824D60BDB0918D5E5FEC8F8E72ED24ABCC8F9917D8A700C48F7883D05FA07DDD490A72E056531A6AC516ED6F137411F61713C0472FE9C")
+ sha256("org.apache.sis.storage:sis-storage:0.8", "1B63FAAA48294BD48AC227F645E141ACCCBE27A70550CB0B1C5E453386AA4D512A257517BD39F31CB7C55757D5E422137967647BF1814F3A38AB3508293B86A3")
+ sha256("org.apache.tika:tika-core:1.21", "9D3131D7E5FBAB717F2590F4FE0DF161189F29490F7D3238512E68924953A136497C37B39A9260B9C6350B335670DB207FA8A45838F99D60C1E906872BDA1EDA")
+ sha256("org.apache.tika:tika-parsers:1.21", "2728CA01817F9509912E738E65BD42F4A0296E206BFA3382C0B7EB5935A3D19C93142D4C0B589DE0BD582CF41AB54A3C374D0D7C2A9D555EBE086C7E90278ED9")
+ sha256("org.apache.velocity:velocity:1.7", "E521785D947CAE1A02070B26A43D235B6319439A6364C58266D3F9C458F9A099406C10AAB5F51C5DB5BA541E88322CB35203C6758B4B8BB65F9539A345DA9A04")
+ sha256("org.apache.ws.xmlschema:xmlschema-core:2.2.4", "4F17285B12EAC5D27FA83303FB4630408CFC8EBAE6A7528E449D190EC07DC5715C081E43CAD146D0F11BF99D0D9D4B23193896418D1643E017613AF686915A46")
+ sha256("org.apache.xbean:xbean-spring:4.2", "F6BC463D2E3A140DABD48AB99B8B99A6607611A6B448D0B08D56A7B496080B4DDAFB97808B9EE25EEAE2BE8994213FA42C74921F4169F5BB288F473E7A92463F")
+ sha256("org.apache.xmlbeans:xmlbeans:3.0.2", "B5CEA180F0A72A6B724DFD2D687D9328BEE07F2E7CF5E90BC193D8159A404246002A278894E115AD41A230B5F64F015E0BB28332C26522834EAAF9727C99C0DC")
+ sha256("org.apache.xmlgraphics:xmlgraphics-commons:2.3", "2914C30F5A58A1EAA19B51399EEFD30F3A4D530D19BE5A74AB0AD5D93142F13C5DDFE9FAA3E95F2632C14E18F39AA1AC3090061D32FB79A1A69AD9126F51AF0")
+ sha256("org.bouncycastle:bcmail-jdk15on:1.60", "79B43DF17AB209A1026FC3CDA644B2611A72E861D3673CE846E078CED93A0991E16C91667FA854FEE7E92F5553338D1C9783BB2FBF426EB6FD19C8CE3582B26E")
+ sha256("org.bouncycastle:bcmail-jdk15on:1.61", "6A5E1DA3CCCF1E65017B5EA6D6A9C6CC0FC7EC5B699CFF78FF6A1ED4005DF7500055978A1D2B3D8709CC446B88B18BA38250292ACCACFF6C3E40D277005B21E1")
+ sha256("org.bouncycastle:bcpkix-jdk15on:1.60", "D44CDAC998A0D804AC452725C9E84B7D517C838CC6770CECDB214E1DF50EFC5EC2D067A91A5009F1316A5635CF7A1D213F2EE2A4E7497C66E1C7BBD5D2D4445F")
+ sha256("org.bouncycastle:bcpkix-jdk15on:1.61", "BA8469294D658E93880FDF2B1DF88AA501BC6BF1613D7EC6287A362078AF425BB645234E85A1C737B582EB01E1DA2AACCC33326A30E0EFF0CB5616EDCF6FB008")
+ sha256("org.bouncycastle:bcprov-jdk15on:1.60", "1C08D82349E333720C08FC467FF6489B14B8633A09019BF8BB5E6A3C426DFAE6DCC415648FE1FB4A2DA8631548F4947AB6CA1BC90B3190A05040F4D2EB271A10")
+ sha256("org.bouncycastle:bcprov-jdk15on:1.61", "2F09C3E8EA8666620CF32A0BC3D1B8DCB562EC4CB06B485D038956FA2CC898AB11132A675B3C12CBFB00A1CA96DDF34ADC0C1B5981FCCDC566557FC6C533673B")
+ sha256("org.brotli:dec:0.1.2", "D4CD2B33F7C358012FF01DB6A13EBFE1E8051A580698BFFCD942C47451012CF53CE49A400B1C8BF7502B01E631D79D7C6417202A145622572D79FD145CCDE61A")
+ sha256("org.ccil.cowan.tagsoup:tagsoup:1.2.1", "1FB11D19D8C63640B4C40907A80384B4176924F60E47D87B4C6CF611A062CBA4220D990C08B8536B0340FD32985C08F969650AFD3360A5BD288ECD89124F19A3")
+ sha256("org.checkerframework:checker-compat-qual:2.0.0", "FDECC20EFD6943426E7F8BDFB8BEF9D28258F9F934CF29090E2F5B297C501454606CC28593CD7D089A5C14F6D2DCAFC59F4606053405D7F91D623A0E3202F4A8")
+ sha256("org.checkerframework:checker-qual:2.5.2", "FB32E3893F9EBC956EF99066B219A8FC8049B47B80A7253CD89B7FAADF0A2FA14D60B52DD5C2F4AAEB1DB0359F49FEC9E29D3616BD314EC8C82DB1C657BE8CD2")
+ sha256("org.codehaus.groovy:groovy-all:2.4.16", "C2616868541A3F587CBBA9BED3CFCA234565C1FD896654D6FB1934B452F05759A93F9614952D9620C1BA066CD328E6D55A349F1738BCEDB3EFA65A862FDEE09D")
+ sha256("org.codehaus.mojo:animal-sniffer-annotations:1.14", "9E5E3EA9E06E0AC9463869FD0E08ED38F7042784995A7B50C9BFD7F692A53F0E1430B9E1367DC772D0D4EAFE5FD2BEABBCC60DA5008BD792F9E7EC8436C0F136")
+ sha256("org.codehaus.mojo:animal-sniffer-annotations:1.17", "94D0335CDF94AA547AD6C0C7E44B8E3BDA736CE19D941DD0FAA3A45390E5AB2D122022FF4E07BB9AAEDD41FFBD9500F324E0A9E42F4C5441BCE0774F44872F45")
+ sha256("org.codehaus.woodstox:stax2-api:3.1.4", "911E3E250C9AC9098899F12DB584B83F36D91E8CCA1AFEEF38C19952A168647DBBC88CB1CBDD5919769342ED09267263A142B12E71CAB465B25DAEEDF2255CB7")
+ sha256("org.codelibs:jhighlight:1.0.3", "AD9FB3C2163C9B460CB825DF63E683FB8E0A2D3CD12C9CF61759C550635611A52201E059034263097FF7EA0D251A2C697574B074A4A3FAAD2E963ABBAF7F1C75")
+ sha256("org.dom4j:dom4j:2.1.1", "547DA0752FFB12CE40800449376F2F7E20F053F816DE4AE8ADF1A4FAD5A3B87CE4E98E95650671A6C9CDCBBF7C20A4B61E711E5AE8D324C923D508BCB07E02E1")
+ sha256("org.exparity:hamcrest-date:2.0.4", "DC0FB7DDE5B151E09C619C080BD0AB6405596A0E926126342C65EDE6E25F65519B5B6A02BF25C02AD75A31EB26C6B41672CDAB97CC8B5AD983D025651A33CDD6")
+ sha256("org.freemarker:freemarker:2.3.28", "44435CB2B6BA02ABACDC4A21BEA44A2DC50FAA1B486FC5B2F79097A68F1F98CA24AA835448AC5DEC33A1869EED1B8A32AC285E95FDABBDAFAA810D575951894E")
+ sha256("org.fusesource.hawtbuf:hawtbuf:1.11", "396966ADF3E8CBA09FF75297915D41BA6A7C60C327575DFFF153F6617A1BCAFFF4A1AC0BAA19D93B4DDCAB511C5E23A6FD95AADF45E55E2057700DA3B8991AF0")
+ sha256("org.gagravarr:vorbis-java-core:0.8", "73F0D0B0ECC58EB14C147C607878102551F30E4C623DD3603B7BB5A6B5BA7111CF4587A6CF909113621EC91866A36D70318366D36573F076EB6D5DA593C40043")
+ sha256("org.gagravarr:vorbis-java-tika:0.8", "8F27A3912F98F254AFBF999810FCD8B7662E244BDE5D13B14957B2A2F24745E85CCCF10BC52D6B0472F757456CAD13E23D0F7BBE6A8A7FCF285CEE990461A6F7")
+ sha256("org.glassfish.jaxb:codemodel:2.3.2", "1CF217B4E7193B8D818BFDBEE0F7A9EC50DD01AC2B805CE04775A7A6D25ACB75F6F6CFBDA195603B8815D7811286955CD0E3336C79A269AB49942BEA7E2B02D3")
+ sha256("org.glassfish.jaxb:jaxb-runtime:2.3.2", "8A6CF3DD9FAC4FB6DDB5F0861A2CAC093E04D186FC787EE78C30862D225EB677B9605E1177CF57DA0D4F45C613F107187C330BE0684B43B0CAB9A922CD96DB66")
+ sha256("org.glassfish.jaxb:jaxb-xjc:2.3.2", "ECFD5AF8775050E3996F211352DAA5315545243EB46B05B89635B66F40AC97E94E8CFBDF0CD7F7EC53C3FDA7A2E1BA68F264A352B718C699C8A359D6209802E2")
+ sha256("org.glassfish.jaxb:txw2:2.3.2", "66C174093C47B75B900159C5449BD99EB15308D15B395771367ADC5862612EDB985C3678428C4F60E7C27B46D123AFAC39277F80DB766511A6B6F0756D525559")
+ sha256("org.glassfish.jaxb:xsom:2.3.2", "127ADBC58EDE679AE86B3B076C99156E9C8F12A7B09193109B8653D8BE3CA5411CFF033A9ECC6DF961E80C24377ED1E4CBC56589F6309A7ACEB51D41F9A1AA0F")
+ sha256("org.hamcrest:hamcrest-core:1.3", "E237AE735AAC4FA5A7253EC693191F42EF7DDCE384C11D29FBF605981C0BE077D086757409ACAD53CB5B9E53D86A07CC428D459FF0F5B00D32A8CBBCA390BE49")
+ sha256("org.hsqldb:hsqldb:2.4.1", "7A4B0F48072894C9CAD7352785465F3AE232AC22D79018053D8463EE143243626047AC19892A6E43325D172C7948BE35EDA54278F194B7A611B3DC032CFD047E")
+ sha256("org.itadaki:bzip2:0.9.1", "6DAE99A5AC88B6CE997E38A0895F43891D1B09C3430BB5C104052166087706C6C2F90264AA931C882D79202FB6F64040FC098182F39F1F67C190BD23B092E308")
+ sha256("org.jacoco:org.jacoco.agent:0.8.2", "E0B59440237E2953791666EC5B7080ABCDC0DD1827FD701CADF2CF7FD805E11BAA3CD1749E8BACFAFBB18BF482AD6D93C37CA9DDB950103B0D05E0BC00BD034")
+ sha256("org.jacoco:org.jacoco.ant:0.8.2", "F0532CF26F47F6952088BD336900BBBC8688788D71237EBB54EFDC2AE2635E9EFD2B96A6E4F03CEB1ABC4D7CB0138D526A27C5FD5CCDB013569E4F90051F7D55")
+ sha256("org.jacoco:org.jacoco.core:0.8.2", "7422BCFECBC36548475319FD9C896A9052F98798F6AC0D602614526C620C9CC7880BB05D987089FC41299D817C92A92E12E72D6A51459740A3BF61582B613669")
+ sha256("org.jacoco:org.jacoco.report:0.8.2", "EDE1B3CB978D21F0C65916DDA286732532D1A01450B2B833C9B8C7046B935167ADB63DB24B9ABF0C93AE155B7E8CF5FC74815711704C001093398E4D0FDF081")
+ sha256("org.jdom:jdom2:2.0.6", "315791DC16BC6240D81DA7FEE9AE325102FF7DB19A57805335D189BC747ABC4D1C80144589EBF956613B93B2263C7565FDF171ACA0C6C598616EB3F0BDF4CC58")
+ sha256("org.jdom:jdom:1.1.3", "921A79A4759724DAD02830E75FEF0F3A3B2BB1D14D572CA4E1F97BF7A93CC5413EE41B3B231331F1EF459E77F8AE1FBF43DCDF621D18BD72331F98B24C4E8284")
+ sha256("org.jodd:jodd-core:5.0.6", "359328570D17EEDB3CCE8C2D03A52D7C6345F2D1E590E604DF3B628EC641AC8AD5F845F783D74073BF60005E714E98D8B7D0EC1BE52F26A0C697477280FCDFC7")
+ sha256("org.jodd:jodd-lagarto:5.0.6", "63C216848091C043C6AD1670B8442C722D7620E3DA428BDAD6AC327CA527E8A789E2B07BB3CD635E4F960F80C26BB2FB8545051EC55CB2C59535A66EB5B0B7A6")
+ sha256("org.jodd:jodd-log:5.0.6", "3CE6C14823730ACEAF4CD0F86DA4F63BB47B1146163898B3F2A370E6890AD7F7EEB14D88D9916BF12B211236E9B539DC986C081A746AF00F3B78EB792CFDB9B6")
+ sha256("org.jodd:jodd-props:5.0.6", "63AB3951F0C167B28479B6030066B28C35E1B1C4944E978679B4365F8179C123FFD60EE9BA0EEE5AD0BFD2A592B73C999328B92F3E4B2F8376CD39A9DC1B4370")
+ sha256("org.jsoup:jsoup:1.11.3", "D8B4634950C8D7FE852C61C0538A7C4B271F5C39227593664A7A32145584E172CB66EBFA5301670DE93C2482CEAE83446BEBB4965A79060C5B28A67F1E3C0394")
+ sha256("org.jvnet.staxex:stax-ex:1.8.1", "D060EA5DCC81508A1078BD0ED947553A5652A5A78DA76CD00DC2E384DCA014166DFE92777FCEB7D7868699894D7E40ECEF99FAC7771372025BFD7F1FA3E2FE32")
+ sha256("org.mongodb:mongo-java-driver:2.11.3", "737A0D037A6BEF711539FB89E8D7388EEF8F7B11393291412329D76DFB0C1695718CB903E60C63CA8144C95F53CA9EF66E80B4DFD5DA73E0E989467DC4B61337")
+ sha256("org.mozilla:rhino:1.7.10", "FF4F8BFA5F1AFDD4F2E4C34DE8AA3CE18E4955F3804A3B864CB54583B7CB20621302786D625A2E4ED9EE879452F2E5BA70E855E65C34E58CF7F716D8A4515BC2")
+ sha256("org.nosphere.apache:creadur-rat-gradle:0.4.0", "2D314EC7A4000A553A68B4FA123A22A5531A93397DFDE183AAE30BE91AD582C06E115CC7A898502524BB8168240468CA832ECC4E9E0465556434299ACFE41380")
+ sha256("org.objenesis:objenesis:2.6", "23A593BDED8CB43236FAAD2018B008DA47BF4E29CC60C2E98FD4F2ED578FE2BADDD3A98547DC14273017C82CB19CE8EAAAB71D49273411856A2BA1A5D51015FC")
+ sha256("org.opengis:geoapi:3.0.1", "513D3C70E24044C9AC19FB8ACCDD80044073B16C817A5600D380EEC0797CCE58CE344E119A35895EFB81211526CD36C4EEFC55B892626184AD64C11A3E1B1975")
+ sha256("org.ow2.asm:asm-analysis:6.2.1", "BE273F8E886BBCFDA81180917145996AB8FD26A17264EBEB5E1FC2337950A309D64DC8CBD373220009728622A8CBF56B8578E960B5561C22EA66848D296AE44E")
+ sha256("org.ow2.asm:asm-analysis:7.0", "1A6CA169E9E2D29256F9C45570D89E5B039EAF7D405CCB3F7F79926552F2A0818975CE2C6ADCE3F1F59E28172E4303A1C790C52AB06263C61C9C8181FF279CEE")
+ sha256("org.ow2.asm:asm-commons:6.2.1", "CDF7DDB8E865B1C22C7532FFF68380FE4EC49A00C6FF3188BF265C4769E49E793B51621FC80A39B5BA2D49E703F100BDB7FC9CFF8F488C5153A9339334371411")
+ sha256("org.ow2.asm:asm-commons:7.0", "CA97B49EECE30DA774055B58A63C6E4F65A6BC4C0F40A829DCAF7164FBFFDEC10C6B2D9A22DF0A0918FDC83A47EA9906294AA99D3F170B35FD9E0632578C80B2")
+ sha256("org.ow2.asm:asm-tree:6.2.1", "20FE687C2F494717CCEB33C97704FAB7C1867EEA1A0F79B70C68BCAA72E7818F34921B6FBA7A3C1ECBBC7256E1D8E1A538F9EC5B4BD3B2A255D412D2BC2CAA4C")
+ sha256("org.ow2.asm:asm-tree:7.0", "81A223620DD16340D18ECBA20AB15CFE078F61AB0EC1AEF091AFCD282E3F6047B9800200412116289EC14917B5ECE9414C8009E92CC9A3333C677B5BFEC13BCF")
+ sha256("org.ow2.asm:asm-util:7.0", "6B9630AD4C5F6ABC2724F9D85A7C0E81E524F8B0BF25273DD5578EDC20EFC7AB400095CD48E904D2536071181A8E9F39635FF3FEE0986BD078016D2DFF8241B1")
+ sha256("org.ow2.asm:asm:6.2.1", "C8D0AB865B628CB5A71C2B8C5FC8AACDA3E286B14662C3287CE50A96E91990E959F1447D439BD7190D9088E69E4368EFBFF5890FA539F98776F514A262D6DA8C")
+ sha256("org.ow2.asm:asm:7.0", "B31699F50485DDC4E84466064CF5789A3E61BAFBEC53C4B9CB19FFEF07B36722D3EFDCA8722884FD6D6DEDACA65DB4DD6F71CD886BBA599E8A77971955167A60")
+ sha256("org.ow2.asm:asm:7.1", "7EBA7097109389F48FA9142BF22D225F5D3104D68013D3B8E0A6D4054A8CD0EF64614372BDCB38987D68ADB6D33A3804E98DDF112BA84DBB09D448CE702DACC4")
+ sha256("org.quartz-scheduler:quartz:2.2.0", "9E08A8EB2D0A86AA7663838AE5F620A4E5FFDE6BC68C33D413CF2B5847292120F251670B2A0383A31EA28D5F2907089263A8A7E536B1F801C29F8DB065727D12")
+ sha256("org.slf4j:jcl-over-slf4j:1.7.25", "A703864B269DE6F7BC98DF0FA98AA943CC327A4CA2915899D460E4A071FCC3FBE70957EB91B740CC935D0960B3D98F30C54A0A4019D7AE8C6D50F51EDB8D149")
+ sha256("org.slf4j:jul-to-slf4j:1.7.25", "61D40A8D5AECCC80134CCEFD1E7B6ABFD3908AF1D4470F3A964B70B38304C7A6EDD551066A834854D7B8483D240344A537E300BC69EF4CF038FC97F8455E6ADE")
+ sha256("org.slf4j:slf4j-api:1.7.25", "5DD6271FD5B34579D8E66271BAB75C89BACA8B2EBEAA9966DE391284BD08F2D720083C6E0E1EDDA106ECF8A04E9A32116DE6873F0F88C19C049C0FE27E5D820B")
+ sha256("org.slf4j:slf4j-api:1.8.0-beta2", "49F858C76964F7DBDDF715C70D3CE3A1872E8342CF1643EFCD429CF45BBA97B1859D2723F6565DFB811586B61EBF5B160B3950D3D93D6BC2C3568F5142E5343E")
+ sha256("org.slf4j:slf4j-simple:1.8.0-beta2", "D1C6A56ADD8A9BFAE1341910E457F7E561C666184F3F26B2DFA58F83396832AC006803194480000C89770B132A26A6C575687118E28A93D3A09511E22B9934E2")
+ sha256("org.sonarsource.scanner.api:sonar-scanner-api:2.12.0.1661", "FB8E10D511E99B0D22ABEF8278BB65CEADA21F37D413ECA060FC8E7B8741374B5E3D5A12EAB4FB63140D754528DE59BA615D47B5BA4CDC0F75FF4A7BCD42F19C")
+ sha256("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1", "3C17B038DBD01BD523E7CD71E06F539BA4B804080BC2973DA206E2AF16511073AEDE8B72CA464AD1F561E786D9BFD2B71FF01007B93EAEBED2F2EE95E07FF742")
+ sha256("org.spockframework:spock-core:1.2-groovy-2.4", "407AEE08D0E6AA1E2ADC3C9A1C966D91F2F53BEE0C92B85508F1E03E99F0E669356A2FBF9F450DB8D5328AD16ECD19B1BE1C9023B5C00031E91B9799A30381C2")
+ sha256("org.springframework:spring-aop:4.3.17.RELEASE", "3072ABA1B4DAF91BC6BD985655032ECA0632FC043AF80AB1B823B3C21513C3715CD64C44A268A953A1457D936CC28A076218FD08AC953911F48A99BCA55E01B")
+ sha256("org.springframework:spring-beans:4.3.17.RELEASE", "E8A5A8527C7231BA6C81211C60786550EC26CF549A07E52AA9E1001C624D8C0D0A056D3C6AFEE77AA0D55C57C3DB26F2222F78464BE6F5DF458F9BF6B495495C")
+ sha256("org.springframework:spring-context:4.3.17.RELEASE", "5EFA9A98FFE014961E92AB7C86FE991A6C29C923345B2223630945AAEF108AD4A936C16984622AD16C81ED15BFD15707B907B8F5F587E7698C4523206B3D19C7")
+ sha256("org.springframework:spring-core:4.3.17.RELEASE", "DCCF185FEFD78AE16DF085A864827D4375C0321E5A143A927705103D86D6CE4ADBEA61394AAEB4B90B3C95FFB8C72E2991B593653671FD5E2A9FD12ADE64B00A")
+ sha256("org.springframework:spring-expression:4.3.17.RELEASE", "D4732DA2A25137B85D199DC26792B8510A213A782C04D02BD02FC54AB652F59CDCE8898DD79B5519E6ABFE93F1603924FEA76047F05063C2683B517270C69952")
+ sha256("org.tallison:jmatio:1.5", "11954B2FF5BABB2596527A2B185B8DE7E81877670D2E21093309039F54F9B5707D670B99E02AFF9EE12A21321C562E64A71DF7CCA0F29EDD157951D9734F7B78")
+ sha256("org.tukaani:xz:1.8", "8CF42AE7D57C2115B9D86DC22EB782F0E0B3348A3927D013EF6A04CF444074592A4614F5E43328F6A55560B90945381A697FA01C47FAF54BE5B0EF202472AD0D")
+ sha256("oro:oro:2.0.8", "9A98E493C4D771322B1331EC05AB0E363A83D8AC2AF8018D96A44DF2BF5BFC97D33EBE6F6F93E46AB10BF1536F0C29E9D9569318ED49BC18B4E96B1A8B476D37")
+ sha256("xalan:serializer:2.7.2", "884D865865858A46306A3680DF69F3F0EFA0DF1313706B54E6900D36AF21E17CB6828F5A6BAC551C59F7F80BDD1CB64C3FDBDE44E213519C4AF87969E9E70774")
+ sha256("xalan:xalan:2.7.2", "F859C5BD65F6DC91E396CE91FE2F6D30B2354D6B419CD9EA96984C5403E5CD1342BB9362B0AE1F2792612F0DF731C4F7AC92F16A825BB7E22089C27A129C6C")
+ sha256("xerces:xercesImpl:2.12.0", "E9D62DC311DF808F88AC63B427BB40567C19CEC618A33D0A9C7C830B1BB7C64DAE263A5EE6C824D8E51A63CD24F49FE2EF4E2563D6E6AA0400F63E9BB35DCE97")
+ sha256("xml-apis:xml-apis:1.4.01", "8DB0283B6840CD6407957D296B802E3EDF90653E2722F8E29F86C1C0B60996C4B43E9E065E6864DAB89B2138DDB0174D9B4FDDA4A93F94EEB884783DB82F3268")
+ sha256("xmlpull:xmlpull:1.1.3.1", "54D1090623497E81270B2AF633268656E8855E1EDCE2217886431039516A391BA9F8D8DB3C21A0B5E51C7F7CB672D63EBE77BE75708B760B06F399486960F261")
+ sha256("xpp3:xpp3_min:1.1.4c", "34989289CE8ED861499F31742EE1E7B9DC3C59973CE915A7B561D33D98968E77DB5BB94C1692802CCDBD86D04CAA7DB67748EFAFB1402428B2D6AE3056497618")
+}
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000..457aad0d98
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/xdocs/velocity.properties b/gradle/wrapper/gradle-wrapper.properties
similarity index 73%
copy from xdocs/velocity.properties
copy to gradle/wrapper/gradle-wrapper.properties
index e1eda860b2..b9fdb0c7c8 100644
--- a/xdocs/velocity.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -13,8 +13,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resource.loader.1.resource.path = xdocs/stylesheets
-# set true to debug vsl files
-runtime.references.strict=true
-input.encoding=utf-8
-output.encoding=utf-8
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionSha256Sum=302b7df46730ce75c582542c056c9bf5cac2b94fbf2cc656d0e37e41e8a5d371
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
new file mode 100755
index 0000000000..af6708ff22
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,172 @@
+#!/usr/bin/env sh
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+ cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000000..6d57edc706
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/licenses/README.txt b/licenses/README.txt
deleted file mode 100644
index 7cd29a10ff..0000000000
--- a/licenses/README.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-This directory structure contains licenses for non-ASF software.
-
-The bin/ directory contains license files for 3rd party jars bundled with the binary distribution
-
-The src/ directory contains license files for 3rd party source; it also applies to the binary distribution
-
-Note that the bin/ directory is included in the source distribution because it is needed in order to create the binary distribution
\ No newline at end of file
diff --git a/rat-excludes.txt b/rat-excludes.txt
index 694ce2b8f4..ae494de8e7 100644
--- a/rat-excludes.txt
+++ b/rat-excludes.txt
@@ -1,40 +1,37 @@
rat-excludes.txt
+gradle/wrapper/gradle-wrapper.jar
+gradlew
+gradlew.bat
.*
.*/**
CODE_OF_CONDUCT.md
CONTRIBUTING.md
eclipse.md
+gradle.md
ISSUE_TEMPLATE.md
PULL_REQUEST_TEMPLATE.md
README.md
**/*.jmx
-bin/*.csv
-bin/*.xml
-bin/*.jtl
bin/examples/**
bin/report-output/**
bin/report-template/**
bin/testfiles/**
-build/**
build-local.properties
-dist/*.md5
-dist/*.sha512
-docs/**
extras/*.txt
extras/*.json
extras/Test.html
extras/Test.jtl
**/images/**
lib/aareadme.txt
-lib/opt/**
-licenses/bin/**
-licenses/src/**
-local/**
-printable_docs/**
-reports/**
-res/META-INF/jmeter_as_ascii_art.txt
-src/core/org/apache/jmeter/help.txt
+lib/opt/README.txt
+src/licenses/licenses/*/CC0-1.0.txt
+#local/**
+#printable_docs/**
+#reports/**
+src/launcher/src/main/resources/org/apache/jmeter/jmeter_as_ascii_art.txt
+src/core/src/main/resources/org/apache/jmeter/help.txt
test/resources/**
-**/*.log
+**/test/resources/**
+#**/*.log
**/download_jmeter.cgi
xdocs/extending/HTML_REPORT_README.TXT
diff --git a/settings.gradle.kts b/settings.gradle.kts
new file mode 100644
index 0000000000..f2e57ef42b
--- /dev/null
+++ b/settings.gradle.kts
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// This is the name of a current project
+// Note: it cannot be inferred from the directory name as developer might clone JMeter to jmeter_tmp folder
+rootProject.name = "jmeter"
+
+include(
+ "src:bom",
+ "src:launcher",
+ "src:components",
+ "src:config",
+ "src:core",
+ "src:examples",
+ "src:functions",
+ "src:generator",
+ "src:jorphan",
+ "src:licenses",
+ "src:protocol:ftp",
+ "src:protocol:http",
+ "src:protocol:java",
+ "src:protocol:jdbc",
+ "src:protocol:jms",
+ "src:protocol:junit",
+ "src:protocol:junit-sample",
+ "src:protocol:ldap",
+ "src:protocol:mail",
+ "src:protocol:mongodb",
+ "src:protocol:native",
+ "src:protocol:tcp",
+ "src:release",
+ "src:dist",
+ "src:dist-check")
+
+// See https://github.com/gradle/gradle/issues/1348#issuecomment-284758705 and
+// https://github.com/gradle/gradle/issues/5321#issuecomment-387561204
+// Gradle inherits Ant "default excludes", however we do want to archive those files
+org.apache.tools.ant.DirectoryScanner.removeDefaultExclude("**/.gitattributes")
+org.apache.tools.ant.DirectoryScanner.removeDefaultExclude("**/.gitignore")
+
+if (startParameter.projectProperties["localReleasePlugins"]
+ ?.equals("false", ignoreCase = true)
+ ?.not() == true
+) {
+ // This enables to use local clone of vlsi-release-plugins for debugging purposes
+ includeBuild("../vlsi-release-plugins")
+}
diff --git a/src/bom/build.gradle.kts b/src/bom/build.gradle.kts
new file mode 100644
index 0000000000..2d168e8653
--- /dev/null
+++ b/src/bom/build.gradle.kts
@@ -0,0 +1,141 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+plugins {
+ `java-platform`
+}
+
+val String.v: String get() = rootProject.extra["$this.version"] as String
+
+// Note: Gradle allows to declare dependency on "bom" as "api",
+// and it makes the contraints to be transitively visible
+// However Maven can't express that, so the approach is to use Gradle resolution
+// and generate pom files with resolved versions
+// See https://github.com/gradle/gradle/issues/9866
+
+fun DependencyConstraintHandlerScope.apiv(
+ notation: String,
+ versionProp: String = notation.substringAfterLast(':')
+) =
+ "api"(notation + ":" + versionProp.v)
+
+fun DependencyConstraintHandlerScope.runtimev(
+ notation: String,
+ versionProp: String = notation.substringAfterLast(':')
+) =
+ "runtime"(notation + ":" + versionProp.v)
+
+dependencies {
+ // Parenthesis are needed here: https://github.com/gradle/gradle/issues/9248
+ (constraints) {
+ // api means "the dependency is for both compilation and runtime"
+ // runtime means "the dependency is only for runtime, not for compilation"
+ // In other words, marking dependency as "runtime" would avoid accidental
+ // dependency on it during compilation
+ runtimev("org.apache.tika:tika-core", "tika")
+ runtimev("org.codehaus.groovy:groovy-all")
+ runtimev("org.ow2.asm:asm")
+ runtimev("com.github.bulenkov.darcula:darcula")
+
+ // activemq-all should not be used as it provides secondary slf4j binding
+ runtimev("org.apache.activemq:activemq-broker", "activemq")
+ runtimev("org.apache.activemq:activemq-client", "activemq")
+ runtimev("org.apache.activemq:activemq-spring", "activemq")
+ runtimev("org.springframework:spring-context", "springframework")
+ runtimev("org.springframework:spring-beans", "springframework")
+
+ apiv("bsf:bsf")
+ apiv("cglib:cglib-nodep")
+ apiv("com.fasterxml.jackson.core:jackson-annotations", "jackson")
+ apiv("com.fasterxml.jackson.core:jackson-core", "jackson")
+ apiv("com.fasterxml.jackson.core:jackson-databind", "jackson")
+ apiv("com.fifesoft:rsyntaxtextarea")
+ apiv("com.github.ben-manes.caffeine:caffeine")
+ apiv("com.helger:ph-commons")
+ apiv("com.helger:ph-css")
+ apiv("com.jayway.jsonpath:json-path")
+ apiv("com.sun.activation:javax.activation")
+ apiv("com.thoughtworks.xstream:xstream")
+ apiv("commons-codec:commons-codec")
+ apiv("commons-collections:commons-collections")
+ apiv("commons-io:commons-io")
+ apiv("commons-lang:commons-lang")
+ apiv("commons-net:commons-net")
+ apiv("dnsjava:dnsjava")
+ apiv("javax.activation:javax.activation-api")
+ apiv("javax.mail:mail")
+ apiv("jcharts:jcharts")
+ apiv("junit:junit")
+ apiv("net.minidev:accessors-smart")
+ apiv("net.minidev:json-smart")
+ apiv("net.sf.jtidy:jtidy")
+ apiv("net.sf.saxon:Saxon-HE")
+ apiv("org.apache-extras.beanshell:bsh")
+ apiv("org.apache.commons:commons-dbcp2")
+ apiv("org.apache.commons:commons-jexl3")
+ apiv("org.apache.commons:commons-jexl")
+ apiv("org.apache.commons:commons-lang3")
+ apiv("org.apache.commons:commons-math3")
+ apiv("org.apache.commons:commons-pool2")
+ apiv("org.apache.commons:commons-text")
+ apiv("org.apache.ftpserver:ftplet-api")
+ apiv("org.apache.ftpserver:ftpserver-core")
+ apiv("org.apache.geronimo.specs:geronimo-jms_1.1_spec")
+ apiv("org.apache.httpcomponents:httpasyncclient")
+ apiv("org.apache.httpcomponents:httpclient")
+ apiv("org.apache.httpcomponents:httpcore-nio")
+ apiv("org.apache.httpcomponents:httpcore")
+ apiv("org.apache.httpcomponents:httpmime")
+ apiv("org.apache.logging.log4j:log4j-1.2-api", "log4j")
+ apiv("org.apache.logging.log4j:log4j-api", "log4j")
+ apiv("org.apache.logging.log4j:log4j-core", "log4j")
+ apiv("org.apache.logging.log4j:log4j-slf4j-impl", "log4j")
+ apiv("org.apache.mina:mina-core")
+ apiv("org.apache.rat:apache-rat")
+ apiv("org.apache.tika:tika-parsers", "tika")
+ apiv("org.apache.velocity:velocity")
+ apiv("org.apache.xmlgraphics:xmlgraphics-commons")
+ apiv("org.bouncycastle:bcmail-jdk15on", "bouncycastle")
+ apiv("org.bouncycastle:bcpkix-jdk15on", "bouncycastle")
+ apiv("org.bouncycastle:bcprov-jdk15on", "bouncycastle")
+ apiv("org.brotli:dec")
+ apiv("org.exparity:hamcrest-date")
+ apiv("org.freemarker:freemarker")
+ apiv("org.hamcrest:hamcrest-core")
+ apiv("org.hsqldb:hsqldb")
+ apiv("org.jdom:jdom")
+ apiv("org.jodd:jodd-core", "jodd")
+ apiv("org.jodd:jodd-lagarto", "jodd")
+ apiv("org.jodd:jodd-log", "jodd")
+ apiv("org.jodd:jodd-props", "jodd")
+ apiv("org.jsoup:jsoup")
+ apiv("org.mongodb:mongo-java-driver")
+ apiv("org.mozilla:rhino")
+ apiv("org.objenesis:objenesis")
+ apiv("org.slf4j:jcl-over-slf4j", "slf4j")
+ apiv("org.slf4j:slf4j-api", "slf4j")
+ apiv("org.spockframework:spock-core")
+ apiv("oro:oro")
+ apiv("xalan:serializer", "xalan")
+ apiv("xalan:xalan", "xalan")
+ apiv("xerces:xercesImpl")
+ apiv("xml-apis:xml-apis")
+ apiv("xmlpull:xmlpull")
+ apiv("xpp3:xpp3_min")
+ }
+}
diff --git a/src/build.gradle.kts b/src/build.gradle.kts
new file mode 100644
index 0000000000..7a6d7e0198
--- /dev/null
+++ b/src/build.gradle.kts
@@ -0,0 +1,186 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+val skipMavenPublication = setOf(
+ ":src:dist",
+ ":src:dist-check",
+ ":src:examples",
+ ":src:generator",
+ ":src:licenses",
+ ":src:protocol",
+ ":src:release"
+)
+
+subprojects {
+ if (path == ":src:bom") {
+ return@subprojects
+ }
+
+ val groovyUsed = file("src/main/groovy").isDirectory || file("src/test/groovy").isDirectory
+ val testsPresent = file("src/test").isDirectory
+
+ apply<JavaLibraryPlugin>()
+ if (groovyUsed) {
+ apply<GroovyPlugin>()
+ }
+ apply<MavenPublishPlugin>()
+ apply<JacocoPlugin>()
+
+ dependencies {
+ if (!testsPresent) {
+ // No tests => no dependencies required
+ return@dependencies
+ }
+ val testImplementation by configurations
+ val testRuntimeOnly by configurations
+ testImplementation("junit:junit")
+ if (groovyUsed) {
+ testImplementation("org.spockframework:spock-core")
+ }
+ testRuntimeOnly("cglib:cglib-nodep:3.2.9") {
+ because("""
+ org.spockframework.mock.CannotCreateMockException: Cannot create mock for
+ class org.apache.jmeter.report.processor.AbstractSummaryConsumer${'$'}SummaryInfo.
+ Mocking of non-interface types requires a code generation library.
+ Please put an up-to-date version of byte-buddy or cglib-nodep on the class path.""".trimIndent())
+ }
+ testRuntimeOnly("org.objenesis:objenesis") {
+ because("""
+ org.spockframework.mock.CannotCreateMockException: Cannot create mock for
+ class org.apache.jmeter.report.core.Sample. To solve this problem,
+ put Objenesis 1.2 or higher on the class path (recommended),
+ or supply constructor arguments (e.g. 'constructorArgs: [42]') that allow to construct
+ an object of the mocked type.""".trimIndent())
+ }
+ }
+
+ // Note: jars below do not normalize line endings.
+ // Those jars, however are not included to source/binary distributions
+ // so the normailzation is not that important
+
+ val sourcesJar by tasks.registering(Jar::class) {
+ val sourceSets: SourceSetContainer by project
+ from(sourceSets["main"].allJava)
+ archiveClassifier.set("sources")
+ }
+
+ val javadocJar by tasks.registering(Jar::class) {
+ from(tasks.named(JavaPlugin.JAVADOC_TASK_NAME))
+ archiveClassifier.set("javadoc")
+ }
+
+ val testClasses by configurations.creating {
+ extendsFrom(configurations["testRuntime"])
+ }
+
+ if (testsPresent) {
+ // Do not generate test jars when src/test folder is missing (e.g. "config.jar")
+ val testJar by tasks.registering(Jar::class) {
+ val sourceSets: SourceSetContainer by project
+ archiveClassifier.set("test")
+ from(sourceSets["test"].output)
+ }
+
+ // Parenthesis needed to use Project#getArtifacts
+ (artifacts) {
+ testClasses(testJar)
+ }
+ }
+
+ val archivesBaseName = when (name) {
+ "jorphan" -> name
+ "launcher" -> "ApacheJMeter"
+ else -> "ApacheJMeter_$name"
+ }
+ setProperty("archivesBaseName", archivesBaseName)
+
+ // See https://stackoverflow.com/a/53661897/1261287
+ // Subprojects can't use "publishing" since that accessor is not available at parent project
+ // evaluation time
+ configure<PublishingExtension> {
+ if (project.path in skipMavenPublication) {
+ return@configure
+ }
+ publications {
+ create<MavenPublication>(project.name) {
+ artifactId = archivesBaseName
+ version = rootProject.version.toString()
+ from(components["java"])
+
+ // Eager task creation is required due to
+ // https://github.com/gradle/gradle/issues/6246
+ artifact(sourcesJar.get())
+ artifact(javadocJar.get())
+
+ // Use the resolved versions in pom.xml
+ // Gradle might have different resolution rules, so we set the versions
+ // that were used in Gradle build/test.
+ versionMapping {
+ usage(Usage.JAVA_RUNTIME) {
+ fromResolutionResult()
+ }
+ usage(Usage.JAVA_API) {
+ fromResolutionOf("runtimeClasspath")
+ }
+ }
+
+ pom {
+ withXml {
+ val sb = asString()
+ var s = sb.toString()
+ // <scope>compile</scope> is Maven default, so delete it
+ s = s.replace("<scope>compile</scope>", "")
+ // Cut <dependencyManagement> because all dependencies have the resolved versions
+ s = s.replace(
+ Regex(
+ "<dependencyManagement>.*?</dependencyManagement>",
+ RegexOption.DOT_MATCHES_ALL
+ ),
+ ""
+ )
+ sb.setLength(0)
+ sb.append(s)
+ // Re-format the XML
+ asNode()
+ }
+ name.set("Apache JMeter ${project.name.capitalize()}")
+ description.set(project.description)
+ inceptionYear.set("1998")
+ url.set("http://jmeter.apache.org/")
+ licenses {
+ license {
+ name.set("The Apache License, Version 2.0")
+ url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
+ comments.set("A business-friendly OSS license")
+ }
+ }
+ issueManagement {
+ system.set("bugzilla")
+ url.set("https://bz.apache.org/bugzilla/describecomponents.cgi?product=JMeter")
+ }
+ scm {
+ connection.set("scm:git:https://gitbox.apache.org/repos/asf/jmeter.git")
+ developerConnection.set("scm:git:https://gitbox.apache.org/repos/asf/jmeter.git")
+ url.set("https://github.com/apache/jmeter")
+ tag.set("HEAD")
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/components/build.gradle.kts b/src/components/build.gradle.kts
new file mode 100644
index 0000000000..cee93b6797
--- /dev/null
+++ b/src/components/build.gradle.kts
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+dependencies {
+ api(project(":src:core"))
+ testCompile(project(":src:core", "testClasses"))
+
+ implementation("com.github.ben-manes.caffeine:caffeine")
+ implementation("jcharts:jcharts")
+ implementation("oro:oro")
+ implementation("net.minidev:json-smart")
+ implementation("net.minidev:accessors-smart")
+ implementation("org.apache.commons:commons-pool2")
+ implementation("commons-codec:commons-codec")
+ implementation("org.jodd:jodd-log")
+ implementation("org.jodd:jodd-lagarto")
+ implementation("com.jayway.jsonpath:json-path")
+ implementation("org.apache.httpcomponents:httpasyncclient")
+ implementation("org.apache.httpcomponents:httpcore-nio")
+ implementation("org.jsoup:jsoup")
+ implementation("org.apache.commons:commons-lang3")
+ implementation("net.sf.jtidy:jtidy")
+ implementation("commons-collections:commons-collections")
+ implementation("org.apache.commons:commons-math3")
+ implementation("commons-io:commons-io") {
+ because("IOUtils")
+ }
+ implementation("org.apache.commons:commons-text") {
+ because("StringEscapeUtils")
+ }
+ // we use bcmail for compilation only, and bcmail is not shipped in the release
+ compileOnly("org.bouncycastle:bcmail-jdk15on")
+ compileOnly("org.bouncycastle:bcpkix-jdk15on")
+ compileOnly("org.bouncycastle:bcprov-jdk15on")
+ // Certain tests use bouncycastle, so it is added to test classpath
+ testRuntimeOnly("org.bouncycastle:bcmail-jdk15on")
+ testRuntimeOnly("org.bouncycastle:bcpkix-jdk15on")
+ testRuntimeOnly("org.bouncycastle:bcprov-jdk15on")
+ api("org.apache-extras.beanshell:bsh:2.0b6") {
+ because("""
+ BeanShell is not required for JMeter, however it is commonly used in the jmx scripts.
+ New scripts should refrain from using BeanShell though and migrate to Groovy or other
+ faster engines
+ """.trimIndent())
+ }
+
+ api("javax.mail:mail")
+ api("javax.activation:javax.activation-api")
+}
+
+fun String?.toBool(nullAs: Boolean, blankAs: Boolean, default: Boolean) =
+ when {
+ this == null -> nullAs
+ isBlank() -> blankAs
+ default -> !equals("false", ignoreCase = true)
+ else -> equals("true", ignoreCase = true)
+ }
+
+if ((project.findProperty("enableJavaFx") as? String)
+ .toBool(nullAs = true, blankAs = true, default = false)
+) {
+ // JavaFX is not present in Maven Central, so exclude the file unless explicitly asked by
+ // -PenableJavaFx
+ logger.debug("RenderInBrowser is excluded from compilation. If you want to compile it, add -PenableJavaFx")
+ sourceSets {
+ main {
+ java {
+ exclude("org/apache/jmeter/visualizers/RenderInBrowser.java")
+ }
+ }
+ }
+}
diff --git a/src/config/build.gradle.kts b/src/config/build.gradle.kts
new file mode 100644
index 0000000000..845a2fc190
--- /dev/null
+++ b/src/config/build.gradle.kts
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+import com.github.vlsi.gradle.crlf.CrLfSpec
+import com.github.vlsi.gradle.crlf.LineEndings
+import com.github.vlsi.gradle.release.dsl.dependencyLicenses
+import com.github.vlsi.gradle.release.dsl.licensesCopySpec
+
+plugins {
+ id("com.github.vlsi.crlf")
+}
+
+// Project :src:license-* might not be evaluated yet, so "renderLicenseFor..." task
+// might not exist yet
+// So we add "evaluationDependsOn"
+evaluationDependsOn(":src:licenses")
+
+// This workarounds https://github.com/gradle/gradle/issues/10008
+// Gradle does not support CopySpec#with(Provider<CopySpec>) yet :(
+fun licenses(licenseType: String) =
+ project(":src:licenses").tasks.named("renderLicenseFor${licenseType.capitalize()}")
+ .let { task ->
+ licensesCopySpec(task) {
+ from(task)
+ from("$rootDir/NOTICE")
+ }
+ }
+
+val sourceLicense = licenses("source")
+
+tasks.named<Jar>(JavaPlugin.JAR_TASK_NAME) {
+ into("META-INF") {
+ // License file should include licenses for bundled third-party components
+ CrLfSpec(LineEndings.LF).run {
+ // Note: license content is taken from "/build/..", so gitignore should not be used
+ // Note: this is a "license + third-party licenses", not just Apache-2.0
+ dependencyLicenses(sourceLicense)
+ }
+ }
+ into("run") {
+ filteringCharset = "UTF-8"
+ CrLfSpec(LineEndings.LF).run {
+ textFrom("$rootDir/bin") {
+ text("*.bshrc")
+ text("*.groovy")
+ text("*.parameters")
+ text("*.properties")
+ text("*.groovy")
+ text("jaas.conf")
+ text("krb5.conf")
+ text("log4j2.xml")
+ binary("proxyserver.jks")
+ text("users.dtd")
+ text("users.xml")
+ }
+ into("templates") {
+ textFrom("templates/templates.dtd")
+ }
+ into("report-template") {
+ textFrom("$rootDir/bin/report-template") {
+ text("**/*") // all except binary
+ binary("**/*.png", "**/*.ttf", "**/*.woff", "**/*.woff2", "**/*.eot", "**/*.otf")
+ }
+ }
+ }
+ }
+}
diff --git a/src/core/build.gradle.kts b/src/core/build.gradle.kts
new file mode 100644
index 0000000000..5b93a9c11f
--- /dev/null
+++ b/src/core/build.gradle.kts
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+plugins {
+ id("com.github.vlsi.ide")
+}
+
+dependencies {
+ api(project(":src:launcher"))
+ api(project(":src:jorphan"))
+ testCompile(project(":src:jorphan", "testClasses"))
+
+ api("bsf:bsf") {
+ because("protected BSFManager BSFTestElement#getManager()")
+ }
+ api("com.fifesoft:rsyntaxtextarea") {
+ because("JSyntaxTextArea extends RSyntaxTextArea")
+ }
+ api("net.sf.jtidy:jtidy") {
+ because("public static Tidy XPathUtil#makeTidyParser()")
+ }
+ api("com.thoughtworks.xstream:xstream") {
+ because("XStream in used in public API")
+ }
+ api("org.apache.logging.log4j:log4j-1.2-api")
+ api("org.apache.logging.log4j:log4j-api")
+ api("org.apache.logging.log4j:log4j-core") {
+ because("GuiLogEventAppender is using log4j-core to implement GUI-based log appender")
+ }
+ api("org.apache.logging.log4j:log4j-slf4j-impl") {
+ because("Both log4j and slf4j are included, so it makes sense to just add log4j->slf4j bridge as well")
+ }
+ api("oro:oro") {
+ because("Perl5Matcher org.apache.jmeter.util.JMeterUtils.getMatcher()")
+ }
+ api("xalan:xalan") {
+ because("PropertiesBasedPrefixResolver extends PrefixResolverDefault")
+ }
+ // Note: Saxon should go AFTER xalan so xalan XSLT is used
+ // org.apache.jmeter.util.XPathUtilTest.testFormatXmlSimple assumes xalan transformer
+ api("net.sf.saxon:Saxon-HE") {
+ because("XPathUtil: throws SaxonApiException")
+ }
+
+ runtimeOnly("org.codehaus.groovy:groovy-all") {
+ because("Groovy is a default JSR232 engine")
+ }
+
+ implementation("org.slf4j:jcl-over-slf4j")
+ implementation("commons-collections:commons-collections")
+ implementation("com.github.ben-manes.caffeine:caffeine")
+ implementation("com.fasterxml.jackson.core:jackson-annotations")
+ implementation("com.fasterxml.jackson.core:jackson-core")
+ implementation("com.fasterxml.jackson.core:jackson-databind")
+ implementation("org.freemarker:freemarker")
+ implementation("org.mozilla:rhino")
+ implementation("org.apache.xmlgraphics:xmlgraphics-commons")
+ implementation("org.apache.commons:commons-text")
+ implementation("org.jodd:jodd-core")
+ implementation("org.jodd:jodd-props")
+ // TODO: JMeter bundles Xerces, however the reason is unknown
+ runtimeOnly("xerces:xercesImpl")
+ runtimeOnly("xml-apis:xml-apis")
+
+ compileOnly("org.apache.tika:tika-parsers")
+
+ testImplementation("commons-net:commons-net")
+ testRuntimeOnly("org.spockframework:spock-core")
+}
+
+val generatedVersionDir = File(buildDir, "generated/sources/version")
+
+val versionClass by tasks.registering(Sync::class) {
+ val lastEditYear: String by rootProject.extra
+ val displayVersion: String by rootProject.extra
+ inputs.property("@VERSION@", displayVersion)
+ inputs.property("@YEAR@", lastEditYear)
+ outputs.dir(generatedVersionDir)
+
+ from("$projectDir/src/main/version") {
+ include("**/*.java")
+ filter { x: String ->
+ x.replace("@VERSION@", displayVersion)
+ .replace("@YEAR@", lastEditYear)
+ }
+ }
+ into(generatedVersionDir)
+}
+
+ide {
+ generatedJavaSources(versionClass.get(), generatedVersionDir)
+}
diff --git a/src/core/src/main/java/org/apache/jmeter/util/JMeterVersion.java b/src/core/src/main/java/org/apache/jmeter/util/JMeterVersion.java
deleted file mode 100644
index 1bc8ee8a15..0000000000
--- a/src/core/src/main/java/org/apache/jmeter/util/JMeterVersion.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-/*
- * Created on 02-Oct-2003
- *
- * This class defines the JMeter version only (moved from JMeterUtils)
- *
- * Version changes no longer change the JMeterUtils source file
- * - easier to spot when JMeterUtils really changes
- * - much smaller to download when the version changes
- *
- */
-package org.apache.jmeter.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Properties;
-
-import org.apache.commons.io.IOUtils;
-
-/**
- * Utility class to define the JMeter Version string
- *
- */
-public final class JMeterVersion {
-
- /*
- *
- * The string is made private so the compiler can't propagate it into
- * JMeterUtils. (Java compilers may make copies of final variables)
- *
- * This ensures that JMeterUtils always gets the correct
- * version, even if JMeterUtils is not re-compiled during the build.
- */
- private static final String VERSION = "5.2-SNAPSHOT";
-
- private static final String IMPLEMENTATION;
-
- // Same applies to copyright string
- private static final String COPYRIGHT = "Copyright (c) 1998-2019 The Apache Software Foundation";
-
- static {
- String impl=null;
- final Class<?> myClass = JMeterVersion.class;
- // This assumes that the JVM treats a class file as a resource (not all do).
- URL resource = myClass.getResource("JMeterVersion.class");
- // For example:
- // jar:file:/JMeter/lib/ext/ApacheJMeter_core.jar!/org/apache/jmeter/util/JMeterVersion.class
- // or if using an IDE
- // file:/workspaces/JMeter/build/core/org/apache/jmeter/util/JMeterVersion.class
-
-
- try {
- // Convert to URL for manifest
- String url = resource.toString().replaceFirst("!/.+", "!/META-INF/MANIFEST.MF");
- resource=new URL(url);
- InputStream inputStream = resource.openStream();
- if (inputStream != null) {
- Properties props = new Properties();
- try {
- props.load(inputStream);
- impl = props.getProperty("Implementation-Version");
- } finally {
- IOUtils.closeQuietly(inputStream);
- }
- }
- } catch (IOException ioe) {
- // Ignored
- }
- if (impl == null) {
- IMPLEMENTATION = VERSION; // default to plain version
- } else {
- IMPLEMENTATION = impl;
- }
- }
-
- private JMeterVersion() // Not instantiable
- {
- super();
- }
-
- static String getVERSION() {
- return IMPLEMENTATION;
- }
-
- public static String getCopyRight() {
- return COPYRIGHT;
- }
-}
diff --git a/src/core/src/main/version/org/apache/jmeter/util/JMeterVersion.java b/src/core/src/main/version/org/apache/jmeter/util/JMeterVersion.java
new file mode 100644
index 0000000000..192f889dea
--- /dev/null
+++ b/src/core/src/main/version/org/apache/jmeter/util/JMeterVersion.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.util;
+
+/**
+ * Utility class to define the JMeter Version string.
+ * Note: @...@-like macroses in this file should be replaced by a Gradle task.
+ */
+public final class JMeterVersion {
+ private JMeterVersion() {
+ }
+
+ static String getVERSION() {
+ return "@VERSION@";
+ }
+
+ public static String getCopyRight() {
+ return "Copyright (c) 1998-@YEAR@ The Apache Software Foundation";
+ }
+}
diff --git a/src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestFieldStringEditor.java b/src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestFieldStringEditor.java
index e0eede14b3..6aecd46873 100644
--- a/src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestFieldStringEditor.java
+++ b/src/core/src/test/java/org/apache/jmeter/testbeans/gui/TestFieldStringEditor.java
@@ -18,6 +18,7 @@ package org.apache.jmeter.testbeans.gui;
import static org.junit.Assert.assertEquals;
+import org.apache.jmeter.util.JMeterUtils;
import org.junit.Test;
public class TestFieldStringEditor {
@@ -28,6 +29,7 @@ public class TestFieldStringEditor {
}
private void testSetGetAsText(ComboStringEditor e, String text) throws Exception {
+ System.out.println("JMeterUtils.getJMeterVe rsion() = " + JMeterUtils.getJMeterVersion());
e.setAsText(text);
assertEquals(text, e.getAsText());
}
diff --git a/src/dist-check/build.gradle.kts b/src/dist-check/build.gradle.kts
new file mode 100644
index 0000000000..93ff100efd
--- /dev/null
+++ b/src/dist-check/build.gradle.kts
@@ -0,0 +1,214 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+import org.apache.jmeter.buildtools.batchtest.BatchTest
+import org.apache.jmeter.buildtools.batchtest.BatchTestServer
+
+plugins {
+ jmeterbuild.batchtest
+}
+
+val extraTestDependencies by configurations.creating
+val loggingClasspath by configurations.creating
+
+dependencies {
+ api(project(":src:dist"))
+ testCompile(project(":src:dist", "testClasses"))
+ testImplementation("org.apache.commons:commons-lang3") {
+ because("StringUtils")
+ }
+ testImplementation("commons-io:commons-io") {
+ because("IOUtils")
+ }
+ testImplementation("com.fasterxml.jackson.core:jackson-databind") {
+ because("It is used in ReportGeneratorSpec and HtmlReportGeneratorSpec")
+ }
+
+ extraTestDependencies(platform(project(":src:bom")))
+ extraTestDependencies("org.hsqldb:hsqldb")
+ extraTestDependencies("org.apache.mina:mina-core")
+ extraTestDependencies("org.apache.ftpserver:ftplet-api")
+ extraTestDependencies("org.apache.ftpserver:ftpserver-core")
+ // activemq-all should not be used as it provides secondary slf4j binding
+ extraTestDependencies("org.apache.activemq:activemq-broker")
+ extraTestDependencies("org.apache.activemq:activemq-client")
+ extraTestDependencies("org.apache.activemq:activemq-spring")
+ extraTestDependencies("org.springframework:spring-context")
+ extraTestDependencies("org.springframework:spring-beans")
+// extraTestDependencies("com.fasterxml.jackson.core:jackson-annotations")
+ extraTestDependencies("org.apache.commons:commons-pool2")
+
+ // Slf4j is used by activemq and mina, so slf4j binding must be placed on the top-level
+ // classpath since extraTestDependencies is added to the classpath
+ // This is not required for regular ./bin/jmeter because activemq/mina is not on the top-level
+ // classpath but all the jars are loaded by a custom classloader which is instantiated by NewDriver
+ // TODO: implement "extra classpath folder" in DynamicClassLoader
+ loggingClasspath(platform(project(":src:bom")))
+ loggingClasspath("org.slf4j:jcl-over-slf4j")
+ loggingClasspath("org.apache.logging.log4j:log4j-api")
+ loggingClasspath("org.apache.logging.log4j:log4j-core")
+ loggingClasspath("org.apache.logging.log4j:log4j-1.2-api")
+ loggingClasspath("org.apache.logging.log4j:log4j-slf4j-impl")
+}
+
+val libOpt = copySpec {
+ // Extra dependencies for testing purposes, to be placed in lib/opt
+}
+
+val populateLibs by tasks.registering {
+ dependsOn(extraTestDependencies)
+ doLast {
+ val deps = extraTestDependencies.resolvedConfiguration.resolvedArtifacts
+ with(libOpt) {
+ fileMode = "644".toInt(8)
+ dirMode = "755".toInt(8)
+ from(deps.map { it.file })
+ }
+ }
+}
+
+// Add dependency from libOpt to populateLibs
+libOpt.from(populateLibs)
+
+// For now lib/opt is hard-coded in some of the JMX files
+val extraTestJarsDir = rootProject.layout.projectDirectory.dir("lib").dir("opt")
+
+val createDist by project(":src:dist").tasks.existing(Task::class)
+
+val copyExtraTestLibs by tasks.registering(Sync::class) {
+ dependsOn(createDist)
+
+ into(extraTestJarsDir)
+ with(libOpt)
+ preserve {
+ include("README.txt")
+ }
+}
+
+val allBatchTests by tasks.registering() {
+ group = BatchTest.BATCH_TESTS_GROUP_NAME
+ description = "Executes all batch tests"
+}
+
+val jacoco = project.extensions.findByType<JacocoPluginExtension>()
+
+inline fun <reified T : BatchTest> createBatchTask(
+ name: String,
+ suffix: String = "",
+ noinline action: (T.() -> Unit)? = null
+) =
+ tasks.register("batch" + (if (T::class == BatchTestServer::class) "Server" else "") +
+ name.capitalize() + suffix.capitalize(), T::class) {
+ testName.set(name)
+ dependsOn(copyExtraTestLibs)
+
+ // Log4j must be on the classpath because NewDriver initializes logging
+ classpath(loggingClasspath)
+ classpath(extraTestJarsDir.asFileTree.matching { include("*.jar") })
+
+ jacoco?.applyTo(this)
+
+ if (action != null) {
+ action()
+ }
+ }.also {
+ allBatchTests.configure {
+ dependsOn(it)
+ }
+ }
+
+fun createBatchTestTask(name: String, suffix: String = "", action: (BatchTest.() -> Unit)? = null) =
+ createBatchTask(name, suffix, action)
+
+fun createBatchServerTestTask(name: String, suffix: String = "", action: (BatchTestServer.() -> Unit)? = null) =
+ createBatchTask(name, suffix, action)
+
+arrayOf(
+ "BatchTestLocal",
+ "Bug52310",
+ "Bug62239", "Bug52968", "Bug50898",
+ "Bug56243",
+ // StackOverflowError with ModuleController in Non-GUI mode if its name is the same as the target node
+ "Bug55375",
+ "Bug56811",
+ "TEST_HTTPS",
+ "TestCookieManager",
+ "JMS_TESTS",
+ "OS_TESTS",
+ "Bug60607",
+ "TestKeepAlive",
+ "ResponseDecompression",
+ "TestSchedulerWithTimer",
+ "Http4ImplPreemptiveBasicAuth",
+ "Http4ImplDigestAuth",
+ "BUG_62847",
+ "HTMLParserTestFile_2",
+ "TestResultStatusAction",
+ "TestRedirectionPolicies"
+).map { createBatchTestTask(it) }
+
+// Certain errors are expected in those tests as they examine failure cases as well
+arrayOf(
+ "TCP_TESTS",
+ "FTP_TESTS",
+ "JDBC_TESTS"
+).map {
+ createBatchTestTask(it) {
+ ignoreErrorLogs.set(true)
+ }
+}
+
+createBatchTestTask("Bug54685") {
+ jmeterArgument("sample_variables", "REFERENCE,JSESSIONID")
+}
+
+createBatchTestTask("Http4ImplPreemptiveBasicAuth", "Java") {
+ jmeterArgument("jmeter.httpsampler", "Java")
+}
+
+for (impl in arrayOf("Java", "HttpClient4")) {
+ createBatchTestTask("SlowCharsFeature", impl) {
+ csvFile.set(outputDirectory.file("${testName.get()}_$impl.csv"))
+ xmlFile.set(outputDirectory.file("${testName.get()}_$impl.xml"))
+ jmeterArgument("jmeter.httpsampler", impl)
+ }
+
+ createBatchTestTask("TestHeaderManager", impl) {
+ jmeterArgument("jmeter.httpsampler", impl)
+ }
+
+ createBatchTestTask("TEST_HTTP", impl) {
+ jmeterArgument("jmeter.httpsampler", impl)
+ csvFile.set(outputDirectory.file("${testName.get()}_$impl.csv"))
+ xmlFile.set(outputDirectory.file("${testName.get()}_$impl.xml"))
+ if (impl == "Java") {
+ ignoreErrorLogs.set(true)
+ }
+ }
+}
+
+// Note: original build.xml seem to use Bug54685 test, however in fact batchtestserver target
+// just ignored the given filename
+createBatchServerTestTask("BatchTestLocal")
+
+tasks.named(JavaPlugin.TEST_TASK_NAME).configure {
+ // Test examine JAR contents in /lib/..., so we need to copy jars to the projectRoot/lib/
+ dependsOn(createDist)
+ // This is a convenience, so batch tests are executed as a part of default "test" task
+ dependsOn(allBatchTests)
+}
diff --git a/src/dist/build.gradle.kts b/src/dist/build.gradle.kts
new file mode 100644
index 0000000000..6c72bf6592
--- /dev/null
+++ b/src/dist/build.gradle.kts
@@ -0,0 +1,479 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+import com.github.vlsi.gradle.release.ReleaseExtension
+import com.github.vlsi.gradle.crlf.CrLfSpec
+import com.github.vlsi.gradle.crlf.LineEndings
+import com.github.vlsi.gradle.release.dsl.*
+import com.github.vlsi.gradle.git.FindGitAttributes
+import com.github.vlsi.gradle.git.dsl.*
+import org.gradle.api.internal.TaskOutputsInternal
+
+plugins {
+ id("com.github.vlsi.crlf")
+ id("com.github.vlsi.stage-vote-release")
+}
+
+var jars = arrayOf(
+ ":src:launcher",
+ ":src:components",
+ ":src:core",
+ //":src:examples",
+ ":src:functions",
+ ":src:jorphan",
+ ":src:protocol:ftp",
+ ":src:protocol:http",
+ ":src:protocol:java",
+ ":src:protocol:jdbc",
+ ":src:protocol:jms",
+ ":src:protocol:junit",
+ ":src:protocol:ldap",
+ ":src:protocol:mail",
+ ":src:protocol:mongodb",
+ ":src:protocol:native",
+ ":src:protocol:tcp")
+
+val buildDocs by configurations.creating
+
+// Note: you can inspect final classpath (list of jars in the binary distribution) via
+// gw dependencies --configuration runtimeClasspath
+dependencies {
+ for (p in jars) {
+ api(project(p))
+ testCompile(project(p, "testClasses"))
+ }
+ runtimeOnly("com.github.bulenkov.darcula:darcula") {
+ because("""
+ It just looks good, however Darcula is not used explicitly,
+ so the dependency is added for distribution only""".trimIndent())
+ }
+
+ buildDocs(platform(project(":src:bom")))
+ buildDocs("org.apache.velocity:velocity")
+ buildDocs("commons-lang:commons-lang")
+ buildDocs("commons-collections:commons-collections")
+ buildDocs("org.jdom:jdom")
+}
+
+tasks.named(BasePlugin.CLEAN_TASK_NAME).configure {
+ doLast {
+ // createDist can't yet remove outdated jars (e.g. when dependency is updated to a newer version)
+ // so we enhance "clean" task to kill the jars
+ delete(fileTree("$rootDir/bin") { include("ApacheJMeter.jar") })
+ delete(fileTree("$rootDir/lib") { include("*.jar") })
+ delete(fileTree("$rootDir/lib/ext") { include("ApacheJMeter*.jar") })
+ }
+}
+
+// Libs are populated dynamically since we can't get the full set of dependencies
+// before we execute all the build scripts
+val libs = copySpec {
+ // Third-party dependencies + jorphan.jar
+}
+
+val libsExt = copySpec {
+ // Apache JMeter jars
+}
+
+val binLibs = copySpec {
+ // ApacheJMeter.jar launcher
+}
+
+// Splits jar dependencies to "lib", "lib/ext", and "bin" folders
+val populateLibs by tasks.registering {
+ dependsOn(configurations.runtimeClasspath)
+ doLast {
+ val deps = configurations.runtimeClasspath.get().resolvedConfiguration.resolvedArtifacts
+ // This ensures project exists, if project is renamed, names should be corrected here as wells
+ val launcherProject = project(":src:launcher").path
+ val jorphanProject = project(":src:jorphan").path
+ listOf(libs, libsExt, binLibs).forEach {
+ it.fileMode = "644".toInt(8)
+ it.dirMode = "755".toInt(8)
+ }
+ for (dep in deps) {
+ val compId = dep.id.componentIdentifier
+ // The path is "relative" to rootDir/lib
+ when (compId) {
+ is ProjectComponentIdentifier ->
+ (when (compId.projectPath) {
+ launcherProject -> binLibs
+ jorphanProject -> libs
+ else -> libsExt
+ }).from(dep.file) {
+ // Technically speaking, current JMeter artifacts do not have version in the name
+ // however rename is here just in case
+ rename { dep.name + "." + dep.extension }
+ }
+ else -> libs.from(dep.file)
+ }
+ }
+ }
+}
+
+// This adds dependency on "populateLibs" task
+// This makes uses of these copySpecs transparently depend on the builder task
+libs.from(populateLibs)
+libsExt.from(populateLibs)
+binLibs.from(populateLibs)
+
+val copyLibs by tasks.registering(Copy::class) {
+ val junitSampleJar = project(":src:protocol:junit-sample").tasks.named(JavaPlugin.JAR_TASK_NAME)
+ dependsOn(junitSampleJar)
+ val generatorJar = project(":src:generator").tasks.named(JavaPlugin.JAR_TASK_NAME)
+ // Can't use $rootDir since Gradle somehow reports .gradle/caches/ as "always modified"
+ rootSpec.into("$rootDir/lib")
+ with(libs)
+ into("ext") {
+ with(libsExt)
+ from(generatorJar)
+ }
+ into("junit") {
+ from(junitSampleJar) {
+ rename { "test.jar" }
+ }
+ }
+}
+
+val copyBinLibs by tasks.registering(Copy::class) {
+ // Can't use $rootDir since Gradle somehow reports .gradle/caches/ as "always modified"
+ rootSpec.into("$rootDir/bin")
+ with(binLibs)
+}
+
+val createDist by tasks.registering {
+ group = LifecycleBasePlugin.BUILD_GROUP
+ description = "Copies JMeter jars and dependencies to projectRoot/lib/ folder"
+ dependsOn(copyLibs)
+ dependsOn(copyBinLibs)
+}
+
+// This task scans the project for gitignore / gitattributes, and that is reused for building
+// source/binary artifacts with the appropriate eol/executable file flags
+val gitProps by rootProject.tasks.existing(FindGitAttributes::class)
+
+// Project :src:license-* might not be evaluated yet, so "renderLicenseFor..." task
+// might not exist yet
+// So we add "evaluationDependsOn"
+evaluationDependsOn(":src:licenses")
+
+// This workarounds https://github.com/gradle/gradle/issues/10008
+// Gradle does not support CopySpec#with(Provider<CopySpec>) yet :(
+fun licenses(licenseType: String) =
+ licensesCopySpec(
+ project(":src:licenses")
+ .tasks.named("renderLicenseFor${licenseType.capitalize()}"))
+
+val sourceLicense = licenses("source")
+val binaryLicense = licenses("binary")
+
+fun createAnakiaTask(taskName: String,
+ baseDir: String, extension: String = ".html", style: String,
+ velocityProperties: String, projectFile: String, excludes: Array<String>,
+ includes: Array<String>): TaskProvider<Task> {
+ val outputDir = "$buildDir/docs/$taskName"
+
+ val prepareProps = tasks.register("prepareProperties$taskName") {
+ // AnakiaTask can't use relative paths, and it forbids ../, so we create a dedicated
+ // velocity.properties file that contains absolute path
+ inputs.file(velocityProperties)
+ val outputProps = "$buildDir/docProps/$taskName/velocity.properties"
+ outputs.file(outputProps)
+ doLast {
+ val p = `java.util`.Properties()
+ file(velocityProperties).reader().use {
+ p.load(it)
+ }
+ p["resource.loader"] = "file"
+ p["file.resource.loader.path"] = baseDir
+ p["file.resource.loader.class"] = "org.apache.velocity.runtime.resource.loader.FileResourceLoader"
+ file(outputProps).apply {
+ parentFile.run { isDirectory || mkdirs() } || throw IllegalStateException("Unable to create directory $parentFile")
+
+ writer().use {
+ p.store(it, "Auto-generated from $velocityProperties to pass absolute path to Velocity")
+ }
+ }
+ }
+ }
+
+ return tasks.register(taskName) {
+ inputs.file("$baseDir/$style")
+ inputs.file("$baseDir/$projectFile")
+ inputs.files(fileTree(baseDir) {
+ include(*includes)
+ exclude(*excludes)
+ })
+ inputs.properties["extension"] = extension
+ outputs.dir(outputDir)
+ dependsOn(prepareProps)
+
+ doLast {
+ ant.withGroovyBuilder {
+ "taskdef"("name" to "anakia",
+ "classname" to "org.apache.velocity.anakia.AnakiaTask",
+ "classpath" to buildDocs.asPath)
+ "anakia"("basedir" to baseDir,
+ "destdir" to outputDir,
+ "extension" to extension,
+ "style" to style,
+ "projectFile" to projectFile,
+ "excludes" to excludes.joinToString(" "),
+ "includes" to includes.joinToString(" "),
+ "lastModifiedCheck" to "true",
+ "velocityPropertiesFile" to prepareProps.get().outputs.files.singleFile)
+ }
+ }
+ }
+}
+
+val xdocs = "$rootDir/xdocs"
+
+fun CopySpec.docCssAndImages() {
+ from(xdocs) {
+ include("css/**")
+ include("images/**")
+ }
+}
+
+fun CopySpec.manuals() {
+ from(xdocs) {
+ include("demos/**")
+ include("extending/jmeter_tutorial.pdf")
+ include("usermanual/**/*.pdf")
+ }
+}
+
+fun CopySpec.printableDocumentation() {
+ into("docs") {
+ docCssAndImages()
+ }
+ into("printable_docs") {
+ from(buildPrintableDoc)
+ manuals()
+ }
+}
+
+val buildPrintableDoc = createAnakiaTask("buildPrintableDoc", baseDir = xdocs,
+ style = "stylesheets/site_printable.vsl",
+ velocityProperties = "$xdocs/velocity.properties",
+ projectFile = "stylesheets/printable_project.xml",
+ excludes = arrayOf("**/stylesheets/**", "extending.xml", "extending/*.xml"),
+ includes = arrayOf("**/*.xml"))
+
+val previewPrintableDocs by tasks.registering(Copy::class) {
+ group = JavaBasePlugin.DOCUMENTATION_GROUP
+ description = "Creates preview of a printable documentation to build/docs/printable_preview"
+ into("$buildDir/docs/printable_preview")
+ CrLfSpec().run {
+ gitattributes(gitProps)
+ printableDocumentation()
+ }
+}
+
+val lastEditYear: String by rootProject.extra
+
+fun xslt(subdir: String,
+ outputDir: String,
+ includes: Array<String> = arrayOf("*.xml"),
+ excludes: Array<String> = arrayOf("extending.xml")) {
+
+ val relativePath = if (subdir.isEmpty()) "." else ".."
+ ant.withGroovyBuilder {
+ "xslt"("style" to "$xdocs/stylesheets/website-style.xsl",
+ "basedir" to "$xdocs/$subdir",
+ "destdir" to "$outputDir/$subdir",
+ "excludes" to excludes.joinToString(" "),
+ "includes" to includes.joinToString(" ")
+ ) {
+ "param"("name" to "relative-path", "expression" to relativePath)
+ "param"("name" to "subdir", "expression" to subdir)
+ "param"("name" to "year", "expression" to lastEditYear)
+ }
+ }
+}
+
+val processSiteXslt by tasks.registering {
+ val outputDir = "$buildDir/siteXslt"
+ inputs.files(xdocs)
+ inputs.properties["year"] = lastEditYear
+ outputs.dir(outputDir)
+
+ doLast {
+ for(f in (outputs as TaskOutputsInternal).previousOutputFiles) {
+ f.delete()
+ }
+ for(i in arrayOf("", "usermanual", "localising")) {
+ xslt(i, outputDir)
+ }
+ }
+}
+
+fun CopySpec.siteLayout() {
+ // TODO: generate doap_JMeter.rdf
+ from("$xdocs/download_jmeter.cgi")
+ into("api") {
+ javadocs()
+ }
+ from(processSiteXslt)
+ docCssAndImages()
+ manuals()
+}
+
+val previewSite by tasks.registering(Copy::class) {
+ group = JavaBasePlugin.DOCUMENTATION_GROUP
+ description = "Creates preview of a site to build/docs/site"
+ into("$buildDir/site")
+ CrLfSpec().run {
+ gitattributes(gitProps)
+ siteLayout()
+ }
+}
+
+val distributionGroup = "distribution"
+val baseFolder = "apache-jmeter-${rootProject.version}"
+
+fun CopySpec.javadocs() = from(javadocAggregate)
+
+fun CopySpec.excludeLicenseFromSourceRelease() {
+ // Source release has "/licenses" folder with licenses for third-party dependencies
+ // It is populated by "dependencyLicenses" above,
+ // so we ignore the folder when building source releases
+ exclude("licenses/**")
+ exclude("LICENSE")
+}
+
+fun CrLfSpec.binaryLayout() = copySpec {
+ gitattributes(gitProps)
+ into(baseFolder) {
+ // Note: license content is taken from "/build/..", so gitignore should not be used
+ // Note: this is a "license + third-party licenses", not just Apache-2.0
+ dependencyLicenses(binaryLicense)
+ from(rootDir) {
+ gitignore(gitProps)
+ exclude("bin/testfiles")
+ include("bin/**")
+ include("lib/ext/**")
+ include("extras/**")
+ include("README.md")
+ excludeLicenseFromSourceRelease()
+ }
+ into("bin") {
+ with(binLibs)
+ }
+ into("lib") {
+ with(libs)
+ into("ext") {
+ with(libsExt)
+ }
+ }
+ printableDocumentation()
+ into("docs/api") {
+ javadocs()
+ }
+ }
+}
+
+fun CrLfSpec.sourceLayout() = copySpec {
+ duplicatesStrategy = DuplicatesStrategy.EXCLUDE
+ gitattributes(gitProps)
+ into(baseFolder) {
+ // Note: license content is taken from "/build/..", so gitignore should not be used
+ // Note: this is a "license + third-party licenses", not just Apache-2.0
+ dependencyLicenses(sourceLicense)
+ // Include all the source files
+ from(rootDir) {
+ gitignore(gitProps)
+ excludeLicenseFromSourceRelease()
+ }
+ }
+}
+
+val javadocAggregate by tasks.registering(Javadoc::class) {
+ group = JavaBasePlugin.DOCUMENTATION_GROUP
+ description = "Generates aggregate javadoc for all the artifacts"
+
+ classpath = files(provider { jars.map { project(it).configurations.compileClasspath } })
+ // Aggregate javadoc needs to include generated JMeterVersion class
+ // So we use delay computation of source files
+ setSource(provider { jars.flatMap { project(it).sourceSets.main.get().allJava } })
+ setDestinationDir(file("$buildDir/docs/javadocAggregate"))
+}
+
+val skipDist: Boolean by rootProject.extra
+
+// Generates distZip, distTar, distZipSource, and distTarSource tasks
+// The archives and checksums are put to build/distributions
+for (type in listOf("binary", "source")) {
+ if (skipDist) {
+ break
+ }
+ for (archive in listOf(Zip::class, Tar::class)) {
+ val taskName = "dist${archive.simpleName}${type.replace("binary", "").capitalize()}"
+ val archiveTask = tasks.register(taskName, archive) {
+ val eol = if (archive == Tar::class) LineEndings.LF else LineEndings.CRLF
+ group = distributionGroup
+ description = "Creates $type distribution with $eol line endings for text files"
+ if (this is Tar) {
+ compression = Compression.GZIP
+ }
+ // Gradle does not track "filters" as archive/copy task dependencies,
+ // So a mere change of a file attribute won't trigger re-execution of a task
+ // So we add a custom property to re-execute the task in case attributes change
+ inputs.property("gitproperties", gitProps.map { it.props.attrs.toString() })
+
+ // Gradle defaults to the following pattern, and JMeter was using apache-jmeter-5.1_src.zip
+ // [baseName]-[appendix]-[version]-[classifier].[extension]
+ archiveBaseName.set("apache-jmeter-${rootProject.version}${if (type == "source") "_src" else ""}")
+ CrLfSpec(eol).run {
+ wa1191SetInputs(gitProps)
+ with(if (type == "source") sourceLayout() else binaryLayout())
+ }
+ }
+ rootProject.configure<ReleaseExtension> {
+ archive(archiveTask)
+ }
+ }
+}
+
+rootProject.configure<ReleaseExtension> {
+ previewSiteContents {
+ CrLfSpec().run {
+ into("site") {
+ gitattributes(gitProps)
+ siteLayout()
+ }
+ }
+ }
+}
+
+val runGui by tasks.registering() {
+ group = "Development"
+ description = "Builds and starts JMeter GUI"
+ dependsOn(createDist)
+
+ doLast {
+ javaexec {
+ workingDir = File(project.rootDir, "bin")
+ main = "org.apache.jmeter.NewDriver"
+ classpath("$rootDir/bin/ApacheJMeter.jar")
+ jvmArgs("-Xss256k")
+ jvmArgs("-XX:MaxMetaspaceSize=256m")
+ }
+ }
+}
diff --git a/src/examples/build.gradle.kts b/src/examples/build.gradle.kts
new file mode 100644
index 0000000000..24792a4e7f
--- /dev/null
+++ b/src/examples/build.gradle.kts
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+dependencies {
+ api(project(":src:components"))
+}
diff --git a/src/functions/build.gradle.kts b/src/functions/build.gradle.kts
new file mode 100644
index 0000000000..b5b588c61c
--- /dev/null
+++ b/src/functions/build.gradle.kts
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+dependencies {
+ api(project(":src:components"))
+ testCompile(project(":src:components", "testClasses"))
+
+ implementation("org.mozilla:rhino")
+ implementation("commons-codec:commons-codec")
+ implementation("org.apache.commons:commons-jexl:2.1.1")
+ implementation("org.apache.commons:commons-jexl3:3.1")
+ implementation("org.apache.commons:commons-lang3") {
+ because("StringUtils")
+ }
+ implementation("commons-io:commons-io") {
+ because("FileUtils")
+ }
+ implementation("org.apache.commons:commons-text") {
+ because("StringEscapeUtils")
+ }
+ implementation("com.github.ben-manes.caffeine:caffeine")
+ implementation("oro:oro")
+ testImplementation("org.hamcrest:hamcrest-core:1.3")
+ testImplementation("org.exparity:hamcrest-date:2.0.4")
+}
diff --git a/src/generator/build.gradle.kts b/src/generator/build.gradle.kts
new file mode 100644
index 0000000000..24792a4e7f
--- /dev/null
+++ b/src/generator/build.gradle.kts
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+dependencies {
+ api(project(":src:components"))
+}
diff --git a/src/jorphan/build.gradle.kts b/src/jorphan/build.gradle.kts
new file mode 100644
index 0000000000..e1372d252b
--- /dev/null
+++ b/src/jorphan/build.gradle.kts
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+dependencies {
+ api(platform(project(":src:bom")))
+
+ api("org.slf4j:slf4j-api")
+
+ implementation("commons-io:commons-io")
+ implementation("commons-collections:commons-collections")
+ implementation("org.apache.commons:commons-lang3")
+ implementation("org.apache.commons:commons-math3")
+}
diff --git a/src/launcher/build.gradle.kts b/src/launcher/build.gradle.kts
new file mode 100644
index 0000000000..7184a16ff2
--- /dev/null
+++ b/src/launcher/build.gradle.kts
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+val lastEditYear: String by rootProject.extra
+
+tasks.withType<ProcessResources>().configureEach {
+ val version = rootProject.version.toString()
+ inputs.property("@VERSION@", version)
+ inputs.property("@YEAR@", lastEditYear)
+ filter { x: String ->
+ x.replace("@VERSION@", version)
+ .replace("@YEAR@", lastEditYear)
+ }
+}
+
+tasks.named<Jar>(JavaPlugin.JAR_TASK_NAME) {
+ manifest {
+ attributes["Main-Class"] = "org.apache.jmeter.NewDriver"
+ }
+}
diff --git a/src/licenses/build.gradle.kts b/src/licenses/build.gradle.kts
new file mode 100644
index 0000000000..7b8d6072e6
--- /dev/null
+++ b/src/licenses/build.gradle.kts
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+import com.github.vlsi.gradle.license.GatherLicenseTask
+import com.github.vlsi.gradle.license.api.*
+import com.github.vlsi.gradle.release.Apache2LicenseRenderer
+import com.github.vlsi.gradle.release.ArtifactType
+import com.github.vlsi.gradle.release.AsfLicenseCategory
+import com.github.vlsi.gradle.release.ExtraLicense
+
+plugins {
+ id("com.github.vlsi.stage-vote-release")
+}
+
+val gatherSourceLicenses by tasks.registering(GatherLicenseTask::class) {
+ addDependency(":bootstrap:3.3.4", SpdxLicense.MIT)
+ addDependency(":bootstrap-social:4.8.0", SpdxLicense.MIT)
+ addDependency(":datatables:1.10.9", SpdxLicense.MIT)
+ addDependency(":datatables-plugins:1.0.1", SpdxLicense.MIT)
+ addDependency(":datatables-responsive:1.0.5", SpdxLicense.MIT)
+ addDependency(":flot:0.8.3", SpdxLicense.MIT)
+ addDependency(":flot-axislabels:0.8.3", SpdxLicense.MIT)
+ addDependency(":flot.tooltip:0.8.4", SpdxLicense.MIT)
+ addDependency(":font-awesome-code:4.2.0", SpdxLicense.MIT)
+ addDependency(":font-awesome-font:4.2.0", SpdxLicense.OFL_1_1)
+ addDependency(":jquery:2.1.3", SpdxLicense.MIT)
+ addDependency(":metisMenu:1.1.3", SpdxLicense.MIT)
+ addDependency(":start-bootstrap-admin2:1.0.7", SpdxLicense.Apache_2_0)
+ addDependency(":openiconlibrary:", SpdxLicense.CC_BY_SA_3_0)
+}
+
+val gatherBinaryLicenses by tasks.registering(GatherLicenseTask::class) {
+ configuration(project(":src:dist").configurations.runtimeClasspath)
+ ignoreMissingLicenseFor.add(SpdxLicense.Apache_2_0.asExpression())
+ defaultTextFor.add(SpdxLicense.MPL_2_0.asExpression())
+ // There are three major cases here:
+ // 1. License id needs to be overridden (e.g. "BSD style" -> BSD-3-Clause)
+ // 2. Jar file misses LICENSE/NOTICE files, thus we need to specify local folder with relevant files (e.g. licenses/rsyntaxtextarea)
+ // 3. 1 and 2
+
+ // Note we don't use Libs.* below for artifact references to avoid accidental updates
+ // Whenever you update a dependency that has "license overrides", you need to double-check
+ // if license conditions still apply.
+ // For instance, if "dnsjava:dnsjava:2.1.8" was written here as `Libs.dec`, then
+ // license override might be silently updated as `Libs` class is edited.
+ // For that purpose, most of the below declarations have expectedLicense so the task
+ // would fail in case actual license does not meet expectations.
+ // That enables to have "version-independent" MIT license in licenses/slf4j-api, and
+ // it would be copied provided the detected license for slf4j-api is MIT.
+
+ // Library is not present in Maven Central
+ overrideLicense("com.github.bulenkov.darcula:darcula:e208efb96f70e4be9dc362fbb46f6e181ef501dd", SpdxLicense.Apache_2_0)
+
+ overrideLicense("dnsjava:dnsjava:2.1.8") {
+ expectedLicense = SpdxLicense.BSD_2_Clause
+ }
+
+ overrideLicense("com.fifesoft:rsyntaxtextarea:3.0.2") {
+ // https://github.com/bobbylight/RSyntaxTextArea/issues/299
+ expectedLicense = SimpleLicense(
+ "Modified BSD License",
+ uri("http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt")
+ )
+ effectiveLicense = SpdxLicense.BSD_3_Clause
+ }
+
+ overrideLicense("com.thoughtworks.xstream:xstream:1.4.11") {
+ expectedLicense = SimpleLicense("BSD style", uri("http://x-stream.github.io/license.html"))
+ // https://github.com/x-stream/xstream/issues/151
+ // https://github.com/x-stream/xstream/issues/153
+ effectiveLicense = SpdxLicense.BSD_3_Clause
+ }
+
+ overrideLicense("org.ow2.asm:asm:7.1") {
+ // pom.xml lists license as BSD
+ expectedLicense = SimpleLicense("BSD", uri("http://asm.ow2.org/license.html"))
+ effectiveLicense = SpdxLicense.BSD_3_Clause
+ }
+
+ for (jodd in listOf("jodd-core", "jodd-lagarto", "jodd-log", "jodd-props")) {
+ overrideLicense("org.jodd:$jodd:5.0.6") {
+ expectedLicense = SpdxLicense.BSD_2_Clause // SimpleLicense("The BSD 2-Clause License", uri("http://jodd.org/license.html"))
+ licenseFiles = "jodd"
+ }
+ }
+
+ overrideLicense("xpp3:xpp3_min:1.1.4c") {
+ // pom.xml contains multiple licenses
+ expectedLicense = SpdxLicense.CC0_1_0 and
+ SimpleLicense(
+ "Indiana University Extreme! Lab Software License, vesion 1.1.1",
+ uri("http://www.extreme.indiana.edu/viewcvs/~checkout~/XPP3/java/LICENSE.txt")
+ )
+ effectiveLicense = SpdxLicense.CC0_1_0 and ExtraLicense.Indiana_University_1_1_1
+ }
+
+ overrideLicense("org.brotli:dec:0.1.2") {
+ expectedLicense = SpdxLicense.MIT
+ }
+
+ overrideLicense("org.slf4j:jcl-over-slf4j:1.7.25") {
+ expectedLicense = SpdxLicense.MIT
+ // See https://github.com/qos-ch/slf4j/blob/v_1.7.25/jcl-over-slf4j/LICENSE.txt
+ effectiveLicense = SpdxLicense.Apache_2_0
+ }
+
+ overrideLicense("org.slf4j:slf4j-api:1.7.25") {
+ expectedLicense = SpdxLicense.MIT
+ }
+
+ overrideLicense("net.sf.saxon:Saxon-HE:9.9.1-1") {
+ expectedLicense = SpdxLicense.MPL_2_0
+ }
+
+ overrideLicense("com.sun.mail:all:1.5.0-b01") {
+ // Multiple licenses, specify explicitly
+ expectedLicense = SimpleLicense("CDDL", uri("http://www.sun.com/cddl")) and SimpleLicense("GPLv2+CE", uri("https://glassfish.java.net/public/CDDL+GPL_1_1.html"))
+ effectiveLicense = SpdxLicense.CDDL_1_0 and (SpdxLicense.GPL_2_0_or_later with SpdxLicenseException.Classpath_exception_2_0)
+ }
+ overrideLicense("javax.activation:javax.activation-api:1.2.0") {
+ expectedLicense = SimpleLicense("CDDL/GPLv2+CE", uri("https://github.com/javaee/activation/blob/master/LICENSE.txt"))
+ effectiveLicense = SpdxLicense.CDDL_1_0
+ }
+ overrideLicense("xml-apis:xml-apis:1.4.01") {
+ // Multiple licenses, select explicit one
+ expectedLicense = SpdxLicense.Apache_2_0 and SpdxLicense.SAX_PD and SimpleLicense("The W3C License", uri("http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/java-binding.zip"))
+ effectiveLicense = SpdxLicense.Apache_2_0
+ }
+ overrideLicense("org.hamcrest:hamcrest-core:1.3") {
+ // pom.xml lists "New BSD License", however it is BSD_3
+ expectedLicense = SimpleLicense("New BSD License", uri("http://www.opensource.org/licenses/bsd-license.php"))
+ effectiveLicense = SpdxLicense.BSD_3_Clause
+ }
+ overrideLicense("net.sf.jtidy:jtidy:r938") {
+ expectedLicense = SimpleLicense("Java HTML Tidy License", uri("http://jtidy.svn.sourceforge.net/viewvc/jtidy/trunk/jtidy/LICENSE.txt?revision=95"))
+ effectiveLicense = SpdxLicense.BSD_3_Clause
+ }
+}
+
+val renderLicenseForSource by tasks.registering(Apache2LicenseRenderer::class) {
+ group = LifecycleBasePlugin.BUILD_GROUP
+ description = "Generate LICENSE file for source distribution"
+ failOnIncompatibleLicense.set(false)
+ artifactType.set(ArtifactType.SOURCE)
+ metadata.from(gatherSourceLicenses)
+}
+
+val renderLicenseForBinary by tasks.registering(Apache2LicenseRenderer::class) {
+ group = LifecycleBasePlugin.BUILD_GROUP
+ description = "Generate LICENSE file for binary distribution"
+ failOnIncompatibleLicense.set(false)
+ artifactType.set(ArtifactType.BINARY)
+ metadata.from(gatherSourceLicenses)
+ metadata.from(gatherBinaryLicenses)
+ licenseCategory.put(ExtraLicense.Indiana_University_1_1_1.asExpression(), AsfLicenseCategory.A)
+}
diff --git a/src/licenses/licenses/asm/LICENSE b/src/licenses/licenses/asm/LICENSE
new file mode 100644
index 0000000000..8806c7d030
--- /dev/null
+++ b/src/licenses/licenses/asm/LICENSE
@@ -0,0 +1,27 @@
+ ASM: a very small and fast Java bytecode manipulation framework
+ Copyright (c) 2000-2011 INRIA, France Telecom
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the copyright holders nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/licenses/src/bootstrap-social.txt b/src/licenses/licenses/bootstrap-social/LICENSE
similarity index 100%
rename from licenses/src/bootstrap-social.txt
rename to src/licenses/licenses/bootstrap-social/LICENSE
diff --git a/licenses/src/bootstrap-3.3.4.txt b/src/licenses/licenses/bootstrap/LICENSE
similarity index 100%
copy from licenses/src/bootstrap-3.3.4.txt
copy to src/licenses/licenses/bootstrap/LICENSE
diff --git a/licenses/src/datatables-plugins.txt b/src/licenses/licenses/datatables-plugins/LICENSE
similarity index 100%
rename from licenses/src/datatables-plugins.txt
rename to src/licenses/licenses/datatables-plugins/LICENSE
diff --git a/licenses/src/datatables-responsive-1.0.5.txt b/src/licenses/licenses/datatables-responsive/LICENSE
similarity index 100%
rename from licenses/src/datatables-responsive-1.0.5.txt
rename to src/licenses/licenses/datatables-responsive/LICENSE
diff --git a/licenses/src/datatables-1.10.9.txt b/src/licenses/licenses/datatables/LICENSE
similarity index 100%
rename from licenses/src/datatables-1.10.9.txt
rename to src/licenses/licenses/datatables/LICENSE
diff --git a/licenses/src/bootstrap-3.3.4.txt b/src/licenses/licenses/dec/LICENSE
similarity index 87%
rename from licenses/src/bootstrap-3.3.4.txt
rename to src/licenses/licenses/dec/LICENSE
index f4c52d6a4b..33b7cdd2db 100644
--- a/licenses/src/bootstrap-3.3.4.txt
+++ b/src/licenses/licenses/dec/LICENSE
@@ -1,6 +1,4 @@
-The MIT License (MIT)
-
-Copyright (c) 2011-2015 Twitter, Inc
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -14,7 +12,7 @@ all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
diff --git a/src/licenses/licenses/dnsjava-2.1.8/LICENSE b/src/licenses/licenses/dnsjava-2.1.8/LICENSE
new file mode 100644
index 0000000000..70bae6b99d
--- /dev/null
+++ b/src/licenses/licenses/dnsjava-2.1.8/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 1998-2011, Brian Wellington.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/licenses/src/flot-axislabels.txt b/src/licenses/licenses/flot-axislabels/LICENSE
similarity index 100%
rename from licenses/src/flot-axislabels.txt
rename to src/licenses/licenses/flot-axislabels/LICENSE
diff --git a/licenses/src/flot-tooltip-0.7.1.txt b/src/licenses/licenses/flot.tooltip/LICENSE
similarity index 100%
rename from licenses/src/flot-tooltip-0.7.1.txt
rename to src/licenses/licenses/flot.tooltip/LICENSE
diff --git a/licenses/src/flot-0.8.3.txt b/src/licenses/licenses/flot/LICENSE
similarity index 100%
rename from licenses/src/flot-0.8.3.txt
rename to src/licenses/licenses/flot/LICENSE
diff --git a/licenses/src/font-awesome-4.2.0.txt b/src/licenses/licenses/font-awesome-code/LICENSE
similarity index 100%
copy from licenses/src/font-awesome-4.2.0.txt
copy to src/licenses/licenses/font-awesome-code/LICENSE
diff --git a/licenses/src/font-awesome-4.2.0.txt b/src/licenses/licenses/font-awesome-font/LICENSE
similarity index 100%
rename from licenses/src/font-awesome-4.2.0.txt
rename to src/licenses/licenses/font-awesome-font/LICENSE
diff --git a/src/licenses/licenses/jcharts-0.7.5/LICENSE b/src/licenses/licenses/jcharts-0.7.5/LICENSE
new file mode 100644
index 0000000000..ca137226a2
--- /dev/null
+++ b/src/licenses/licenses/jcharts-0.7.5/LICENSE
@@ -0,0 +1,46 @@
+CVS Info: $Id: jCharts_license.txt,v 1.1 2002/07/24 22:25:56 nathaniel_auvil Exp $
+
+
+jCharts License
+----------------------------------------------------------------------------------------
+
+* Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
+*
+* Redistribution and use of this software and associated documentation
+* ("Software"), with or without modification, are permitted provided
+* that the following conditions are met:
+*
+* 1. Redistributions of source code must retain copyright
+* statements and notices. Redistributions must also contain a
+* copy of this document.
+*
+* 2. Redistributions in binary form must reproduce the
+* above copyright notice, this list of conditions and the
+* following disclaimer in the documentation and/or other
+* materials provided with the distribution.
+*
+* 3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to
+* endorse or promote products derived from this Software without
+* prior written permission of Nathaniel G. Auvil. For written
+* permission, please contact nathaniel_auvil@users.sourceforge.net
+*
+* 4. Products derived from this Software may not be called "jCharts"
+* nor may "jCharts" appear in their names without prior written
+* permission of Nathaniel G. Auvil. jCharts is a registered
+* trademark of Nathaniel G. Auvil.
+*
+* 5. Due credit should be given to the jCharts Project
+* (http://jcharts.sourceforge.net/).
+*
+* THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS
+* ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+* NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+* jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+* OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/src/licenses/licenses/jodd/LICENSE b/src/licenses/licenses/jodd/LICENSE
new file mode 100644
index 0000000000..a040a3b953
--- /dev/null
+++ b/src/licenses/licenses/jodd/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2003-present, Jodd Team (https://jodd.org)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/licenses/src/jquery-3.3.1.txt b/src/licenses/licenses/jquery/LICENSE
similarity index 100%
rename from licenses/src/jquery-3.3.1.txt
rename to src/licenses/licenses/jquery/LICENSE
diff --git a/licenses/src/metisMenu-1.1.3.txt b/src/licenses/licenses/metisMenu/LICENSE
similarity index 100%
rename from licenses/src/metisMenu-1.1.3.txt
rename to src/licenses/licenses/metisMenu/LICENSE
diff --git a/licenses/src/openiconlibrary.txt b/src/licenses/licenses/openiconlibrary/LICENSE
similarity index 100%
rename from licenses/src/openiconlibrary.txt
rename to src/licenses/licenses/openiconlibrary/LICENSE
diff --git a/src/licenses/licenses/rsyntaxtextarea/LICENSE b/src/licenses/licenses/rsyntaxtextarea/LICENSE
new file mode 100644
index 0000000000..3a6e638904
--- /dev/null
+++ b/src/licenses/licenses/rsyntaxtextarea/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2012, Robert Futrell
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ * Neither the name of the author nor the names of its contributors may
+ be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/src/licenses/licenses/slf4j-api/LICENSE b/src/licenses/licenses/slf4j-api/LICENSE
new file mode 100644
index 0000000000..5a11c0c29e
--- /dev/null
+++ b/src/licenses/licenses/slf4j-api/LICENSE
@@ -0,0 +1,21 @@
+Copyright (c) 2004-2007 QOS.ch
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/licenses/src/startbootstrap-sb-admin-2.txt b/src/licenses/licenses/start-bootstrap-admin2/LICENSE
similarity index 100%
rename from licenses/src/startbootstrap-sb-admin-2.txt
rename to src/licenses/licenses/start-bootstrap-admin2/LICENSE
diff --git a/src/licenses/licenses/xmlpull/LICENSE.txt b/src/licenses/licenses/xmlpull/LICENSE.txt
new file mode 100644
index 0000000000..a343ccd433
--- /dev/null
+++ b/src/licenses/licenses/xmlpull/LICENSE.txt
@@ -0,0 +1,119 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES
+NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE
+AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
+ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE
+OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS
+LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION
+OR WORKS PROVIDED HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer exclusive
+Copyright and Related Rights (defined below) upon the creator and subsequent
+owner(s) (each and all, an "owner") of an original work of authorship and/or
+a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for the
+purpose of contributing to a commons of creative, cultural and scientific
+works ("Commons") that the public can reliably and without fear of later claims
+of infringement build upon, modify, incorporate in other works, reuse and
+redistribute as freely as possible in any form whatsoever and for any purposes,
+including without limitation commercial purposes. These owners may contribute
+to the Commons to promote the ideal of a free culture and the further production
+of creative, cultural and scientific works, or to gain reputation or greater
+distribution for their Work in part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any expectation
+of additional consideration or compensation, the person associating CC0 with
+a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
+and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
+and publicly distribute the Work under its terms, with knowledge of his or
+her Copyright and Related Rights in the Work and the meaning and intended
+legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be protected
+by copyright and related or neighboring rights ("Copyright and Related Rights").
+Copyright and Related Rights include, but are not limited to, the following:
+
+i. the right to reproduce, adapt, distribute, perform, display, communicate,
+and translate a Work;
+
+ ii. moral rights retained by the original author(s) and/or performer(s);
+
+iii. publicity and privacy rights pertaining to a person's image or likeness
+depicted in a Work;
+
+iv. rights protecting against unfair competition in regards to a Work, subject
+to the limitations in paragraph 4(a), below;
+
+v. rights protecting the extraction, dissemination, use and reuse of data
+in a Work;
+
+vi. database rights (such as those arising under Directive 96/9/EC of the
+European Parliament and of the Council of 11 March 1996 on the legal protection
+of databases, and under any national implementation thereof, including any
+amended or successor version of such directive); and
+
+vii. other similar, equivalent or corresponding rights throughout the world
+based on applicable law or treaty, and any national implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention of,
+applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
+unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
+and Related Rights and associated claims and causes of action, whether now
+known or unknown (including existing as well as future claims and causes of
+action), in the Work (i) in all territories worldwide, (ii) for the maximum
+duration provided by applicable law or treaty (including future time extensions),
+(iii) in any current or future medium and for any number of copies, and (iv)
+for any purpose whatsoever, including without limitation commercial, advertising
+or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the
+benefit of each member of the public at large and to the detriment of Affirmer's
+heirs and successors, fully intending that such Waiver shall not be subject
+to revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason be
+judged legally invalid or ineffective under applicable law, then the Waiver
+shall be preserved to the maximum extent permitted taking into account Affirmer's
+express Statement of Purpose. In addition, to the extent the Waiver is so
+judged Affirmer hereby grants to each affected person a royalty-free, non
+transferable, non sublicensable, non exclusive, irrevocable and unconditional
+license to exercise Affirmer's Copyright and Related Rights in the Work (i)
+in all territories worldwide, (ii) for the maximum duration provided by applicable
+law or treaty (including future time extensions), (iii) in any current or
+future medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional purposes
+(the "License"). The License shall be deemed effective as of the date CC0
+was applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder of
+the License, and in such case Affirmer hereby affirms that he or she will
+not (i) exercise any of his or her remaining Copyright and Related Rights
+in the Work or (ii) assert any associated claims and causes of action with
+respect to the Work, in either case contrary to Affirmer's express Statement
+of Purpose.
+
+ 4. Limitations and Disclaimers.
+
+a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered,
+licensed or otherwise affected by this document.
+
+b. Affirmer offers the Work as-is and makes no representations or warranties
+of any kind concerning the Work, express, implied, statutory or otherwise,
+including without limitation warranties of title, merchantability, fitness
+for a particular purpose, non infringement, or the absence of latent or other
+defects, accuracy, or the present or absence of errors, whether or not discoverable,
+all to the greatest extent permissible under applicable law.
+
+c. Affirmer disclaims responsibility for clearing rights of other persons
+that may apply to the Work or any use thereof, including without limitation
+any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims
+responsibility for obtaining any necessary consents, permissions or other
+rights required for any use of the Work.
+
+d. Affirmer understands and acknowledges that Creative Commons is not a party
+to this document and has no duty or obligation with respect to this CC0 or
+use of the Work.
diff --git a/src/licenses/licenses/xpp3_min-1.1.4c/CC0-1.0.txt b/src/licenses/licenses/xpp3_min-1.1.4c/CC0-1.0.txt
new file mode 100644
index 0000000000..a343ccd433
--- /dev/null
+++ b/src/licenses/licenses/xpp3_min-1.1.4c/CC0-1.0.txt
@@ -0,0 +1,119 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES
+NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE
+AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
+ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE
+OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS
+LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION
+OR WORKS PROVIDED HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer exclusive
+Copyright and Related Rights (defined below) upon the creator and subsequent
+owner(s) (each and all, an "owner") of an original work of authorship and/or
+a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for the
+purpose of contributing to a commons of creative, cultural and scientific
+works ("Commons") that the public can reliably and without fear of later claims
+of infringement build upon, modify, incorporate in other works, reuse and
+redistribute as freely as possible in any form whatsoever and for any purposes,
+including without limitation commercial purposes. These owners may contribute
+to the Commons to promote the ideal of a free culture and the further production
+of creative, cultural and scientific works, or to gain reputation or greater
+distribution for their Work in part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any expectation
+of additional consideration or compensation, the person associating CC0 with
+a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
+and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
+and publicly distribute the Work under its terms, with knowledge of his or
+her Copyright and Related Rights in the Work and the meaning and intended
+legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be protected
+by copyright and related or neighboring rights ("Copyright and Related Rights").
+Copyright and Related Rights include, but are not limited to, the following:
+
+i. the right to reproduce, adapt, distribute, perform, display, communicate,
+and translate a Work;
+
+ ii. moral rights retained by the original author(s) and/or performer(s);
+
+iii. publicity and privacy rights pertaining to a person's image or likeness
+depicted in a Work;
+
+iv. rights protecting against unfair competition in regards to a Work, subject
+to the limitations in paragraph 4(a), below;
+
+v. rights protecting the extraction, dissemination, use and reuse of data
+in a Work;
+
+vi. database rights (such as those arising under Directive 96/9/EC of the
+European Parliament and of the Council of 11 March 1996 on the legal protection
+of databases, and under any national implementation thereof, including any
+amended or successor version of such directive); and
+
+vii. other similar, equivalent or corresponding rights throughout the world
+based on applicable law or treaty, and any national implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention of,
+applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
+unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
+and Related Rights and associated claims and causes of action, whether now
+known or unknown (including existing as well as future claims and causes of
+action), in the Work (i) in all territories worldwide, (ii) for the maximum
+duration provided by applicable law or treaty (including future time extensions),
+(iii) in any current or future medium and for any number of copies, and (iv)
+for any purpose whatsoever, including without limitation commercial, advertising
+or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the
+benefit of each member of the public at large and to the detriment of Affirmer's
+heirs and successors, fully intending that such Waiver shall not be subject
+to revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason be
+judged legally invalid or ineffective under applicable law, then the Waiver
+shall be preserved to the maximum extent permitted taking into account Affirmer's
+express Statement of Purpose. In addition, to the extent the Waiver is so
+judged Affirmer hereby grants to each affected person a royalty-free, non
+transferable, non sublicensable, non exclusive, irrevocable and unconditional
+license to exercise Affirmer's Copyright and Related Rights in the Work (i)
+in all territories worldwide, (ii) for the maximum duration provided by applicable
+law or treaty (including future time extensions), (iii) in any current or
+future medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional purposes
+(the "License"). The License shall be deemed effective as of the date CC0
+was applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder of
+the License, and in such case Affirmer hereby affirms that he or she will
+not (i) exercise any of his or her remaining Copyright and Related Rights
+in the Work or (ii) assert any associated claims and causes of action with
+respect to the Work, in either case contrary to Affirmer's express Statement
+of Purpose.
+
+ 4. Limitations and Disclaimers.
+
+a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered,
+licensed or otherwise affected by this document.
+
+b. Affirmer offers the Work as-is and makes no representations or warranties
+of any kind concerning the Work, express, implied, statutory or otherwise,
+including without limitation warranties of title, merchantability, fitness
+for a particular purpose, non infringement, or the absence of latent or other
+defects, accuracy, or the present or absence of errors, whether or not discoverable,
+all to the greatest extent permissible under applicable law.
+
+c. Affirmer disclaims responsibility for clearing rights of other persons
+that may apply to the Work or any use thereof, including without limitation
+any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims
+responsibility for obtaining any necessary consents, permissions or other
+rights required for any use of the Work.
+
+d. Affirmer understands and acknowledges that Creative Commons is not a party
+to this document and has no duty or obligation with respect to this CC0 or
+use of the Work.
diff --git a/src/licenses/licenses/xpp3_min-1.1.4c/LICENSE.txt b/src/licenses/licenses/xpp3_min-1.1.4c/LICENSE.txt
new file mode 100644
index 0000000000..4cc7224e81
--- /dev/null
+++ b/src/licenses/licenses/xpp3_min-1.1.4c/LICENSE.txt
@@ -0,0 +1,46 @@
+Indiana University Extreme! Lab Software License
+
+Version 1.1.1
+
+Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the distribution.
+
+3. The end-user documentation included with the redistribution, if any,
+ must include the following acknowledgment:
+
+ "This product includes software developed by the Indiana University
+ Extreme! Lab (http://www.extreme.indiana.edu/)."
+
+Alternately, this acknowledgment may appear in the software itself,
+if and wherever such third-party acknowledgments normally appear.
+
+4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab"
+must not be used to endorse or promote products derived from this
+software without prior written permission. For written permission,
+please contact http://www.extreme.indiana.edu/.
+
+5. Products derived from this software may not use "Indiana Univeristy"
+name nor may "Indiana Univeristy" appear in their name, without prior
+written permission of the Indiana University.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS OR ITS CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/src/licenses/licenses/xstream/LICENSE b/src/licenses/licenses/xstream/LICENSE
new file mode 100644
index 0000000000..9bc9763eba
--- /dev/null
+++ b/src/licenses/licenses/xstream/LICENSE
@@ -0,0 +1,28 @@
+(BSD Style License)
+
+Copyright (c) 2003-2006, Joe Walnes
+Copyright (c) 2006-2019, XStream Committers
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of
+conditions and the following disclaimer. Redistributions in binary form must reproduce
+the above copyright notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the distribution.
+
+Neither the name of XStream nor the names of its contributors may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
diff --git a/src/protocol/build.gradle.kts b/src/protocol/build.gradle.kts
new file mode 100644
index 0000000000..4102060a7e
--- /dev/null
+++ b/src/protocol/build.gradle.kts
@@ -0,0 +1,181 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+subprojects {
+ dependencies {
+ api(project(":src:core"))
+ testCompile(project(":src:core", "testClasses"))
+ }
+}
+
+project("ftp") {
+ dependencies {
+ implementation("commons-net:commons-net:3.6")
+ implementation("commons-io:commons-io") {
+ because("IOUtils")
+ }
+ implementation("org.apache.commons:commons-lang3") {
+ because("StringUtils")
+ }
+ }
+}
+
+project("http") {
+ dependencies {
+ // for SearchTextExtension
+ api(project(":src:components"))
+ testCompile(project(":src:components", "testClasses"))
+
+ api("com.thoughtworks.xstream:xstream") {
+ because("HTTPResultConverter uses XStream in public API")
+ }
+
+ implementation("com.github.ben-manes.caffeine:caffeine")
+ implementation("commons-io:commons-io") {
+ because("IOUtils")
+ }
+ implementation("org.apache.commons:commons-lang3") {
+ because("StringUtils")
+ }
+ implementation("org.apache.commons:commons-text") {
+ because("StringEscapeUtils")
+ }
+ implementation("org.jodd:jodd-lagarto")
+ implementation("org.jsoup:jsoup")
+ implementation("oro:oro")
+ implementation("commons-collections:commons-collections")
+ implementation("commons-net:commons-net:3.6")
+ implementation("com.helger:ph-commons:9.2.1") {
+ // We don't really need to use/distribute jsr305
+ exclude("com.google.code.findbugs", "jsr305")
+ }
+ implementation("com.helger:ph-css:6.1.1") {
+ // We don't really need to use/distribute jsr305
+ exclude("com.google.code.findbugs", "jsr305")
+ }
+ implementation("dnsjava:dnsjava:2.1.8")
+ implementation("org.apache.httpcomponents:httpmime:4.5.8")
+ implementation("org.brotli:dec:0.1.2")
+ }
+
+}
+
+project("java") {
+ dependencies {
+ implementation("org.apache.commons:commons-dbcp2:2.5.0")
+ implementation("org.apache.commons:commons-lang3") {
+ because("ArrayUtils")
+ }
+ implementation("commons-io:commons-io") {
+ because("IOUtils")
+ }
+ }
+}
+
+project("jdbc") {
+ dependencies {
+ implementation("org.apache.commons:commons-dbcp2:2.5.0")
+ implementation("org.apache.commons:commons-lang3") {
+ because("StringUtils, ObjectUtils")
+ }
+ implementation("commons-io:commons-io") {
+ because("IOUtils")
+ }
+ }
+}
+
+project("jms") {
+ dependencies {
+ testCompile(project(":src:core", "testClasses"))
+ api("com.github.ben-manes.caffeine:caffeine") {
+ because("MessageRenderer#getValueFromFile(..., caffeine.cache.Cache)")
+ }
+ // TODO: technically speaking, jms_1.1_spec should be compileOnly
+ // since we either include a JMS implementation or we can't use JMS at all
+ implementation("org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.1.1")
+ implementation("org.apache.commons:commons-lang3") {
+ because("StringUtils")
+ }
+ implementation("commons-io:commons-io") {
+ because("IOUtils")
+ }
+ }
+}
+
+project("junit") {
+ dependencies {
+ api("junit:junit:4.12")
+ implementation("org.apache.commons:commons-lang3") {
+ because("ArrayUtils")
+ }
+ }
+}
+
+project("junit-sample") {
+ dependencies {
+ api("junit:junit:4.12")
+ }
+}
+
+project("ldap") {
+ dependencies {
+ implementation("org.apache.commons:commons-text") {
+ because("StringEscapeUtils")
+ }
+ }
+}
+
+project("mail") {
+ dependencies {
+ api("javax.mail:mail:1.5.0-b01")
+ implementation("org.apache.commons:commons-lang3") {
+ because("StringUtils")
+ }
+ implementation("commons-io:commons-io") {
+ because("IOUtils")
+ }
+ }
+}
+
+project("mongodb") {
+ dependencies {
+ api("org.mongodb:mongo-java-driver:2.11.3")
+ implementation("org.apache.commons:commons-lang3") {
+ because("StringUtils")
+ }
+ }
+}
+
+project("native") {
+ dependencies {
+ implementation("org.apache.commons:commons-lang3") {
+ because("StringUtils")
+ }
+ }
+}
+
+project("tcp") {
+ dependencies {
+ implementation("org.apache.commons:commons-lang3") {
+ because("ArrayUtils")
+ }
+ implementation("commons-io:commons-io") {
+ because("IOUtils")
+ }
+ }
+}
diff --git a/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPHC4Impl.java b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPHC4Impl.java
index c63ee04f7c..00ed8a0d0c 100644
--- a/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPHC4Impl.java
+++ b/src/protocol/http/src/test/java/org/apache/jmeter/protocol/http/sampler/TestHTTPHC4Impl.java
@@ -13,6 +13,7 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
+ *
*/
package org.apache.jmeter.protocol.http.sampler;
diff --git a/src/release/build.gradle.kts b/src/release/build.gradle.kts
new file mode 100644
index 0000000000..0a8407205b
--- /dev/null
+++ b/src/release/build.gradle.kts
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+import com.github.vlsi.gradle.release.ReleaseExtension
+import com.github.vlsi.gradle.release.ReleaseParams
+
+rootProject.configure<ReleaseExtension> {
+ voteText.set { it.voteTextGen() }
+}
+
+fun ReleaseParams.voteTextGen(): String = """
+The first release candidate for JMeter $version ($shortGitSha) has been
+prepared, and your votes are solicited.
+
+This release is mainly a bugfix
+
+Please, test this release candidate (with load tests and/or functional
+tests) using Java 8+ on Linux/Windows/macOS, especially on the changes.
+Feedback is very welcome within the next 72 hours.
+
+You can read the New and Noteworthy section with some screenshots to
+illustrate improvements and full list of changes at:
+$previewSiteUri/site/changes.html
+
+JMeter is a Java desktop application designed to load test functional
+behavior and measure performance. The current version targets Java 8+
+
+Download - Archives/hashes/sigs:
+$svnStagingUri
+(dist revision TBD:SVN revision of svnmucc stage result)
+
+RAT report:
+$previewSiteUri/rat/rat-report.txt
+
+SHA512 hashes of archives for this vote: see footnote [1]
+
+Site preview is here:
+$previewSiteUri/site/
+
+JavaDoc API preview is here:
+$previewSiteUri/site/api
+
+Maven staging repository is accessible here:
+$nexusRepositoryUri/org/apache/$tlpUrl/
+
+Tag:
+$sourceCodeTagUrl
+
+Keys are here:
+https://www.apache.org/dist/$tlpUrl/KEYS
+
+N.B.
+To create the jars and test $tlp: "./gradlew build".
+
+$tlp $version requires Java 8 or later to run.
+
+Some known issues and incompatible changes are listed on changes page.
+$previewSiteUri/site/changes.html#Known%20problems%20and%20workarounds
+
+
+All feedback and vote are welcome.
+
+[ ] +1 I support this release
+[ ] +0 I am OK with this release
+[ ] -0 OK, but....
+[ ] -1 I do not support this release (please indicate why)
+
+The vote will remain open for at least 72 hours.
+
+The PMC members please indicate the mention "(binding)" with your vote.
+
+
+Note: If the vote passes, the intention is to release the archive files
+and rename the RC tag as the release tag.
+
+Thanks in advance!
+
+===
+[1] SHA512 hashes of archives for this vote:
+
+${artifacts.joinToString(System.lineSeparator()) { it.sha512 + System.lineSeparator() + "*" + it.name }}
+""".trimIndent()
diff --git a/xdocs/building.xml b/xdocs/building.xml
index f5324becde..dc8b79675a 100644
--- a/xdocs/building.xml
+++ b/xdocs/building.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -29,20 +29,50 @@
Before you can compile JMeter, you will need a few things:
<ul>
<li>a Java 8 compatible JDK (Java Development Kit)</li>
-<li>a working installation of <a href="http://ant.apache.org">Ant</a> (at least version 1.9.1)</li>
+<li>Optional: <a href="https://gradle.org/">Gradle</a> installation</li>
<li>the JMeter sources as shown in the next section</li>
</ul>
<h3>Acquiring the source</h3>
-<p>The full source is distributed alongside the binary, and you can also find it <a href="./svnindex.html">in the source repositories.</a></p>
+<p>The official source releases of Apache JMeter can be downloaded from <a href="download_jmeter.cgi">download page</a>.</p>
+
+<h3>Compiling and packaging JMeter using Gradle</h3>
+<p>
+JMeter can be built entirely using Gradle.
+The basic command is:</p>
+<source>
+./gradlew build
+</source>
<p>
-The source archive, SVN and GIT do not contain any of the required library files.
+See the list of available tasks via <code>./gradlew tasks</code> (or <code>./gradlew tasks --all</code>)
+for the other tasks that can be used.
+</p>
+
+<h3>Opening project via IntelliJ IDEA</h3>
+ <p>You require IntelliJ 2018.3.1 or newer.</p>
+
+ <ul>
+ <li>Open the build.gradle.kts file with IntelliJ IDEA and choose "Open as Project"</li>
+ <li>Make sure "Create separate module per source set" is selected</li>
+ <li>Make sure "Use default gradle wrapper" is selected</li>
+ <li>In the "File already exists" dialogue, choose "Yes" to overwrite</li>
+ <li>In the "Open Project" dialogue, choose "Delete Existing Project and Import"</li>
+ </ul>
<h3>Compiling and packaging JMeter using Eclipse</h3>
-<h4>Option 1 : Setting up Eclipse project with Ant task</h4>
-Once you have downloaded the sources using git or svn, you can setup the Eclipse project by running:
+<h4>Option 1 : Importing Eclipse project via Eclipse's "import Gradle project" wizard</h4>
+Recent Eclipse versions can import Gradle projects automatically, so use
+<menuchoice>
+ <guimenuitem>File</guimenuitem>
+ <guimenuitem>Import...</guimenuitem>
+</menuchoice>
+Then choose <menuchoice><guimenuitem>Existing Gradle Project</guimenuitem></menuchoice> and proceed
+with the import.
-<source>ant setup-eclipse-project</source>
+<h4>Option 2 : Setting up Eclipse project with Gradle task</h4>
+Once you have downloaded the sources, you can setup the Eclipse project by running:
+
+<source>./gradlew eclipse</source>
You can then import the project using
<menuchoice>
@@ -51,65 +81,7 @@ You can then import the project using
<guimenuitem>Existing projects into Workspace</guimenuitem>
</menuchoice> and select the folder containing JMeter sources.
-<h4>Option 2 : Setting up Eclipse project manually</h4>
-The first step is to download dependencies by running the Ant command:</p>
-<source>
-ant download_jars
-</source>
-<p>Or you can download the binary distribution archive for a release and unpack it into the same directory structure as the source.
-This will ensure that the <code>lib/</code> directory contains the jar files needed for running JMeter.
-There are a few additional jars that are needed to build JMeter, download these using:
-</p>
-<source>
-ant download_jars
-</source>
-<p>
-This will retrieve any missing jars.
-</p>
-<note>
-If you are behind a proxy, you can set a few build properties in <code>build-local.properties</code> for ant to use the proxy:
-<source>
-proxy.use=true
-proxy.host=proxy.example.invalid
-proxy.port=8080
-proxy.user=your_user_name
-proxy.pass=your_password
-</source>
-You might also want to skip some tests - that are failing without proper access to the internet - by adding some more
-properties into <code>build-local.properties</code>:
-<source>
-skip.bug52310=true
-skip.bug60607=true
-skip.batchtest_Http4ImplPreemptiveBasicAuth=true
-skip.batchtest_SlowCharsFeature=true
-skip.batchtest_TestKeepAlive=true
-skip.test_http=true
-skip.test_TestDNSCacheManager.testWithCustomResolverAnd1Server=true
-</source>
-</note>
-
-<p>
-Once you have downloaded the source from SVN or the release archives and run the ant <code>download_jars</code> target to
-install the dependent jars, you can configure Eclipse. The easiest way to do this is to replace the Eclipse <code>.classpath</code>
-file with the <code>eclipse.classpath</code> file provided with JMeter. This will set up the source-paths and most of the libraries.
-</p>
-<p>
-Ensure you read <code>eclipse.md</code> for project configuration.
-</p>
-
-
-<h3>Compiling and packaging JMeter using Ant</h3>
-<p>
-JMeter can be built entirely using Ant.
-The basic command is:</p>
-<source>
-ant install
-</source>
-<p>
-See <code>build.xml</code> (or call <code>ant -p</code>) for the other targets that can be used. Note that you can skip the word <code><em>install</em></code> after <code>ant</code> as it is the default target.
-</p>
</section>
-
<section name="Contributing to JMeter">
<h2>We love contribution</h2>
<p>
@@ -129,11 +101,11 @@ Before submitting your patch ensure you do the following:<br/>
Check that patch compiles and follows Tab space policy by running:
</p>
-<source>ant package-and-check</source>
+<source>./gradlew check</source>
<p>
Check that patch does not break JUnit tests by running:
</p>
-<source>ant test</source>
+<source>./gradlew test</source>
<h3>Create a PR using GIT</h3>
<ul>
@@ -143,17 +115,20 @@ Check that patch does not break JUnit tests by running:
<li>Create a branch using for example bugzilla id: <source>git branch BUGID</source></li>
<li>Checkout the new branch : <source>git checkout BUGID</source></li>
<li>commit your fix there : <source>git commit -m 'Fix to BUGID' list of files</source></li>
+ <li>Please avoid creating merge commits in the PR. We embrace small changes, and merge commits are harder to review</li>
<li>Add JMeter repository as upstream : <source>git remote add upstream http://www.github.com/apache/jmeter</source></li>
<li>push it : <source>git push origin BUGID</source></li>
<li>Create a PR and link it in the bugzilla issue</li>
</ul>
-<note>We have added a <code>.gitattributes</code> file to configure line endings of the files under version control.
- Those settings can lead to strange looking <em>changes</em> on some newly checked out files, e.g. JavaScript or CSS files,
- where the only change is the line ending.<br/>
- To get rid of those problems set <code>core.autocrlf</code> to <code>input</code> before you clone the repository using
- the following command:
- <source>git config --global core.autocrlf input</source>
+<note>Different operation systems have different defaults for end-of-line markers.
+ Typical configuration is CRLF for Windows and LF for macOS and GNU/Linux.<br/>
+ It is recommended to follow that configuration by appropriate settings of <code>core.autocrlf</code>.
+ For Windows <source>git config --global core.autocrlf true</source>, and for macOS and GNU/Linux set <source>git config --global core.autocrlf input</source>
+ Git will automatically recognize text files in the repository thanks to <code>.gitattributes</code>,
+ and Git will convert line endings for text files to the appropriate platform-native format (according to <code>core.autocrlf</code>)<br/>
+ Certain files (e.g. <code>*.sh</code> or <code>*.bat</code>) have predefined end of line policy
+ no matter the configuration of the developer workstation.
</note>
<h3>Create a PR using Patch</h3>
diff --git a/xdocs/svnindex.xml b/xdocs/svnindex.xml
deleted file mode 100644
index b31d6a8e56..0000000000
--- a/xdocs/svnindex.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<document>
-
- <properties>
- <author email="dev.AT.jmeter.DOT.apache.DOT.org">Apache JMeter Project</author>
- <title>Source Repositories</title>
- </properties>
-
-<body>
-
-<section name="Download the Source">
-
-<p>Most users of the source code probably don't need to have day to
-day access to the source code as it changes. For these users we
-provide easy to unpack source code downloads via our <a
-href="download_jmeter.cgi">download page</a>. </p>
-
-</section>
-
-<section name="Access the SVN Version Controlled Source Code">
-
-<p>For information on connecting to the ASF Subversion repositories, see the <a
-href="http://www.apache.org/dev/version-control.html">version control
-page</a>. </p>
-
-
-<p>Modules available for access are listed below.</p>
-
-<subsection name="Subversion" anchor="subversion">
-
-<p><a href="http://subversion.apache.org">Subversion</a> is an open-source version control system. The root url of the
-ASF Subversion repository is <a href="http://svn.apache.org/repos/asf/">http://svn.apache.org/repos/asf/</a> for non-committers and <a href="https://svn.apache.org/repos/asf/">https://svn.apache.org/repos/asf/</a> for committers. </p>
-
-<p><b>NOTE</b>:
-When checking out a subproject using Subversion, ensure that you are checking out a tag, a branch or trunk (the main-line) and not all tags and branches to avoid filling up your hard-disk and wasting bandwidth. </p>
-
-<table>
- <tr>
- <th>Project</th>
- <th>http (read-only)</th>
- <th>https (committers)</th>
- <th>View-SVN</th>
- </tr>
- <tr>
- <td>Apache JMeter</td>
- <td><a href="http://svn.apache.org/repos/asf/jmeter/trunk">http://svn.apache.org/repos/asf/jmeter/trunk</a></td>
- <td><a href="https://svn.apache.org/repos/asf/jmeter/trunk">https://svn.apache.org/repos/asf/jmeter/trunk</a></td>
- <td><a href="http://svn.apache.org/viewcvs.cgi/jmeter/">http://svn.apache.org/viewcvs.cgi/jmeter/</a></td>
- </tr>
-</table>
-
-</subsection>
-</section>
-<section name="Access the GIT Version Controlled Source Code">
-
-<p>For information on connecting to the GIT mirror repositories, see the <a
-href="http://www.apache.org/dev/git.html">version control
-page</a>. </p>
-
-<subsection name="Git" anchor="git">
-
-<p>Apache maintains read-only GIT mirrors of Apache codebases, for JMeter, the mirror is accessible at the urls below.</p>
-
-<table>
- <tr>
- <th>Project</th>
- <th>GIT (read-only)</th>
- <th>GITHUB (read-only)</th>
- </tr>
- <tr>
- <td>Apache JMeter</td>
- <td><a href="git://git.apache.org/jmeter.git">git://git.apache.org/jmeter.git</a></td>
- <td><a href="https://github.com/apache/jmeter">https://github.com/apache/jmeter</a></td>
- </tr>
-</table>
-
-</subsection>
-
-</section>
-
-</body>
-</document>
diff --git a/xdocs/velocity.properties b/xdocs/velocity.properties
index e1eda860b2..3bbfc232c2 100644
--- a/xdocs/velocity.properties
+++ b/xdocs/velocity.properties
@@ -13,7 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resource.loader.1.resource.path = xdocs/stylesheets
# set true to debug vsl files
runtime.references.strict=true
input.encoding=utf-8
[jmeter] 04/07: Fix functions.PackageTest#BSH1: move bsh file to resources folder
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
milamber pushed a commit to annotated tag v5_2_0_RC1
in repository https://gitbox.apache.org/repos/asf/jmeter.git
commit d416f3b0c82ec54eb845acbd3bb597fceb54960c
Author: Vladimir Sitnikov <si...@gmail.com>
AuthorDate: Tue May 21 01:39:25 2019 +0200
Fix functions.PackageTest#BSH1: move bsh file to resources folder
Former-commit-id: 39fab5411560d570c135f00a57d42b056b2ec999
---
.../src/test/java/org/apache/jmeter/functions/PackageTest.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/functions/src/test/java/org/apache/jmeter/functions/PackageTest.java b/src/functions/src/test/java/org/apache/jmeter/functions/PackageTest.java
index 14702692c5..e81a37ca7a 100644
--- a/src/functions/src/test/java/org/apache/jmeter/functions/PackageTest.java
+++ b/src/functions/src/test/java/org/apache/jmeter/functions/PackageTest.java
@@ -131,7 +131,7 @@ public class PackageTest extends JMeterTestCaseJUnit {
}
public void BSH1() throws Exception {
- String fn = "testfiles/BeanShellTest.bsh";
+ String fn = "src/test/resources/org/apache/jmeter/functions/testfiles/BeanShellTest.bsh";
try {
BSHFParams(null, null, null);
fail("Expected InvalidVariableException");
@@ -166,7 +166,7 @@ public class PackageTest extends JMeterTestCaseJUnit {
assertEquals(log.getClass().getName(), bsh.execute());
// Check source works
- bsh = BSHFParams("source (\"testfiles/BeanShellTest.bsh\")", null, null);
+ bsh = BSHFParams("source (\"" + fn + "\")", null, null);
assertEquals("9876", bsh.execute());
// Check persistence
[jmeter] 02/07: Fix resources.PackageTest
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
milamber pushed a commit to annotated tag v5_2_0_RC1
in repository https://gitbox.apache.org/repos/asf/jmeter.git
commit 0ddd6281481ace539fe4c1308d4c1758091a695e
Author: Vladimir Sitnikov <si...@gmail.com>
AuthorDate: Thu Mar 7 00:21:13 2019 +0300
Fix resources.PackageTest
Former-commit-id: 2f5beda25c84e11ef56876ddd43c28d1a4a44b70
---
.../resources/ResourceKeyUsageTestComponents.java | 23 +++++
.../org/apache/jmeter/resources/PackageTest.java | 84 +++-------------
.../jmeter/resources/ResourceKeyUsageTest.java | 107 +++++++++++++++++++++
.../resources/ResourceKeyUsageTestFunctions.java | 23 +++++
.../jmeter/resources/ResourceKeyUsageTestFtp.java | 23 +++++
.../jmeter/resources/ResourceKeyUsageTestHttp.java | 23 +++++
.../jmeter/resources/ResourceKeyUsageTestJava.java | 23 +++++
.../jmeter/resources/ResourceKeyUsageTestJdbc.java | 23 +++++
.../jmeter/resources/ResourceKeyUsageTestJms.java | 23 +++++
.../resources/ResourceKeyUsageTestJUnit.java | 23 +++++
.../jmeter/resources/ResourceKeyUsageTestLdap.java | 23 +++++
.../jmeter/resources/ResourceKeyUsageTestMail.java | 23 +++++
.../resources/ResourceKeyUsageTestMongodb.java | 23 +++++
.../resources/ResourceKeyUsageTestNative.java | 23 +++++
.../jmeter/resources/ResourceKeyUsageTestTcp.java | 23 +++++
15 files changed, 420 insertions(+), 70 deletions(-)
diff --git a/src/components/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestComponents.java b/src/components/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestComponents.java
new file mode 100644
index 0000000000..3042393491
--- /dev/null
+++ b/src/components/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestComponents.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestComponents extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/core/src/test/java/org/apache/jmeter/resources/PackageTest.java b/src/core/src/test/java/org/apache/jmeter/resources/PackageTest.java
index 47ddf51a91..17cc26bd67 100644
--- a/src/core/src/test/java/org/apache/jmeter/resources/PackageTest.java
+++ b/src/core/src/test/java/org/apache/jmeter/resources/PackageTest.java
@@ -20,7 +20,6 @@ package org.apache.jmeter.resources;
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileReader;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
@@ -38,12 +37,8 @@ import java.util.PropertyResourceBundle;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import org.apache.jmeter.gui.util.JMeterMenuBar;
-import org.apache.jorphan.util.JOrphanUtils;
import junit.framework.Test;
import junit.framework.TestCase;
@@ -70,16 +65,14 @@ import junit.framework.TestSuite;
*/
public class PackageTest extends TestCase {
- private static final String basedir = new File(System.getProperty("user.dir")).getParent(); // assumes the test starts in the bin directory
-
- private static final File srcFiledir = new File(basedir,"src");
+ // We assume the test starts in "src/core" directory (which is true for Gradle and IDEs)
+ private static final File srcFiledir = new File("src/main/java");
+ private static final File resourceFiledir = new File("src/main/resources");
private static final String MESSAGES = "messages";
private static PropertyResourceBundle defaultPRB; // current default language properties file
- private static PropertyResourceBundle messagePRB; // messages.properties
-
private static final CharsetEncoder ASCII_ENCODER =
Charset.forName("US-ASCII").newEncoder(); // Ensure properties files don't use special characters
@@ -141,9 +134,11 @@ public class PackageTest extends TestCase {
}
}
- if (!isPureAscii(val)) {
- failures.add("Message format should be pure ASCII. Actual format is " + val);
- }
+ // We don't need to verify ASCII as build system ensures the final properties will be in ASCII
+ // The proper test would be to get value of a well-known resource and validate it
+ //if (!isPureAscii(val)) {
+ // failures.add("Message format should be pure ASCII. Actual format is " + val);
+ //}
}
}
}
@@ -187,9 +182,6 @@ public class PackageTest extends TestCase {
if (defaultPRB == null){
throw new IOException("Could not find required file: "+res);
}
- if (resourcePrefix.endsWith(MESSAGES)) {
- messagePRB = defaultPRB;
- }
} else if (checkUnexpected) {
// Check all the keys are in the default props file
PropertyResourceBundle prb = getRAS(res);
@@ -217,7 +209,7 @@ public class PackageTest extends TestCase {
fail(String.join("\n", failures));
}
- private static final String[] prefixList = getResources(srcFiledir);
+ private static final String[] prefixList = getResources(resourceFiledir);
/**
* Find I18N resources in classpath
@@ -225,6 +217,10 @@ public class PackageTest extends TestCase {
* @return list of properties files subject to I18N
*/
public static String[] getResources(File srcFileDir) {
+ if (!srcFileDir.exists() && "resources".equals(srcFileDir.getName())) {
+ // Allow non-existing resources directory
+ return new String[0];
+ }
Set<String> set = new TreeSet<>();
findFile(srcFileDir, set, new FilenameFilter() {
@Override
@@ -250,7 +246,7 @@ public class PackageTest extends TestCase {
* filter that the files must satisfy to be included into
* <code>set</code>
*/
- private static void findFile(File file, Set<String> set,
+ static void findFile(File file, Set<String> set,
FilenameFilter filenameFilter) {
File[] foundFiles = file.listFiles(filenameFilter);
assertNotNull("Not a directory: "+file, foundFiles);
@@ -291,7 +287,6 @@ public class PackageTest extends TestCase {
// ts.addTest(new PackageTest("checkI18n", Locale.JAPANESE.toString()));
// ts.addTest(new PackageTest("checkI18n", Locale.SIMPLIFIED_CHINESE.toString()));
// ts.addTest(new PackageTest("checkI18n", Locale.TRADITIONAL_CHINESE.toString()));
- ts.addTest(new PackageTest("checkResourceReferences", ""));
return ts;
}
@@ -387,55 +382,4 @@ public class PackageTest extends TestCase {
}
return builder.toString();
}
-
- // Check that calls to getResString use a valid property key name
- public void checkResourceReferences() {
- final AtomicInteger errors = new AtomicInteger(0);
- findFile(srcFiledir, null, new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- final File file = new File(dir, name);
- // Look for calls to JMeterUtils.getResString()
- final Pattern pat = Pattern.compile(".*getResString\\(\"([^\"]+)\"\\).*");
- if (name.endsWith(".java")) {
- BufferedReader fileReader = null;
- try {
- fileReader = new BufferedReader(new FileReader(file));
- String s;
- while ((s = fileReader.readLine()) != null) {
- if (s.matches("\\s*//.*")) { // leading comment
- continue;
- }
- Matcher m = pat.matcher(s);
- if (m.matches()) {
- final String key = m.group(1);
- // Resource keys cannot contain spaces, and are forced to lower case
- String resKey = key.replace(' ', '_'); // $NON-NLS-1$ // $NON-NLS-2$
- resKey = resKey.toLowerCase(java.util.Locale.ENGLISH);
- if (!key.equals(resKey)) {
- System.out.println(file+": non-standard message key: '"+key+"'");
- }
- try {
- messagePRB.getString(resKey);
- } catch (MissingResourceException e) {
- System.out.println(file+": missing message key: '"+key+"'");
- errors.incrementAndGet();
- }
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- JOrphanUtils.closeQuietly(fileReader);
- }
-
- }
- return file.isDirectory();
- }
- });
- int errs = errors.get();
- if (errs > 0) {
- fail("Detected "+errs+" missing message property keys");
- }
- }
}
diff --git a/src/core/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTest.java b/src/core/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTest.java
new file mode 100644
index 0000000000..587265d109
--- /dev/null
+++ b/src/core/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTest.java
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.MissingResourceException;
+import java.util.PropertyResourceBundle;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.jorphan.util.JOrphanUtils;
+import org.junit.Test;
+
+public class ResourceKeyUsageTest {
+ // We assume the test starts in "module" (e.g. src/core) directory (which is true for Gradle and IDEs)
+ private static final File srcFiledir = new File("src/main/java");
+
+ // Read resource into ResourceBundle and store in List
+ private PropertyResourceBundle getRAS(String res) throws Exception {
+ InputStream ras = this.getClass().getResourceAsStream(res);
+ if (ras == null) {
+ return null;
+ }
+ return new PropertyResourceBundle(ras);
+ }
+
+ // Check that calls to getResString use a valid property key name
+ @Test
+ public void checkResourceReferences() throws Exception {
+ String resourceName = "/org/apache/jmeter/resources/messages.properties";
+ PropertyResourceBundle messagePRB = getRAS(resourceName);
+ assertNotNull("Resource bundle " + resourceName + " was not found", resourceName);
+ List<String> failures = new ArrayList<>();
+
+ PackageTest.findFile(srcFiledir, null, new FilenameFilter() {
+ @Override
+ public boolean accept(File dir, String name) {
+ final File file = new File(dir, name);
+ // Look for calls to JMeterUtils.getResString()
+ final Pattern pat = Pattern.compile(".*getResString\\(\"([^\"]+)\"\\).*");
+ if (name.endsWith(".java")) {
+ BufferedReader fileReader = null;
+ try {
+ fileReader = new BufferedReader(new FileReader(file));
+ String s;
+ while ((s = fileReader.readLine()) != null) {
+ if (s.matches("\\s*//.*")) { // leading comment
+ continue;
+ }
+ Matcher m = pat.matcher(s);
+ if (m.matches()) {
+ final String key = m.group(1);
+ // Resource keys cannot contain spaces, and are forced to lower case
+ String resKey = key.replace(' ', '_'); // $NON-NLS-1$ // $NON-NLS-2$
+ resKey = resKey.toLowerCase(java.util.Locale.ENGLISH);
+ if (!key.equals(resKey)) {
+ System.out.println(file+": non-standard message key: '"+key+"'");
+ }
+ try {
+ messagePRB.getString(resKey);
+ } catch (MissingResourceException e) {
+ failures.add(file+": missing message key: '"+key+"'");
+ }
+ }
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ JOrphanUtils.closeQuietly(fileReader);
+ }
+
+ }
+ return file.isDirectory();
+ }
+ });
+ if (failures.isEmpty()) {
+ return;
+ }
+ fail(String.join("\n", failures));
+ }
+}
diff --git a/src/functions/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestFunctions.java b/src/functions/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestFunctions.java
new file mode 100644
index 0000000000..7116c9302a
--- /dev/null
+++ b/src/functions/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestFunctions.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestFunctions extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/ftp/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestFtp.java b/src/protocol/ftp/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestFtp.java
new file mode 100644
index 0000000000..63bb267175
--- /dev/null
+++ b/src/protocol/ftp/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestFtp.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestFtp extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/http/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestHttp.java b/src/protocol/http/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestHttp.java
new file mode 100644
index 0000000000..7ca2d7a346
--- /dev/null
+++ b/src/protocol/http/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestHttp.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestHttp extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/java/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJava.java b/src/protocol/java/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJava.java
new file mode 100644
index 0000000000..0840dc2aa9
--- /dev/null
+++ b/src/protocol/java/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJava.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestJava extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/jdbc/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJdbc.java b/src/protocol/jdbc/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJdbc.java
new file mode 100644
index 0000000000..43090e1a46
--- /dev/null
+++ b/src/protocol/jdbc/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJdbc.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestJdbc extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/jms/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJms.java b/src/protocol/jms/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJms.java
new file mode 100644
index 0000000000..4030d59f86
--- /dev/null
+++ b/src/protocol/jms/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJms.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestJms extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/junit/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJUnit.java b/src/protocol/junit/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJUnit.java
new file mode 100644
index 0000000000..c6231a74a2
--- /dev/null
+++ b/src/protocol/junit/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestJUnit.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestJUnit extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/ldap/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestLdap.java b/src/protocol/ldap/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestLdap.java
new file mode 100644
index 0000000000..6865c6bf36
--- /dev/null
+++ b/src/protocol/ldap/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestLdap.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestLdap extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/mail/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestMail.java b/src/protocol/mail/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestMail.java
new file mode 100644
index 0000000000..3842f1fc0d
--- /dev/null
+++ b/src/protocol/mail/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestMail.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestMail extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/mongodb/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestMongodb.java b/src/protocol/mongodb/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestMongodb.java
new file mode 100644
index 0000000000..ad8a634217
--- /dev/null
+++ b/src/protocol/mongodb/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestMongodb.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestMongodb extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/native/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestNative.java b/src/protocol/native/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestNative.java
new file mode 100644
index 0000000000..705ef0fe28
--- /dev/null
+++ b/src/protocol/native/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestNative.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestNative extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
diff --git a/src/protocol/tcp/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestTcp.java b/src/protocol/tcp/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestTcp.java
new file mode 100644
index 0000000000..2b53d41a18
--- /dev/null
+++ b/src/protocol/tcp/src/test/java/org/apache/jmeter/resources/ResourceKeyUsageTestTcp.java
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.resources;
+
+public class ResourceKeyUsageTestTcp extends ResourceKeyUsageTest {
+ // Test from the base class is used, so we just validate current module
+}
[jmeter] 05/07: Remove obsolete files
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
milamber pushed a commit to annotated tag v5_2_0_RC1
in repository https://gitbox.apache.org/repos/asf/jmeter.git
commit 9abfc5c2d34151afa32612cc883aa4b1fbaf4ccc
Author: Vladimir Sitnikov <si...@gmail.com>
AuthorDate: Mon May 13 00:02:56 2019 +0300
Remove obsolete files
Former-commit-id: 4e3f58ee934b48a8e0c063f0d9db25d2f479c6cd
---
build.properties | 512 ---
build.xml | 3937 --------------------
eclipse.classpath | 125 -
eclipse.project | 37 -
licenses/bin/README.txt | 35 -
licenses/bin/Saxon-HE-9.9.1-1.txt | 373 --
licenses/bin/asm-7.0.txt | 29 -
licenses/bin/caffeine-2.6.2.txt | 202 -
licenses/bin/dec-0.1.2.txt | 19 -
licenses/bin/dnsjava-2.1.8.txt | 6 -
licenses/bin/freemarker-2.3.28.txt | 45 -
licenses/bin/hamcrest-core-1.3.txt | 27 -
licenses/bin/hamcrest-date-2.0.4.txt | 1 -
licenses/bin/javamail-1.5.0-b01.txt | 265 --
licenses/bin/javax.activation-1.2.0.txt | 761 ----
licenses/bin/javax.activation-api-1.2.0.txt | 761 ----
licenses/bin/jcharts-0.7.5.txt | 33 -
licenses/bin/jcl-over-slf4j-1.7.25.txt | 24 -
licenses/bin/jodd-core-5.0.6.txt | 24 -
licenses/bin/jodd-lagarto-5.0.6.txt | 1 -
licenses/bin/jodd-log-5.0.6.txt | 1 -
licenses/bin/jodd-props-5.0.6.txt | 1 -
licenses/bin/jsoup-1.11.3.txt | 25 -
licenses/bin/jtidy-r938.txt | 55 -
licenses/bin/junit-4.12.txt | 29 -
licenses/bin/rhino-1.7.10.txt | 377 --
licenses/bin/rsyntaxtextarea-3.0.2.txt | 26 -
licenses/bin/slf4j-api-1.7.25.txt | 24 -
licenses/bin/xmlpull-1.1.3.1.txt | 3 -
licenses/bin/xpp3-1.1.4c.txt | 48 -
licenses/bin/xstream-1.4.11.txt | 32 -
licenses/src/README.txt | 1 -
res/META-INF/default.license | 177 -
res/META-INF/default.notice | 5 -
res/maven/ApacheJMeter.pom | 29 -
res/maven/ApacheJMeter_components.pom | 45 -
res/maven/ApacheJMeter_config.pom | 32 -
res/maven/ApacheJMeter_core.pom | 40 -
res/maven/ApacheJMeter_ftp.pom | 50 -
res/maven/ApacheJMeter_functions.pom | 45 -
res/maven/ApacheJMeter_http.pom | 50 -
res/maven/ApacheJMeter_java.pom | 50 -
res/maven/ApacheJMeter_jdbc.pom | 50 -
res/maven/ApacheJMeter_jms.pom | 50 -
res/maven/ApacheJMeter_junit-test.pom | 31 -
res/maven/ApacheJMeter_junit.pom | 44 -
res/maven/ApacheJMeter_ldap.pom | 49 -
res/maven/ApacheJMeter_mail.pom | 49 -
res/maven/ApacheJMeter_mongodb.pom | 49 -
res/maven/ApacheJMeter_native.pom | 50 -
res/maven/ApacheJMeter_parent.pom | 510 ---
res/maven/ApacheJMeter_tcp.pom | 49 -
res/maven/jorphan.pom | 32 -
.../java/org/apache/jmeter/JMeterVersionTest.java | 333 --
54 files changed, 9658 deletions(-)
diff --git a/build.properties b/build.properties
deleted file mode 100644
index b28198d5ad..0000000000
--- a/build.properties
+++ /dev/null
@@ -1,512 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# **** External jars (not built as part of JMeter) and needed for build/release ****
-
-# N.B.
-# When updating this file, please also update the versions in
-# - res/maven/ApacheJMeter_parent.pom
-# - eclipse.classpath
-# - licenses/ - file name and contents
-# - xdocs/changes.xml
-#
-# Also, please update the lib/ directory ignore list
-# [Please don't use wild-card versions, because that makes it harder to detect obsolete jars]
-
-# property name conventions:
-#
-# xxx.jar - name of the jar as used in JMeter
-#
-# The following properties are used to download the jars if necessary.
-#
-# xxx.loc - example location where the jar or zip can be found (omit trailing /)
-# xxx.sha512 - MD5 hash of the jar (used to check downloads)
-#
-# xxx.zip - name of zip file (if the jar is not available as an independent download)
-# xxx.ent - the jar entry name in Zip file
-
-# Note that all the jars (apart from velocity and the Geronimo API jars)
-# are contained in the JMeter binary release.
-
-maven2.repo = https://repo1.maven.org/maven2
-
-accessors-smart.version = 1.2
-accessors-smart.jar = accessors-smart-${accessors-smart.version}.jar
-accessors-smart.loc = ${maven2.repo}/net/minidev/accessors-smart/${accessors-smart.version}
-accessors-smart.sha512 = 39FE6A5EBD2AE2D33D8737C8407A8CAA4F6A62CE2057D726BB82496D35104B76F230BBB9721E1DB5F535FEFA3D70EE88C0A5A5E4A3F1266D7317CAE897AD0882
-
-apache-bsf.version = 2.4.0
-apache-bsf.jar = bsf-${apache-bsf.version}.jar
-apache-bsf.loc = ${maven2.repo}/bsf/bsf/${apache-bsf.version}
-apache-bsf.sha512 = CF2FF6EA53CD13EA842CAD398F1BE24539BEC68A5CBBD088492ADAB50BC782CDE6D9F4C0B6A24DEAEEE537809C90631C43F9A680FF2826C28CCF1B39380954E3
-
-asm.version = 7.0
-asm.jar = asm-${asm.version}.jar
-asm.loc = ${maven2.repo}/org/ow2/asm/asm/${asm.version}
-asm.sha512 = B31699F50485DDC4E84466064CF5789A3E61BAFBEC53C4B9CB19FFEF07B36722D3EFDCA8722884FD6D6DEDACA65DB4DD6F71CD886BBA599E8A77971955167A60
-
-beanshell.version = 2.0b6
-beanshell.jar = bsh-${beanshell.version}.jar
-beanshell.loc = ${maven2.repo}/org/apache-extras/beanshell/bsh/${beanshell.version}
-beanshell.sha512 = A39321A99A8A619A48B65752F6EE6B8F11D3B28EBB051082EC70A70A0D5041E83D144378DF191929E3D6562BD5EE4C4F1CCADB0BA42055529D18800A41D8AE18
-
-# Bouncy Castle jars (compile and test only - not distributed)
-# Currently only needed for SMIMEAssertion
-# N.B. hashes should be obtained from the page: http://www.bouncycastle.org/checksums.html
-bcmail.version = 1.60
-bcmail.jar = bcmail-jdk15on-${bcmail.version}.jar
-bcmail.loc = ${maven2.repo}/org/bouncycastle/bcmail-jdk15on/${bcmail.version}
-bcmail.sha512 = 79B43DF17AB209A1026FC3CDA644B2611A72E861D3673CE846E078CED93A0991E16C91667FA854FEE7E92F5553338D1C9783BB2FBF426EB6FD19C8CE3582B26E
-
-bcprov.version = 1.60
-bcprov.jar = bcprov-jdk15on-${bcprov.version}.jar
-bcprov.loc = ${maven2.repo}/org/bouncycastle/bcprov-jdk15on/${bcprov.version}
-bcprov.sha512 = 1C08D82349E333720C08FC467FF6489B14B8633A09019BF8BB5E6A3C426DFAE6DCC415648FE1FB4A2DA8631548F4947AB6CA1BC90B3190A05040F4D2EB271A10
-
-bcpkix.version = 1.60
-bcpkix.jar = bcpkix-jdk15on-${bcprov.version}.jar
-bcpkix.loc = ${maven2.repo}/org/bouncycastle/bcpkix-jdk15on/${bcprov.version}
-bcpkix.sha512 = D44CDAC998A0D804AC452725C9E84B7D517C838CC6770CECDB214E1DF50EFC5EC2D067A91A5009F1316A5635CF7A1D213F2EE2A4E7497C66E1C7BBD5D2D4445F
-
-dec.version = 0.1.2
-dec.jar = dec-${dec.version}.jar
-dec.loc = ${maven2.repo}/org/brotli/dec/${dec.version}
-dec.sha512 = D4CD2B33F7C358012FF01DB6A13EBFE1E8051A580698BFFCD942C47451012CF53CE49A400B1C8BF7502B01E631D79D7C6417202A145622572D79FD145CCDE61A
-
-caffeine.version = 2.6.2
-caffeine.jar = caffeine-${caffeine.version}.jar
-caffeine.loc = ${maven2.repo}/com/github/ben-manes/caffeine/caffeine/${caffeine.version}
-caffeine.sha512 = 6521F1BFEFCD6E2991A7D017BBA8D751C5BA4694D335B61B4E732A2B795C748532BE7A5A63107B6BB70F816CEEEA4659B77EBAC68AD02C44CD813C478F759A06
-
-commons-codec.version = 1.11
-commons-codec.jar = commons-codec-${commons-codec.version}.jar
-commons-codec.loc = ${maven2.repo}/commons-codec/commons-codec/${commons-codec.version}
-commons-codec.sha512 = D9586162B257386B5871E7E9AE255A38014A9EFAEEF5148DE5E40A3B0200364DAD8516BDDD554352AA2E5337BEC2CC11DF88C76C4FDDE96A40F3421AA60650D7
-
-commons-collections.version = 3.2.2
-commons-collections.jar = commons-collections-${commons-collections.version}.jar
-commons-collections.loc = ${maven2.repo}/commons-collections/commons-collections/${commons-collections.version}
-commons-collections.sha512 = 51C72F9ACA7726F3C387095E66BE85A6DF97C74B00A25434B89188C1B8EAB6E2B55ACCF7B9BD412430D22BD09324DEC076E300B3D1FA39FCCAD471F0F2A3DA16
-
-commons-dbcp2.version = 2.5.0
-commons-dbcp2.jar = commons-dbcp2-${commons-dbcp2.version}.jar
-commons-dbcp2.loc = ${maven2.repo}/org/apache/commons/commons-dbcp2/${commons-dbcp2.version}
-commons-dbcp2.sha512 = 9CEF8B6F4DD907A63B1FA562A9D2497D84E8A9C7839955742B134421D63B0CF0A102802CAC97985842C0231D6E76CEFA9A29C6A3378955517E8BE192133961ED
-
-commons-io.version = 2.6
-commons-io.jar = commons-io-${commons-io.version}.jar
-commons-io.loc = ${maven2.repo}/commons-io/commons-io/${commons-io.version}
-commons-io.sha512 = 4DE22E2A50711F756A5542474395D8619DCA0A8BE0407B722605005A1167F8C306BC5EEF7F0B8252F5508C817C1CEB759171E4E18D4EB9697DFDD809AC39673F
-
-commons-jexl2.version = 2.1.1
-commons-jexl2.jar = commons-jexl-${commons-jexl2.version}.jar
-commons-jexl2.loc = ${maven2.repo}/org/apache/commons/commons-jexl/${commons-jexl2.version}
-commons-jexl2.sha512 = DCD62490CC386516F66427F5E478C308F6937EB6D64A34A02DE56255129DED20BEDB85C01B5C794D95CA3C4D6A11D58FA920779C5E517B78A881C5A229E4FBA2
-
-commons-jexl3.version = 3.1
-commons-jexl3.jar = commons-jexl3-${commons-jexl3.version}.jar
-commons-jexl3.loc = ${maven2.repo}/org/apache/commons/commons-jexl3/${commons-jexl3.version}
-commons-jexl3.sha512 = 6AD2D83CFB29CB6C19DB70D4A89E8BD317B10DA736AC0B9B37C3F4DF8E428AE5987BF73AA1BA9439955E7278B7E056B009B691E2E64925E3E3C5B2CFA1349D9F
-
-commons-lang3.version = 3.8.1
-commons-lang3.jar = commons-lang3-${commons-lang3.version}.jar
-commons-lang3.loc = ${maven2.repo}/org/apache/commons/commons-lang3/${commons-lang3.version}
-commons-lang3.sha512 = FB0FE98385496A565678A000C26A3245082ABFBF879CC29A35112B4BF18C966697A7A63BB1FD2FAE4A42512CD3DE5A2E6DC9D1DF4A4058332A6DDEAE06CDF667
-
-commons-math3.version = 3.6.1
-commons-math3.jar = commons-math3-${commons-math3.version}.jar
-commons-math3.loc = ${maven2.repo}/org/apache/commons/commons-math3/${commons-math3.version}
-commons-math3.sha512 = 8BC2438B3B4D9A6BE4A47A58410B2D4D0E56E05787AB24BADAB8CBC9075D61857E8D2F0BFFEDAD33F18F8A356541D00F80A8597B5DEDB995BE8480D693D03226
-
-commons-net.version = 3.6
-commons-net.jar = commons-net-${commons-net.version}.jar
-commons-net.loc = ${maven2.repo}/commons-net/commons-net/${commons-net.version}
-commons-net.sha512 = DBA414CEA9FB4B47DFE6D20C347BD91052185DD958996BFDD1E709F66B5FA7812EBB0DAD80C47E72BCC0075B3B5526C705216EFE771CAC1CC53B2F7923124FAF
-
-commons-pool2.version = 2.6.0
-commons-pool2.jar = commons-pool2-${commons-pool2.version}.jar
-commons-pool2.loc = ${maven2.repo}/org/apache/commons/commons-pool2/${commons-pool2.version}
-commons-pool2.sha512 = C31D44FF2D527DEC5189BAF8AE1D888C37A53A60283C58CBEACD723C773DB8219DD54E0FCA15F29F781E0AF66E60E894254D6AAC80178207B51DD2F9DCC972C3
-
-commons-text.version = 1.6
-commons-text.jar = commons-text-${commons-text.version}.jar
-commons-text.loc = ${maven2.repo}/org/apache/commons/commons-text/${commons-text.version}
-commons-text.sha512 = a0c077e33c075ffd2a9bf6776c1c27f6d19b451dd6f9a26cc06aed586bd746e5dadefee72e130f0d43768f8e3f24cddabe79b1e94abf227fbc8e8c58db0c6504
-
-darcula.version = e208efb96f70e4be9dc362fbb46f6e181ef501dd
-darcula.jar = darcula.jar
-darcula.loc = https://github.com/bulenkov/Darcula/raw/${darcula.version}/build
-darcula.sha512 = 80F3335D8EA3FB3FF07A12A79C958C4E3F8BB542511C52825A8B3694AC96F027E24396CE9EDCEFA44EE93B5CBED4E4AED4575E6AAED56F363BAE92C52EE85D22
-
-# dnsjava for DNSCacheManager (http://www.dnsjava.org/ BSD license)
-dnsjava.version = 2.1.8
-dnsjava.jar = dnsjava-${dnsjava.version}.jar
-dnsjava.loc = ${maven2.repo}/dnsjava/dnsjava/${dnsjava.version}
-dnsjava.sha512 = A4BCB8BBB43906F42FAF1802C504CCC9C616E49AFD5DD7DB77676D13AAED79A300979FFC2195B680A9C6D5F03466B611B6F1338D824099816AA224B234760F4B
-
-# Freemarker
-freemarker.version = 2.3.28
-freemarker.loc = ${maven2.repo}/org/freemarker/freemarker/${freemarker.version}
-freemarker.jar = freemarker-${freemarker.version}.jar
-freemarker.sha512 = 44435CB2B6BA02ABACDC4A21BEA44A2DC50FAA1B486FC5B2F79097A68F1F98CA24AA835448AC5DEC33A1869EED1B8A32AC285E95FDABBDAFAA810D575951894E
-
-# Groovy
-groovy-all.version = 2.4.16
-groovy-all.loc = ${maven2.repo}/org/codehaus/groovy/groovy-all/${groovy-all.version}
-groovy-all.jar = groovy-all-${groovy-all.version}.jar
-groovy-all.sha512 = C2616868541A3F587CBBA9BED3CFCA234565C1FD896654D6FB1934B452F05759A93F9614952D9620C1BA066CD328E6D55A349F1738BCEDB3EFA65A862FDEE09D
-
-# hamcrest-core
-hamcrest-core.version = 1.3
-hamcrest-core.loc = ${maven2.repo}/org/hamcrest/hamcrest-core/${hamcrest-core.version}
-hamcrest-core.jar = hamcrest-core-${hamcrest-core.version}.jar
-hamcrest-core.sha512 = E237AE735AAC4FA5A7253EC693191F42EF7DDCE384C11D29FBF605981C0BE077D086757409ACAD53CB5B9E53D86A07CC428D459FF0F5B00D32A8CBBCA390BE49
-
-# hamcrest-date
-hamcrest-date.version = 2.0.4
-hamcrest-date.loc = ${maven2.repo}/org/exparity/hamcrest-date/${hamcrest-date.version}
-hamcrest-date.jar = hamcrest-date-${hamcrest-date.version}.jar
-hamcrest-date.sha512 = DC0FB7DDE5B151E09C619C080BD0AB6405596A0E926126342C65EDE6E25F65519B5B6A02BF25C02AD75A31EB26C6B41672CDAB97CC8B5AD983D025651A33CDD6
-
-# Apache HttpASyncClient 4.x
-httpasyncclient.version = 4.1.4
-httpasyncclient.jar = httpasyncclient-${httpasyncclient.version}.jar
-httpasyncclient.loc = ${maven2.repo}/org/apache/httpcomponents/httpasyncclient/${httpasyncclient.version}
-httpasyncclient.sha512 = 0A80DB5DBF772F02D02BA6C7C163E8DA9517DD7195714B495ACB845C429580C1FC926D3E71C115E75BE8C145651DCE2FDFA0DC380132F7809C14B3AD95492AEE
-
-# Apache HttpClient 4.x
-httpclient.version = 4.5.8
-httpclient.jar = httpclient-${httpclient.version}.jar
-httpclient.loc = ${maven2.repo}/org/apache/httpcomponents/httpclient/${httpclient.version}
-httpclient.sha512 = DEB6B66065CFDED63795B934E18C3ACABEB3CAFE8A34D3903ED280284C7B2A3F801711AA5413699EA72CB8356D8F5C81F96BEEA5B910D97411F99E3220FCA2DE
-
-# Required for HttpClient
-httpmime.version = 4.5.8
-httpmime.jar = httpmime-${httpmime.version}.jar
-httpmime.loc = ${maven2.repo}/org/apache/httpcomponents/httpmime/${httpmime.version}
-httpmime.sha512 = E44EEBDC57A0E2F99FFDD7907A8D5ADCC18FF05FF5CE353AA7D05A2C7914272E6D4746F09399DF024C2663E1838C6477581D2787B8D07B8EDD3B18D526381993
-
-# Required for HttpClient
-httpcore.version = 4.4.11
-httpcore.jar = httpcore-${httpcore.version}.jar
-httpcore.loc = ${maven2.repo}/org/apache/httpcomponents/httpcore/${httpcore.version}
-httpcore.sha512 = 1F45A26F97E5488BF1985F5F5C88C5E2744F46D422040708F7641DEB14BB04561BCEC35C9284C1DCE606FCDCB768EDC3EF970EF965BD6BB591EC362DFD417C74
-
-# Required for HttpASyncClient
-httpcore-nio.version = 4.4.11
-httpcore-nio.jar = httpcore-nio-${httpcore-nio.version}.jar
-httpcore-nio.loc = ${maven2.repo}/org/apache/httpcomponents/httpcore-nio/${httpcore-nio.version}
-httpcore-nio.sha512 = 921BFA77D06C2B624D257DC6D57689A06F704954AE49FE4433D5200018F46607A46EA21ECA3C7757913BD6C1C2605A025BEA912A007230EA2E4227C07F8ADCA3
-
-jackson-annotations.version = 2.9.9
-jackson-annotations.jar = jackson-annotations-${jackson-annotations.version}.jar
-jackson-annotations.loc = ${maven2.repo}/com/fasterxml/jackson/core/jackson-annotations/${jackson-annotations.version}
-jackson-annotations.sha512 = fd7e441fbb6a807b1841497bbf6b4950ca11a48fad19b83bad6da691a9878a8b03f28eef11dac7ef160cb9535c999d7bbf49da155c165c205aeb7dd81c111f28
-
-jackson-core.version = 2.9.9
-jackson-core.jar = jackson-core-${jackson-core.version}.jar
-jackson-core.loc = ${maven2.repo}/com/fasterxml/jackson/core/jackson-core/${jackson-core.version}
-jackson-core.sha512 = d8beac9e71444bc795c9d99308ead3284a39aa161f825708da7dbdfce410d099c0bbc76c31c27adad540cf3bccf6826d539fcb157923efae84b10b3778b920a9
-
-jackson-databind.version = 2.9.9
-jackson-databind.jar = jackson-databind-${jackson-databind.version}.jar
-jackson-databind.loc = ${maven2.repo}/com/fasterxml/jackson/core/jackson-databind/${jackson-databind.version}
-jackson-databind.sha512 = 47204158c4adbbc8d6659055786641ef6ec95ef6648662ad797aface0a3e1074c7bd4d2f565bbe5837bfd0bc06aec2d8888415ff94a94583f5bda644ca5004a5
-
-jakarta-oro.version = 2.0.8
-jakarta-oro.jar = oro-${jakarta-oro.version}.jar
-jakarta-oro.loc = ${maven2.repo}/oro/oro/${jakarta-oro.version}
-jakarta-oro.sha512 = 9A98E493C4D771322B1331EC05AB0E363A83D8AC2AF8018D96A44DF2BF5BFC97D33EBE6F6F93E46AB10BF1536F0C29E9D9569318ED49BC18B4E96B1A8B476D37
-
-jcharts.version = 0.7.5
-jcharts.jar = jcharts-${jcharts.version}.jar
-jcharts.loc = ${maven2.repo}/jcharts/jcharts/${jcharts.version}
-jcharts.sha512 = 3953900BEBE38F4242499D106D59425F54B73C0478C3050F0DC0917D5C36CC35F94CCFEA96E6BF85E9B1282BD572F55AFEF1B485F81F5ED9493CC4D3828F5A0B
-
-rhino.version = 1.7.10
-rhino.jar = rhino-${rhino.version}.jar
-rhino.loc = ${maven2.repo}/org/mozilla/rhino/${rhino.version}
-rhino.sha512 = FF4F8BFA5F1AFDD4F2E4C34DE8AA3CE18E4955F3804A3B864CB54583B7CB20621302786D625A2E4ED9EE879452F2E5BA70E855E65C34E58CF7F716D8A4515BC2
-
-javax.activation-api.version = 1.2.0
-javax.activation-api.jar = javax.activation-api-${javax.activation-api.version}.jar
-javax.activation-api.loc = ${maven2.repo}/javax/activation/javax.activation-api/${javax.activation-api.version}
-javax.activation-api.sha512 = 8EE0DB43AE402F0079A836EF2BFF5D15160E3FF9D585C3283F4CF474BE4EDD2FCC8714D8F032EFD72CAE77EC5F6D304FC24FA094D9CDBA5CF72966CC964AF6C9
-
-javax.activation.version = 1.2.0
-javax.activation.jar = javax.activation-${javax.activation.version}.jar
-javax.activation.loc = ${maven2.repo}/com/sun/activation/javax.activation/${javax.activation.version}
-javax.activation.sha512 = B4CBDD8FD1703E4B2E1E691DB78FBCF2232D836F740D1821C4C191A14F9472508E27A40D06E4B6B153964AF68032959C22945BA169A0CA4018B7748162F420A6
-
-jodd-core.version = 5.0.6
-jodd-core.jar = jodd-core-${jodd-core.version}.jar
-jodd-core.loc = ${maven2.repo}/org/jodd/jodd-core/${jodd-core.version}
-jodd-core.sha512 = 359328570D17EEDB3CCE8C2D03A52D7C6345F2D1E590E604DF3B628EC641AC8AD5F845F783D74073BF60005E714E98D8B7D0EC1BE52F26A0C697477280FCDFC7
-
-jodd-lagarto.version = 5.0.6
-jodd-lagarto.jar = jodd-lagarto-${jodd-lagarto.version}.jar
-jodd-lagarto.loc = ${maven2.repo}/org/jodd/jodd-lagarto/${jodd-lagarto.version}
-jodd-lagarto.sha512 = 63C216848091C043C6AD1670B8442C722D7620E3DA428BDAD6AC327CA527E8A789E2B07BB3CD635E4F960F80C26BB2FB8545051EC55CB2C59535A66EB5B0B7A6
-
-jodd-log.version = 5.0.6
-jodd-log.jar = jodd-log-${jodd-log.version}.jar
-jodd-log.loc = ${maven2.repo}/org/jodd/jodd-log/${jodd-log.version}
-jodd-log.sha512 = 3CE6C14823730ACEAF4CD0F86DA4F63BB47B1146163898B3F2A370E6890AD7F7EEB14D88D9916BF12B211236E9B539DC986C081A746AF00F3B78EB792CFDB9B6
-
-jodd-props.version = 5.0.6
-jodd-props.jar = jodd-props-${jodd-props.version}.jar
-jodd-props.loc = ${maven2.repo}/org/jodd/jodd-props/${jodd-props.version}
-jodd-props.sha512 = 63AB3951F0C167B28479B6030066B28C35E1B1C4944E978679B4365F8179C123FFD60EE9BA0EEE5AD0BFD2A592B73C999328B92F3E4B2F8376CD39A9DC1B4370
-
-json-path.version = 2.4.0
-json-path.jar = json-path-${json-path.version}.jar
-json-path.loc = ${maven2.repo}/com/jayway/jsonpath/json-path/${json-path.version}
-json-path.sha512 = B55B30CF85CA12E6A492FD48D4B6BB0B1F3BA610C195AA1A36EDA2A80E24BF7688A6A802362D398108E822F6DCB7B713CF421BB4208897FC4F5CC7B8B9B4C97C
-
-json-smart.version = 2.3
-json-smart.jar = json-smart-${json-smart.version}.jar
-json-smart.loc = ${maven2.repo}/net/minidev/json-smart/${json-smart.version}
-json-smart.sha512 = 977FFE05C17965B403A60471EB6C160103263BBE454E942D67D4D725E1826B504DE6C15038FF01EA90632BF9AD8A31B47C6662613BB905F020EFFA68C44D6F9A
-
-jsoup.version = 1.11.3
-jsoup.jar = jsoup-${jsoup.version}.jar
-jsoup.loc = ${maven2.repo}/org/jsoup/jsoup/${jsoup.version}
-jsoup.sha512 = D8B4634950C8D7FE852C61C0538A7C4B271F5C39227593664A7A32145584E172CB66EBFA5301670DE93C2482CEAE83446BEBB4965A79060C5B28A67F1E3C0394
-
-junit.version = 4.12
-junit.jar = junit-${junit.version}.jar
-junit.loc = ${maven2.repo}/junit/junit/${junit.version}
-junit.sha512 = 5974670C3D178A12DA5929BA5DD9B4F5FF461BDC1B92618C2C36D53E88650DF7ADBF3C1684017BB082B477CB8F40F15DCF7526F06F06183F93118BA9EBEACCCE
-
-spock-core.version = 1.2-groovy-2.4
-spock-core.jar = spock-core-${spock-core.version}.jar
-spock-core.loc = ${maven2.repo}/org/spockframework/spock-core/${spock-core.version}
-spock-core.sha512 = 407aee08d0e6aa1e2adc3c9a1c966d91f2f53bee0c92b85508f1e03e99f0e669356a2fbf9f450db8d5328ad16ecd19b1be1c9023b5c00031e91b9799a30381c2
-
-cglib-nodep.version = 3.2.9
-cglib-nodep.jar = cglib-nodep-${cglib-nodep.version}.jar
-cglib-nodep.loc = ${maven2.repo}/cglib/cglib-nodep/${cglib-nodep.version}
-cglib-nodep.sha512 = 429F5E63C33F3E65615243AD24C27C86FD1ADE3C5DAA0A64F9FAF8BCE1E59ED9A6D4EDC348281CBB8FD7AE10C01FC2E3716FF74571B14A31A37DDE1DE06E2A3A
-
-objenesis.version = 2.6
-objenesis.jar = objenesis-${objenesis.version}.jar
-objenesis.loc = ${maven2.repo}/org/objenesis/objenesis/${objenesis.version}
-objenesis.sha512 = 23A593BDED8CB43236FAAD2018B008DA47BF4E29CC60C2E98FD4F2ED578FE2BADDD3A98547DC14273017C82CB19CE8EAAAB71D49273411856A2BA1A5D51015FC
-
-mongo-java-driver.version = 2.11.3
-mongo-java-driver.jar = mongo-java-driver-${mongo-java-driver.version}.jar
-mongo-java-driver.loc = ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
-mongo-java-driver.sha512 = 737A0D037A6BEF711539FB89E8D7388EEF8F7B11393291412329D76DFB0C1695718CB903E60C63CA8144C95F53CA9EF66E80B4DFD5DA73E0E989467DC4B61337
-
-ph-css.version = 6.1.1
-ph-css.jar = ph-css-${ph-css.version}.jar
-ph-css.loc = ${maven2.repo}/com/helger/ph-css/${ph-css.version}
-ph-css.sha512 = EED6A6C680424C4337A8FFE8431F5E042841FBACE3529622125837F9E4D89B3DA8675BD74799957384CAC77ACB9F0AE031BAB3883CD87291E03ED823EDE8EC31
-
-ph-commons.version = 9.2.1
-ph-commons.jar = ph-commons-${ph-commons.version}.jar
-ph-commons.loc = ${maven2.repo}/com/helger/ph-commons/${ph-commons.version}
-ph-commons.sha512 = C82A4C6AA1702B95049A8348B88F3A5ABC5B4781A796328E46E701F57C0DFEAC289441D332E1D730EE46107AB24AB106CDE2D39BB8BEFAFAC123D53382B85A40
-
-rsyntaxtextarea.version = 3.0.2
-rsyntaxtextarea.jar = rsyntaxtextarea-${rsyntaxtextarea.version}.jar
-rsyntaxtextarea.loc = ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
-rsyntaxtextarea.sha512 = A210EC77304E7B0B175532BD7E5C2A46823C0D93B359E174782B548087B48A0386D3CAE566877ACFB6252E6B4F28C25DAA6B8074A55BC54A296FC4AC554B0DC1
-
-slf4j-api.version = 1.7.25
-slf4j-api.jar = slf4j-api-${slf4j-api.version}.jar
-slf4j-api.loc = ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
-slf4j-api.sha512 = 5DD6271FD5B34579D8E66271BAB75C89BACA8B2EBEAA9966DE391284BD08F2D720083C6E0E1EDDA106ECF8A04E9A32116DE6873F0F88C19C049C0FE27E5D820B
-
-jcl-over-slf4j.version = 1.7.25
-jcl-over-slf4j.jar = jcl-over-slf4j-${jcl-over-slf4j.version}.jar
-jcl-over-slf4j.loc = ${maven2.repo}/org/slf4j/jcl-over-slf4j/${jcl-over-slf4j.version}
-jcl-over-slf4j.sha512 = 0A703864B269DE6F7BC98DF0FA98AA943CC327A4CA2915899D460E4A071FCC3FBE70957EB91B740CC935D0960B3D98F30C54A0A4019D7AE8C6D50F51EDB8D149
-
-log4j-api.version = 2.11.1
-log4j-api.jar = log4j-api-${log4j-api.version}.jar
-log4j-api.loc = ${maven2.repo}/org/apache/logging/log4j/log4j-api/${log4j-api.version}
-log4j-api.sha512 = A598DA3836D2DDCA60CFB3D62DF96E525A8A130CB67199C3FA0380E722B82B8F5778372CCCB763BF8AC216112C3E5E6300FC5B85E097845F42FB743ADC1FD41F
-
-log4j-core.version = 2.11.1
-log4j-core.jar = log4j-core-${log4j-core.version}.jar
-log4j-core.loc = ${maven2.repo}/org/apache/logging/log4j/log4j-core/${log4j-core.version}
-log4j-core.sha512 = 6D23ECAF0AC18A5DFF492B8F047543B392FE5D1D56EF1F9F6C68CFF43C7EE97F2FD8521C22D242E5ACBFF9C133E9315045D6C689609F9C7DA3DDFC3FFB96B261
-
-log4j-1.2-api.version = 2.11.1
-log4j-1.2-api.jar = log4j-1.2-api-${log4j-1.2-api.version}.jar
-log4j-1.2-api.loc = ${maven2.repo}/org/apache/logging/log4j/log4j-1.2-api/${log4j-1.2-api.version}
-log4j-1.2-api.sha512 = 7FA86AE3F19F88C0690D12F7ACD04D270E365C1E925DF0A8012DDE7B8B3EA1F787D34C9FC26B198D7D8054F7BFADB522A34C4B8C1C7998E7C138187C5DA4060E
-
-log4j-slf4j-impl.version = 2.11.1
-log4j-slf4j-impl.jar = log4j-slf4j-impl-${log4j-slf4j-impl.version}.jar
-log4j-slf4j-impl.loc = ${maven2.repo}/org/apache/logging/log4j/log4j-slf4j-impl/${log4j-slf4j-impl.version}
-log4j-slf4j-impl.sha512 = 55360BF9BCD47DAE49FCC8E28DBAD9D3AA26BCC66729DA98D701CC2099CB070E537F19327FA52486B4E557FA513D37AFBBE6FD17B1557527FB2496F56072545A
-
-sonarqube-ant-task.version = 2.5
-sonarqube-ant-task.jar = sonarqube-ant-task-${sonarqube-ant-task.version}.jar
-sonarqube-ant-task.loc = ${maven2.repo}/org/sonarsource/scanner/ant/sonarqube-ant-task/${sonarqube-ant-task.version}
-sonarqube-ant-task.sha512 = D21DC7D16102E08C8418257FF3CF19B5F9A179B3440C02D11ECCFF3831DA1861095D1264528CEE718D1BD0F118D8384D168BB3C555009B0BC12BA4D82E645973
-
-jtidy.version = r938
-jtidy.jar = jtidy-${jtidy.version}.jar
-jtidy.loc = ${maven2.repo}/net/sf/jtidy/jtidy/${jtidy.version}
-jtidy.sha512 = 4C6CC198BD8CDE62B6CC9091ED95A4114EAAD035C196317C891F8F2263B28649A33B1F26F74F2B043A17CEC2A3D025EDA81ACF317FDF2D04641FA646E486B345
-
-# Apache Tika to extract text from various documents
-tika-core.version = 1.21
-tika-core.jar = tika-core-${tika-core.version}.jar
-tika-core.loc = ${maven2.repo}/org/apache/tika/tika-core/${tika-core.version}
-tika-core.sha512 = 9d3131d7e5fbab717f2590f4fe0df161189f29490f7d3238512e68924953a136497c37b39a9260b9c6350b335670db207fa8a45838f99d60c1e906872bda1eda
-
-tika-parsers.version = 1.21
-tika-parsers.jar = tika-parsers-${tika-parsers.version}.jar
-tika-parsers.loc = ${maven2.repo}/org/apache/tika/tika-parsers/${tika-parsers.version}
-tika-parsers.sha512 = 2728ca01817f9509912e738e65bd42f4a0296e206bfa3382c0b7eb5935a3d19c93142d4c0b589de0bd582cf41ab54a3c374d0d7c2a9d555ebe086c7e90278ed9
-
-# XStream can be found at: http://x-stream.github.io
-xstream.version = 1.4.11
-xstream.jar = xstream-${xstream.version}.jar
-xstream.loc = ${maven2.repo}/com/thoughtworks/xstream/xstream/${xstream.version}
-xstream.sha512 = ACEBA38FE0239A8D873D276023F9EFD1C79CE8C6651BB7314A06684758AABFCDB1E89A71B26FA596C9491BDC3D4BBEEF3819683D65002E584CD4728A03C2DE0B
-
-# XMLPull is required by XStream 1.4.x
-xmlpull.version = 1.1.3.1
-xmlpull.jar = xmlpull-${xmlpull.version}.jar
-xmlpull.loc = ${maven2.repo}/xmlpull/xmlpull/${xmlpull.version}
-xmlpull.sha512 = 54D1090623497E81270B2AF633268656E8855E1EDCE2217886431039516A391BA9F8D8DB3C21A0B5E51C7F7CB672D63EBE77BE75708B760B06F399486960F261
-
-xpp3.version = 1.1.4c
-xpp3.jar = xpp3_min-${xpp3.version}.jar
-xpp3.loc = ${maven2.repo}/xpp3/xpp3_min/${xpp3.version}
-xpp3.sha512 = 34989289CE8ED861499F31742EE1E7B9DC3C59973CE915A7B561D33D98968E77DB5BB94C1692802CCDBD86D04CAA7DB67748EFAFB1402428B2D6AE3056497618
-
-# Xalan can be found at: http://xml.apache.org/xalan-j/
-xalan.version = 2.7.2
-xalan.jar = xalan-${xalan.version}.jar
-xalan.loc = ${maven2.repo}/xalan/xalan/${xalan.version}
-xalan.sha512 = 00F859C5BD65F6DC91E396CE91FE2F6D30B2354D6B419CD9EA96984C5403E5CD1342BB9362B0AE1F2792612F0DF731C4F7AC92F16A825BB7E22089C27A129C6C
-
-serializer.version = 2.7.2
-serializer.jar = serializer-${serializer.version}.jar
-serializer.loc = ${maven2.repo}/xalan/serializer/${serializer.version}
-serializer.sha512 = 884D865865858A46306A3680DF69F3F0EFA0DF1313706B54E6900D36AF21E17CB6828F5A6BAC551C59F7F80BDD1CB64C3FDBDE44E213519C4AF87969E9E70774
-
-# Xerces can be found at: http://xerces.apache.org/xerces2-j/
-xerces.version = 2.12.0
-xerces.jar = xercesImpl-${xerces.version}.jar
-xerces.loc = ${maven2.repo}/xerces/xercesImpl/${xerces.version}
-xerces.sha512 = e9d62dc311df808f88ac63b427bb40567c19cec618a33d0a9c7c830b1bb7c64dae263a5ee6c824d8e51a63cd24f49fe2ef4e2563d6e6aa0400f63e9bb35dce97
-
-xml-apis.version = 1.4.01
-xml-apis.jar = xml-apis-${xml-apis.version}.jar
-xml-apis.loc = ${maven2.repo}/xml-apis/xml-apis/${xml-apis.version}
-xml-apis.sha512 = 8DB0283B6840CD6407957D296B802E3EDF90653E2722F8E29F86C1C0B60996C4B43E9E065E6864DAB89B2138DDB0174D9B4FDDA4A93F94EEB884783DB82F3268
-
-# Codecs were previously provided by Batik
-xmlgraphics-commons.version = 2.3
-xmlgraphics-commons.jar = xmlgraphics-commons-${xmlgraphics-commons.version}.jar
-xmlgraphics-commons.loc = ${maven2.repo}/org/apache/xmlgraphics/xmlgraphics-commons/${xmlgraphics-commons.version}
-xmlgraphics-commons.sha512 = 02914C30F5A58A1EAA19B51399EEFD30F3A4D530D19BE5A74AB0AD5D93142F13C5DDFE9FAA3E95F2632C14E18F39AA1AC3090061D32FB79A1A69AD9126F51AF0
-
-# JavaMail jars (N.B. these are available under CDDL)
-javamail.version = 1.5.0-b01
-javamail.jar = mail-${javamail.version}.jar
-javamail.loc = ${maven2.repo}/javax/mail/mail/${javamail.version}
-javamail.sha512 = 801A910F70DD743982872DCDEA46C24C6378E82C2CD2D970902A9CE5864191D3847BCFF6D5B81AEB89BABF056A30A70A03AA5687586D52CBFAAEAE3A5D6649F9
-
-# Geronimo JMS jar
-jms.version = 1.1.1
-jms.jar = geronimo-jms_1.1_spec-${jms.version}.jar
-jms.loc = ${maven2.repo}/org/apache/geronimo/specs/geronimo-jms_1.1_spec/${jms.version}
-jms.sha512 = 94CB8660775596B298DB93E11FDBB28D2A582B161F7A6D667D41946F59E8B114AA80E15C28C4186F05B43F432B1AC555D845AD870309609202382C3F6061E319
-
-# The following jars are only needed for source distributions
-# They are used for building the documentation
-velocity.version = 1.7
-velocity.jar = velocity-${velocity.version}.jar
-velocity.loc = ${maven2.repo}/org/apache/velocity/velocity/${velocity.version}
-velocity.sha512 = E521785D947CAE1A02070B26A43D235B6319439A6364C58266D3F9C458F9A099406C10AAB5F51C5DB5BA541E88322CB35203C6758B4B8BB65F9539A345DA9A04
-
-# required by Velocity
-commons-lang.version = 2.6
-commons-lang.jar = commons-lang-${commons-lang.version}.jar
-commons-lang.loc = ${maven2.repo}/commons-lang/commons-lang/${commons-lang.version}
-commons-lang.sha512 = 4A5A3DBE4941C645E2CCA068CCA5C1882CFE988B02E7CD981D1E51784900767D1DEAB0E0E0566F559C9FCABB4A180E436D5BB948902D4F4106F37360466AFB42
-
-# required by anakia
-jdom.version = 1.1.3
-jdom.jar = jdom-${jdom.version}.jar
-jdom.loc = ${maven2.repo}/org/jdom/jdom/${jdom.version}
-jdom.sha512 = 921A79A4759724DAD02830E75FEF0F3A3B2BB1D14D572CA4E1F97BF7A93CC5413EE41B3B231331F1EF459E77F8AE1FBF43DCDF621D18BD72331F98B24C4E8284
-
-# Optional for use by checkstyle
-checkstyle-all.version = 8.22
-checkstyle-all.jar = checkstyle-${checkstyle-all.version}-all.jar
-checkstyle-all.loc = https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${checkstyle-all.version}
-checkstyle-all.sha512 = d595e284ec440e20367b93a1835357f1c4c2cf77af4589caafdaa995aa9e8a341716ad59f5222fff484275f23c11beb71ad58792cc6cdbdb261e320724b9418f
-
-# Optional for use by rat
-rat.version = 0.13
-rat.jar = apache-rat-${rat.version}.jar
-rat.loc = ${maven2.repo}/org/apache/rat/apache-rat/${rat.version}
-rat.sha512 = a51b88495d1988d6886cc04d0039fd9f6aee77d060719239f9c5e9af2b6d9a639e83c38e8bf4fdc632d1f0feb87bc43fc0b345c0f2a4b7f692303898aadb2663
-
-# Optional for use by rat
-rat-tasks.jar = apache-rat-tasks-${rat.version}.jar
-rat-tasks.loc = ${maven2.repo}/org/apache/rat/apache-rat-tasks/${rat.version}
-rat-tasks.sha512 = 229F74F96C74E421A37A00A57F3153FF913B77F34514003695DCA9F5D63D8D5FF429A9E055425CC925FA30328023D52812FC6BD66B5EC736B529784B20D19344
-
-# Optional for use by JaCoCo
-jacocoant.version = 0.8.3
-jacocoant.jar = org.jacoco.ant-${jacocoant.version}-nodeps.jar
-jacocoant.loc = ${maven2.repo}/org/jacoco/org.jacoco.ant/${jacocoant.version}
-jacocoant.sha512 = 6BC5CF6DA0444B5496F9017C319DAB0B5F46510A5F657FCDA5E10CBED29AE661783986D772A075453585B888B8A048DB416629E604A650580D94AA18C6774C67
-
-# Optional for use by JDBC_TESTS.jmx
-hsqldb.version = 2.4.1
-hsqldb.jar = hsqldb-${hsqldb.version}.jar
-hsqldb.loc = ${maven2.repo}/org/hsqldb/hsqldb/${hsqldb.version}
-hsqldb.sha512 = 7A4B0F48072894C9CAD7352785465F3AE232AC22D79018053D8463EE143243626047AC19892A6E43325D172C7948BE35EDA54278F194B7A611B3DC032CFD047E
-
-# Optional for use by JMS_TESTS.jmx
-activemq-all.version = 5.15.8
-activemq-all.jar = activemq-all-${activemq-all.version}.jar
-activemq-all.loc = ${maven2.repo}/org/apache/activemq/activemq-all/${activemq-all.version}
-activemq-all.sha512 = 5dda2a620ad6cacff743b29d4f2095c3f7454b0afef7ddf9da82994c6545ef58fd6a6cb558e862851ab60acccb890b9dd11874007558bab82f690d1af4a3f2a2
-
-# Used by XPath 2
-Saxon-HE.version = 9.9.1-1
-Saxon-HE.jar = Saxon-HE-${Saxon-HE.version}.jar
-Saxon-HE.loc = ${maven2.repo}/net/sf/saxon/Saxon-HE/${Saxon-HE.version}
-Saxon-HE.sha512 = DEED3B397975A8419C903B61A1FC54C1E3899506B6D8DD562425DFD776690C51A8BB5326B821AFA4892670F410688255506CB0BFEB8F7532B84914A11490CCB3
-
-# Optional for use by FTP_TESTS.jmx
-mina-core.version = 2.0.19
-mina-core.jar = mina-core-${mina-core.version}.jar
-mina-core.loc = ${maven2.repo}/org/apache/mina/mina-core/${mina-core.version}
-mina-core.sha512 = B494D592C42D4F8C70BD5F1927A71729E12016F28FAC77BB41286186A69C530B7B486DAB8A44C7B09BB8BD44B960FBA10246E5D61420DE6FCE1E29D0FA22C202
-
-# Optional for use by FTP_TESTS.jmx
-ftplet-api.version = 1.1.1
-ftplet-api.jar = ftplet-api-${ftplet-api.version}.jar
-ftplet-api.loc = ${maven2.repo}/org/apache/ftpserver/ftplet-api/${ftplet-api.version}
-ftplet-api.sha512 = 70C9E913E578460BB9B8F014C47B9C9634B9454F194EF105CFD4EB896857DC47D292B1AB88C267FF6BC0E608BFEA0BB900DB6E4D88E5F5D9096EF6A4B4CDD51C
-
-# Optional for use by FTP_TESTS.jmx
-ftpserver-core.version = 1.1.1
-ftpserver-core.jar = ftpserver-core-${ftpserver-core.version}.jar
-ftpserver-core.loc = ${maven2.repo}/org/apache/ftpserver/ftpserver-core/${ftpserver-core.version}
-ftpserver-core.sha512 = D880495D077694475D27C081488728085FC19B8E1F113E8BA64656A3DE0A7DBC612F341EC653F3CB719B889916DE20DBD188898EED7A8CFECBAF9BE52A237118
diff --git a/build.xml b/build.xml
deleted file mode 100644
index fcb52f3a3c..0000000000
--- a/build.xml
+++ /dev/null
@@ -1,3937 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<project name="JMeter" default="install" basedir="."
- xmlns:rat="antlib:org.apache.rat.anttasks"
- xmlns:jacoco="antlib:org.jacoco.ant"
- xmlns="antlib:org.apache.tools.ant"
- xmlns:if="ant:if" >
- <description>
-
- N.B. To build JMeter from a release you need both the binary and source archives,
- and these must be unpacked into the same directory structure.
-
- To download additional jars needed for building the code and documentation:
-
- ant download_jars
-
-
- To build JMeter from source:
- ant [install]
-
- To rebuild:
- ant clean install
-
- To update documentation
- ant docs-site [-Ddocs.force=true]
- ant docs-printable [-Ddocs.force=true]
- To build API documentation (Javadoc)
- ant docs-api
- To build all the docs
- ant docs-all [-Ddocs.force=true]
-
- To build all and package up the files for distribution
- ant distribution -Djmeter.version=vvvv [-Dsvn.revision=nnnnn]
-
- Add -Ddisable-svnCheck=true to disable svn check, if you build from src archive or offline
- Add -Ddisable-check-versions=true to disable matching current svn revision and JMeterVersion.java,
- if you want build your own custom JMeter package.
-
- To create a nightly build (separate bin/src/lib jars):
- ant nightly [-Dsvn.revision=nnnnn]
-
- To create tar and tgz of the web-site documentation (docs and api)
- ant site [ -Djmeter.version=vvvv ]
-
-
- For more info:
- ant -projecthelp
-
- To diagnose usage of deprecated APIs:
- ant -Ddeprecation=on clean compile
- </description>
-
- <!--
-
- Note
- ====
- As with most other Apache projects, Gump (http://gump.apache.org/) is used to
- perform automated builds and tests on JMeter.
-
- Gump uses its project/jmeter.xml file to determine which target to use.
- The current setting is: <ant target="dist">
-
- Any changes to the dependency list for dist may affect Gump.
-
- Now the dist target depends on "assume-libs-present", so if additional libraries are added to that,
- the Gump project file for JMeter must also be updated.
-
- Jars that are not required by the dist target do not need to be added to the Gump project file.
-
- -->
-
- <!-- Minimal version of Apache Ant required by this Ant script -->
- <property name="ant.version.required" value="1.9.1" />
-
- <!-- check if JavaFX is available -->
- <available classname="javafx.application.Platform" property="javafx.present" />
-
- <!-- Are we running under Gump? -->
- <property name="gump.run" value="false"/>
-
- <!-- The version of this file -->
- <property name="version.build" value="$Revision$"/>
-
- <script language="javascript">
- project.setProperty('EPOCHSECONDS', new Date().getTime());
- </script>
-
- <property file="build-local.properties"/> <!-- allow local overrides -->
-
- <!-- Remove .gitignore from the Ant's default excludes -->
- <!-- to allow to have the .gitignore in the source archive -->
- <defaultexcludes remove="**/.gitignore"/>
-
- <!-- Findbugs task and target -->
- <!--
- Findbugs is licensed under the Lesser GNU Public License
- HomePage: http://www.cs.umd.edu/~pugh/java/bugs/
-
- To use the findbugs target, download and install the findbugs binary distribution
- Set the value of findbugs.homedir according to where you installed findbugs, for example:
- ant findbugs -Dfindbugs.homedir=/etc/findbugs -Dfindbugs.level=medium
- [The defaults are /findbugs and medium]
- -->
- <property name="findbugs.homedir" value="/findbugs" />
- <property name="findbugs.level" value="medium" />
- <property name="findbugs.xsldir" value="${findbugs.homedir}/src/xsl" />
- <property name="findbugs.xslname" value="fancy" />
- <property name="findbugs.outName" value="reports/jmeter-fb" />
- <property name="skip.batchtest" value="false" />
- <property name="skip.bug52310" value="true" />
- <property name="skip.bug60607" value="false" />
- <property name="skip.batchtest_Http4ImplPreemptiveBasicAuth" value="false" />
- <property name="skip.batchtest_SlowCharsFeature" value="false" />
- <property name="skip.batchtest_TestKeepAlive" value="false" />
- <property name="skip.batchtest_ResponseDecompression" value="false" />
- <property name="skip.test_https" value="false" />
- <property name="skip.test_http" value="false" />
- <property name="skip.test_TestDNSCacheManager.testWithCustomResolverAnd1Server" value="false" />
-
- <exec executable="hostname" outputproperty="computer.hostname"/>
-
- <target name="findbugs" description="Run the stand-alone Findbugs detector">
- <echoproperties prefix="findbugs"/>
- <mkdir dir="reports"/>
- <taskdef name="findbugs"
- classpath="${findbugs.homedir}/lib/findbugs-ant.jar"
- classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>
- <findbugs home="${findbugs.homedir}"
- output="xml:withMessages"
- reportlevel="${findbugs.level}"
- excludeFilter="fb-excludes.xml"
- jvmargs="-Xms512m -Xmx1024m"
- omitVisitors="InefficientStringBuffering"
- outputFile="${findbugs.outName}.xml" >
- <sourcePath path="${src.core}" />
- <sourcePath path="${src.http}" />
- <sourcePath path="${src.ftp}" />
- <sourcePath path="${src.java}" />
- <sourcePath path="${src.junit}" />
- <sourcePath path="${src.jdbc}" />
- <sourcePath path="${src.ldap}" />
- <sourcePath path="${src.mail}" />
- <sourcePath path="${src.components}" />
- <sourcePath path="${src.functions}" />
- <class location="${lib.dir}/jorphan.jar" />
- <class location="${dest.jar}/ApacheJMeter_components.jar"/>
- <class location="${dest.jar}/ApacheJMeter_components.jar"/>
- <class location="${dest.jar}/ApacheJMeter_core.jar"/>
- <class location="${dest.jar}/ApacheJMeter_ftp.jar"/>
- <class location="${dest.jar}/ApacheJMeter_functions.jar"/>
- <class location="${dest.jar}/ApacheJMeter_http.jar"/>
- <class location="${dest.jar}/ApacheJMeter_java.jar"/>
- <class location="${dest.jar}/ApacheJMeter_jdbc.jar"/>
- <class location="${dest.jar}/ApacheJMeter_jms.jar"/>
- <class location="${dest.jar}/ApacheJMeter_junit.jar"/>
- <class location="${dest.jar}/ApacheJMeter_ldap.jar"/>
- <class location="${dest.jar}/ApacheJMeter_mail.jar"/>
- <class location="${dest.jar}/ApacheJMeter_native.jar"/>
- <class location="${dest.jar}/ApacheJMeter_mongodb.jar"/>
- <class location="${dest.jar}/ApacheJMeter_tcp.jar"/>
- <class location="${dest.jar.jmeter}/ApacheJMeter.jar" />
- <sourcePath path="${src.jorphan}" />
- <sourcePath path="${src.tcp}" />
- <sourcePath path="${src.jms}" />
- <sourcePath path="${src.native}" />
- <sourcePath path="${src.mongodb}" />
-
- <auxClasspath>
- <fileset dir="${lib.dir}">
- <include name="*.jar"/>
- </fileset>
- </auxClasspath>
-
- <auxClasspath>
- <fileset dir="${lib.opt}">
- <include name="*.jar"/>
- </fileset>
- </auxClasspath>
-
- <auxClasspath>
- <fileset dir="${lib.api}">
- <include name="*.jar"/>
- </fileset>
- </auxClasspath>
-
- </findbugs>
- <antcall target="findbugs-style"/>
- <antcall target="findbugs-xsl"/>
- </target>
-
- <!-- Convert findbugs XML output to CSV -->
- <target name="findbugs-style">
- <xslt style="fb-csv.xsl"
- force="true"
- in="${findbugs.outName}.xml"
- out="${findbugs.outName}.csv">
- </xslt>
- </target>
-
- <!-- Convert findbugs XML output to HTML -->
- <target name="findbugs-xsl">
- <xslt style="${findbugs.xsldir}/${findbugs.xslname}.xsl"
- force="true"
- in="${findbugs.outName}.xml"
- out="${findbugs.outName}_${findbugs.xslname}.html">
- </xslt>
- </target>
-
- <!-- Where the Sources live -->
- <property name="src.dir" value="src"/>
- <property name="src.core" value="src/core"/>
- <property name="src.http" value="src/protocol/http"/>
- <property name="src.ftp" value="src/protocol/ftp"/>
- <property name="src.test" value="test/src"/>
- <property name="src.jdbc" value="src/protocol/jdbc"/>
- <property name="src.java" value="src/protocol/java"/>
- <property name="src.junit" value="src/junit"/>
- <property name="src.components" value="src/components"/>
- <property name="src.functions" value="src/functions"/>
- <property name="src.jorphan" value="src/jorphan"/>
- <property name="src.ldap" value="src/protocol/ldap"/>
- <property name="src.tcp" value="src/protocol/tcp"/>
- <property name="src.examples" value="src/examples"/>
- <property name="src.mail" value="src/protocol/mail"/>
- <property name="src.jms" value="src/protocol/jms"/>
- <property name="src.native" value="src/protocol/native"/>
- <property name="src.mongodb" value="src/protocol/mongodb"/>
-
- <!-- Where the documentation sources live -->
- <property name="src.docs" value="xdocs"/>
- <property name="src.css" value="xdocs/css"/>
- <property name="src.images" value="xdocs/images"/>
- <property name="src.demos" value="xdocs/demos"/>
-
- <!-- Javadoc sources -->
- <path id="srcpaths">
- <pathelement location="${src.core}"/>
- <pathelement location="${src.components}"/>
- <pathelement location="${src.functions}"/>
- <pathelement location="${src.http}"/>
- <pathelement location="${src.ftp}"/>
- <pathelement location="${src.jdbc}"/>
- <pathelement location="${src.java}"/>
- <pathelement location="${src.junit}"/>
- <pathelement location="${src.jorphan}"/>
- <pathelement location="${src.ldap}"/>
- <pathelement location="${src.tcp}"/>
- <pathelement location="${src.examples}"/>
- <pathelement location="${src.mail}"/>
- <pathelement location="${src.jms}"/>
- <pathelement location="${src.native}"/>
- <pathelement location="${src.mongodb}"/>
- </path>
-
- <!-- Temporary build directories: where the .class live -->
- <property name="build.dir" value="build"/>
- <property name="build.core" value="build/core"/>
- <property name="build.http" value="build/protocol/http"/>
- <property name="build.ftp" value="build/protocol/ftp"/>
- <property name="build.jdbc" value="build/protocol/jdbc"/>
- <property name="build.java" value="build/protocol/java"/>
- <property name="build.junit" value="build/junit"/>
- <property name="build.components" value="build/components"/>
- <property name="build.functions" value="build/functions"/>
- <property name="build.jorphan" value="build/jorphan"/>
- <property name="build.ldap" value="build/protocol/ldap"/>
- <property name="build.mail" value="build/protocol/mail"/>
- <property name="build.tcp" value="build/protocol/tcp"/>
- <property name="build.examples" value="build/examples"/>
- <property name="build.jms" value="build/protocol/jms"/>
- <property name="build.native" value="build/protocol/native"/>
- <property name="build.mongodb" value="build/protocol/mongodb"/>
- <property name="build.test" value="build/test"/>
- <property name="build.res" value="build/res"/>
- <property name="build.test-res" value="test/resources"/>
-
- <!-- Path prefix to allow Anakia to find stylesheets if running under Eclipse -->
- <!--
- Anakia looks for stylesheets relative to the java launch directory.
- Use the External Tools properties page to define the variable
- as the relative path to the directory where this build file is found.
- For example:
- eclipse.anakia=workspace/jmeter
-
- An alternative is to define it as a command-line argument on the Main page;
- this allows one to use a macro name, so is more portable.
- For example:
- -Declipse.anakia=workspace/${project_name}
- WARNING: you must ensure that you have selected a file or directory in
- the Navigator pane before attempting to run the build, or Eclipse will
- complain that it cannot resolve the variable name, and it can mark the
- launch configuration as having failed.
- -->
- <property name="eclipse.anakia" value="."/>
-
- <!-- Where the build result .jars will be placed -->
- <property name="dest.jar" value="lib/ext"/>
- <property name="dest.jar.jmeter" value="bin"/>
-
- <!-- Where the API documentation lives -->
- <property name="dest.docs.api" value="docs/api"/>
-
- <!-- Where the doc results live -->
- <property name="dest.docs" value="docs"/>
- <property name="dest.printable_docs" value="printable_docs"/>
-
- <!-- Whether to force docs to be rebuilt -->
- <property name="docs.force" value="false"/>
-
- <!-- Default is for Anakia to only rebuild if the target file is older than the source -->
- <condition property="anakia.lastModifiedCheck" value="true" else="false">
- <!-- docs.force uses the opposite sense to the anakia check -->
- <isfalse value="${docs.force}"/>
- </condition>
- <condition property="java9">
- <equals arg1="${ant.java.version}" arg2="9"/>
- </condition>
-
- <!-- Directory where jars needed for creating documentation live -->
- <property name="lib.doc" value="lib/doc"/>
-
- <!-- Directory where these 3rd party libraries live -->
- <property name="lib.dir" value="lib"/>
-
- <!-- Directory where API spec libraries live -->
- <property name="lib.api" value="lib/api"/>
-
- <!-- Directory where Optional 3rd party libraries live -->
- <property name="lib.opt" value="lib/opt"/>
-
- <!-- Directory where Jacoco libraries live -->
- <!-- I'm to lazy to fix this now, so I tag along with rat & checkstyle,
- which already live there. But: none of these should appear on the classpath
- of JMeter, neither runtime, nor compiletime. These are only required on the
- Ant classpath, so judging from comments elsewhere, this is the wrong place.
- -->
- <property name="lib.coverage" location="lib/opt"/>
-
- <!-- Other stuff -->
- <property name="extras.dir" value="extras"/>
-
- <!-- Some resources to add to jars -->
- <property name="res.dir" value="res"/>
-
- <!-- Where the distribution packages will be created -->
- <property name="dist.dir" value="dist"/>
-
- <!-- Where the Maven artifacts will be created -->
- <property name="maven.dir" value="${dist.dir}/maven"/>
-
- <!-- Where the Maven template poms are located -->
- <property name="maven.poms" value="res/maven"/>
-
- <!-- Compilation parameters -->
- <property name="optimize" value="on"/>
- <property name="deprecation" value="off"/>
- <property name="target.java.version" value="1.8"/>
- <property name="src.java.version" value="1.8"/>
- <property name="encoding" value="UTF-8"/>
- <!-- Set test encoding to the same default, but allow override -->
- <property name="test.encoding" value="${encoding}"/>
- <!-- Set javadoc encoding to the same default, but allow override -->
- <property name="javadoc.encoding" value="${encoding}"/>
- <property name="includeAntRuntime" value="false"/>
-
- <!-- 3rd party libraries to be included in the binary distribution -->
- <property file="build.properties"/> <!-- defines the library version numbers -->
-
- <property name="resources.meta-inf" value="${build.res}/META-INF"/>
-
- <patternset id="external.jars.notices">
- <include name="LICENSE"/>
- <include name="NOTICE"/>
- <include name="README.md"/>
- </patternset>
-
- <!-- Jars for binary release -->
- <patternset id="external.jars">
- <include name="${lib.dir}/${accessors-smart.jar}"/>
- <include name="${lib.dir}/${apache-bsf.jar}"/>
- <include name="${lib.dir}/${asm.jar}"/>
- <include name="${lib.dir}/${beanshell.jar}"/>
- <include name="${lib.dir}/${dec.jar}"/>
- <include name="${lib.dir}/${caffeine.jar}"/>
- <include name="${lib.dir}/${commons-codec.jar}"/>
- <include name="${lib.dir}/${commons-collections.jar}"/>
- <include name="${lib.dir}/${commons-dbcp2.jar}"/>
- <include name="${lib.dir}/${commons-io.jar}"/>
- <include name="${lib.dir}/${commons-jexl2.jar}"/>
- <include name="${lib.dir}/${commons-jexl3.jar}"/>
- <include name="${lib.dir}/${commons-lang3.jar}"/>
- <include name="${lib.dir}/${commons-math3.jar}"/>
- <include name="${lib.dir}/${commons-net.jar}"/>
- <include name="${lib.dir}/${commons-pool2.jar}"/>
- <include name="${lib.dir}/${commons-text.jar}"/>
- <include name="${lib.dir}/${darcula.jar}"/>
- <include name="${lib.dir}/${dnsjava.jar}"/>
- <include name="${lib.dir}/${freemarker.jar}"/>
- <include name="${lib.dir}/${groovy-all.jar}"/>
- <include name="${lib.dir}/${hamcrest-core.jar}"/>
- <include name="${lib.dir}/${hamcrest-date.jar}"/>
- <include name="${lib.dir}/${httpclient.jar}"/>
- <include name="${lib.dir}/${httpasyncclient.jar}"/>
- <include name="${lib.dir}/${httpcore.jar}"/>
- <include name="${lib.dir}/${httpcore-nio.jar}"/>
- <include name="${lib.dir}/${httpmime.jar}"/>
- <include name="${lib.dir}/${jakarta-oro.jar}"/>
- <include name="${lib.dir}/${jackson-annotations.jar}"/>
- <include name="${lib.dir}/${jackson-core.jar}"/>
- <include name="${lib.dir}/${jackson-databind.jar}"/>
- <include name="${lib.dir}/${javamail.jar}"/>
- <include name="${lib.dir}/${jcharts.jar}"/>
- <include name="${lib.dir}/${jcl-over-slf4j.jar}"/>
- <include name="${lib.dir}/${jms.jar}"/>
- <include name="${lib.dir}/${rhino.jar}"/>
- <include name="${lib.dir}/${javax.activation.jar}"/>
- <include name="${lib.dir}/${javax.activation-api.jar}"/>
- <include name="${lib.dir}/${jodd-core.jar}"/>
- <include name="${lib.dir}/${jodd-lagarto.jar}"/>
- <include name="${lib.dir}/${jodd-log.jar}"/>
- <include name="${lib.dir}/${jodd-props.jar}"/>
- <include name="${lib.dir}/${json-path.jar}"/>
- <include name="${lib.dir}/${json-smart.jar}"/>
- <include name="${lib.dir}/${jsoup.jar}"/>
- <include name="${lib.dir}/${junit.jar}"/>
- <include name="${lib.dir}/${log4j-1.2-api.jar}"/>
- <include name="${lib.dir}/${log4j-core.jar}"/>
- <include name="${lib.dir}/${log4j-slf4j-impl.jar}"/>
- <include name="${lib.dir}/${mongo-java-driver.jar}"/>
- <include name="${lib.dir}/${ph-css.jar}"/>
- <include name="${lib.dir}/${ph-commons.jar}"/>
- <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
- <include name="${lib.dir}/${serializer.jar}"/>
- <include name="${lib.dir}/${slf4j-api.jar}"/>
- <include name="${lib.dir}/${log4j-api.jar}"/>
- <include name="${lib.dir}/${jtidy.jar}"/>
- <include name="${lib.dir}/${tika-core.jar}"/>
- <include name="${lib.dir}/${tika-parsers.jar}"/>
- <include name="${lib.dir}/${xalan.jar}"/>
- <include name="${lib.dir}/${Saxon-HE.jar}"/>
- <include name="${lib.dir}/${xerces.jar}"/>
- <include name="${lib.dir}/${xml-apis.jar}"/>
- <include name="${lib.dir}/${xmlgraphics-commons.jar}"/>
- <include name="${lib.dir}/${xmlpull.jar}"/>
- <include name="${lib.dir}/${xpp3.jar}"/>
- <include name="${lib.dir}/${xstream.jar}"/>
- </patternset>
-
- <!--
- Optional jars, not included in distribution.
- Any such jars need to be downloaded separately.
- These can be put into ${lib.dir} or ${lib.opt}
- - both of these are included in the build classpath
-
- Any jars put into ${lib.dir} will be included in
- the classpath used by JMeter to load classes.
- Jars in ${lib.opt} are NOT normally included by JMeter.
-
- Placing an optional jar in ${lib.opt} means that it
- will be included in the build classpath, but it will
- not be included in the runtime classpath. This is intended
- for testing JMeter without the optional Jar file(s).
- -->
-
- <!-- Build classpath (includes the optional jar directory) -->
- <path id="classpath">
- <!-- Externally produced jars -->
- <pathelement location="${lib.dir}/${accessors-smart.jar}"/>
- <pathelement location="${lib.dir}/${apache-bsf.jar}"/>
- <pathelement location="${lib.dir}/${asm.jar}"/>
- <pathelement location="${lib.dir}/${beanshell.jar}"/>
- <pathelement location="${lib.dir}/${dec.jar}"/>
- <pathelement location="${lib.dir}/${caffeine.jar}"/>
- <pathelement location="${lib.dir}/${commons-codec.jar}"/>
- <pathelement location="${lib.dir}/${commons-collections.jar}"/>
- <pathelement location="${lib.dir}/${commons-dbcp2.jar}"/>
- <pathelement location="${lib.dir}/${commons-io.jar}"/>
- <pathelement location="${lib.dir}/${commons-jexl2.jar}"/>
- <pathelement location="${lib.dir}/${commons-jexl3.jar}"/>
- <pathelement location="${lib.dir}/${commons-lang3.jar}"/>
- <pathelement location="${lib.dir}/${commons-math3.jar}"/>
- <pathelement location="${lib.dir}/${commons-net.jar}"/>
- <pathelement location="${lib.dir}/${commons-pool2.jar}"/>
- <pathelement location="${lib.dir}/${commons-text.jar}"/>
-<!--
- <pathelement location="${lib.dir}/${darcula.jar}"/>
--->
- <pathelement location="${lib.dir}/${dnsjava.jar}"/>
- <pathelement location="${lib.dir}/${freemarker.jar}"/>
- <pathelement location="${lib.dir}/${groovy-all.jar}"/>
- <pathelement location="${lib.dir}/${hamcrest-core.jar}"/>
- <pathelement location="${lib.dir}/${hamcrest-date.jar}"/>
- <pathelement location="${lib.dir}/${httpclient.jar}"/>
- <pathelement location="${lib.dir}/${httpasyncclient.jar}"/>
- <pathelement location="${lib.dir}/${httpcore.jar}"/>
- <pathelement location="${lib.dir}/${httpcore-nio.jar}"/>
- <pathelement location="${lib.dir}/${httpmime.jar}"/>
- <pathelement location="${lib.dir}/${jakarta-oro.jar}"/>
- <pathelement location="${lib.dir}/${jackson-annotations.jar}"/>
- <pathelement location="${lib.dir}/${jackson-core.jar}"/>
- <pathelement location="${lib.dir}/${jackson-databind.jar}"/>
- <pathelement location="${lib.dir}/${javamail.jar}"/>
- <pathelement location="${lib.dir}/${jcharts.jar}"/>
- <pathelement location="${lib.dir}/${jms.jar}"/>
- <pathelement location="${lib.dir}/${rhino.jar}"/>
- <pathelement location="${lib.dir}/${javax.activation.jar}"/>
- <pathelement location="${lib.dir}/${javax.activation-api.jar}"/>
- <pathelement location="${lib.dir}/${jodd-core.jar}"/>
- <pathelement location="${lib.dir}/${jodd-lagarto.jar}"/>
- <pathelement location="${lib.dir}/${jodd-log.jar}"/>
- <pathelement location="${lib.dir}/${jodd-props.jar}"/>
- <pathelement location="${lib.dir}/${json-path.jar}"/>
- <pathelement location="${lib.dir}/${json-smart.jar}"/>
- <pathelement location="${lib.dir}/${jsoup.jar}"/>
- <pathelement location="${lib.dir}/${junit.jar}"/>
- <pathelement location="${lib.dir}/${log4j-1.2-api.jar}"/>
- <pathelement location="${lib.dir}/${log4j-core.jar}"/>
- <pathelement location="${lib.dir}/${log4j-slf4j-impl.jar}"/>
- <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
- <pathelement location="${lib.dir}/${ph-css.jar}"/>
- <pathelement location="${lib.dir}/${ph-commons.jar}"/>
- <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
- <pathelement location="${lib.dir}/${serializer.jar}"/>
- <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
- <pathelement location="${lib.dir}/${spock-core.jar}"/>
- <pathelement location="${lib.dir}/${cglib-nodep.jar}"/>
- <pathelement location="${lib.dir}/${objenesis.jar}"/>
- <pathelement location="${lib.dir}/${jtidy.jar}"/>
- <pathelement location="${lib.dir}/${tika-core.jar}"/>
- <pathelement location="${lib.dir}/${tika-parsers.jar}"/>
- <pathelement location="${lib.dir}/${xalan.jar}"/>
- <pathelement location="${lib.dir}/${Saxon-HE.jar}"/>
- <pathelement location="${lib.dir}/${xerces.jar}"/>
- <pathelement location="${lib.dir}/${xml-apis.jar}"/>
- <pathelement location="${lib.dir}/${xmlgraphics-commons.jar}"/>
- <pathelement location="${lib.dir}/${xmlpull.jar}"/>
- <pathelement location="${lib.dir}/${xpp3.jar}"/>
- <pathelement location="${lib.dir}/${xstream.jar}"/>
- <!-- Generated jars -->
- <fileset dir="${lib.dir}" includes="jorphan.jar"/>
- <!-- bshclient is needed to prevent occasional test failures in TestClassFinder -->
- <fileset dir="${lib.dir}" includes="bshclient.jar"/>
- <!-- API-only jars-->
- <fileset dir="${lib.api}" includes="*.jar"/>
- <!-- Optional jars -->
- <fileset dir="${lib.opt}" includes="*.jar"/>
- </path>
-
- <!-- Logging classpath -->
- <path id="logging.classpath">
- <pathelement location="${lib.dir}/${jcl-over-slf4j.jar}"/>
- <pathelement location="${lib.dir}/${log4j-api.jar}"/>
- <pathelement location="${lib.dir}/${log4j-core.jar}"/>
- <pathelement location="${lib.dir}/${log4j-1.2-api.jar}"/>
- <pathelement location="${lib.dir}/${log4j-slf4j-impl.jar}"/>
- </path>
-
- <!-- Anakia classpath -->
- <path id="anakia.classpath">
- <pathelement location="${lib.doc}/${velocity.jar}"/>
- <pathelement location="${lib.doc}/${jdom.jar}"/>
- <pathelement location="${lib.dir}/${commons-collections.jar}"/>
- <pathelement location="${lib.doc}/${commons-lang.jar}"/>
- </path>
-
- <!-- Version info filter set -->
- <tstamp>
- <format property="year" pattern="yyyy" locale="en"/>
- </tstamp>
-
- <filterset id="year.filters">
- <filter token="YEAR" value="${year}"/>
- </filterset>
-
-
- <target name="init-version">
- <tstamp/>
- <!--
- JMeter version
- This is overridden for formal releases.
- -->
- <property name="jmeter.version" value="5.2-SNAPSHOT"/>
- <!-- Remember to change "docversion" below if necessary -->
- <condition property="implementation.version"
- value="${jmeter.version} r${svn.revision}" else="${jmeter.version}.${DSTAMP}">
- <isset property="svn.revision"/>
- </condition>
- <property name="display.version" value="${implementation.version}"/>
- <echo level="info">jmeter.version = ${jmeter.version}</echo>
- <echo level="info">display.version = ${display.version}</echo>
- <echo level="info">implementation.version = ${implementation.version}</echo>
- <filterset id="version.filters">
- <filter token="VERSION" value="${display.version}"/>
- </filterset>
- </target>
-
- <!-- Get version from SVN status -->
- <target name="init-svnVersion" depends="svnCheck">
- <fail message="Could not get SVN revision" unless="svn.revision"/>
- <property name="jmeter.version" value="r${svn.revision}"/>
- <!-- Copy the value to avoid duplication of revision in Manifests -->
- <property name="implementation.version" value="${jmeter.version}"/>
- <property name="display.version" value="${jmeter.version}"/>
- <echo level="info">svn.revision = ${svn.revision}</echo>
- <echo level="info">jmeter.version = ${jmeter.version}</echo>
- <echo level="info">display.version = ${display.version}</echo>
- <echo level="info">implementation.version = ${implementation.version}</echo>
- </target>
-
- <target name="ant-version" depends="_check_ant-version">
- <echo level="info">ant.version = ${ant.version}</echo>
- <echo level="info">java.version = ${ant.java.version}</echo>
- </target>
-
- <target name="_check_ant-version">
- <antversion property="version.running" />
- <fail message="FATAL ERROR: The running Ant version, ${version.running}, is too old for this task.">
- <condition>
- <not>
- <antversion atleast="${ant.version.required}" />
- </not>
- </condition>
- </fail>
- </target>
-
- <target name="init-docs" depends="report-anakia-missing">
- <echo level="info">eclipse.anakia = ${eclipse.anakia}</echo>
- </target>
-
- <!--
- - Check for anakia task
- -->
- <target name="check-anakia">
- <available classpathref="anakia.classpath" classname="org.apache.velocity.anakia.AnakiaTask" property="AnakiaTask.present"/>
- <!-- Check for Velocity version 1.5 -->
- <available classpathref="anakia.classpath" classname="org.apache.velocity.io.UnicodeInputStream" property="velocity.version.15"/>
- <antcall target="report-old-velocity"></antcall>
- </target>
-
- <target name="report-anakia-missing" depends="check-anakia" unless="AnakiaTask.present">
- <echo>
- AnakiaTask is not present, documentation will not be generated.
- </echo>
- </target>
-
- <target name="report-old-velocity" unless="velocity.version.15" if="AnakiaTask.present">
- <echo>
- Velocity version appears to be older than 1.5: the documentation may be generated with incorrect line endings.
- </echo>
- </target>
-
- <target name="compile-core" depends="compile-jorphan" description="Compile JMeter core classes.">
- <mkdir dir="${build.core}"/>
- <javac srcdir="${src.core}" destdir="${build.core}" optimize="${optimize}" source="${src.java.version}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${lib.dir}/${log4j-core.jar}"/>
- <path refid="classpath"/>
- <path refid="logging.classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.core}" dest="${build.core}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-components" depends="compile-jorphan,compile-core" description="Compile generic (protocol-independent) components.">
- <mkdir dir="${build.components}"/>
- <javac srcdir="${src.components}" destdir="${build.components}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <exclude name="**/visualizers/RenderInBrowser.java" unless="javafx.present"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.components}" dest="${build.components}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-functions" depends="compile-jorphan,compile-core" description="Compile functions.">
- <mkdir dir="${build.functions}"/>
- <javac srcdir="${src.functions}" destdir="${build.functions}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.functions}" dest="${build.functions}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-http" depends="compile-jorphan,compile-core,compile-components" description="Compile components specific to HTTP sampling.">
- <mkdir dir="${build.http}"/>
- <!-- Directory needs to exist, or jar will fail -->
- <javac srcdir="${src.http}" destdir="${build.http}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <pathelement location="${build.components}"/>
- <path refid="classpath"/>
- <pathelement location="${lib.dir}/${jcl-over-slf4j.jar}"/>
- <pathelement location="${lib.dir}/${log4j-api.jar}"/>
- <pathelement location="${lib.dir}/${log4j-core.jar}"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.http}" dest="${build.http}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <!-- Tests need main classes -->
- <target name="compile-tests" depends="compile" description="Compile test components">
- <mkdir dir="${build.test}"/>
- <javac srcdir="${src.test}" destdir="${build.test}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <pathelement location="${build.components}"/>
- <pathelement location="${build.http}"/>
- <pathelement location="${build.ftp}"/>
- <pathelement location="${build.functions}"/>
- <pathelement location="${build.java}"/>
- <pathelement location="${build.jdbc}"/>
- <pathelement location="${build.jms}"/>
- <pathelement location="${build.ldap}"/>
- <pathelement location="${build.mail}"/>
- <pathelement location="${build.mongodb}"/>
- <pathelement location="${build.native}"/>
- <pathelement location="${build.tcp}"/>
- <!-- Also include compiled jars to allow running tests without rebuilding source -->
- <fileset dir="${dest.jar}" includes="*.jar"/>
- <path refid="classpath"/>
- <path refid="logging.classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.test}" dest="${build.test}" includes="**/*.properties" encoding="UTF-8"/>
-
- <!-- Compile Spock tests (groovy) -->
- <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
- <classpath>
- <fileset dir="${lib.dir}" includes="*.jar"/>
- </classpath>
- </taskdef>
- <groovyc srcdir="${src.test}" destdir="${build.test}" encoding="${encoding}" listfiles="true">
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <pathelement location="${build.components}"/>
- <pathelement location="${build.http}"/>
- <pathelement location="${build.ftp}"/>
- <pathelement location="${build.functions}"/>
- <pathelement location="${build.java}"/>
- <pathelement location="${build.jdbc}"/>
- <pathelement location="${build.ldap}"/>
- <pathelement location="${build.mail}"/>
- <pathelement location="${build.tcp}"/>
- <!-- Include compiled jars to allow running tests without rebuilding source -->
- <fileset dir="${dest.jar}" includes="*.jar"/>
- <path refid="classpath"/>
- </classpath>
- <!-- Compile JUnit tests (Java) -->
- <javac source="${src.java.version}" debug="on" target="${target.java.version}"
- deprecation="${deprecation}" encoding="${encoding}">
- </javac>
- </groovyc>
- </target>
-
- <target name="compile-ftp" depends="compile-jorphan,compile-core" description="Compile components specific to FTP sampling.">
- <mkdir dir="${build.ftp}"/>
- <javac srcdir="${src.ftp}" destdir="${build.ftp}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.ftp}" dest="${build.ftp}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-jdbc" depends="compile-jorphan,compile-core" description="Compile components specific to JDBC sampling.">
- <mkdir dir="${build.jdbc}"/>
- <javac srcdir="${src.jdbc}" destdir="${build.jdbc}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.jdbc}" dest="${build.jdbc}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-ldap" depends="compile-jorphan,compile-core"
- description="Compile components specific to LDAP sampling.">
- <mkdir dir="${build.ldap}"/>
- <javac srcdir="${src.ldap}" destdir="${build.ldap}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.ldap}" dest="${build.ldap}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="create-mail-dir">
- <mkdir dir="${build.mail}"/>
- </target>
-
- <target name="compile-mail" depends="compile-jorphan,compile-core,create-mail-dir"
- description="Compile components specific to IMAP and POP3 sampling.">
- <javac srcdir="${src.mail}" destdir="${build.mail}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.mail}" dest="${build.mail}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-java" depends="compile-jorphan,compile-core" description="Compile components specific to Java sampling.">
- <mkdir dir="${build.java}"/>
- <javac srcdir="${src.java}" destdir="${build.java}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.java}" dest="${build.java}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-junit" depends="compile-jorphan,compile-core" description="Compile components specific to JUnit sampling.">
- <mkdir dir="${build.junit}"/>
- <javac srcdir="${src.junit}" destdir="${build.junit}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.junit}" dest="${build.junit}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-tcp" depends="compile-jorphan,compile-core" description="Compile components specific to TCP sampling.">
- <mkdir dir="${build.tcp}"/>
- <javac srcdir="${src.tcp}" destdir="${build.tcp}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.tcp}" dest="${build.tcp}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-protocols" depends="compile-http,compile-ftp,compile-jdbc,compile-java,compile-ldap,compile-mail,compile-tcp" description="Compile all protocol-specific components."/>
-
- <target name="compile-examples" depends="compile-jorphan,compile-core" description="Compile example components.">
- <mkdir dir="${build.examples}"/>
- <javac srcdir="${src.examples}" destdir="${build.examples}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.examples}" dest="${build.examples}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-jorphan" depends="init-version" description="Compile JOrphan utility classes.">
- <mkdir dir="${build.jorphan}"/>
- <javac srcdir="${src.jorphan}" destdir="${build.jorphan}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.jorphan}" dest="${build.jorphan}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-jms" depends="compile-jorphan,compile-core,compile-components"
- description="Compile components specific to JMS sampling.">
- <mkdir dir="${build.jms}"/>
- <javac srcdir="${src.jms}" destdir="${build.jms}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.jms}" dest="${build.jms}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-native" depends="compile-jorphan,compile-core,compile-components"
- description="Compile components specific to Native sampling.">
- <mkdir dir="${build.native}"/>
- <javac srcdir="${src.native}" destdir="${build.native}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.native}" dest="${build.native}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile-mongodb" depends="compile-jorphan,compile-core,compile-components"
- description="Compile components specific to MongoDB sampling.">
- <mkdir dir="${build.mongodb}"/>
- <javac srcdir="${src.mongodb}" destdir="${build.mongodb}" source="${src.java.version}" optimize="${optimize}" debug="on" target="${target.java.version}"
- includeAntRuntime="${includeAntRuntime}" deprecation="${deprecation}" encoding="${encoding}">
- <include name="**/*.java"/>
- <classpath>
- <pathelement location="${build.jorphan}"/>
- <pathelement location="${build.core}"/>
- <path refid="classpath"/>
- </classpath>
- </javac>
-
- <!-- Convert the message files from UTF-8 to ASCII. This can be removed
- after upgrading to Java 9+ as the minimum JRE and specifying the encoding
- when loading the ResourceBundles -->
- <native2ascii src="${src.mongodb}" dest="${build.mongodb}" includes="**/*.properties" encoding="UTF-8"/>
- </target>
-
- <target name="compile"
- depends="_message_3rdParty,compile-core,compile-components,compile-functions,compile-protocols,compile-junit,compile-jms,compile-native, compile-mongodb"
- description="Compile everything."/>
-
- <target name="run_gui" depends="package" description="Run the JMeter GUI off the jar files">
- <condition property="jacoco_params" value="${jacocoagent}" else="-Djacoco_dummy=">
- <isset property="jacocoagent"/>
- </condition>
- <java classname="org.apache.jmeter.NewDriver" fork="true">
- <classpath>
- <pathelement location="${dest.jar.jmeter}/ApacheJMeter.jar"/>
- </classpath>
- <jvmarg value="-Xss256k"/>
- <jvmarg value="-XX:MaxMetaspaceSize=256m"/>
- <jvmarg value="${jacoco_params}run_gui:java(server)"/>
- <sysproperty key="jmeter.home" value="${basedir}"/>
- </java>
- </target>
-
- <target name="package" depends="compile, prepare-resources, package-only"
- description="Compile everything and create the jars"/>
-
- <target name="package-and-check" depends="clean, download_jars, package, checkstyle, rat"
- description="Compile, create jars and apply checkstyle before committing code"/>
-
- <target name="prepare-resources"
- description="Prepare some resources files, update date">
- <mkdir dir="${build.res}" />
- <mkdir dir="${resources.meta-inf}" />
- <copy todir="${resources.meta-inf}" overwrite="yes" filtering="yes"
- encoding="${encoding}">
- <filterset refid="year.filters"/>
- <filterset refid="version.filters" />
- <fileset dir="${res.dir}/META-INF" >
- <include name="*.license" />
- <include name="*.notice" />
- <include name="jmeter_as_ascii_art.txt" />
- </fileset>
- </copy>
- <fixcrlf encoding="${encoding}" srcdir="${resources.meta-inf}" eol="crlf" includes="*.license *.notice"/>
- </target>
-
-<!--
-N.B. Eclipse (and perhaps other Java IDEs) copies all files to the build directory, unless
-told otherwise. This means that there might be copies of property and image files in the
-build directory. To avoid including the files twice in the jar file, we include only .class
-files in the list of files to be processed from the build tree.
-
-Eclipse has been fixed so that it no longer shows files in the build tree in the Open Resource dialogue,
-so having duplicates in the build tree no longer causes confusion.
-
-Note: if built from Eclipse, the build directory will include resources and images,
-and Eclipse will thus be able to run JMeter from the default path.
-
-If built using Ant, the build tree will not contain any resources, and thus Eclipse will not be able to
-run JMeter unless all the JMeter jars are added.
-
--->
- <target name="package-only" description="Package already-compiled classes (shortcut for IDE users)">
- <manifest file="${build.dir}/MANIFEST_BIN.MF">
- <attribute name="Built-By" value="${user.name}"/>
- <attribute name="Extension-Name" value=" JMeter"/>
- <attribute name="Specification-Title" value=" Apache JMeter"/>
- <attribute name="Specification-Vendor" value=" Apache Software Foundation"/>
- <attribute name="Implementation-Vendor" value=" Apache Software Foundation"/>
- <attribute name="Implementation-Vendor-Id" value=" org.apache"/>
- <attribute name="Implementation-Version" value="${implementation.version}"/>
- <attribute name="X-Compile-Source-JDK" value="${src.java.version}"/>
- <attribute name="X-Compile-Target-JDK" value="${target.java.version}"/>
- </manifest>
-
- <manifest file="${build.dir}/MANIFEST_SRC.MF">
- <attribute name="Built-By" value="${user.name}"/>
- <attribute name="Extension-Name" value=" JMeter"/>
- <attribute name="Specification-Title" value=" Apache JMeter"/>
- <attribute name="Specification-Vendor" value=" Apache Software Foundation"/>
- <attribute name="Implementation-Vendor" value=" Apache Software Foundation"/>
- <attribute name="Implementation-Vendor-Id" value=" org.apache"/>
- <attribute name="Implementation-Version" value="${implementation.version}"/>
- </manifest>
-
- <mkdir dir="${dest.jar}"/>
-
- <!-- perhaps ought to include a basic jmeter.properties file in one of the jars,
- given that JMeterUtils looks for it if it cannot find the external one
- - otherwise, change utils to ignore it -->
-
- <!-- JMeter launch jar -->
- <jar jarfile="${dest.jar.jmeter}/ApacheJMeter.jar"
- includes="**/NewDriver*,**/DynamicClassLoader*,**/ShutdownClient.class"
- basedir="${build.core}"
- manifest="${build.dir}/MANIFEST_BIN.MF">
- <manifest>
- <attribute name="Main-Class" value="org.apache.jmeter.NewDriver"/>
- </manifest>
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <zipfileset file="${resources.meta-inf}/jmeter_as_ascii_art.txt"
- fullpath="org/apache/jmeter/jmeter_as_ascii_art.txt" />
- </jar>
-
- <!-- core -->
- <jar jarfile="${dest.jar}/ApacheJMeter_core.jar"
- manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <!-- add license details for images -->
- <zipfileset file="licenses/src/openiconlibrary.txt"
- fullpath="META-INF/LICENSE-openiconlibrary.txt" />
- <!-- Only include class files from build tree - see above -->
- <fileset dir="${build.core}" includes="**/*.class"
- excludes="**/BeanShellClient*.class,**/NewDriver*,**/DynamicClassLoader*,**/ShutdownClient.class"/>
- <fileset dir="${src.core}" includes="org/apache/jmeter/images/**"
- excludes="**/*.properties,org/apache/jmeter/images/toolbar/icons-custom/**"/>
- <fileset dir="${build.core}" includes="**/*.properties">
- <exclude name="*eucJP*"/>
- </fileset>
- <fileset dir="${src.core}" includes="**/*.xml" />
- <fileset dir="${src.core}" includes="**/*.xsl" />
- <fileset dir="${src.core}" includes="**/*.dtd" />
- <!-- This file is used by the jmeter -h option -->
- <fileset dir="${src.core}" includes="org/apache/jmeter/help.txt"/>
- </jar>
-
- <!-- components -->
- <jar jarfile="${dest.jar}/ApacheJMeter_components.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.components}" includes="**/*.class" />
- <fileset dir="${build.components}" includes="**/*.properties" />
- </jar>
-
- <!-- functions -->
- <jar jarfile="${dest.jar}/ApacheJMeter_functions.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.functions}" includes="**/*.class" />
- <fileset dir="${build.functions}" includes="**/*.properties" />
- </jar>
-
- <!-- http -->
- <jar jarfile="${dest.jar}/ApacheJMeter_http.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.http}" includes="**/*.class"/>
- <fileset dir="${build.http}" includes="**/*.properties" />
- </jar>
-
- <!-- ftp -->
- <jar jarfile="${dest.jar}/ApacheJMeter_ftp.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.ftp}" includes="**/*.class" />
- <fileset dir="${build.ftp}" includes="**/*.properties" />
- </jar>
-
- <!-- jdbc -->
- <jar jarfile="${dest.jar}/ApacheJMeter_jdbc.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.jdbc}" includes="**/*.class" />
- <fileset dir="${build.jdbc}" includes="**/*.properties" />
- </jar>
-
- <!-- java -->
- <jar jarfile="${dest.jar}/ApacheJMeter_java.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.java}" includes="**/*.class" />
- <fileset dir="${build.java}" includes="**/*.properties" />
- </jar>
-
- <!-- BeanShell Client -->
- <jar jarfile="${lib.dir}/bshclient.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <manifest>
- <attribute name="Main-Class" value="org.apache.jmeter.util.BeanShellClient"/>
- </manifest>
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.core}" includes="**/BeanShellClient*.class" />
- </jar>
-
- <!-- junit -->
- <jar jarfile="${dest.jar}/ApacheJMeter_junit.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.junit}" includes="org/**/*.class" />
- <fileset dir="${build.junit}" includes="**/*.properties" />
- </jar>
-
- <!-- Build junit/test.jar sample -->
- <jar jarfile="${lib.dir}/junit/test.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.junit}" excludes="org/**/*" />
- <fileset dir="${src.junit}" excludes="org/**/*" />
- </jar>
-
- <!-- ldap -->
- <jar jarfile="${dest.jar}/ApacheJMeter_ldap.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.ldap}" includes="**/*.class" />
- <fileset dir="${build.ldap}" includes="**/*.properties" />
- </jar>
-
- <!-- mail -->
- <jar jarfile="${dest.jar}/ApacheJMeter_mail.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.mail}" includes="**/*.class" />
- <fileset dir="${build.mail}" includes="**/*.properties" />
- <fileset dir="${src.mail}" includes="**/*.providers" />
- </jar>
-
- <!-- tcp -->
- <jar jarfile="${dest.jar}/ApacheJMeter_tcp.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.tcp}" includes="**/*.class" />
- <fileset dir="${build.tcp}" includes="**/*.properties" />
- </jar>
-
- <!-- jms -->
- <!-- Ensure that build dir exists, even if JMS has not been built -->
- <mkdir dir="${build.jms}"/>
- <jar jarfile="${dest.jar}/ApacheJMeter_jms.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.jms}" includes="**/*.class" />
- <fileset dir="${build.jms}" includes="**/*.properties" />
- </jar>
-
- <!-- native -->
- <!-- Ensure that build dir exists, even if Native has not been built -->
- <mkdir dir="${build.native}"/>
- <jar jarfile="${dest.jar}/ApacheJMeter_native.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.native}" includes="**/*.class" />
- <fileset dir="${build.native}" includes="**/*.properties" />
- </jar>
-
- <!-- mongodb -->
- <!-- Ensure that build dir exists, even if MongoDB has not been built -->
- <mkdir dir="${build.mongodb}"/>
- <jar jarfile="${dest.jar}/ApacheJMeter_mongodb.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.mongodb}" includes="**/*.class" />
- <fileset dir="${build.mongodb}" includes="**/*.properties" />
- </jar>
-
- <jar jarfile="${lib.dir}/jorphan.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.jorphan}" includes="**/*.class"/>
- <fileset dir="${build.jorphan}" includes="**/*.properties"/>
- </jar>
- </target>
-
- <!-- Check the Ant version -->
- <available property="Ant-1.8.0-or-later" classname="org.apache.tools.ant.taskdefs.Local"/>
- <fail message="This build requires Ant 1.8.0 or later" unless="Ant-1.8.0-or-later"/>
-
- <!-- Check that the 3rd party libraries are present -->
- <target name="_check_3rdparty">
- <condition property="3rdparty.present">
- <and>
- <!-- No need to check all jars; just check a few -->
- <available classpathref="classpath" classname="org.apache.bsf.BSFEngine"/>
- <available classpathref="classpath" classname="com.thoughtworks.xstream.XStream"/>
- </and>
- </condition>
- </target>
-
- <target name="_message_3rdParty" depends="_check_3rdparty" unless="3rdparty.present">
- <echo>Cannot find all the required 3rd party libraries.</echo>
- <echo>If building from a release, you can get most of them from the binary archive.</echo>
- <echo>Use "ant download_jars" to download any missing jars.</echo>
- <fail message="Cannot find required classes"/>
- </target>
-
- <target name="setup-eclipse-project" description="Setup eclipse project to contribute to JMeter">
- <echo>Creating eclipse project</echo>
- <copy overwrite="false" file="eclipse.project" tofile=".project" />
- <copy overwrite="false" file="eclipse.classpath" tofile=".classpath"/>
- <input message="Next step will download dependencies for JMeter, do you agree with the download ?" addproperty="do.download" validargs="y,n"/>
- <condition property="do.abort">
- <equals arg1="n" arg2="${do.download}"/>
- </condition>
- <fail message="You didn't agree to download dependencies, ensure you call Ant target 'download_jars when importing project" if="do.abort"/>
- <echo>Downloading dependencies</echo>
- <antcall target="download_jars" />
- <echo>Project has been successfully created, you can now import it in Eclipse using Right click > Import > Existing projects into Workspace</echo>
- </target>
-
- <target name="install" depends="package,docs-printable" description="Install JMeter. (Compiles code and creates jars)">
- <fixcrlf encoding="${encoding}" srcdir="." eol="lf" includes="bin/*.sh bin/jmeter bin/jmeter-server bin/mirror-server"/>
- <chmod perm="+x" dir="." includes="${dist.executables}"/>
- </target>
-
- <target name="install-examples" depends="compile-examples" description="Build and installs the example components.">
- <jar jarfile="${dest.jar}/ApacheJMeter_examples.jar" manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.examples}" includes="**/*.class" />
- <fileset dir="${build.examples}" includes="**/*.properties" />
- </jar>
- </target>
-
- <!-- lists of files needed for a binary distribution (excluding library files) -->
- <!-- Source files also needed at runtime -->
- <patternset id="dist.common.native">
- <include name="${dest.jar.jmeter}/BeanShell*.bshrc"/>
- <include name="${dest.jar.jmeter}/jaas.conf"/>
- <include name="${dest.jar.jmeter}/krb5.conf"/>
- <include name="${dest.jar.jmeter}/hc.parameters"/>
- <include name="${dest.jar.jmeter}/jmeter.properties"/>
- <include name="${dest.jar.jmeter}/log4j2.xml"/>
- <include name="${dest.jar.jmeter}/reportgenerator.properties"/>
- <include name="${dest.jar.jmeter}/upgrade.properties"/>
- <include name="${dest.jar.jmeter}/saveservice.properties"/>
- <include name="${dest.jar.jmeter}/users.dtd"/>
- <include name="${dest.jar.jmeter}/users.xml"/>
- <!-- Sample override properties files -->
- <include name="${dest.jar.jmeter}/httpclient.parameters"/>
- <include name="${dest.jar.jmeter}/system.properties"/>
- <include name="${dest.jar.jmeter}/user.properties"/>
- <!-- Exclude any files that might be present from testing the release -->
- <exclude name="${dest.jar.jmeter}/*.log"/>
- <exclude name="${dest.jar.jmeter}/rmi_keystore.jks"/>
- <include name="${dest.jar.jmeter}/examples/**"/>
- <include name="${dest.jar.jmeter}/templates/*.dtd"/>
- <!-- report-templates files which need to have native eol -->
- <include name="${dest.jar.jmeter}/report-template/README.TXT"/>
- <include name="${dest.jar.jmeter}/report-template/**/*.fmkr"/>
- <include name="${dest.jar.jmeter}/report-template/content/**/*.css"/>
- <include name="${dest.jar.jmeter}/report-template/content/**/*.js"/>
- <!-- JMX files are in the non-native section -->
- <exclude name="${dest.jar.jmeter}/examples/*.jmx"/>
- <include name="${extras.dir}/**"/>
- <!-- Binary file types -->
- <exclude name="${extras.dir}/*.jar"/>
- <exclude name="${extras.dir}/*.jpg"/>
- <exclude name="${extras.dir}/*.png"/>
- <!-- File types that need to retain their EOL setting -->
- <exclude name="${extras.dir}/*.jmx"/>
- <exclude name="${extras.dir}/*.cmd"/>
- <exclude name="${extras.dir}/*.sh"/>
- </patternset>
-
- <patternset id="dist.binaries.native">
- <include name="LICENSE"/>
- <include name="licenses/**"/>
- <include name="NOTICE"/>
- <include name="README.md"/>
- <patternset refid="dist.common.native"/>
- <!-- Help documentation -->
- <include name="${dest.printable_docs}/**"/>
- <!-- Binary file types -->
- <exclude name="${dest.printable_docs}/**/*.pdf"/>
- <exclude name="${dest.printable_docs}/**/*.jmx"/>
- <!-- We also need the shared CSS for the printable docs -->
- <include name="${dest.docs}/css/**"/>
- </patternset>
-
- <!-- Source files also needed at runtime -->
- <patternset id="dist.common.non.native">
- <include name="${dest.jar.jmeter}/heapdump.*"/>
- <include name="${dest.jar.jmeter}/jmeter*"/>
- <exclude name="${dest.jar.jmeter}/jmeter.properties"/>
- <exclude name="${dest.jar.jmeter}/reportgenerator.properties"/>
- <include name="${dest.jar.jmeter}/mirror-server*"/>
- <include name="${dest.jar.jmeter}/shutdown.*"/>
- <include name="${dest.jar.jmeter}/stoptest.*"/>
- <include name="${dest.jar.jmeter}/create-rmi-keystore.*"/>
- <!-- Fake SSL cert for JMeter proxy recorder in https -->
- <include name="${dest.jar.jmeter}/proxyserver.jks"/>
- <!-- Exclude any files that might be present from testing the release -->
- <exclude name="${dest.jar.jmeter}/*.log"/>
- <exclude name="${dest.jar.jmeter}/rmi_keystore.jks"/>
- <!-- report-template files non native -->
- <include name="${dest.jar.jmeter}/report-template/content/pages/*.png"/>
- <include name="${dest.jar.jmeter}/report-template/sbadmin2*/**"/>
- <include name="${dest.jar.jmeter}/templates/*.jmx"/>
- <include name="${dest.jar.jmeter}/templates/*.xml"/>
- <include name="${dest.jar.jmeter}/examples/*.jmx"/>
- <include name="${extras.dir}/*.jar"/>
- <include name="${extras.dir}/*.jpg"/>
- <include name="${extras.dir}/*.png"/>
- <!-- File types that need to retain their EOL setting -->
- <include name="${extras.dir}/*.jmx"/>
- <include name="${extras.dir}/*.cmd"/>
- <include name="${extras.dir}/*.sh"/>
- </patternset>
-
- <patternset id="dist.binaries.non.native">
- <patternset refid="dist.common.non.native"/>
- <include name="${dest.jar}/"/>
- <include name="${lib.dir}/bshclient.jar"/>
- <include name="${lib.dir}/jorphan.jar"/>
- <include name="${lib.dir}/junit/test.jar"/>
- <include name="${dest.jar.jmeter}/ApacheJMeter.jar"/>
- <!-- Help documentation, binary files -->
- <include name="${dest.printable_docs}/**/*.pdf"/>
- <include name="${dest.printable_docs}/**/*.jmx"/>
- <!-- We also need the shared images for the printable docs -->
- <include name="${dest.docs}/images/**"/>
- </patternset>
-
- <!--
- List of Unix executable files in the binary distribution
- These need special handling to create the correct file mode
- -->
- <property name="dist.executables"
- value="${dest.jar.jmeter}/jmeter ${dest.jar.jmeter}/jmeter-server ${dest.jar.jmeter}/mirror-server ${dest.jar.jmeter}/*.sh ${extras.dir}/*.sh"/>
-
- <!-- List of files in source distribution that are eol=native -->
- <!--
- N.B. dist.sources[.non].native sets exclude source files present in dist.binaries[.non].native
- so that the nightly build src archive does not duplicate stuff in the binary archive
- (This may change, as the overlap does not waste much space)
- -->
- <patternset id="dist.sources.native">
- <include name="LICENSE"/>
- <!-- Include all the licenses; they are needed to build the distribution -->
- <include name="licenses/**"/>
- <include name="NOTICE"/>
- <include name="README.md"/>
- <include name="${src.dir}/**"/>
- <exclude name="**/messages.metaprops"/>
- <!-- Exclude binary types -->
- <exclude name="**/*.gif"/>
- <exclude name="**/*.jpg"/>
- <exclude name="**/*.png"/>
- <include name="${src.docs}/**"/>
- <!-- Include some resources -->
- <include name="${res.dir}/**"/>
- <!-- Exclude binary types (and JMX/JTL, which are not OS-dependent) -->
- <exclude name="${src.docs}/images/**"/>
- <exclude name="${src.docs}/**/*.jmx"/>
- <exclude name="${src.docs}/**/*.odt"/>
- <exclude name="${src.docs}/**/*.pdf"/>
- <exclude name="${src.docs}/**/*.sxi"/>
- <exclude name="${src.docs}/**/*.sxw"/>
- <include name="${src.test}/**"/>
- <include name="build.xml"/>
- <include name="build.properties"/>
- <include name="${dest.jar.jmeter}/*.groovy"/>
- <include name="${dest.jar.jmeter}/testfiles/**"/>
- <exclude name="${dest.jar.jmeter}/testfiles/*.jmx"/>
- <exclude name="${dest.jar.jmeter}/testfiles/*.jtl"/>
- <!-- These are generated with EOL=LF -->
- <exclude name="${dest.jar.jmeter}/testfiles/*.xml"/>
- <!-- Ignore unit test output -->
- <exclude name="${dest.jar.jmeter}/testfiles/*.out"/>
- <exclude name="${dest.jar.jmeter}/testfiles/Sample_*.png"/>
- <include name="eclipse.classpath"/>
- <include name="eclipse.project"/>
- <include name="eclipse.md"/>
- <include name=".gitignore"/>
- <include name=".travis.yml"/>
- <include name="checkstyle.xml"/>
- <include name="checkstyle-suppressions.xml"/>
- <include name="rat-excludes.txt"/>
- <include name="${build.test-res}/**"/>
- <include name="${lib.dir}/aareadme.txt"/>
- <include name="${lib.dir}/**/readme.txt"/>
- <include name="fb-*.x*"/>
- <!-- Make sure that the lib/opt directory is included in the archives -->
- <include name="${lib.opt}/README.txt"/>
- </patternset>
-
- <!-- Non-native items -->
- <patternset id="dist.sources.non.native">
- <include name="${src.dir}/**/*.gif"/>
- <include name="${src.dir}/**/*.jpg"/>
- <include name="${src.dir}/**/*.png"/>
- <include name="${src.docs}/images/**"/>
- <include name="${src.docs}/**/*.jmx"/>
- <include name="${src.docs}/**/*.odt"/>
- <include name="${src.docs}/**/*.pdf"/>
- <include name="${src.docs}/**/*.sxi"/>
- <include name="${src.docs}/**/*.sxw"/>
- <include name="${dest.jar.jmeter}/testfiles/*.jmx"/>
- <include name="${dest.jar.jmeter}/testfiles/*.jtl"/>
- <!-- These are generated with EOL=LF -->
- <include name="${dest.jar.jmeter}/testfiles/*.xml"/>
- <!-- Include the image files used in parsing / embedded download tests -->
- <include name="${dest.jar.jmeter}/testfiles/**/*.gif"/>
- <include name="${dest.jar.jmeter}/testfiles/**/*.jpg"/>
- <include name="${dest.jar.jmeter}/testfiles/**/*.png"/>
- </patternset>
-
- <!-- Convert eol:native source files to appropriate format if required -->
- <target name="_filter" unless="native.${eoltype}">
- <property name="workdir" value="${dist.dir}/${eoltype}"/>
- <echo level="info">Converting work files to eol=${eoltype} in ${workdir}</echo>
- <mkdir dir="${workdir}"/>
- <copy includeemptydirs="false" todir="${workdir}" encoding="${encoding}">
- <fileset dir=".">
- <patternset refid="${fileset}"/>
- </fileset>
- <filterchain>
- <fixcrlf encoding="${encoding}" fixlast="false" eol="${eoltype}" srcdir="${workdir}"/>
- </filterchain>
- </copy>
- </target>
-
- <!-- Files to be included in full source download -->
- <patternset id="dist_src_files_native">
- <patternset refid="dist.sources.native"/>
- <patternset refid="dist.common.native"/>
- </patternset>
-
- <patternset id="dist_src_files_non_native">
- <patternset refid="dist.sources.non.native"/>
- <patternset refid="dist.common.non.native"/>
- </patternset>
-
- <!-- Files to be included in full binary download -->
- <patternset id="dist_bin_files_native">
- <patternset refid="dist.binaries.native"/>
- <patternset refid="external.jars.notices"/>
- <!-- We don't need the site docs, but we do want Javadoc (e.g. for BeanShell) -->
- <include name="${dest.docs.api}/**"/>
- <exclude name="${dest.docs.api}/resources/**"/>
- </patternset>
-
- <patternset id="dist_bin_files_non_native">
- <patternset refid="dist.binaries.non.native"/>
- <patternset refid="external.jars"/>
- <include name="${dest.docs.api}/resources/**"/>
- </patternset>
-
- <!-- NOTE: the site documents are not included in either archive -->
-
- <!-- Invoke with -Djmeter.version=m.n -Duser.name=xyz@apache.org [-Dsvn.revision=nnnnn] [-Ddisplay.version=xxxx]
- Creates clean build and all documentation
- Creates runtime and source distributions and site documentation
- -->
- <target name="distribution"
- depends="ant-version,svnCheck,check-versions,clean,install,docs-printable,docs-api,test,_distribution"
- description="Build JMeter for end-user distribution"/>
-
- <target name="check-versions" unless="disable-check-versions">
- <fail message="jmeter.version must be defined" unless="jmeter.version"/>
- <fail message="svn.revision must be defined" unless="svn.revision"/>
- <local name="version.match"/>
- <condition property="version.match">
- <resourcecontains resource="${src.core}/org/apache/jmeter/util/JMeterVersion.java"
- substring='VERSION = "${jmeter.version}";'/>
- </condition>
- <fail message="jmeter.version (${jmeter.version}) must be same as JMeterVersion.VERSION" unless="version.match"/>
- </target>
-
- <!--
- <target
- name="nightly"
- depends="init-svnVersion,package,docs-printable,pack-nightly"
- description="Build JMeter for nightly dir (package docs-printable pack-nightly)"/>
- -->
- <target
- name="nightly-setup"
- description="Disables some checks"
- depends="clean,clean-docs,clean-apidocs,clean-dist">
- <property name="disable-check-versions" value="true" />
- <property name="docs.force" value="true" />
- </target>
- <target
- name="nightly"
- depends="ant-version,nightly-setup,init-svnVersion,install,docs-printable,docs-api,test,_distribution"
- description="Build JMeter for nightly distribution (include docs)"/>
-
- <target name="_eolcheck">
- <!-- Determine if the native format is CRLF or LF (or neither) -->
- <condition property="native.lf">
- <os family="unix"/>
- </condition>
- <condition property="native.crlf">
- <os family="dos"/>
- </condition>
- <!-- Define native.dir.x as either the source or updated directory as appropriate -->
- <condition property="native.dir.lf" value="." else="${dist.dir}/lf">
- <isset property="native.lf"/>
- </condition>
- <condition property="native.dir.crlf" value="." else="${dist.dir}/crlf">
- <isset property="native.crlf"/>
- </condition>
- <echoproperties prefix="native"></echoproperties>
- </target>
-
- <!-- Internal target -->
- <target name="_distribution" depends="check-versions,_eolcheck,check_jars">
- <property name="dist.name" value="apache-jmeter-${jmeter.version}"/>
- <property name="pack.name" value="${dist.name}"/>
- <echo level="info">Creating JMeter distribution ${dist.name} ${svn.revision}</echo>
- <mkdir dir="${dist.dir}"/>
-
- <!-- Delete work directories just in case -->
- <delete dir="${dist.dir}/crlf" quiet="true"/>
- <delete dir="${dist.dir}/lf" quiet="true"/>
-
- <!-- Runtime archives -->
- <antcall target="_filter">
- <param name="eoltype" value="lf"/>
- <param name="fileset" value="dist_bin_files_native"/>
- </antcall>
-
- <tar destfile="${dist.dir}/${pack.name}.tar" longfile="gnu">
- <tarfileset dir="." prefix="${dist.name}" excludes="${dist.executables}" defaultexcludes="yes">
- <patternset refid="dist_bin_files_non_native"/>
- </tarfileset>
- <tarfileset mode="755" includes="${dist.executables}" dir="." prefix="${dist.name}" defaultexcludes="yes"/>
- <tarfileset dir="${native.dir.lf}" prefix="${dist.name}">
- <patternset refid="dist_bin_files_native"/>
- </tarfileset>
- </tar>
- <!-- Delete work directory (may not exist) -->
- <delete dir="${dist.dir}/lf" quiet="true"/>
-
- <gzip destfile="${dist.dir}/${pack.name}.tgz" src="${dist.dir}/${pack.name}.tar" />
- <!-- no longer needed -->
- <delete file="${dist.dir}/${pack.name}.tar"/>
- <antcall target="_hash">
- <param name="path" value="${dist.dir}/${dist.name}.tgz"/>
- </antcall>
-
- <antcall target="_filter">
- <param name="eoltype" value="crlf"/>
- <param name="fileset" value="dist_bin_files_native"/>
- </antcall>
- <zip destfile="${dist.dir}/${pack.name}.zip">
- <zipfileset excludes="${dist.executables}" dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist_bin_files_non_native"/>
- </zipfileset>
- <zipfileset filemode="755" dir="." includes="${dist.executables}" prefix="${dist.name}" defaultexcludes="yes"/>
- <zipfileset dir="${native.dir.crlf}" prefix="${dist.name}">
- <patternset refid="dist_bin_files_native"/>
- </zipfileset>
- </zip>
- <antcall target="_hash">
- <param name="path" value="${dist.dir}/${dist.name}.zip"/>
- </antcall>
- <!-- Delete work directory (may not exist) -->
- <delete dir="${dist.dir}/crlf" quiet="true"/>
-
- <!-- Source archives -->
- <antcall target="_filter">
- <param name="eoltype" value="lf"/>
- <param name="fileset" value="dist_src_files_native"/>
- </antcall>
- <tar destfile="${dist.dir}/${pack.name}_src.tar" longfile="gnu">
- <tarfileset dir="${native.dir.lf}" prefix="${dist.name}">
- <patternset refid="dist_src_files_native"/>
- </tarfileset>
- <tarfileset excludes="${dist.executables}" dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist_src_files_non_native"/>
- </tarfileset>
- <tarfileset mode="755" includes="${dist.executables}" dir="." prefix="${dist.name}" defaultexcludes="yes"/>
- </tar>
- <!-- Delete work directory (may not exist) -->
- <delete dir="${dist.dir}/lf" quiet="true"/>
-
- <gzip destfile="${dist.dir}/${pack.name}_src.tgz" src="${dist.dir}/${pack.name}_src.tar" />
- <!-- no longer needed -->
- <delete file="${dist.dir}/${pack.name}_src.tar"/>
- <antcall target="_hash">
- <param name="path" value="${dist.dir}/${dist.name}_src.tgz"/>
- </antcall>
-
- <antcall target="_filter">
- <param name="eoltype" value="crlf"/>
- <param name="fileset" value="dist_src_files_native"/>
- </antcall>
-
- <zip destfile="${dist.dir}/${pack.name}_src.zip">
- <zipfileset dir="${native.dir.crlf}" prefix="${dist.name}">
- <patternset refid="dist_src_files_native"/>
- </zipfileset>
- <zipfileset excludes="${dist.executables}" dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist_src_files_non_native"/>
- </zipfileset>
- <zipfileset filemode="755" includes="${dist.executables}" dir="." prefix="${dist.name}" defaultexcludes="yes"/>
- </zip>
- <antcall target="_hash">
- <param name="path" value="${dist.dir}/${dist.name}_src.zip"/>
- </antcall>
- <!-- Delete work directory (may not exist) -->
- <delete dir="${dist.dir}/crlf" quiet="true"/>
- </target>
-
- <!-- Set up files for distribution to Maven via Nexus -->
- <target name="_dist_maven" depends="init-version">
- <!-- Ensure there aren't any stale files left -->
- <delete dir="${maven.dir}" includes="*.pom" quiet="true"/>
- <echo>Updating POM files to version ${jmeter.version}</echo>
- <copy todir="${maven.dir}">
- <fileset dir="${maven.poms}" includes="*.pom"/>
- <filterset>
- <filter token="MAVEN.DEPLOY.VERSION" value="${jmeter.version}"/>
- </filterset>
- </copy>
- <delete dir="${maven.dir}" includes="*.jar" quiet="true"/>
- <echo>Copying jar files ready for signing</echo>
- <copy todir="${maven.dir}">
- <fileset dir="${dest.jar}" includes="ApacheJMeter*.jar"/>
- <fileset dir="${dest.jar.jmeter}" includes="ApacheJMeter.jar"/>
- <fileset dir="${lib.dir}" includes="jorphan.jar"/>
- </copy>
- <copy tofile="${maven.dir}/ApacheJMeter_junit-test.jar" file="${lib.dir}/junit/test.jar"/>
- <!--
- Create the Maven jar needed to hold configuration data
- Cannot be added to any of the other jars as that would cause problems for stand-alone JMeter usage.
- -->
- <jar jarfile="${maven.dir}/ApacheJMeter_config.jar" manifest="${build.dir}/MANIFEST_SRC.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="*.bshrc"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="*.groovy"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="*.parameters"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="*.properties"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="jaas.conf"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="krb5.conf"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="log4j2.xml"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="proxyserver.jks"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="users.dtd"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="templates/templates.dtd"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="users.xml"/>
- <zipfileset dir="${dest.jar.jmeter}" prefix="bin" includes="report-template/**/*.*" />
- </jar>
- <antcall target="generate_src_artifacts" />
- <antcall target="generate_javadoc_artifacts" />
- </target>
-
- <target name="generate_src_artifacts">
- <jar destfile="${maven.dir}/ApacheJMeter-sources.jar">
- <fileset dir="${src.core}" includes="**/NewDriver*.java,**/DynamicClassLoader*.java,**/ShutdownClient.java"
- excludes="**/*.png,**/*.xml,**/*.properties,**/*.txt,**/.html" />
- </jar>
- <jar destfile="${maven.dir}/ApacheJMeter_core-sources.jar">
- <fileset dir="${src.core}" excludes="**/NewDriver*.java,**/DynamicClassLoader*.java,**/ShutdownClient.java,**/*.png,**/*.xml,**/*.properties,**/*.txt,**/.html" />
- </jar>
- <generate_src_artifact artifactname="ApacheJMeter_http" srcdir="${src.http}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_ftp" srcdir="${src.ftp}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_jdbc" srcdir="${src.jdbc}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_java" srcdir="${src.java}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_junit" srcdir="${src.junit}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_components" srcdir="${src.components}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_functions" srcdir="${src.functions}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="jorphan" srcdir="${src.jorphan}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_ldap" srcdir="${src.ldap}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_tcp" srcdir="${src.tcp}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_mail" srcdir="${src.mail}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_jms" srcdir="${src.jms}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_native" srcdir="${src.native}" targetdir="${maven.dir}" />
- <generate_src_artifact artifactname="ApacheJMeter_mongodb" srcdir="${src.mongodb}" targetdir="${maven.dir}" />
- </target>
- <macrodef name="generate_src_artifact">
- <attribute name="artifactname"/>
- <attribute name="srcdir" />
- <attribute name="targetdir"/>
- <sequential>
- <jar destfile="@{targetdir}/@{artifactname}-sources.jar">
- <fileset dir="@{srcdir}" includes="**/*.java" excludes="**/*.png,**/*.xml,**/*.properties,**/*.txt,**/.html"/>
- </jar>
- </sequential>
- </macrodef>
-
- <target name="generate_javadoc_artifacts">
- <generate_javadoc_artifact artifactname="ApacheJMeter_core" srcdir="${src.core}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_http" srcdir="${src.http}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_ftp" srcdir="${src.ftp}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_jdbc" srcdir="${src.jdbc}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_java" srcdir="${src.java}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_junit" srcdir="${src.junit}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_components" srcdir="${src.components}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_functions" srcdir="${src.functions}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="jorphan" srcdir="${src.jorphan}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_ldap" srcdir="${src.ldap}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_tcp" srcdir="${src.tcp}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_mail" srcdir="${src.mail}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_jms" srcdir="${src.jms}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_native" srcdir="${src.native}" targetdir="${maven.dir}" />
- <generate_javadoc_artifact artifactname="ApacheJMeter_mongodb" srcdir="${src.mongodb}" targetdir="${maven.dir}" />
- </target>
- <macrodef name="generate_javadoc_artifact">
- <attribute name="artifactname"/>
- <attribute name="srcdir" />
- <attribute name="targetdir"/>
- <attribute name="additionalclasspath" default="${maven.dir}"/>
- <sequential>
- <mkdir dir="@{targetdir}/@{artifactname}" />
- <local name="THISYEAR" />
- <tstamp>
- <!-- Used to ensure end-year is up to date -->
- <format property="THISYEAR" pattern="yyyy"/>
- </tstamp>
- <javadoc
- sourcepath="@{srcdir}"
- additionalparam="-breakiterator -notimestamp"
- destdir="@{targetdir}/@{artifactname}"
- encoding="${javadoc.encoding}"
- verbose="false"
- protected="yes"
- version="yes"
- doctitle="Apache JMeter @{artifactname} API"
- windowtitle="Apache JMeter @{artifactname} API"
- header="<b>Apache JMeter</b>"
- bottom="Copyright &#xA9; 1998-${THISYEAR} Apache Software Foundation. All Rights Reserved.">
- <classpath>
- <path refid="classpath"/>
- <path refid="logging.classpath"/>
- <fileset dir="@{additionalclasspath}">
- <include name="*.jar" />
- </fileset>
- </classpath>
- <link href="http://docs.oracle.com/javase/8/docs/api/"/>
- </javadoc>
- <jar destfile="@{targetdir}/@{artifactname}-javadoc.jar">
- <fileset dir="@{targetdir}/@{artifactname}" includes="**/*.*" />
- </jar>
- <delete failonerror="true" dir="@{targetdir}/@{artifactname}" />
- </sequential>
- </macrodef>
- <!--
- Beanshell script to create the svnmucc scripts for upload, delete and publish.
-
- The generated script assumes svnmucc is invoked with a root URL of
- https://dist.apache.org/repos/dist/
- This means that the jmeter files are at:
- dev/jmeter/[binaries|source]
- and
- release/jmeter/[binaries|source]
- -->
- <scriptdef name="svnmuccScript" language="beanshell">
- <classpath>
- <pathelement location="${lib.dir}/${beanshell.jar}"/>
- </classpath>
- <!-- type of script to create: upload, publish or delete -->
- <attribute name="type"/>
- <!-- Name of file to create -->
- <attribute name="tempfile"/>
- <![CDATA[
- void upload(source) {
- self.log("Will upload " + source + " to " + RCdir);
- outstream.println("put");
- outstream.println(source); // source
- outstream.print("dev/jmeter/");
- outstream.print(RCdir);
- outstream.println(source); // dest
- outstream.println();
- }
- void publish(source, targetDir) {
- self.log("Will publish " + source + " to " + targetDir);
- outstream.println("mv");
- outstream.print("dev/jmeter/");
- outstream.print(RCdir);
- outstream.println(source); // source
- outstream.print("release/jmeter/");
- outstream.print(targetDir);
- outstream.println(source); // source
- outstream.println();
- }
- void delete(source, targetDir) {
- self.log("Will delete " + source + " from " + targetDir);
- outstream.println("rm");
- outstream.print("release/jmeter/");
- outstream.print(targetDir);
- outstream.println(source); // source
- outstream.println();
- }
- void processFiles(basename, targetDir) {
- // combine all the extensions in one list
- extensions = new String[]{".zip", ".zip.asc", ".zip.sha512", ".tgz", ".tgz.asc", ".tgz.sha512"};
- for (i = 0; i < extensions.length; ++i) {
- extension = extensions[i];
- srcFile = basename + extension;
-
- if ("upload".equals(type)) {
- upload(srcFile);
- } else if ("publish".equals(type)) {
- publish(srcFile, targetDir);
- } else if ("delete".equals(type)) {
- delete(srcFile, targetDir);
- }
- }
- }
- type = attributes.get("type");
- RCdir = "";
- RC="";
- version = "";
- if (type.equals("delete")) {
- version = project.getProperty("jmeter.old.version");
- } else {
- version = project.getProperty("jmeter.version");
- RC = project.getProperty("RC");
- RCdir = "v"+version+"_"+RC+"/";
- }
- tempfile = attributes.get("tempfile");
- self.log("Writing " + type + " script for version " + version + " " + RC + " into " + tempfile);
- distname = project.getProperty("dist.name");
- outstream = new PrintStream(new File(tempfile));
- if ("upload".equals(type)) { // make the initial directory
- outstream.println("mkdir");
- outstream.print("dev/jmeter/");
- outstream.println(RCdir);
- outstream.println();
- }
- processFiles(distname, "binaries/");
- processFiles(distname+"_src", "source/");
- // TODO could remove RCdir, but safer to do that manually after checking it is empty
- outstream.close();
- ]]>
- </scriptdef>
-
- <!--
- Run svnnmucc against the svnpubsub distribution area
- -->
- <target name="_svnmucc">
- <property name="repoType" value="test"/>
- <condition property="repo"
- value="https://dist.apache.org/repos/dist/"
- else="https://svn.apache.org/repos/asf/jmeter/test/" >
- <equals arg1="live" arg2="${repoType}"/>
- </condition>
- <echo level="info">Processing ${tempfile} using svnmucc on repo: ${repoType}</echo>
- <echo level="info">${repo}</echo>
- <echo level="info">${message}</echo>
- <!-- Only one of the following will execute -->
- <antcall target="_svnmucc_storedPass"/>
- <antcall target="_svnmucc_providedPass"/>
- </target>
-
- <!-- run svnmucc using stored credentials -->
- <target name="_svnmucc_storedPass" unless="asf.ldap.password">
- <echo level="info" message="Using stored credentials"/>
- <exec executable="svnmucc" dir="${dist.dir}" logerror="true" failonerror="true" failifexecutionfails="true">
- <arg value="--non-interactive"/> <!-- -n alias was removed in svnmucc 1.8.0 -->
- <!-- not strictly necessary, but does no harm and agrees with password version -->
- <arg value="--no-auth-cache"/>
- <arg value="--message"/> <!-- -m -->
- <arg value="${message}"/>
- <arg value="--root-url"/> <!-- -U -->
- <arg value="${repo}"/>
- <arg value="--extra-args"/> <!-- -X -->
- <arg value="${tempfile}"/>
- </exec>
- </target>
-
- <!-- run svnmucc using password provided as a property -->
- <target name="_svnmucc_providedPass" if="asf.ldap.password">
- <!-- provide default user name -->
- <property name="asf.ldap.username" value="${user.name}"/>
- <echo level="info" message="Using provided credentials for user ${asf.ldap.username}"/>
- <exec executable="svnmucc" dir="${dist.dir}" logerror="true" failonerror="true" failifexecutionfails="true">
- <arg value="--non-interactive"/>
- <!-- we don't want to cache the provided credentials -->
- <arg value="--no-auth-cache"/>
- <arg value="--message"/> <!-- -m -->
- <arg value="${message}"/>
- <arg value="--root-url"/> <!-- -U -->
- <arg value="${repo}"/>
- <arg value="--extra-args"/> <!-- -X -->
- <arg value="${tempfile}"/>
- <!-- Add credentials provided on command-line -->
- <arg value="--username"/> <!-- -u -->
- <arg value="${asf.ldap.username}"/>
- <arg value="--password"/> <!-- -p -->
- <arg value="${asf.ldap.password}"/>
- </exec>
- </target>
-
- <!--
- Targets for deploying release candidates via svnpubsub.
-
- By default, deploys the artifacts under the JMeter test repo:
- https://svn.apache.org/repos/asf/jmeter/test/
-
- The live repo is:
- https://dist.apache.org/repos/dist/
-
- The JMeter files are to be found under:
-
- dev/jmeter/[source|binaries]
- and
- release/jmeter/[source|binaries]
-
- Files that are expected to be present:
- apache-jmeter-<version>.[tgz|zip] + [.asc|.sha512]
- apache-jmeter-<version>_src.[tgz|zip] + [.asc|.sha512]
-
- Must have SVN installed, in particular the svnmucc command-line client.
-
-
- Pre-requisites:
- The distribution files must have been built and signed and placed in the dist/ directory.
- If any required files are missing, then upload will fail.
-
- Usage:
- ant RC_upload [-DrepoType=test|live] [-Djmeter.version=2.9] -DRC=RCn [-Dasf.ldap.password=secret [-Dasf.ldap.usermame=user] ]
- ant RC_publish [-DrepoType=test|live] [-Djmeter.version=2.9] -DRC=RCn [-Dasf.ldap.password=secret [-Dasf.ldap.usermame=user] ]
- ant release_delete [-DrepoType=test|live] -Djmeter.old.version=2.8 [-Dasf.ldap.password=secret [-Dasf.ldap.usermame=user] ]
- (the old version must be specified and different from the current version!)
-
- If the ldap password is not provided, svnmucc is invoked without the username (-u) and password (-p) parameters.
- In this case, svnmucc will use whatever stored credentials are present for the svn host.
-
- If not using stored credentials, provide at least the ldap password.
- The ldap username defaults to the login name (i.e. the Java user.name property) but can also be provided.
-
- Note: svnmucc can only move or copy files where the target does not exist.
- This is perfect for deploying an RC or new release as these use unique names.
- However, any existing files such as HEADER.html will need to be handled separately.
- -->
-
-
- <target name="RC_upload"
- description="Upload release candidate to svnpubsub area. Params: [-DrepoType=test|live] [-Djmeter.version=m.n] -DRC=RCn [-Dasf.ldap.password=secret -Dasf.ldap.usermame=user]"
- depends="init-version">
- <fail message="RC property must be defined!" unless="RC"/>
- <echo>Version = ${jmeter.version} ${RC}</echo>
- <property name="dist.name" value="apache-jmeter-${jmeter.version}"/>
- <property name="tempfile" value="svnmucc_upload.tmp"/>
- <svnmuccScript type="upload" tempfile="${dist.dir}/${tempfile}"/>
- <antcall target="_svnmucc">
- <param name="message" value="Uploading release candidate ${dist.name} to dev area"/>
- </antcall>
- </target>
-
- <target name="RC_publish"
- description="Publish release candidate from svnpubsub area. Params: [-DrepoType=test|live] [-Djmeter.version=m.n] -DRC=RCn [-Dasf.ldap.password=secret -Dasf.ldap.usermame=user]"
- depends="init-version">
- <fail message="RC property must be defined!" unless="RC"/>
- <echo>Version = ${jmeter.version} ${RC}</echo>
- <property name="dist.name" value="apache-jmeter-${jmeter.version}"/>
- <property name="tempfile" value="svnmucc_publish.tmp"/>
- <svnmuccScript type="publish" tempfile="${dist.dir}/${tempfile}"/>
- <antcall target="_svnmucc">
- <param name="message" value="Publishing ${dist.name} ${RC}"/>
- </antcall>
- </target>
-
- <target name="release_delete"
- description="Delete old release candidate from svnpubsub area. : [-DrepoType=test|live] -Djmeter.old.version=m.n [-Dasf.ldap.user=name -Dasf.ldap.password=secret]"
- depends="init-version">
- <fail message="jmeter.old.version property must be defined!" unless="jmeter.old.version"/>
- <condition property="same">
- <equals arg1="${jmeter.old.version}" arg2="${jmeter.version}"/>
- </condition>
- <echo>Old Version = ${jmeter.old.version}</echo>
- <fail message="jmeter.old.version must be different from current jmeter.version!" if="same"/>
- <property name="dist.name" value="apache-jmeter-${jmeter.old.version}"/>
- <property name="tempfile" value="svnmucc_delete.tmp"/>
- <svnmuccScript type="delete" tempfile="${dist.dir}/${tempfile}"/>
- <antcall target="_svnmucc">
- <param name="message" value="Deleting old release ${dist.name}"/>
- </antcall>
- </target>
-
- <!--
- Upload jars/poms/sigs to local (/target), snapshots or releases repos; default is local.
- By default, deploys the artifacts to target/deploy under JMeter home.
-
- Must have Maven 2.2.1 or Maven 3.0.x installed.
- The environment variable M2_HOME must point to a suitable Maven installation (2.2.1+)
-
- For remote deployment, username/password will need to be set up in the appropriate
- "server" entries in the Maven settings.xml file, i.e. under:
-
- apache.snapshots.https
- apache.releases.https
-
- Pre-requisite:
- The jars and poms need to be made available. If this has not already been done as part of
- creating the distribution (e.g. a snapshot release is desired), then invoke the following:
-
- ant _dist_maven -Djmeter.version=2.9-SNAPSHOT
-
- For non-SNAPSHOT releases, the jars and poms need to be signed (TODO document how!!)
-
- Usage:
- ant maven_upload [-DrepoType=snapshots|releases]
- -->
- <target name="maven_upload" description="Upload Maven jars and poms (and sigs if present) to Nexus.">
-
- <property environment="env"/>
- <!-- According to http://maven.apache.org/download.html#Installation M2_HOME applies to Maven 2.2.1 and 3.0.x -->
- <condition property="maven.present">
- <or>
- <isset property="env.M2_HOME"/>
- <isset property="maven.home"/> <!-- Allow override on command-line -->
- </or>
- </condition>
- <fail unless="${maven.present}"
- message="The environment variable M2_HOME (or property maven.home) must point to a Maven installation"/>
-
- <property name="maven.home" value="${env.M2_HOME}"/>
-
- <!-- file repo url -->
- <property name="file.url" value="file:${basedir}/target/deploy"/>
-
- <!-- Apache Nexus snapshots repo url -->
- <property name="snapshots.url" value="https://repository.apache.org/content/repositories/snapshots"/>
- <!-- Apache Nexus snapshots repo name for servers section of settings.xml -->
- <property name="snapshots.repositoryId" value="apache.snapshots.https"/>
-
- <!-- Apache Nexus releases repo url -->
- <property name="releases.url" value="https://repository.apache.org/service/local/staging/deploy/maven2"/>
- <!-- Apache Nexus releases repo name for servers section of settings.xml -->
- <property name="releases.repositoryId" value="apache.releases.https"/>
-
- <property name="repoType" value="file"/>
-
- <!-- Hack to skip defining files/types/classifiers -->
- <condition property="XX" value="" else="XX">
- <and>
- <available file="${maven.dir}/jorphan.jar.asc"/>
- <available file="${maven.dir}/jorphan.pom.asc"/>
- <!-- Don't upload sigs to snapshots repo (might mislead users) -->
- <not>
- <equals arg1="snapshots" arg2="@repoType"/>
- </not>
- </and>
- </condition>
-
- <!-- Derived from:
- http://maven.apache.org/ant-tasks/examples/mvn.html#Using_the_Java_Task
- -->
- <macrodef name="deployfile">
- <attribute name="stem" />
- <attribute name="packaging" default="jar"/>
- <attribute name="type" default="${repoType}"/>
- <attribute name="url" default="${@{type}.url}"/>
- <attribute name="repositoryId" default="${@{type}.repositoryId}"/>
- <sequential>
- <local name="artifact_has_source"/>
- <local name="artifact_has_javadoc"/>
- <condition property="artifact_has_source" value="" else="XX">
- <and>
- <available file="${maven.dir}/@{stem}-sources.jar"/>
- </and>
- </condition>
- <condition property="artifact_has_javadoc" value="" else="XX">
- <and>
- <available file="${maven.dir}/@{stem}-javadoc.jar"/>
- </and>
- </condition>
- <echo>Artifact @{stem} => artifact_has_source='${artifact_has_source}', artifact_has_javadoc='${artifact_has_javadoc}'</echo>
- <java classname="org.codehaus.classworlds.Launcher"
- fork="true"
- dir="${basedir}"
- failonerror="true">
- <jvmarg value="-Xmx256m"/>
- <classpath>
- <fileset dir="${maven.home}/boot">
- <include name="*.jar" />
- </fileset>
- <fileset dir="${maven.home}/lib">
- <include name="*.jar" />
- </fileset>
- </classpath>
- <sysproperty key="classworlds.conf" value="${maven.home}/bin/m2.conf" />
- <sysproperty key="maven.home" value="${maven.home}" />
- <!-- The following property must be defined for Maven 3.3.[123] at least -->
- <sysproperty key="maven.multiModuleProjectDirectory" value="${maven.home}"/>
- <arg value="--batch-mode"/>
- <!--arg value="-X"/-->
- <arg value="-DgeneratePom=false"/>
- <arg value="-Durl=@{url}"/>
- <arg value="-DrepositoryId=@{repositoryId}"/>
- <arg value="-DpomFile=${maven.dir}/@{stem}.pom"/>
- <!-- if artifact has no sources artifact_has_source=XX so -D will be ignored -->
- <arg value="-D${artifact_has_source}sources=${maven.dir}/@{stem}-sources.jar"/>
- <!-- if artifact has no javadoc artifact_has_javadoc=XX so -D will be ignored -->
- <arg value="-D${artifact_has_javadoc}javadoc=${maven.dir}/@{stem}-javadoc.jar"/>
- <arg value="-Dpackaging=@{packaging}"/>
- <arg value="-Dfile=${maven.dir}/@{stem}.${packaging}"/>
- <!--
- The XX property is a hack to avoid creating conditional code.
- It will be empty if the sigs exist; if not it will be XX which will be ignored by Maven
- -->
- <!-- If packaging == pom, this will just upload the pom twice. Simpler than trying to conditionalise. -->
- <arg value="-D${XX}files=${maven.dir}/@{stem}.${packaging}.asc,${maven.dir}/@{stem}.pom.asc,${maven.dir}/@{stem}-sources.jar.asc,${maven.dir}/@{stem}-javadoc.jar.asc"/>
- <arg value="-D${XX}types=${packaging}.asc,pom.asc,-sources.jar.asc,-javadoc.jar.asc"/>
- <arg value="-D${XX}classifiers=,"/>
-<!--
- <arg value="-D${artifact_has_source}files=${maven.dir}/@{stem}-sources.jar.asc"/>
- <arg value="-D${artifact_has_source}types=-sources.jar.asc"/>
- <arg value="-D${artifact_has_source}classifiers="/>
- <arg value="-D${artifact_has_javadoc}files=${maven.dir}/@{stem}-javadoc.jar.asc"/>
- <arg value="-D${artifact_has_javadoc}types=-javadoc.jar.asc"/>
- <arg value="-D${artifact_has_javadoc}classifiers="/>
--->
- <!-- Need at least version 2.7 of the plugin to upload additional files-->
- <arg value="org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy-file"/>
- </java>
- </sequential>
- </macrodef>
-
- <deployfile stem="ApacheJMeter_parent" packaging="pom"/>
- <deployfile stem="jorphan"/>
- <deployfile stem="ApacheJMeter"/>
- <deployfile stem="ApacheJMeter_components"/>
- <deployfile stem="ApacheJMeter_config"/>
- <deployfile stem="ApacheJMeter_core"/>
- <deployfile stem="ApacheJMeter_ftp"/>
- <deployfile stem="ApacheJMeter_functions"/>
- <deployfile stem="ApacheJMeter_http"/>
- <deployfile stem="ApacheJMeter_java"/>
- <deployfile stem="ApacheJMeter_jdbc"/>
- <deployfile stem="ApacheJMeter_jms"/>
- <deployfile stem="ApacheJMeter_junit"/>
- <deployfile stem="ApacheJMeter_junit-test"/>
- <deployfile stem="ApacheJMeter_ldap"/>
- <deployfile stem="ApacheJMeter_mail"/>
- <deployfile stem="ApacheJMeter_mongodb"/>
- <deployfile stem="ApacheJMeter_native"/>
- <deployfile stem="ApacheJMeter_tcp"/>
- </target>
-
- <!--
- Gump targets.
- There are separate build and test projects for the jmeter module.
- -->
- <!-- Used by project jmeter-cvs -->
- <target name="gump-build"
- depends="_gump_properties,clean,install"
- description="Build JMeter">
- <property name="dist.name" value="apache-jmeter-${jmeter.version}"/>
- <available file="${velocity.jar}" property="velocity.present"/>
- <!-- No need to create the archives for Gump
- <antcall target="_pack-binaries"/>
- <antcall target="_pack-libraries"/>
- <antcall target="_pack-source"/>
- -->
- </target>
-
- <!-- Used by project jmeter-test -->
- <target name="gump-test"
- depends="_gump_properties,compile-tests,_test"
- description="Test JMeter in Gump">
- <!-- Show the log file
- <concat>
- <filelist dir="bin" files="jmeter-test.log" />
- </concat>
- -->
- </target>
-
- <target name="_gump_properties">
- <echo level="info">
- Gump properties for this run
- jmeter.version = ${jmeter.version}
- gump.run = ${gump.run}
- date.projectfile = ${date.projectfile}
- version.projectfile = ${version.projectfile}
- Build file:
- version.build = ${version.build}
- Java properties:
- target.java.version = ${target.java.version}
- src.java.version = ${src.java.version}
- optimize = ${optimize}
- deprecation = ${deprecation}
- encoding = ${encoding}
- </echo>
- <echoproperties prefix="ant"/>
- <echoproperties prefix="gump"/>
- <echoproperties prefix="os"/>
- <echoproperties prefix="java."/>
- <echoproperties prefix="user."/>
-
- </target>
-
- <target name="pack-src" depends="init-version">
- <property name="dist.name" value="apache-jmeter-${jmeter.version}"/>
- <antcall target="_pack-source"/>
- </target>
-
- <target name="pack-dist" depends="init-version">
- <property name="dist.name" value="apache-jmeter-${jmeter.version}"/>
- <antcall target="_pack-binaries"/>
- <antcall target="_pack-libraries"/>
- <antcall target="_pack-javadoc"/>
- <antcall target="_pack-source"/>
- </target>
-
- <!-- As pack-dist but without javadoc -->
- <target name="pack-nightly" depends="init-version">
- <property name="dist.name" value="apache-jmeter-${jmeter.version}"/>
- <antcall target="_pack-binaries"/>
- <antcall target="_pack-libraries"/>
- <antcall target="_pack-source"/>
- </target>
-
- <target name="_pack-binaries">
- <property name="pack.name" value="${dist.name}_bin"/>
- <mkdir dir="${dist.dir}"/>
- <tar destfile="${dist.dir}/${pack.name}.tar" longfile="gnu">
- <tarfileset dir="." prefix="${dist.name}" excludes="${dist.executables}" defaultexcludes="yes">
- <patternset refid="dist.binaries.native"/>
- </tarfileset>
- <tarfileset dir="." prefix="${dist.name}" excludes="${dist.executables}" defaultexcludes="yes">
- <patternset refid="dist.binaries.non.native"/>
- </tarfileset>
- <tarfileset mode="755" includes="${dist.executables}" dir="." prefix="${dist.name}" defaultexcludes="yes"/>
- </tar>
- <gzip destfile="${dist.dir}/${pack.name}.tgz" src="${dist.dir}/${pack.name}.tar" />
- <!-- no longer needed -->
- <delete file="${dist.dir}/${pack.name}.tar"/>
- <zip destfile="${dist.dir}/${pack.name}.zip">
- <zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist.binaries.native"/>
- </zipfileset>
- <zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist.binaries.non.native"/>
- </zipfileset>
- </zip>
- </target>
-
- <target name="_pack-libraries">
- <property name="pack.name" value="${dist.name}_lib"/>
- <mkdir dir="${dist.dir}"/>
- <tar destfile="${dist.dir}/${pack.name}.tar" longfile="gnu">
- <tarfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="external.jars.notices"/>
- </tarfileset>
- <tarfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="external.jars"/>
- </tarfileset>
- </tar>
- <gzip destfile="${dist.dir}/${pack.name}.tgz" src="${dist.dir}/${pack.name}.tar" />
- <!-- no longer needed -->
- <delete file="${dist.dir}/${pack.name}.tar"/>
- <zip destfile="${dist.dir}/${pack.name}.zip">
- <zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="external.jars.notices"/>
- </zipfileset>
- <zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="external.jars"/>
- </zipfileset>
- </zip>
- </target>
-
- <target name="_pack-javadoc">
- <property name="pack.name" value="${dist.name}_api"/>
- <mkdir dir="${dist.dir}"/>
- <tar destfile="${dist.dir}/${pack.name}.tar" longfile="gnu">
- <tarfileset includes="${dest.docs.api}" dir="." prefix="${dist.name}" defaultexcludes="yes"/>
- </tar>
- <gzip destfile="${dist.dir}/${pack.name}.tgz" src="${dist.dir}/${pack.name}.tar" />
- <!-- no longer needed -->
- <delete file="${dist.dir}/${pack.name}.tar"/>
- <zip destfile="${dist.dir}/${pack.name}.zip">
- <zipfileset includes="${dest.docs.api}" dir="." prefix="${dist.name}" defaultexcludes="yes"/>
- </zip>
- </target>
-
- <target name="_pack-source">
- <property name="pack.name" value="${dist.name}_src"/>
- <mkdir dir="${dist.dir}"/>
- <tar destfile="${dist.dir}/${pack.name}.tar" longfile="gnu">
- <tarfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist.sources.native"/>
- </tarfileset>
- <tarfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist.sources.non.native"/>
- </tarfileset>
- </tar>
- <gzip destfile="${dist.dir}/${pack.name}.tgz" src="${dist.dir}/${pack.name}.tar" />
- <!-- no longer needed -->
- <delete file="${dist.dir}/${pack.name}.tar"/>
- <zip destfile="${dist.dir}/${pack.name}.zip">
- <zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist.sources.native"/>
- </zipfileset>
- <zipfileset dir="." prefix="${dist.name}" defaultexcludes="yes">
- <patternset refid="dist.sources.non.native"/>
- </zipfileset>
- </zip>
- </target>
-
- <!-- Create a zip of all resource files for translators -->
- <target name="pack-resources">
- <mkdir dir="${dist.dir}"/>
- <zip destfile="${dist.dir}/resources.zip">
- <zipfileset dir="." defaultexcludes="yes">
- <patternset excludes="${src.dir}/examples/**" />
- <patternset includes="${src.dir}/**/*Resources.properties" />
- <patternset includes="${src.dir}/**/messages.properties" />
- <patternset includes="${src.dir}/**/i18nedit.properties" />
- </zipfileset>
- </zip>
- </target>
-
-<!--
- Utility target to create SHA-512 checksums in standard format (with *filename)
- Usage:
- <antcall target="_hash">
- <param name="path" value="archive.jar|zip|gz"/>
- </antcall>
--->
-
- <target name="_hash" unless="hash.skip">
- <basename property="_base" file="${path}"/>
- <echo message="Creating SHA-512 for ${path}"/>
- <checksum algorithm="SHA-512" file="${path}" property="sha512"/>
- <echo message="${sha512} *${_base}" file="${path}.sha512"/>
- </target>
-
- <!--
- Clean-docs and clean-apidocs can be used to empty the docs or docs/api directories.
- This should be done before regenerating the documents for a release so that any obsolete files are detected.
- -->
- <target name="clean-docs">
- <mkdir dir="${dest.docs}" />
- <delete>
- <fileset dir="${dest.docs}" excludes=".svn/** api/**"/>
- </delete>
- </target>
-
- <!-- Use this before running docs-print to ensure image files are synchronised -->
- <target name="clean-docs-images">
- <delete failonerror="false">
- <fileset dir="${dest.docs}/images" excludes=".svn/**"/>
- </delete>
- </target>
-
- <target name="clean-apidocs">
- <delete failonerror="false">
- <fileset dir="${dest.docs.api}" excludes=".svn/**" />
- </delete>
- </target>
-
- <target name="clean" description="Clean up to force a build from source.">
- <!-- Unfortunately Ant reports failure if a directory does not exist -->
- <delete quiet="false" failonerror="false">
- <fileset dir="${dest.jar.jmeter}" includes="ApacheJMeter.jar"/>
- <fileset dir="${lib.dir}" includes="jorphan.jar"/>
- <fileset dir="${lib.dir}" includes="bshclient.jar"/>
- <fileset dir="${dest.jar}" includes="*.jar"/>
- <fileset dir="${build.dir}"/>
- <fileset dir="${dest.printable_docs}"/>
- <fileset dir="${dist.dir}"/>
- </delete>
- </target>
-
- <target name="clean-dist" description="Clean up dist directory.">
- <delete quiet="true">
- <fileset dir="${dist.dir}"/>
- </delete>
- </target>
-
- <target name="docs-api" description="Generate the API documentation.">
- <available property="jdk1.8+" classname="java.util.function.Consumer"/>
- <fail unless="jdk1.8+"
- message="Must use Java 8 or later for creating the Javadocs"/>
- <tstamp>
- <!-- Used to ensure end-year is up to date -->
- <format property="THISYEAR" pattern="yyyy"/>
- </tstamp>
-
- <!-- JMeter Javadoc version (own variable is used so can be overridden independently) -->
- <property name="docversion" value="${jmeter.version}"/>
-
- <mkdir dir="${dest.docs.api}"/>
- <delete quiet="true">
- <fileset dir="${dest.docs.api}" includes="**/*.html"/>
- </delete>
- <echo level="info">Updating overview to ${docversion}</echo>
- <replaceregexp match="version [^\s]+"
- encoding="${encoding}"
- replace="version ${docversion}"
- flags="g" byline="true">
- <fileset dir="${src.docs}" includes="overview.html" />
- </replaceregexp>
- <javadoc
- sourcepathref="srcpaths"
- overview="${src.docs}/overview.html"
- additionalparam="-breakiterator -notimestamp"
- destdir="${dest.docs.api}"
- encoding="${javadoc.encoding}"
- verbose="false"
- protected="yes"
- version="yes"
- doctitle="Apache JMeter API"
- windowtitle="Apache JMeter API"
- header="<b>Apache JMeter</b>"
- bottom="Copyright &#xA9; 1998-${THISYEAR} Apache Software Foundation. All Rights Reserved."
- packagenames="org.apache.jmeter.*,org.apache.jorphan.*">
- <classpath>
- <path refid="classpath"/>
- <path refid="logging.classpath"/>
- </classpath>
- <link href="http://docs.oracle.com/javase/8/docs/api/"/>
- </javadoc>
- <!-- No need for Javadoc patch (CVE-2013-1571) now we are using Java 8 minimum -->
- </target>
-
- <!--
- Run Doccheck: See http://java.sun.com/j2se/javadoc/doccheck/docs/DocCheck.html
- and http://java.sun.com/j2se/javadoc/doccheck/
- Download the doclet, and put the jar in lib/opt.
- Output is in reports/ directory
- -->
- <target name="docs-check">
- <javadoc sourcepathref="srcpaths"
- destdir="reports"
- docletpath="${lib.opt}/doccheck.jar"
- packagenames="org.apache.jmeter.*,org.apache.jorphan.*"
- excludepackagenames="org.apache.jmeter.util.keystore">
- <classpath refid="classpath"/>
- <doclet name="com.sun.tools.doclets.doccheck.DocCheck">
- <!--
- -execDepth: 1=org.* 2=org.apache.* 3+=org.apache.jmeter.*
- -evident does not seem to work
- -->
- <param name="-execDepth" value="3"/>
- <param name="-evident" value="4"/>
- </doclet>
- </javadoc>
- </target>
-
- <target name="docs-site" depends="init-docs" description="Generate browsable HTML documentation in web-site format.">
- <mkdir dir="${dest.docs}" />
- <!-- The extending pages are rather out of date (and not linked from elsewhere) -->
- <xslt style="xdocs/stylesheets/website-style.xsl" basedir="${src.docs}" destdir="${dest.docs}"
- force="${docs.force}" excludes="extending.xml" includes="*.xml">
- <param name="relative-path" expression="." />
- <param name="subdir" expression="" />
- <param name="year" expression="${year}" />
- </xslt>
- <xslt style="xdocs/stylesheets/website-style.xsl" basedir="${src.docs}/usermanual" destdir="${dest.docs}/usermanual"
- force="${docs.force}" includes="*.xml">
- <param name="relative-path" expression=".." />
- <param name="subdir" expression="usermanual" />
- <param name="year" expression="${year}" />
- </xslt>
- <xslt style="xdocs/stylesheets/website-style.xsl" basedir="${src.docs}/localising" destdir="${dest.docs}/localising"
- force="${docs.force}" includes="*.xml">
- <param name="relative-path" expression=".." />
- <param name="subdir" expression="usermanual" />
- <param name="year" expression="${year}" />
- </xslt>
- <copy todir="${dest.docs}/images" overwrite="${docs.force}">
- <fileset dir="${src.images}" />
- </copy>
- <copy todir="${dest.docs}/css" overwrite="${docs.force}">
- <fileset dir="${src.css}"/>
- </copy>
- <!--
- Note: it's vital that the Javadoc files are excluded from any fixes applied here.
- Any fixes to Javadoc files need to be done in the docs-api target only.
- Otherwise the output from the build will depend on which is done first.
- -->
- <echo level="info">Fixing EOL</echo>
- <fixcrlf encoding="utf-8" srcdir="${dest.docs}/" includes="**/*.html" excludes="api/**" fixlast="false"/>
- <echo level="info">Removing unnecessary </br> tags</echo>
- <replace encoding="utf-8" dir="${dest.docs}/" includes="**/*.html" excludes="api/**" token="</br>" value=""/>
- <copy todir="${dest.docs}/demos">
- <fileset dir="${src.demos}"/>
- </copy>
- <copy todir="${dest.docs}/usermanual">
- <fileset file="${src.docs}/usermanual/*.pdf"/>
- </copy>
- <copy todir="${dest.docs}/extending">
- <fileset file="${src.docs}/extending/jmeter_tutorial.pdf"/>
- </copy>
- <copy todir="${dest.docs}/">
- <fileset file="${src.docs}/download_jmeter.cgi"/>
- </copy>
- </target>
-
- <target name="docs-printable" depends="init-docs" if="AnakiaTask.present" description="Generate printable HTML documentation.">
- <taskdef name="anakia" classpathref="anakia.classpath" classname="org.apache.velocity.anakia.AnakiaTask"/>
- <!-- The extending pages are rather out of date (and not linked from elsewhere) -->
- <anakia basedir="${src.docs}" destdir="${dest.printable_docs}/" extension=".html" style="${eclipse.anakia}/xdocs/stylesheets/site_printable.vsl" projectFile="./stylesheets/printable_project.xml"
- excludes="**/stylesheets/** extending.xml extending/*.xml"
- includes="**/*.xml" lastModifiedCheck="${anakia.lastModifiedCheck}" velocityPropertiesFile="${src.docs}/velocity.properties"/>
- <echo level="info">Fixing EOL</echo>
- <fixcrlf encoding="utf-8" srcdir="${dest.printable_docs}/" includes="**/*.html" fixlast="false"/>
- <echo level="info">Removing unnecessary </br> tags</echo>
- <replace encoding="utf-8" dir="${dest.printable_docs}/" includes="**/*.html" token="</br>" value=""/>
- <!--
- Share images with non-printable version
- Means printable version won't work on web-site
- -->
- <echo level="info">Copying files</echo>
- <copy todir="${dest.docs}/css">
- <fileset dir="${src.css}"/>
- </copy>
- <copy todir="${dest.docs}/images">
- <fileset dir="${src.images}" />
- </copy>
- <copy todir="${dest.printable_docs}/demos">
- <fileset dir="${src.demos}"/>
- </copy>
- <copy todir="${dest.printable_docs}/usermanual">
- <fileset file="${src.docs}/usermanual/*.pdf"/>
- </copy>
- <copy todir="${dest.printable_docs}/extending">
- <fileset file="${src.docs}/extending/jmeter_tutorial.pdf"/>
- </copy>
- </target>
-
- <target name="test" depends="_test,_allbatchtests"
- description="Run tests (use -Djava.awt.headless=true on systems without graphic displays)"/>
-
- <target name="test-both" depends="test-headless,test-headed"/>
-
- <target name="test-headless" depends="compile-tests">
- <antcall target="_test">
- <param name="test.headless" value="true"/>
- </antcall>
- </target>
-
- <target name="test-headed" depends="compile-tests">
- <antcall target="_test">
- <param name="test.headless" value="false"/>
- </antcall>
- </target>
-
- <target name="batchtestserver" description="Run the batch test using client-server mode">
- <property name="batchtestserver.out" location="${basedir}/bin"/>
- <property name="batchtestserver.log" value="BatchTestServer.log"/>
- <!-- rmi_force_localhost is used by the Travis build -->
- <condition property="rmi_hostname_option" value="-Ddummy=true">
- <not><isset property="rmi_force_localhost"/></not>
- </condition>
- <condition property="rmi_hostname_option" value="-Djava.rmi.server.hostname=${computer.hostname}">
- <isset property="rmi_force_localhost"/>
- </condition>
- <condition property="jacoco_params" value="${jacocoagent}" else="-Djacoco_dummy=">
- <isset property="jacocoagent"/>
- </condition>
- <tstamp>
- <!-- Use variable port to help avoid clashes on CI servers -->
- <format property="rmi_port" pattern="2SSS"/>
- </tstamp>
- <parallel>
- <daemons>
- <java taskname="server" classname="org.apache.jmeter.NewDriver" fork="yes" dir="${batchtestserver.out}">
- <classpath>
- <fileset dir="${dest.jar.jmeter}" includes="*.jar"/>
- <fileset dir="${dest.jar}" includes="*.jar"/>
- <path refid="classpath"/>
- <path refid="logging.classpath"/>
- </classpath>
- <jvmarg value="${jacoco_params}batchtest:daemon:java(server)"/>
- <jvmarg value="-Xms64m"/>
- <jvmarg value="-Xmx128m"/>
- <jvmarg value="-Xss256k"/>
- <jvmarg value="-XX:MaxMetaspaceSize=128m"/>
- <sysproperty key="java.awt.headless" value="true"/>
- <!-- Bug 59723 -->
- <!-- pick up default properties -->
- <arg value="-pjmeter.properties"/>
- <!-- reset other parameters -->
- <arg value="-qtestfiles/jmeter-batch.properties"/>
- <arg value="-i"/>
- <arg value="testfiles/log4j2-batch.xml"/>
- <arg value="-j"/>
- <arg value="${batchtestserver.out}/${batchtestserver.log}"/>
- <arg value="-Dserver_port=${rmi_port}"/>
- <arg value="-s"/>
- <arg value="-Jserver.exitaftertest=true"/>
- <arg value="${rmi_hostname_option}"/>
- </java>
- </daemons>
- <sequential>
- <!-- Increase as necessary to ensure server has time to start -->
- <sleep seconds="2"/>
- <antcall target="batchtest">
- <param name="remote" value="-R${computer.hostname}:${rmi_port}"/>
- <param name="taskname" value="client"/>
- <!-- Default the test name so we can override with a parameter -->
- </antcall>
- </sequential>
- </parallel>
- <!-- Show the log file -->
- <concat>
- <filelist dir="${batchtestserver.out}" files="${batchtestserver.log}" />
- </concat>
-
- <local name="BatchTestLocalServer.len"/>
- <condition property="BatchTestLocalServer.len">
- <length file="${batchtestserver.out}/${batchtestserver.log}" when="equal" length="0" />
- </condition>
- <fail unless="BatchTestLocalServer.len">
- Error detected in server log file. See above.
- </fail>
-
- <delete>
- <fileset dir="${batchtestserver.out}">
- <include name="${batchtestserver.log}"/>
- </fileset>
- </delete>
- </target>
-
- <target name="batchtest" description="Run the batch test and compare output files" unless="${skip.batchtest}">
-
- <!-- will be overwritten by antcall parameters -->
- <property name="taskname" value="jmeter"/>
- <property name="remote" value="-X"/>
- <property name="batchtest.ignoreErrorLogs" value="false" />
- <property name="batchtest.inp" location="${basedir}/bin/testfiles"/>
- <property name="batchtest.out" location="${basedir}/bin"/>
- <property name="batchtest.name" value="BatchTestLocal"/>
- <property name="batchtest.jmx" value="${batchtest.name}.jmx"/>
- <!--
- Allow variable to be set on the command line
- Cannot omit value because that causes a warning message
- -->
- <property name="batchtest.variable" value="dummy"/>
- <property name="batchtest.value" value="dummy"/>
-
- <!-- Fix the EOL in case the file was derived from the "wrong" archive type -->
- <fixcrlf encoding="${encoding}" srcdir="${batchtest.inp}" includes="${batchtest.name}.csv"/>
-
- <echo level="info" message="Starting ${batchtest.name} with file ${batchtest.jmx} using ${remote} -J${batchtest.variable}=${batchtest.value}"/>
-
- <macrodef name="deleteworkfiles">
- <sequential>
- <delete>
- <fileset dir="${batchtest.out}">
- <include name="${batchtest.name}.csv"/>
- <include name="${batchtest.name}.xml"/>
- <include name="${batchtest.name}.log"/>
- <include name="${batchtest.name}.jtl"/>
- <!-- Allow for optional error files -->
- <include name="${batchtest.name}.err"/>
- </fileset>
- </delete>
- </sequential>
- </macrodef>
-
- <macrodef name="checkfile">
- <attribute name="type" default=""/>
- <attribute name="file"/>
- <sequential>
- <local name="found"/>
- <!--echo>Looking for @{file}</echo-->
- <available property="found" file="@{file}"/>
- <fail message="Cannot find @{type} file @{file}" unless="found"/>
- </sequential>
- </macrodef>
-
- <checkfile type="input" file="${batchtest.inp}${file.separator}${batchtest.name}.csv"/>
- <checkfile type="input" file="${batchtest.inp}${file.separator}${batchtest.name}.xml"/>
-
- <deleteworkfiles/>
-
- <condition property="jacoco_params" value="${jacocoagent}" else="-Djacoco_dummy=">
- <isset property="jacocoagent"/>
- </condition>
-
- <java taskname="${taskname}" classname="org.apache.jmeter.NewDriver" fork="yes" dir="${basedir}/bin">
- <classpath>
- <fileset dir="${dest.jar.jmeter}" includes="*.jar"/>
- <fileset dir="${dest.jar}" includes="*.jar"/>
- <path refid="classpath"/>
- <path refid="logging.classpath"/>
- </classpath>
- <jvmarg value="-Xms64m"/>
- <jvmarg value="-Xmx128m"/>
- <jvmarg value="-Xss256k"/>
- <jvmarg value="-XX:MaxMetaspaceSize=128m"/>
- <jvmarg value="${jacoco_params}batchtest:java(${taskname})"/>
- <jvmarg value="-Djava.rmi.server.hostname=${computer.hostname}" if:set="rmi_force_localhost"/>
- <!-- Detect if non-GUI runs OK headless by forcing it to try using non-headless mode -->
- <sysproperty key="user.language" value="en"/>
- <sysproperty key="user.region" value="US"/>
- <sysproperty key="java.awt.headless" value="false"/>
- <!-- Bug 59723 -->
- <!-- pick up default properties -->
- <arg value="-pjmeter.properties"/>
- <!-- reset other parameters -->
- <arg value="-qtestfiles/jmeter-batch.properties"/>
- <arg value="-n"/>
- <arg value="-ttestfiles/${batchtest.jmx}"/>
- <arg value="-i"/>
- <arg value="testfiles/log4j2-batch.xml"/>
- <arg value="-j"/>
- <arg value="${batchtest.name}.log"/>
- <arg value="-l"/>
- <arg value="${batchtest.name}.jtl"/>
- <arg value="${remote}"/>
- <!-- Check properties can be passed to local/remote tests -->
- <arg value="-Jmodule=Module"/>
- <arg value="-Gmodule=Module"/>
- <!-- Check property can be used for filenames in local/remote tests (no need to defined as -G) -->
- <arg value="-JCSVFILE=${batchtest.name}.csv"/>
- <arg value="-J${batchtest.variable}=${batchtest.value}"/>
- </java>
-
- <!-- Show the log file -->
- <concat>
- <filelist dir="${batchtest.out}" files="${batchtest.name}.log" />
- </concat>
-
- <checkfile type="output" file="${batchtest.out}${file.separator}${batchtest.name}.csv"/>
- <checkfile type="output" file="${batchtest.out}${file.separator}${batchtest.name}.xml"/>
- <checkfile type="output" file="${batchtest.out}${file.separator}${batchtest.name}.jtl"/>
-
- <local name="BatchTestLocal.csv.OK"/>
- <local name="file1.csv"/>
- <local name="file2.csv"/>
-
- <loadfile property="file1.csv" srcFile="${batchtest.inp}/${batchtest.name}.csv"/>
- <loadfile property="file2.csv" srcFile="${batchtest.out}/${batchtest.name}.csv"/>
- <condition property="BatchTestLocal.csv.OK">
- <filesmatch file1="${batchtest.inp}/${batchtest.name}.csv" file2="${batchtest.out}/${batchtest.name}.csv"/>
- </condition>
- <fail unless="BatchTestLocal.csv.OK">
- CSV Files are not identical.
- ${batchtest.inp}${file.separator}${batchtest.name}.csv
- ${file1.csv}
- ${batchtest.out}${file.separator}${batchtest.name}.csv
- ${file2.csv}
- </fail>
-
- <local name="BatchTestLocal.xml.OK"/>
- <local name="file1.xml"/>
- <local name="file2.xml"/>
- <loadfile property="file1.xml" srcFile="${batchtest.inp}/${batchtest.name}.xml"/>
- <loadfile property="file2.xml" srcFile="${batchtest.out}/${batchtest.name}.xml"/>
- <condition property="BatchTestLocal.xml.OK">
- <filesmatch file1="${batchtest.inp}/${batchtest.name}.xml" file2="${batchtest.out}/${batchtest.name}.xml"/>
- </condition>
- <fail unless="BatchTestLocal.xml.OK">
- XML Files are not identical.
- ${batchtest.inp}${file.separator}${batchtest.name}.xml
- ${file1.xml}
- ${batchtest.out}${file.separator}${batchtest.name}.xml
- ${file2.xml}
- </fail>
-
- <echo level="info">${batchtest.name} output files compared OK</echo>
-
- <local name="BatchTestLocal.len"/>
- <!-- We define "BatchTestLocal.len" property only if log file is empty
- or batchtest.ignoreErrorLogs is false
- -->
- <condition property="BatchTestLocal.len">
- <or>
- <length file="${batchtest.out}/${batchtest.name}.log" when="equal" length="0" />
- <equals arg1="${batchtest.ignoreErrorLogs}" arg2="true" casesensitive="true"/>
- </or>
- </condition>
-
- <fail unless="BatchTestLocal.len">
- Error detected in log file. See above.
- </fail>
-
- <deleteworkfiles/>
-
- </target>
-
- <!-- Additional test scripts -->
- <target name="batch_scripts">
- <antcall target="batchtest">
- <param name="batchtest.name" value="BUG_62847"/>
- <param name="batchtest.jmx" value="BUG_62847.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TestResultStatusAction"/>
- <param name="batchtest.jmx" value="TestResultStatusAction.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TestRedirectionPolicies"/>
- <param name="batchtest.jmx" value="TestRedirectionPolicies.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="HTMLParserTestFile_2"/>
- <param name="batchtest.jmx" value="HTMLParserTestFile_2.jmx"/>
- </antcall>
- <!-- Disable Test which seems wrong -->
- <!--
- <antcall target="batchtest">
- Using the same module controller name in command line mode causes NPE
- <param name="batchtest.name" value="Bug47165"/>
- <param name="batchtest.jmx" value="Bug47165.jmx"/>
- </antcall>
- -->
-
- <antcall target="batchtest">
- <!-- variable in IPSource failed HTTP request if "Concurrent Pool Size" is enabled -->
- <!-- N.B. requires access to jmeter.apache.org -->
- <param name="batchtest.name" value="Bug52310"/>
- <param name="batchtest.jmx" value="Bug52310.jmx"/>
- <param name="skip.batchtest" value="${skip.bug52310}" />
- </antcall>
-
- <antcall target="batchtest">
- <!-- Flow Control Action: Break Loop and Start Next Iteration of Loop -->
- <param name="batchtest.name" value="Bug62239"/>
- <param name="batchtest.jmx" value="Bug62239.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <!-- Option Start Next Loop in Thread Group does not mark parent Transaction Sampler in error when an error occurs -->
- <param name="batchtest.name" value="Bug52968"/>
- <param name="batchtest.jmx" value="Bug52968.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <!-- IncludeController : NullPointerException loading script in non-GUI mode if Includers use same element name -->
- <param name="batchtest.name" value="Bug50898"/>
- <param name="batchtest.jmx" value="Bug50898.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <!-- Foreach works incorrectly with indexes on subsequent iterations -->
- <param name="batchtest.name" value="Bug56243"/>
- <param name="batchtest.jmx" value="Bug56243.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <!-- ArrayIndexOutOfBoundsException if "sample_variable" is set in client but not server -->
- <!-- This is unaffected by the bug; it just checks the script works OK in local mode -->
- <param name="batchtest.name" value="Bug54685"/>
- <param name="batchtest.jmx" value="Bug54685.jmx"/>
- <param name="batchtest.variable" value="sample_variables"/>
- <param name="batchtest.value" value="REFERENCE,JSESSIONID"/>
- </antcall>
-
- <antcall target="batchtest">
- <!-- StackOverflowError with ModuleController in Non-GUI mode if its name is the same as the target node -->
- <param name="batchtest.name" value="Bug55375"/>
- <param name="batchtest.jmx" value="Bug55375.jmx"/>
- </antcall>
-
- <antcall target="batchtestserver">
- <!-- ArrayIndexOutOfBoundsException if "sample_variable" is set in client but not server -->
- <!-- This is the actual test -->
- <param name="batchtest.name" value="Bug54685"/>
- <param name="batchtest.jmx" value="Bug54685.jmx"/>
- <param name="batchtest.variable" value="sample_variables"/>
- <param name="batchtest.value" value="REFERENCE,JSESSIONID"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="Bug56811"/>
- <param name="batchtest.jmx" value="Bug56811.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TEST_HTTPS"/>
- <param name="batchtest.jmx" value="TEST_HTTPS.jmx"/>
- <param name="skip.batchtest" value="${skip.test_https}" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TestCookieManager"/>
- <param name="batchtest.jmx" value="TestCookieManager.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TCP_TESTS"/>
- <param name="batchtest.jmx" value="TCP_TESTS.jmx"/>
- <param name="batchtest.ignoreErrorLogs" value="true" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="JDBC_TESTS"/>
- <param name="batchtest.jmx" value="JDBC_TESTS.jmx"/>
- <param name="batchtest.ignoreErrorLogs" value="true" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="JMS_TESTS"/>
- <param name="batchtest.jmx" value="JMS_TESTS.jmx"/>
- <param name="batchtest.ignoreErrorLogs" value="true" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="OS_TESTS"/>
- <param name="batchtest.jmx" value="OS_TESTS.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="FTP_TESTS"/>
- <param name="batchtest.jmx" value="FTP_TESTS.jmx"/>
- <param name="batchtest.ignoreErrorLogs" value="true" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="Bug60607"/>
- <param name="batchtest.jmx" value="Bug60607.jmx"/>
- <param name="skip.batchtest" value="${skip.bug60607}" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="SlowCharsFeature_HttpClient4"/>
- <param name="batchtest.jmx" value="SlowCharsFeature.jmx"/>
- <param name="skip.batchtest" value="${skip.batchtest_SlowCharsFeature}" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="SlowCharsFeature_Java"/>
- <param name="batchtest.jmx" value="SlowCharsFeature.jmx"/>
- <param name="batchtest.variable" value="jmeter.httpsampler"/>
- <param name="batchtest.value" value="Java"/>
- <param name="skip.batchtest" value="${skip.batchtest_SlowCharsFeature}" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TestKeepAlive"/>
- <param name="batchtest.jmx" value="TestKeepAlive.jmx"/>
- <param name="skip.batchtest" value="${skip.batchtest_TestKeepAlive}" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="ResponseDecompression"/>
- <param name="batchtest.jmx" value="ResponseDecompression.jmx"/>
- <param name="skip.batchtest" value="${skip.batchtest_ResponseDecompression}" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TestHeaderManager"/>
- <param name="batchtest.jmx" value="TestHeaderManager.jmx"/>
- <param name="batchtest.variable" value="jmeter.httpsampler"/>
- <param name="batchtest.value" value="HttpClient4"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TestHeaderManager"/>
- <param name="batchtest.jmx" value="TestHeaderManager.jmx"/>
- <param name="batchtest.variable" value="jmeter.httpsampler"/>
- <param name="batchtest.value" value="Java"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TEST_HTTP_HttpClient4"/>
- <param name="batchtest.jmx" value="TEST_HTTP.jmx"/>
- <param name="batchtest.variable" value="jmeter.httpsampler"/>
- <param name="batchtest.value" value="HttpClient4"/>
- <param name="skip.batchtest" value="${skip.test_http}" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TEST_HTTP_Java"/>
- <param name="batchtest.jmx" value="TEST_HTTP.jmx"/>
- <param name="batchtest.variable" value="jmeter.httpsampler"/>
- <param name="batchtest.value" value="Java"/>
- <!-- This test contains a Redirection loop that leads to an error -->
- <param name="batchtest.ignoreErrorLogs" value="true" />
- <param name="skip.batchtest" value="${skip.test_http}" />
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="TestSchedulerWithTimer"/>
- <param name="batchtest.jmx" value="TestSchedulerWithTimer.jmx"/>
- </antcall>
-
- <antcall target="batchtest">
- <param name="batchtest.name" value="Http4ImplPreemptiveBasicAuth"/>
- <param name="batchtest.jmx" value="Http4ImplPreemptiveBasicAuth.jmx"/>
- <param name="batchtest.variable" value="jmeter.httpsampler"/>
- <param name="batchtest.value" value="Java"/>
- <param name="skip.batchtest" value="${skip.batchtest_Http4ImplPreemptiveBasicAuth}" />
- </antcall>
- <antcall target="batchtest">
- <param name="batchtest.name" value="Http4ImplPreemptiveBasicAuth"/>
- <param name="batchtest.jmx" value="Http4ImplPreemptiveBasicAuth.jmx"/>
- <param name="skip.batchtest" value="${skip.batchtest_Http4ImplPreemptiveBasicAuth}" />
- </antcall>
- <antcall target="batchtest">
- <param name="batchtest.name" value="Http4ImplDigestAuth"/>
- <param name="batchtest.jmx" value="Http4ImplDigestAuth.jmx"/>
- </antcall>
- </target>
-
- <!-- Run all batch tests; used by test target -->
- <target name="_allbatchtests" depends="batchtest,batchtestserver,batch_scripts">
- </target>
-
- <!-- Generic test target, not intended to be called directly -->
- <target name="_test" depends="compile-tests,package">
- <!--
- The property java.awt.headless is not automatically passed on,
- because the tests are run in a separate JVM from the build.
-
- It is assumed that Gump sets java.awt.headless if required.
-
- Set test.headless from the java.awt property, if that
- is defined, otherwise it us set to "".
- N.B. if test.headless is already set, it will not be changed
- This allows the property to be over-ridden by test-headless etc.
- -->
- <condition property="test.headless" value="${java.awt.headless}">
- <isset property="java.awt.headless"/>
- </condition>
- <!-- make sure test.headless is set to something -->
- <condition property="test.headless" value="">
- <not><isset property="java.awt.headless"/></not>
- </condition>
-
- <!-- set build.test.gump to build.test if not already set -->
- <condition property="build.test.gump" value="${build.test}">
- <not><isset property="build.test.gump"/></not>
- </condition>
- <echo level="info">
- gump.run = ${gump.run}
- java.awt.headless = ${java.awt.headless}
- test.headless = ${test.headless}
- user.dir = ${user.dir}
- basedir = ${basedir}
- test dir = ${build.test}
- test dir gump = ${build.test.gump}
- testsaveservice.saveout = ${testsaveservice.saveout}
- test.encoding = ${test.encoding}
- </echo>
- <delete quiet="true">
- <fileset dir="${basedir}/bin/testfiles" includes="*.jmx.out"/>
- </delete>
- <condition property="jacoco_params" value="${jacocoagent}" else="-Djacoco_dummy=">
- <isset property="jacocoagent"/>
- </condition>
- <!-- fork="yes" is required or dir attribute is ignored -->
- <java classname="org.apache.jorphan.test.AllTests" fork="yes" failonerror="true" dir="${basedir}/bin">
- <classpath>
- <fileset dir="${dest.jar.jmeter}" includes="ApacheJMeter.jar"/>
- <fileset dir="${dest.jar}" includes="*.jar"/>
- <pathelement location="${build.test}"/>
- <pathelement location="${build.test-res}"/>
- <path refid="classpath"/>
- <path refid="logging.classpath"/>
- </classpath>
- <jvmarg value="-Xss256k"/>
- <jvmarg value="-XX:MaxMetaspaceSize=256m"/>
- <jvmarg value="-server"/>
- <jvmarg value="${jacoco_params}_test:java"/>
- <jvmarg value="-Dfile.encoding=${test.encoding}"/>
- <jvmarg value="-Djava.rmi.server.hostname=${computer.hostname}" if:set="rmi_force_localhost"/>
- <sysproperty key="java.awt.headless" value="${test.headless}"/>
- <sysproperty key="testsaveservice.saveout" value="${testsaveservice.saveout}" />
- <sysproperty key="gump.run" value="${gump.run}" />
- <sysproperty key="log4j.configurationFile" value="${basedir}/bin/log4j2.xml" />
- <sysproperty key="skip.test_TestDNSCacheManager.testWithCustomResolverAnd1Server"
- value="${skip.test_TestDNSCacheManager.testWithCustomResolverAnd1Server}" />
- <arg value="${build.test}"/>
- <arg value="${basedir}/bin/jmeter.properties"/>
- <arg value="org.apache.jmeter.util.JMeterUtils"/>
- </java>
- </target>
-
- <!--
- In order to run JUnit, both junit.jar and optional.jar need to be on the Ant classpath
- optional.jar is normally found in ANT_HOME/lib
- -->
- <target name="junit" depends="compile-tests"
- description="Run individual JUnit test (-Dtest.case=org.apache.jorphan.test.AllTests) (-Dtest.format=plain) (-Dtest.showoutput=true)">
- <mkdir dir="reports"/>
- <property name="test.format" value="plain"/>
- <property name="test.case" value="org.apache.jorphan.test.AllTests"/>
- <property name="test.showoutput" value="false"/>
- <condition property="jacoco_params" value="${jacocoagent}" else="-Djacoco_dummy=">
- <isset property="jacocoagent"/>
- </condition>
- <junit fork="true"
- dir="${basedir}/bin"
- showoutput="${test.showoutput}"
- printsummary="on">
- <formatter type="${test.format}" usefile="yes"/>
- <formatter type="xml"/>
- <jvmarg value="${jacoco_params}run_gui:junit"/>
- <jvmarg value="-Dfile.encoding=${test.encoding}"/>
- <!-- Allow headless to be passed in -->
- <jvmarg value="-Djava.awt.headless=${java.awt.headless}"/>
- <classpath>
- <fileset dir="${dest.jar}" includes="*.jar"/>
- <pathelement location="${build.test}"/>
- <path refid="classpath"/>
- <path refid="logging.classpath"/>
- </classpath>
- <test name="${test.case}" todir="reports"/>
- </junit>
- </target>
-
- <target name="complete-junit" depends="compile-tests"
- description="Run all JUnit tests (-Dtest.format=plain) (-Dtest.showoutput=true)"
- xmlns:jacoco="antlib:org.jacoco.ant">
- <mkdir dir="reports"/>
- <property name="test.format" value="plain"/>
- <property name="test.case" value="org.apache.jorphan.test.AllTests"/>
- <property name="test.showoutput" value="false"/>
- <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
- <classpath refid="sonar.classpath" />
- </taskdef>
- <jacoco:coverage destfile="reports/jacoco.exec">
- <junit fork="true"
- forkmode="once"
- dir="${basedir}/bin"
- showoutput="${test.showoutput}"
- printsummary="on">
- <formatter type="${test.format}" usefile="yes"/>
- <formatter type="xml"/>
- <jvmarg value="-Dfile.encoding=${test.encoding}"/>
- <!-- Allow headless to be passed in -->
- <jvmarg value="-Djava.awt.headless=${java.awt.headless}"/>
- <sysproperty key="log4j.configurationFile" value="${basedir}/bin/log4j2.xml" />
- <classpath>
- <fileset dir="${dest.jar}" includes="*.jar"/>
- <pathelement location="${build.test}"/>
- <pathelement location="${build.test-res}"/>
- <path refid="classpath"/>
- <path refid="logging.classpath"/>
- </classpath>
- <batchtest todir="reports" skipNonTests="true">
- <fileset dir="${build.test}">
- <include name="**/*Spec.class" />
- </fileset>
- <fileset dir="${src.test}">
- <include name="**/*Test*.java" />
- <exclude name="**/AllTests.java" />
- </fileset>
- </batchtest>
- </junit>
- </jacoco:coverage>
- </target>
-
- <!-- Utility target to collate reports -->
- <target name="junitreport">
- <mkdir dir="reports"/>
- <junitreport todir="reports">
- <fileset dir="reports">
- <include name="TEST-*.xml"/>
- </fileset>
- <report format="frames" todir="reports"/>
- </junitreport>
- </target>
-
- <target name="generator_jar" depends="compile-tests" description="Create the test tree generator jar">
- <jar jarfile="${dest.jar}/ApacheJMeter_generator.jar"
- manifest="${build.dir}/MANIFEST_BIN.MF">
- <zipfileset file="${resources.meta-inf}/default.notice"
- fullpath="META-INF/NOTICE" />
- <zipfileset file="${resources.meta-inf}/default.license"
- fullpath="META-INF/LICENSE" />
- <fileset dir="${build.test}" includes="**/GenerateTreeGui*.class"/>
- </jar>
- </target>
-
- <target name="svnCheck" description="Use SVN to get the current revision" unless="disable-svnCheck">
- <exec executable="svn" logerror="true" outputproperty="svn.exec.result" failonerror="true" failifexecutionfails="true">
- <arg line="info"/>
- </exec>
- <loadresource property="svn.revision">
- <string value="${svn.exec.result}"/>
- <filterchain>
- <linecontains>
- <contains value="Last Changed Rev: "/>
- </linecontains>
- <tokenfilter>
- <!-- Remove all but the revision number -->
- <replaceregex pattern=".*: " replace=""/>
- </tokenfilter>
- <striplinebreaks/>
- </filterchain>
- </loadresource>
- <echo level="info" message="svn.revision=${svn.revision}"/>
- </target>
-
- <!-- Macro is needed to be able to perform indirect evaluation of property names -->
- <macrodef name="process_jarfile">
- <attribute name="jarname"/>
- <attribute name="dest.dir" default="${lib.dir}"/>
- <sequential>
- <!-- Call all possible targets; these are only executed if the appropriate property is set -->
- <antcall target="_check_exists">
- <param name="file" value="@{dest.dir}/${@{jarname}.jar}"/>
- <param name="loc" value="${@{jarname}.loc}"/>
- <param name="jar" value="${@{jarname}.jar}"/>
- <param name="path" value="@{dest.dir}"/>
- <param name="sha512" value="${@{jarname}.sha512}"/>
- <param name="_checkSHA512" value="true"/>
- </antcall>
- <antcall target="_check_jarfile">
- <param name="loc" value="${@{jarname}.loc}"/>
- <param name="jar" value="${@{jarname}.jar}"/>
- <param name="path" value="@{dest.dir}"/>
- <param name="sha512" value="${@{jarname}.sha512}"/>
- <param name="_checkSHA512" value="true"/>
- <param name="zip" value="${@{jarname}.zip}"/>
- <param name="ent" value="${@{jarname}.ent}"/>
- <param name="zipprop" value="@{jarname}.zip"/>
- </antcall>
- </sequential>
- </macrodef>
-
- <!-- Check if jarfile exists, and set properties for calling zip or jar download -->
- <target name="_check_jarfile" if="_get_file">
- <!-- Check if file exists -->
- <fail message="Error in build file or calling sequence" if="file.exists"/>
- <echo level="info">Checking ${jar}</echo>
- <available file="${path}/${jar}" property="file.exists"/>
- <condition property="_get_zipfile">
- <isset property="${zipprop}"/>
- </condition>
- <condition property="_get_jarfile">
- <not>
- <isset property="${zipprop}"/>
- </not>
- </condition>
- <!-- Delete all but the desired version of the file -->
- <loadresource property="wildCard">
- <propertyresource name="jar"/>
- <filterchain>
- <tokenfilter>
- <filetokenizer/>
- <!-- Replace version with a wildcard. e.g, foo-1.2.3.jar or foo-1.2.3.RELEASE.jar to foo-*.jar -->
- <replaceregex pattern="-(\d+\.){2,}([A-Za-z]*)[-|\d]*?\.(jar|zip)" replace="-*\2"/>
- </tokenfilter>
- </filterchain>
- </loadresource>
- <echo level="info" message="Deleting ${wildCard} (excluding ${jar})"/>
- <delete verbose="true">
- <!-- Unfortunately commons-jexl jars don't have unique prefixes -->
- <fileset dir="${path}" includes="${wildCard}" excludes="${jar} commons-jexl-*"/>
- </delete>
- <!-- Emulate conditional execution; targets use if/unless to suppress execution -->
- <antcall target="_get_jarfile"/>
- <antcall target="_get_zipfile"/>
- </target>
-
- <!-- Get a zip file and unpack it -->
- <target name="_get_zipfile" if="_get_zipfile" unless="file.exists" depends="setproxy">
- <get src="${loc}/${zip}"
- dest="${build.dir}/${zip}"
- usetimestamp="true" ignoreerrors="false"/>
- <unzip dest="${build.dir}" src="${build.dir}/${zip}">
- <patternset>
- <include name="**/${ent}"/>
- </patternset>
- <!-- This requires Ant 1.7.0 or later -->
- <mapper type="flatten"/>
- </unzip>
- <antcall target="_checkSHA512">
- <param name="file" value="${ent}"/>
- <param name="path" value="${build.dir}"/>
- <param name="sha512" value="${sha512}"/>
- </antcall>
- <move preservelastmodified="true" overwrite="true"
- file="${build.dir}/${ent}" tofile="${path}/${jar}" verbose="true"/>
- </target>
-
- <!-- Download a jar file and check its hash; if correct, move to correct directory -->
- <target name="_get_jarfile" if="_get_jarfile" unless="file.exists" depends="setproxy">
- <echo message="Fetching: ${path}/${jar}" level="info"/>
- <get src="${loc}/${jar}"
- dest="${build.dir}/${jar}"
- usetimestamp="false" ignoreerrors="false"/>
- <antcall target="_checkSHA512">
- <param name="file" value="${jar}"/>
- <param name="path" value="${build.dir}"/>
- <param name="sha512" value="${sha512}"/>
- </antcall>
- <move preservelastmodified="true" overwrite="true"
- file="${build.dir}/${jar}" tofile="${path}/${jar}" verbose="true"/>
- </target>
-
- <!-- Ant subroutine, required to localise SHA512OK property -->
- <target name="_checkSHA512" if="_checkSHA512">
- <!--
- @param path - location of file
- @param file - file name
- -->
- <checksum algorithm="SHA-512" file="${path}/${file}" property="SHA512"/>
- <condition property="SHA512OK">
- <equals arg1="${SHA512}" arg2="${sha512}" casesensitive="false"/>
- </condition>
- <fail unless="SHA512OK">Bad Checksum: for ${file}
- expected ${sha512}
- actual ${SHA512}</fail>
- <echo level="info" message="Checksum OK: ${file}"/>
- </target>
-
- <!--
- Generic target to process all external jars.
- The "process_jarfile" macro resolves the properties that begin with the jarname
- and calls all the possible targets. The targets use "if" and "unless" to provide
- conditional execution (it would be a lot easier if antcall supported if/unless).
- -->
- <target name="_process_all_jars">
- <process_jarfile jarname="accessors-smart"/>
- <process_jarfile jarname="apache-bsf"/>
- <process_jarfile jarname="asm"/>
- <process_jarfile jarname="bcmail" dest.dir="${lib.api}"/>
- <process_jarfile jarname="bcprov" dest.dir="${lib.api}"/>
- <process_jarfile jarname="bcpkix" dest.dir="${lib.api}"/>
- <process_jarfile jarname="beanshell"/>
- <process_jarfile jarname="dec"/>
- <process_jarfile jarname="caffeine"/>
- <process_jarfile jarname="commons-codec"/>
- <process_jarfile jarname="commons-collections"/>
- <process_jarfile jarname="commons-dbcp2"/>
- <process_jarfile jarname="commons-io"/>
- <process_jarfile jarname="commons-jexl2"/>
- <process_jarfile jarname="commons-jexl3"/>
- <process_jarfile jarname="commons-lang3"/>
- <process_jarfile jarname="commons-math3"/>
- <process_jarfile jarname="commons-net"/>
- <process_jarfile jarname="commons-pool2"/>
- <process_jarfile jarname="commons-text"/>
- <process_jarfile jarname="darcula"/>
- <process_jarfile jarname="dnsjava"/>
- <process_jarfile jarname="freemarker"/>
- <process_jarfile jarname="groovy-all"/>
- <process_jarfile jarname="hamcrest-core"/>
- <process_jarfile jarname="hamcrest-date"/>
- <process_jarfile jarname="httpclient"/>
- <process_jarfile jarname="httpasyncclient"/>
- <process_jarfile jarname="httpcore"/>
- <process_jarfile jarname="httpcore-nio"/>
- <process_jarfile jarname="httpmime"/>
- <process_jarfile jarname="jakarta-oro"/>
- <process_jarfile jarname="jackson-annotations"/>
- <process_jarfile jarname="jackson-core"/>
- <process_jarfile jarname="jackson-databind"/>
- <process_jarfile jarname="javamail"/>
- <process_jarfile jarname="jcharts"/>
- <process_jarfile jarname="jdom" dest.dir="${lib.doc}"/>
- <process_jarfile jarname="jms"/>
- <process_jarfile jarname="rhino"/>
- <process_jarfile jarname="javax.activation"/>
- <process_jarfile jarname="javax.activation-api"/>
- <process_jarfile jarname="jodd-core"/>
- <process_jarfile jarname="jodd-lagarto"/>
- <process_jarfile jarname="jodd-log"/>
- <process_jarfile jarname="jodd-props"/>
- <process_jarfile jarname="json-path"/>
- <process_jarfile jarname="json-smart"/>
- <process_jarfile jarname="jsoup"/>
- <process_jarfile jarname="junit"/>
- <process_jarfile jarname="mongo-java-driver"/>
- <process_jarfile jarname="ph-css" />
- <process_jarfile jarname="ph-commons" />
- <process_jarfile jarname="rsyntaxtextarea"/>
- <process_jarfile jarname="serializer"/>
- <process_jarfile jarname="slf4j-api"/>
- <process_jarfile jarname="jcl-over-slf4j"/>
- <process_jarfile jarname="log4j-api"/>
- <process_jarfile jarname="log4j-1.2-api"/>
- <process_jarfile jarname="log4j-core"/>
- <process_jarfile jarname="log4j-slf4j-impl"/>
- <process_jarfile jarname="spock-core"/>
- <process_jarfile jarname="cglib-nodep"/>
- <process_jarfile jarname="objenesis"/>
- <process_jarfile jarname="jtidy"/>
- <process_jarfile jarname="tika-core"/>
- <process_jarfile jarname="tika-parsers"/>
- <process_jarfile jarname="velocity" dest.dir="${lib.doc}"/>
- <process_jarfile jarname="commons-lang" dest.dir="${lib.doc}"/>
- <process_jarfile jarname="xalan"/>
- <process_jarfile jarname="Saxon-HE"/>
- <process_jarfile jarname="xerces"/>
- <process_jarfile jarname="xml-apis"/>
- <process_jarfile jarname="xmlgraphics-commons"/>
- <process_jarfile jarname="xmlpull"/>
- <process_jarfile jarname="xpp3"/>
- <process_jarfile jarname="xstream"/>
- <process_jarfile jarname="hsqldb" dest.dir="${lib.coverage}" />
- <process_jarfile jarname="activemq-all" dest.dir="${lib.coverage}" />
- <process_jarfile jarname="mina-core" dest.dir="${lib.coverage}" />
- <process_jarfile jarname="ftplet-api" dest.dir="${lib.coverage}" />
- <process_jarfile jarname="ftpserver-core" dest.dir="${lib.coverage}" />
- <process_jarfile jarname="jacocoant" dest.dir="${lib.coverage}" />
- <process_jarfile jarname="sonarqube-ant-task" dest.dir="${lib.coverage}" />
- </target>
-
- <target name="_process_doc_jars">
- <process_jarfile jarname="commons-collections"/>
- <process_jarfile jarname="commons-lang" dest.dir="${lib.doc}"/>
- <process_jarfile jarname="jdom" dest.dir="${lib.doc}"/>
- <process_jarfile jarname="velocity" dest.dir="${lib.doc}"/>
- </target>
-
- <target name="_process_checkstyle_jars">
- <process_jarfile jarname="checkstyle-all" dest.dir="${lib.opt}"/>
- </target>
-
- <target name="_process_rat_jars">
- <process_jarfile jarname="rat" dest.dir="${lib.opt}"/>
- <process_jarfile jarname="rat-tasks" dest.dir="${lib.opt}"/>
- </target>
-
- <!-- Update a jar (clean, download, package in one shot.-->
- <target name="update_jar" depends="clean, download_jars, package">
- </target>
-
-
- <!-- Download all missing jars.-->
- <target name="download_jars" description="Download any missing jar files">
- <!-- build.dir may be needed as a temporary work area -->
- <mkdir dir="${build.dir}" />
- <!-- The directories must exist otherwise the build fails when deleting previous versions -->
- <mkdir dir="${lib.api}" />
- <mkdir dir="${lib.doc}" />
- <delete verbose="true">
- <!-- bcprov jars no longer have the same prefix so the wildcard delete does not work; drop any old ones -->
- <fileset dir="${lib.api}" includes="bcmail-jdk15-*.jar bcprov-jdk15-*.jar"/>
- <fileset dir="${lib.dir}" includes="ApacheJMeter_slf4j_logkit.jar bsh-2.0b5.jar" />
- <!-- tidy up unused Excalibur jars -->
- <fileset dir="${lib.dir}" includes="avalon-framework-4.1.4.jar excalibur-datasource-2.1.jar excalibur-instrument-1.0.jar excalibur-logger-1.1.jar excalibur-pool-api-2.1.jar excalibur-pool-impl-2.1.jar excalibur-pool-instrumented-2.1.jar"/>
- <!-- jdom jar has moved; drop the old one -->
- <fileset dir="${lib.dir}" includes="jdom-1.1.3.jar"/>
- <!-- Drop slf4j-nop implementation -->
- <fileset dir="${lib.dir}" includes="slf4j-nop-1.7.13.jar"/>
- <!-- tidy up unused commons-logging jar -->
- <fileset dir="${lib.dir}" includes="commons-logging-1.2.jar"/>
- <!-- tidy up unused commons-httpclient jar -->
- <fileset dir="${lib.dir}" includes="commons-httpclient-3.1.jar"/>
- <!-- tidy up unused htmlparser jars -->
- <fileset dir="${lib.dir}" includes="htmllexer-2.1.jar htmlparser-2.1.jar"/>
- <!-- tidy up unused logkit jars -->
- <fileset dir="${lib.dir}" includes="logkit-2.0.jar"/>
- <fileset dir="${lib.opt}" includes="org.jacoco.ant-*-nodeps.jar" excludes="${jacocoant.jar}"/>
- <!-- tidy up unused slf4j-ext jar -->
- <fileset dir="${lib.dir}" includes="slf4j-ext-1.7.25.jar" />
- <fileset dir="${lib.dir}" includes="spock-core-1.0-groovy-2.4.jar" />
- </delete>
- <antcall target="_process_all_jars">
- <param name="_get_file" value="true"/>
- </antcall>
- </target>
-
- <target name="download_doc_jars">
- <!-- build.dir may be needed as a temporary work area -->
- <mkdir dir="${build.dir}" />
- <antcall target="_process_doc_jars">
- <param name="_get_file" value="true"/>
- </antcall>
- </target>
-
- <target name="download_checkstyle">
- <!-- build.dir may be needed as a temporary work area -->
- <mkdir dir="${build.dir}" />
- <antcall target="_process_checkstyle_jars">
- <param name="_get_file" value="true"/>
- </antcall>
- </target>
-
- <target name="download_rat">
- <!-- build.dir may be needed as a temporary work area -->
- <mkdir dir="${build.dir}" />
- <antcall target="_process_rat_jars">
- <param name="_get_file" value="true"/>
- </antcall>
- </target>
-
- <target name="_coverage.prepare" >
- <available property="jacocoant.jar.available" file="${lib.coverage}/${jacocoant.jar}"/>
- <fail message="This task requires JaCoCo library, please run download_jars target to download it" unless="jacocoant.jar.available"/>
- <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml">
- <classpath path="${lib.coverage}/${jacocoant.jar}"/>
- </taskdef>
- <jacoco:agent property="jacocoagent"
- destfile="reports/jacoco.exec"
- includes="org.apache.jmeter.*:org.apache.jorphan.*:org.apache.commons.cli.avalon.*:org.sl4j.impl.StaticLoggerBinder:org.apache.http.impl.conn.*"
- sessionid=""
- />
- </target>
-
- <target name="_coverage.report" depends="_coverage.prepare, init-version">
- <jacoco:report>
- <executiondata>
- <file file="reports/jacoco.exec"/>
- </executiondata>
- <structure name="JMeter ${jmeter.version} ${implementation.version}">
- <classfiles>
- <fileset dir="${build.components}"/>
- <fileset dir="${build.core}"/>
- <fileset dir="${build.functions}"/>
- <fileset dir="${build.jorphan}"/>
- <fileset dir="${build.junit}"/>
- <fileset dir="${build.ftp}"/>
- <fileset dir="${build.http}"/>
- <fileset dir="${build.java}"/>
- <fileset dir="${build.jdbc}"/>
- <fileset dir="${build.jms}"/>
- <fileset dir="${build.ldap}"/>
- <fileset dir="${build.mail}"/>
- <fileset dir="${build.mongodb}"/>
- <fileset dir="${build.native}"/>
- <fileset dir="${build.tcp}"/>
- </classfiles>
- <sourcefiles encoding="${encoding}">
- <fileset dir="${src.components}"/>
- <fileset dir="${src.core}"/>
- <fileset dir="${src.functions}"/>
- <fileset dir="${src.jorphan}"/>
- <fileset dir="${src.junit}"/>
- <fileset dir="${src.ftp}"/>
- <fileset dir="${src.http}"/>
- <fileset dir="${src.java}"/>
- <fileset dir="${src.jdbc}"/>
- <fileset dir="${src.jms}"/>
- <fileset dir="${src.ldap}"/>
- <fileset dir="${src.mail}"/>
- <fileset dir="${src.mongodb}"/>
- <fileset dir="${src.native}"/>
- <fileset dir="${src.tcp}"/>
- </sourcefiles>
- </structure>
- <html destdir="reports/coverage"/>
- <xml destfile="reports/coverage/jmeter-coverage.xml"/>
- <csv destfile="reports/coverage/jmeter-coverage.csv"/>
- </jacoco:report>
- </target>
-
- <target name="coverage-travis" depends="ant-version,_coverage.prepare, test, _coverage.report"/>
-
- <target name="coverage" depends="ant-version,_coverage.prepare, test-both, _allbatchtests, init-svnVersion, _coverage.report"/>
-
- <target name="_check_exists" if="_check_exists">
- <fail message="Invalid call sequence - file.exists should not be defined" if="file.exists"/>
- <available file="${file}" property="file.exists"/>
- <fail message="Could not find file ${file}" unless="file.exists"/>
- <antcall target="_checkSHA512">
- <param name="file" value="${jar}"/>
- <param name="path" value="${path}"/>
- <param name="sha512" value="${sha512}"/>
- </antcall>
- <!--echo level="info" message="Found ${file}"/-->
- </target>
-
- <target name="check_jars" description="Check that all required jar files are present" unless="no_check_jars">
- <antcall target="_process_all_jars">
- <param name="_check_exists" value="true"/>
- </antcall>
- </target>
-
- <!-- Need to define config_loc for use by Eclipse -->
- <property name="config_loc" value="."/>
- <target name="checkstyle">
- <available property="checkstyle.jar.available" file="${lib.opt}/${checkstyle-all.jar}"/>
- <fail message="This task requires checkstyle, please run download_checkstyle target to download checkstyle"
- unless="checkstyle.jar.available"/>
-
- <antcall target="_process_checkstyle_jars"/>
- <taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties"
- classpath="${lib.opt}/${checkstyle-all.jar}"/>
- <checkstyle config="checkstyle.xml">
- <fileset dir="." includes="test/**/*,src/**/*"/>
- <formatter type="plain"/>
- <formatter type="xml" toFile="build/checkstyle_errors.xml"/>
- </checkstyle>
-
- </target>
-
- <target name="rat">
- <available property="rat.jar.available" file="${lib.opt}/${rat.jar}"/>
- <fail message="This task requires Apache Creadur RAT, please run download_rat target to download it"
- unless="rat.jar.available"/>
- <taskdef
- uri="antlib:org.apache.rat.anttasks"
- resource="org/apache/rat/anttasks/antlib.xml">
- <classpath>
- <pathelement location="${lib.opt}/${rat.jar}"/>
- <pathelement location="${lib.opt}/${rat-tasks.jar}"/>
- </classpath>
- </taskdef>
- <mkdir dir="${basedir}/reports/" />
- <rat:report reportfile="reports/rat-report.txt">
- <fileset dir="." excludesfile="rat-excludes.txt"/>
- </rat:report>
- <loadfile property="rat-errors" srcFile="reports/rat-report.txt">
- <filterchain>
- <linecontains>
- <contains value="Unknown"/>
- </linecontains>
- </filterchain>
- </loadfile>
- <echo message="reports/rat-report.txt:"/>
- <echo message="${rat-errors}"/>
- </target>
-
- <target name="sign_dist"
- description="Sign release artifacts in dist and dist/maven. Usage: ant sign_dist -Dgpg.keyname=key-id [-Dgpg.secretKeyring=path-to-keyring] ">
- <scriptdef name="gpg" language="beanshell">
- <classpath>
- <pathelement location="${lib.dir}/${beanshell.jar}"/>
- </classpath>
- <element name="fileset" type="fileset"/>
- <![CDATA[
- int execcode( String command ) // helper
- {
- StringTokenizer st = new StringTokenizer(command);
- String[] cmdarray = new String[st.countTokens()];
- for (int i = 0; st.hasMoreTokens(); i++) {
- cmdarray[i] = st.nextToken();
- }
- // Merge stderr with stdout so only have to fetch one stream
- proc = new ProcessBuilder(cmdarray).redirectErrorStream(true).start();
- din = new DataInputStream( proc.getInputStream() );
- while( (line=din.readLine()) != null ) {
- print(line);
- }
- return this.proc.waitFor();
- }
- keyname = project.getProperty("gpg.keyname");
- // Java 1.6 returns void, Java 1.5 returns null
- if (keyname == void || keyname == null) {
- self.fail("Please provide the gpg.keyname property");
- }
- keyring = project.getProperty("gpg.secretKeyring");
- if (keyring == void || keyring == null) {
- keyring = "secring.gpg"; // the default
- }
- sep=java.io.File.separator;
- cmd="gpg2 --batch --yes -ba -u " + keyname + " --secret-keyring " + keyring;
- self.log("Command: "+cmd);
- filesets = elements.get("fileset");
- for (i = 0; i < filesets.size(); ++i) {
- fileset = filesets.get(i);
- basedir = fileset.getDir();
- self.log("Processing "+basedir);
- ds = fileset.getDirectoryScanner();
- srcFiles = ds.getIncludedFiles();
- for (j=0; j < srcFiles.length; j++) {
- srcFile=srcFiles[j];
- file=basedir + sep + srcFile;
- self.log("Signing "+srcFile);
- ret=execcode(cmd+ " " + file);
- if (ret != 0) {
- self.fail("Command failed: "+ret);
- }
- }
- }
- ]]>
- </scriptdef>
- <gpg>
- <fileset dir="${dist.dir}" includes="*.*" excludes="*.asc *.sha512"/>
- <fileset dir="${maven.dir}" includes="*.*" excludes="*.asc *.sha512"/>
- </gpg>
- </target>
-
- <path id="sonar.classpath">
- <fileset dir="./lib/opt" includes="**/*.jar" />
- </path>
-
-
- <target name="_sonar">
- <property environment="env" />
- <property name="sonar.organizationName" value="Apache" />
- <property name="sonar.projectName" value="JMeter" />
-
- <property name="sonar.projectKey" value="org.apache.jmeter:${sonar.projectName}" />
- <property name="sonar.projectVersion" value="${jmeter.version}" />
- <property name="sonar.language" value="java" />
- <property name="sonar.links.homepage" value="http://jmeter.apache.org" />
- <property name="sonar.links.ci" value="https://builds.apache.org/job/JMeter-trunk/" />
- <property name="sonar.links.scm" value="http://jmeter.apache.org/svnindex.html" />
- <property name="sonar.links.issue" value="http://jmeter.apache.org/issues.html" />
- <property name="sonar.modules" value="core,http,ftp,java,jdbc,ldap,mail,components,functions,jorphan,tcp,jms,native" />
- <property name="sonar.java.binaries" value="${build.core},${build.http},${build.core},${build.http},${build.ftp},${build.java},${build.jdbc},${build.ldap},${build.mail},${build.components},${build.functions},${build.jorphan},${build.tcp},${build.jms},${build.native}" />
- <property name="sonar.java.libraries" value="lib,lib/opt" />
-
- <property name="sonar.junit.reportsPath" value="reports" />
- <property name="sonar.jacoco.reportPath" value="reports/jacoco.exec" />
-
- <property name="sonar.issue.ignore.multicriteria" value="c1,c2,c3,c4,c5" />
- <property name="sonar.issue.ignore.multicriteria.c1.ruleKey"
- value="squid:S1948" />
- <property name="sonar.issue.ignore.multicriteria.c1.resourceKey"
- value="**/*.java" />
- <property name="sonar.issue.ignore.multicriteria.c2.ruleKey"
- value="squid:S00112" />
- <property name="sonar.issue.ignore.multicriteria.c2.resourceKey"
- value="**/*.java" />
- <property name="sonar.issue.ignore.multicriteria.c3.ruleKey"
- value="squid:MaximumInheritanceDepth" />
- <property name="sonar.issue.ignore.multicriteria.c3.resourceKey"
- value="**/*.java" />
- <property name="sonar.issue.ignore.multicriteria.c4.ruleKey"
- value="squid:S134" />
- <property name="sonar.issue.ignore.multicriteria.c4.resourceKey"
- value="**/*.java" />
- <property name="sonar.issue.ignore.multicriteria.c5.ruleKey"
- value="squid:S1192" />
- <property name="sonar.issue.ignore.multicriteria.c5.resourceKey"
- value="**/*.java" />
- <property name="sonar.coverage.exclusions"
- value="**/BSF*.java,**/org/apache/log/**.java,**/org/apache/jmeter/examples/**.java,**/org/apache/jorphan/logging/**.java" />
- <property name="core.sonar.projectName" value="core" />
- <property name="core.sonar.sources" value="${src.core}" />
- <property name="core.sonar.projectBaseDir" value="./" />
- <property name="http.sonar.projectName" value="http" />
- <property name="http.sonar.sources" value="${src.http}" />
- <property name="http.sonar.projectBaseDir" value="./" />
- <property name="ftp.sonar.projectName" value="ftp" />
- <property name="ftp.sonar.sources" value="${src.ftp}" />
- <property name="ftp.sonar.projectBaseDir" value="./" />
- <property name="java.sonar.projectName" value="java" />
- <property name="java.sonar.sources" value="${src.java}" />
- <property name="java.sonar.projectBaseDir" value="./" />
- <property name="jdbc.sonar.projectName" value="jdbc" />
- <property name="jdbc.sonar.sources" value="${src.jdbc}" />
- <property name="jdbc.sonar.projectBaseDir" value="./" />
- <property name="ldap.sonar.projectName" value="ldap" />
- <property name="ldap.sonar.sources" value="${src.ldap}" />
- <property name="ldap.sonar.projectBaseDir" value="./" />
- <property name="mail.sonar.projectName" value="mail" />
- <property name="mail.sonar.sources" value="${src.mail}" />
- <property name="mail.sonar.projectBaseDir" value="./" />
- <property name="components.sonar.projectName" value="components" />
- <property name="components.sonar.sources" value="${src.components}" />
- <property name="components.sonar.projectBaseDir" value="./" />
- <property name="functions.sonar.projectName" value="functions" />
- <property name="functions.sonar.sources" value="${src.functions}" />
- <property name="functions.sonar.projectBaseDir" value="./" />
- <property name="jorphan.sonar.projectName" value="jorphan" />
- <property name="jorphan.sonar.sources" value="${src.jorphan}" />
- <property name="jorphan.sonar.projectBaseDir" value="./" />
- <property name="tcp.sonar.projectName" value="tcp" />
- <property name="tcp.sonar.sources" value="${src.tcp}" />
- <property name="tcp.sonar.projectBaseDir" value="./" />
- <property name="jms.sonar.projectName" value="jms" />
- <property name="jms.sonar.sources" value="${src.jms}" />
- <property name="jms.sonar.projectBaseDir" value="./" />
- <property name="native.sonar.projectName" value="native" />
- <property name="native.sonar.sources" value="${src.native}" />
- <property name="native.sonar.projectBaseDir" value="./" />
- <condition property="sonar.host.url" value="${env.SONAR_HOST_URL}" else="http://localhost:9000">
- <isset property="env.SONAR_HOST_URL" />
- </condition>
- <condition property="sonar.login" value="${env.SONAR_LOGIN}">
- <isset property="env.SONAR_LOGIN" />
- </condition>
- <condition property="sonar.password" value="${env.SONAR_PASSWORD}">
- <isset property="env.SONAR_PASSWORD" />
- </condition>
- <condition property="sonar.jdbc.url" value="${env.SONAR_JDBC_URL}">
- <isset property="env.SONAR_JDBC_URL" />
- </condition>
- <condition property="sonar.jdbc.username" value="${env.SONAR_JDBC_USERNAME}">
- <isset property="env.SONAR_JDBC_USERNAME" />
- </condition>
- <condition property="sonar.jdbc.password" value="${env.SONAR_JDBC_PASSWORD}">
- <isset property="env.SONAR_JDBC_PASSWORD" />
- </condition>
- <property name="sonar.java.test.libraries" value="lib/**/*.jar" />
-
- <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
- <classpath refid="sonar.classpath" />
- </taskdef>
-
- <sonar:sonar xmlns:sonar="antlib:org.sonar.ant">
- </sonar:sonar>
- </target>
-
- <target name="sonar" depends="compile, install, coverage, _sonar" />
-
- <target name="nightlysonar" depends="_coverage.prepare, nightly, init-svnVersion, _coverage.report, _sonar, complete-junit" />
-
- <target name="setproxy" if="${proxy.use}">
- <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
- proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
- <echo message="Using ${proxy.host}:${proxy.port} to download file"/>
- </target>
-
-</project>
diff --git a/eclipse.classpath b/eclipse.classpath
deleted file mode 100644
index a2fd3a671a..0000000000
--- a/eclipse.classpath
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<!--
- This is a sample Eclipse .classpath file, which can be used to help set up the proper .classpath.
- Note that the "con" entry may be different on individual systems, but the other entries
- should generally be the same, unless you attach sources or javadoc to the jars.
-
- Eclipse seems to use TABS for indenting the entries.
- -->
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
- <accessrules>
- <accessrule kind="accessible" pattern="javafx/**"/>
- </accessrules>
- </classpathentry>
- <classpathentry kind="src" output="build/components" path="src/components"/>
- <classpathentry kind="src" output="build/core" path="src/core"/>
- <classpathentry kind="src" output="build/examples" path="src/examples"/>
- <classpathentry kind="src" output="build/functions" path="src/functions"/>
- <classpathentry kind="src" output="build/jorphan" path="src/jorphan"/>
- <classpathentry kind="src" output="build/junit" path="src/junit"/>
- <classpathentry kind="src" output="build/protocol/ftp" path="src/protocol/ftp"/>
- <classpathentry kind="src" output="build/protocol/http" path="src/protocol/http"/>
- <classpathentry kind="src" output="build/protocol/java" path="src/protocol/java"/>
- <classpathentry kind="src" output="build/protocol/jdbc" path="src/protocol/jdbc"/>
- <classpathentry kind="src" output="build/protocol/jms" path="src/protocol/jms"/>
- <classpathentry kind="src" output="build/protocol/ldap" path="src/protocol/ldap"/>
- <classpathentry kind="src" output="build/protocol/mail" path="src/protocol/mail"/>
- <classpathentry kind="src" output="build/protocol/mongodb" path="src/protocol/mongodb"/>
- <classpathentry kind="src" output="build/protocol/native" path="src/protocol/native"/>
- <classpathentry kind="src" output="build/protocol/tcp" path="src/protocol/tcp"/>
- <classpathentry kind="src" output="build/test" path="test/src"/>
- <classpathentry kind="lib" path="lib/accessors-smart-1.2.jar"/>
- <classpathentry kind="lib" path="lib/asm-7.0.jar"/>
- <classpathentry kind="lib" path="lib/bsf-2.4.0.jar"/>
- <classpathentry kind="lib" path="lib/bsh-2.0b6.jar"/>
- <classpathentry kind="lib" path="lib/caffeine-2.6.2.jar"/>
- <classpathentry kind="lib" path="lib/commons-codec-1.11.jar"/>
- <classpathentry kind="lib" path="lib/commons-collections-3.2.2.jar"/>
- <classpathentry kind="lib" path="lib/commons-dbcp2-2.5.0.jar"/>
- <classpathentry kind="lib" path="lib/commons-io-2.6.jar"/>
- <classpathentry kind="lib" path="lib/commons-jexl-2.1.1.jar"/>
- <classpathentry kind="lib" path="lib/commons-jexl3-3.1.jar"/>
- <classpathentry kind="lib" path="lib/commons-lang3-3.8.1.jar"/>
- <classpathentry kind="lib" path="lib/commons-math3-3.6.1.jar"/>
- <classpathentry kind="lib" path="lib/commons-net-3.6.jar"/>
- <classpathentry kind="lib" path="lib/commons-pool2-2.6.0.jar"/>
- <classpathentry kind="lib" path="lib/commons-text-1.6.jar"/>
- <classpathentry kind="lib" path="lib/darcula.jar"/>
- <classpathentry kind="lib" path="lib/dec-0.1.2.jar"/>
- <classpathentry kind="lib" path="lib/dnsjava-2.1.8.jar"/>
- <classpathentry kind="lib" path="lib/freemarker-2.3.28.jar"/>
- <classpathentry kind="lib" path="lib/groovy-all-2.4.16.jar"/>
- <classpathentry kind="lib" path="lib/hamcrest-core-1.3.jar"/>
- <classpathentry kind="lib" path="lib/hamcrest-date-2.0.4.jar"/>
- <classpathentry kind="lib" path="lib/geronimo-jms_1.1_spec-1.1.1.jar"/>
- <classpathentry kind="lib" path="lib/httpasyncclient-4.1.4.jar"/>
- <classpathentry kind="lib" path="lib/httpclient-4.5.8.jar"/>
- <classpathentry kind="lib" path="lib/httpcore-nio-4.4.11.jar"/>
- <classpathentry kind="lib" path="lib/httpcore-4.4.11.jar"/>
- <classpathentry kind="lib" path="lib/httpmime-4.5.8.jar"/>
- <classpathentry kind="lib" path="lib/jackson-annotations-2.9.9.jar"/>
- <classpathentry kind="lib" path="lib/jackson-core-2.9.9.jar"/>
- <classpathentry kind="lib" path="lib/jackson-databind-2.9.9.jar"/>
- <classpathentry kind="lib" path="lib/javax.activation-api-1.2.0.jar"/>
- <classpathentry kind="lib" path="lib/javax.activation-1.2.0.jar"/>
- <classpathentry kind="lib" path="lib/jcharts-0.7.5.jar"/>
- <classpathentry kind="lib" path="lib/jcl-over-slf4j-1.7.25.jar"/>
- <classpathentry kind="lib" path="lib/jodd-core-5.0.6.jar"/>
- <classpathentry kind="lib" path="lib/jodd-lagarto-5.0.6.jar"/>
- <classpathentry kind="lib" path="lib/jodd-log-5.0.6.jar"/>
- <classpathentry kind="lib" path="lib/jodd-props-5.0.6.jar"/>
- <classpathentry kind="lib" path="lib/json-path-2.4.0.jar"/>
- <classpathentry kind="lib" path="lib/json-smart-2.3.jar"/>
- <classpathentry kind="lib" path="lib/jsoup-1.11.3.jar"/>
- <classpathentry kind="lib" path="lib/jtidy-r938.jar"/>
- <classpathentry kind="lib" path="lib/junit-4.12.jar"/>
- <classpathentry kind="lib" path="lib/log4j-api-2.11.1.jar"/>
- <classpathentry kind="lib" path="lib/log4j-core-2.11.1.jar"/>
- <classpathentry kind="lib" path="lib/log4j-slf4j-impl-2.11.1.jar"/>
- <classpathentry kind="lib" path="lib/log4j-1.2-api-2.11.1.jar"/>
- <classpathentry kind="lib" path="lib/mail-1.5.0-b01.jar"/>
- <classpathentry kind="lib" path="lib/mongo-java-driver-2.11.3.jar"/>
- <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
- <classpathentry kind="lib" path="lib/ph-css-6.1.1.jar"/>
- <classpathentry kind="lib" path="lib/ph-commons-9.2.1.jar"/>
- <classpathentry kind="lib" path="lib/rhino-1.7.10.jar"/>
- <classpathentry kind="lib" path="lib/rsyntaxtextarea-3.0.2.jar"/>
- <classpathentry kind="lib" path="lib/Saxon-HE-9.9.1-1.jar"/>
- <classpathentry kind="lib" path="lib/serializer-2.7.2.jar"/>
- <classpathentry kind="lib" path="lib/slf4j-api-1.7.25.jar"/>
- <classpathentry kind="lib" path="lib/tika-core-1.21.jar"/>
- <classpathentry kind="lib" path="lib/tika-parsers-1.21.jar"/>
- <classpathentry kind="lib" path="lib/xalan-2.7.2.jar"/>
- <classpathentry kind="lib" path="lib/xercesImpl-2.12.0.jar"/>
- <classpathentry kind="lib" path="lib/xml-apis-1.4.01.jar"/>
- <classpathentry kind="lib" path="lib/xmlgraphics-commons-2.3.jar"/>
- <classpathentry kind="lib" path="lib/xmlpull-1.1.3.1.jar"/>
- <classpathentry kind="lib" path="lib/xpp3_min-1.1.4c.jar"/>
- <classpathentry kind="lib" path="lib/xstream-1.4.11.jar"/>
- <!-- Needed for build and test -->
- <classpathentry kind="lib" path="lib/spock-core-1.2-groovy-2.4.jar"/>
- <classpathentry kind="lib" path="lib/cglib-nodep-3.2.9.jar"/>
- <classpathentry kind="lib" path="lib/objenesis-2.6.jar"/>
- <classpathentry kind="lib" path="lib/api/bcmail-jdk15on-1.60.jar"/>
- <classpathentry kind="lib" path="lib/api/bcpkix-jdk15on-1.60.jar"/>
- <classpathentry kind="lib" path="lib/api/bcprov-jdk15on-1.60.jar"/>
- <classpathentry kind="src" path="test/resources" output="build/test"/>
- <classpathentry kind="output" path="classes"/>
-</classpath>
diff --git a/eclipse.project b/eclipse.project
deleted file mode 100644
index b584ad02c8..0000000000
--- a/eclipse.project
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<!--
- This is a sample Eclipse .project file, which can be used to help set up the proper .project.
- Eclipse seems to use TABS for indenting the entries.
- -->
-<projectDescription>
- <name>jmeter</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/licenses/bin/README.txt b/licenses/bin/README.txt
deleted file mode 100644
index 8659bcdd1b..0000000000
--- a/licenses/bin/README.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-This directory contains additional LICENSE files for software contained in binary distributions
-
-The following files are ASF products, and are licensed under the Apache License 2.0
-
-avalon-framework-4.1.4.jar
-bsf-2.4.0.jar
-bshclient.jar (part of JMeter)
-commons-codec-1.11.jar
-commons-collections-3.2.2.jar
-commons-dbcp2-2.2.0.jar
-commons-io-2.6.jar
-commons-jexl-2.1.1.jar
-commons-jexl3-3.1.jar
-commons-lang3-3.8.1.jar
-commons-math3-3.5.jar
-commons-net-3.6.jar
-commons-pool2-2.5.0.jar
-commons-text-1.6.jar
-excalibur-logger-1.1.jar
-geronimo-jms_1.1_spec-1.1.1.jar
-groovy-all-2.4.16.jar
-httpclient-4.5.3.jar
-httpcore-4.4.7.jar
-httpcore-nio-4.4.7.jar
-httpmime-4.5.3.jar
-jorphan.jar (part of JMeter)
-logkit-2.0.jar
-oro-2.0.8.jar
-serializer-2.7.2.jar
-tika-core-1.21.jar
-tika-parsers-1.21.jar
-xalan-2.7.2.jar
-xercesImpl-2.12.0.jar
-xml-apis-1.4.01.jar
-xmlgraphics-commons-2.2.jar
diff --git a/licenses/bin/Saxon-HE-9.9.1-1.txt b/licenses/bin/Saxon-HE-9.9.1-1.txt
deleted file mode 100644
index 14e2f777f6..0000000000
--- a/licenses/bin/Saxon-HE-9.9.1-1.txt
+++ /dev/null
@@ -1,373 +0,0 @@
-Mozilla Public License Version 2.0
-==================================
-
-1. Definitions
---------------
-
-1.1. "Contributor"
- means each individual or legal entity that creates, contributes to
- the creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
- means the combination of the Contributions of others (if any) used
- by a Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
- means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
- means Source Code Form to which the initial Contributor has attached
- the notice in Exhibit A, the Executable Form of such Source Code
- Form, and Modifications of such Source Code Form, in each case
- including portions thereof.
-
-1.5. "Incompatible With Secondary Licenses"
- means
-
- (a) that the initial Contributor has attached the notice described
- in Exhibit B to the Covered Software; or
-
- (b) that the Covered Software was made available under the terms of
- version 1.1 or earlier of the License, but not also under the
- terms of a Secondary License.
-
-1.6. "Executable Form"
- means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
- means a work that combines Covered Software with other material, in
- a separate file or files, that is not Covered Software.
-
-1.8. "License"
- means this document.
-
-1.9. "Licensable"
- means having the right to grant, to the maximum extent possible,
- whether at the time of the initial grant or subsequently, any and
- all of the rights conveyed by this License.
-
-1.10. "Modifications"
- means any of the following:
-
- (a) any file in Source Code Form that results from an addition to,
- deletion from, or modification of the contents of Covered
- Software; or
-
- (b) any new file in Source Code Form that contains any Covered
- Software.
-
-1.11. "Patent Claims" of a Contributor
- means any patent claim(s), including without limitation, method,
- process, and apparatus claims, in any patent Licensable by such
- Contributor that would be infringed, but for the grant of the
- License, by the making, using, selling, offering for sale, having
- made, import, or transfer of either its Contributions or its
- Contributor Version.
-
-1.12. "Secondary License"
- means either the GNU General Public License, Version 2.0, the GNU
- Lesser General Public License, Version 2.1, the GNU Affero General
- Public License, Version 3.0, or any later versions of those
- licenses.
-
-1.13. "Source Code Form"
- means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
- means an individual or a legal entity exercising rights under this
- License. For legal entities, "You" includes any entity that
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
-
-2. License Grants and Conditions
---------------------------------
-
-2.1. Grants
-
-Each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-
-(a) under intellectual property rights (other than patent or trademark)
- Licensable by such Contributor to use, reproduce, make available,
- modify, display, perform, distribute, and otherwise exploit its
- Contributions, either on an unmodified basis, with Modifications, or
- as part of a Larger Work; and
-
-(b) under Patent Claims of such Contributor to make, use, sell, offer
- for sale, have made, import, and otherwise transfer either its
- Contributions or its Contributor Version.
-
-2.2. Effective Date
-
-The licenses granted in Section 2.1 with respect to any Contribution
-become effective for each Contribution on the date the Contributor first
-distributes such Contribution.
-
-2.3. Limitations on Grant Scope
-
-The licenses granted in this Section 2 are the only rights granted under
-this License. No additional rights or licenses will be implied from the
-distribution or licensing of Covered Software under this License.
-Notwithstanding Section 2.1(b) above, no patent license is granted by a
-Contributor:
-
-(a) for any code that a Contributor has removed from Covered Software;
- or
-
-(b) for infringements caused by: (i) Your and any other third party's
- modifications of Covered Software, or (ii) the combination of its
- Contributions with other software (except as part of its Contributor
- Version); or
-
-(c) under Patent Claims infringed by Covered Software in the absence of
- its Contributions.
-
-This License does not grant any rights in the trademarks, service marks,
-or logos of any Contributor (except as may be necessary to comply with
-the notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
-No Contributor makes additional grants as a result of Your choice to
-distribute the Covered Software under a subsequent version of this
-License (see Section 10.2) or under the terms of a Secondary License (if
-permitted under the terms of Section 3.3).
-
-2.5. Representation
-
-Each Contributor represents that the Contributor believes its
-Contributions are its original creation(s) or it has sufficient rights
-to grant the rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
-This License is not intended to limit any rights You have under
-applicable copyright doctrines of fair use, fair dealing, or other
-equivalents.
-
-2.7. Conditions
-
-Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
-in Section 2.1.
-
-3. Responsibilities
--------------------
-
-3.1. Distribution of Source Form
-
-All distribution of Covered Software in Source Code Form, including any
-Modifications that You create or to which You contribute, must be under
-the terms of this License. You must inform recipients that the Source
-Code Form of the Covered Software is governed by the terms of this
-License, and how they can obtain a copy of this License. You may not
-attempt to alter or restrict the recipients' rights in the Source Code
-Form.
-
-3.2. Distribution of Executable Form
-
-If You distribute Covered Software in Executable Form then:
-
-(a) such Covered Software must also be made available in Source Code
- Form, as described in Section 3.1, and You must inform recipients of
- the Executable Form how they can obtain a copy of such Source Code
- Form by reasonable means in a timely manner, at a charge no more
- than the cost of distribution to the recipient; and
-
-(b) You may distribute such Executable Form under the terms of this
- License, or sublicense it under different terms, provided that the
- license for the Executable Form does not attempt to limit or alter
- the recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-You may create and distribute a Larger Work under terms of Your choice,
-provided that You also comply with the requirements of this License for
-the Covered Software. If the Larger Work is a combination of Covered
-Software with a work governed by one or more Secondary Licenses, and the
-Covered Software is not Incompatible With Secondary Licenses, this
-License permits You to additionally distribute such Covered Software
-under the terms of such Secondary License(s), so that the recipient of
-the Larger Work may, at their option, further distribute the Covered
-Software under the terms of either this License or such Secondary
-License(s).
-
-3.4. Notices
-
-You may not remove or alter the substance of any license notices
-(including copyright notices, patent notices, disclaimers of warranty,
-or limitations of liability) contained within the Source Code Form of
-the Covered Software, except that You may alter any license notices to
-the extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Software. However, You may do so only on Your own behalf, and not on
-behalf of any Contributor. You must make it absolutely clear that any
-such warranty, support, indemnity, or liability obligation is offered by
-You alone, and You hereby agree to indemnify every Contributor for any
-liability incurred by such Contributor as a result of warranty, support,
-indemnity or liability terms You offer. You may include additional
-disclaimers of warranty and limitations of liability specific to any
-jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
----------------------------------------------------
-
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Software due to
-statute, judicial order, or regulation then You must: (a) comply with
-the terms of this License to the maximum extent possible; and (b)
-describe the limitations and the code they affect. Such description must
-be placed in a text file included with all distributions of the Covered
-Software under this License. Except to the extent prohibited by statute
-or regulation, such description must be sufficiently detailed for a
-recipient of ordinary skill to be able to understand it.
-
-5. Termination
---------------
-
-5.1. The rights granted under this License will terminate automatically
-if You fail to comply with any of its terms. However, if You become
-compliant, then the rights granted under this License from a particular
-Contributor are reinstated (a) provisionally, unless and until such
-Contributor explicitly and finally terminates Your grants, and (b) on an
-ongoing basis, if such Contributor fails to notify You of the
-non-compliance by some reasonable means prior to 60 days after You have
-come back into compliance. Moreover, Your grants from a particular
-Contributor are reinstated on an ongoing basis if such Contributor
-notifies You of the non-compliance by some reasonable means, this is the
-first time You have received notice of non-compliance with this License
-from such Contributor, and You become compliant prior to 30 days after
-Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-infringement claim (excluding declaratory judgment actions,
-counter-claims, and cross-claims) alleging that a Contributor Version
-directly or indirectly infringes any patent, then the rights granted to
-You by any and all Contributors for the Covered Software under Section
-2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all
-end user license agreements (excluding distributors and resellers) which
-have been validly granted by You or Your distributors under this License
-prior to termination shall survive termination.
-
-************************************************************************
-* *
-* 6. Disclaimer of Warranty *
-* ------------------------- *
-* *
-* Covered Software is provided under this License on an "as is" *
-* basis, without warranty of any kind, either expressed, implied, or *
-* statutory, including, without limitation, warranties that the *
-* Covered Software is free of defects, merchantable, fit for a *
-* particular purpose or non-infringing. The entire risk as to the *
-* quality and performance of the Covered Software is with You. *
-* Should any Covered Software prove defective in any respect, You *
-* (not any Contributor) assume the cost of any necessary servicing, *
-* repair, or correction. This disclaimer of warranty constitutes an *
-* essential part of this License. No use of any Covered Software is *
-* authorized under this License except under this disclaimer. *
-* *
-************************************************************************
-
-************************************************************************
-* *
-* 7. Limitation of Liability *
-* -------------------------- *
-* *
-* Under no circumstances and under no legal theory, whether tort *
-* (including negligence), contract, or otherwise, shall any *
-* Contributor, or anyone who distributes Covered Software as *
-* permitted above, be liable to You for any direct, indirect, *
-* special, incidental, or consequential damages of any character *
-* including, without limitation, damages for lost profits, loss of *
-* goodwill, work stoppage, computer failure or malfunction, or any *
-* and all other commercial damages or losses, even if such party *
-* shall have been informed of the possibility of such damages. This *
-* limitation of liability shall not apply to liability for death or *
-* personal injury resulting from such party's negligence to the *
-* extent applicable law prohibits such limitation. Some *
-* jurisdictions do not allow the exclusion or limitation of *
-* incidental or consequential damages, so this exclusion and *
-* limitation may not apply to You. *
-* *
-************************************************************************
-
-8. Litigation
--------------
-
-Any litigation relating to this License may be brought only in the
-courts of a jurisdiction where the defendant maintains its principal
-place of business and such litigation shall be governed by laws of that
-jurisdiction, without reference to its conflict-of-law provisions.
-Nothing in this Section shall prevent a party's ability to bring
-cross-claims or counter-claims.
-
-9. Miscellaneous
-----------------
-
-This License represents the complete agreement concerning the subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-shall not be used to construe this License against a Contributor.
-
-10. Versions of the License
----------------------------
-
-10.1. New Versions
-
-Mozilla Foundation is the license steward. Except as provided in Section
-10.3, no one other than the license steward has the right to modify or
-publish new versions of this License. Each version will be given a
-distinguishing version number.
-
-10.2. Effect of New Versions
-
-You may distribute the Covered Software under the terms of the version
-of the License under which You originally received the Covered Software,
-or under the terms of any subsequent version published by the license
-steward.
-
-10.3. Modified Versions
-
-If you create software not governed by this License, and you want to
-create a new license for such software, you may create and use a
-modified version of this License if you rename the license and remove
-any references to the name of the license steward (except to note that
-such modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary
-Licenses
-
-If You choose to distribute Source Code Form that is Incompatible With
-Secondary Licenses under the terms of this version of the License, the
-notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
--------------------------------------------
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular
-file, then You may include the notice in a location (such as a LICENSE
-file in a relevant directory) where a recipient would be likely to look
-for such a notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - "Incompatible With Secondary Licenses" Notice
----------------------------------------------------------
-
- This Source Code Form is "Incompatible With Secondary Licenses", as
- defined by the Mozilla Public License, v. 2.0.
diff --git a/licenses/bin/asm-7.0.txt b/licenses/bin/asm-7.0.txt
deleted file mode 100644
index 7676ba542d..0000000000
--- a/licenses/bin/asm-7.0.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Copyright (c) 2000-2011 INRIA, France Telecom
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holders nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/licenses/bin/caffeine-2.6.2.txt b/licenses/bin/caffeine-2.6.2.txt
deleted file mode 100644
index d645695673..0000000000
--- a/licenses/bin/caffeine-2.6.2.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/licenses/bin/dec-0.1.2.txt b/licenses/bin/dec-0.1.2.txt
deleted file mode 100644
index 0fe2422fa8..0000000000
--- a/licenses/bin/dec-0.1.2.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
\ No newline at end of file
diff --git a/licenses/bin/dnsjava-2.1.8.txt b/licenses/bin/dnsjava-2.1.8.txt
deleted file mode 100644
index fe3a6d78eb..0000000000
--- a/licenses/bin/dnsjava-2.1.8.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-According to the following, dnsjava is available under a BSD license
-
-http://www.dnsjava.org/
-https://sourceforge.net/projects/dnsjava/?source=navbar
-
-However the version is not stated, and there are no working links to the specific license
\ No newline at end of file
diff --git a/licenses/bin/freemarker-2.3.28.txt b/licenses/bin/freemarker-2.3.28.txt
deleted file mode 100644
index 806d1748a8..0000000000
--- a/licenses/bin/freemarker-2.3.28.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-Copyright 2014 Attila Szegedi, Daniel Dekany, Jonathan Revusky
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-==============================================================================
-END LICENSE
-
-
-FreeMarker subcomponents with different copyright owners
---------------------------------------------------------
-
-FreeMarker, both in its source code and binary form (freemarker.jar)
-includes a number of files that are licensed by the Apache Software
-Foundation under the Apache License, Version 2.0. This is the same
-license as the license of FreeMaker, but the copyright owner is the
-Apache Software Foundation. These files are:
-
- freemarker/ext/jsp/web-app_2_2.dtd
- freemarker/ext/jsp/web-app_2_3.dtd
- freemarker/ext/jsp/web-jsptaglibrary_1_1.dtd
- freemarker/ext/jsp/web-jsptaglibrary_1_2.dtd
-
-
-Historical notes
-----------------
-
-FreeMarker 1.x was released under the LGPL license. Later, by
-community consensus, we have switched over to a BSD-style license. As
-of FreeMarker 2.2pre1, the original author, Benjamin Geer, has
-relinquished the copyright in behalf of Visigoth Software Society.
-
-With FreeMarker 2.3.21 the license has changed to Apache License,
-Version 2.0, and the owner has changed from Visigoth Software Society
-to three of the FreeMarker 2.x developers, Attila Szegedi, Daniel
-Dekany, and Jonathan Revusky.
\ No newline at end of file
diff --git a/licenses/bin/hamcrest-core-1.3.txt b/licenses/bin/hamcrest-core-1.3.txt
deleted file mode 100644
index 0bf62645cf..0000000000
--- a/licenses/bin/hamcrest-core-1.3.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-BSD License
-
-Copyright (c) 2000-2015 www.hamcrest.org
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of
-conditions and the following disclaimer. Redistributions in binary form must reproduce
-the above copyright notice, this list of conditions and the following disclaimer in
-the documentation and/or other materials provided with the distribution.
-
-Neither the name of Hamcrest nor the names of its contributors may be used to endorse
-or promote products derived from this software without specific prior written
-permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
\ No newline at end of file
diff --git a/licenses/bin/hamcrest-date-2.0.4.txt b/licenses/bin/hamcrest-date-2.0.4.txt
deleted file mode 100644
index 94d713a633..0000000000
--- a/licenses/bin/hamcrest-date-2.0.4.txt
+++ /dev/null
@@ -1 +0,0 @@
-According to https://github.com/eXparity/hamcrest-date/blob/hamcrest-date-2.0.4/pom.xml#L18-L24 Hamcrest-date is under BSD License
\ No newline at end of file
diff --git a/licenses/bin/javamail-1.5.0-b01.txt b/licenses/bin/javamail-1.5.0-b01.txt
deleted file mode 100644
index cbdef79587..0000000000
--- a/licenses/bin/javamail-1.5.0-b01.txt
+++ /dev/null
@@ -1,265 +0,0 @@
-Extracted from mail-1.5.0-b01.jar
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-
-1. Definitions.
-
- 1.1. Contributor. means each individual or entity that creates or contributes to the creation of Modifications.
-
- 1.2. Contributor Version. means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
-
- 1.3. Covered Software. means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
-
- 1.4. Executable. means the Covered Software in any form other than Source Code.
-
- 1.5. Initial Developer. means the individual or entity that first makes Original Software available under this License.
-
- 1.6. Larger Work. means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
-
- 1.7. License. means this document.
-
- 1.8. Licensable. means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
-
- 1.9. Modifications. means the Source Code and Executable form of any of the following:
-
- A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
-
- B. Any new file that contains any part of the Original Software or previous Modification; or
-
- C. Any new file that is contributed or otherwise made available under the terms of this License.
-
- 1.10. Original Software. means the Source Code and Executable form of computer software code that is originally released under this License.
-
- 1.11. Patent Claims. means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
-
- 1.12. Source Code. means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
-
- 1.13. You. (or .Your.) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, .You. includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, .control. means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outs [...]
-
-2. License Grants.
-
- 2.1. The Initial Developer Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
-
- (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
-
- (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
-
- (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
-
- 2.2. Contributor Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
-
- (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
-
- (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
-
- (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that [...]
-
-3. Distribution Obligations.
-
- 3.1. Availability of Source Code.
- Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Soft [...]
-
- 3.2. Modifications.
- The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
-
- 3.3. Required Notices.
- You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
-
- 3.4. Application of Additional Terms.
- You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients. rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that an [...]
-
- 3.5. Distribution of Executable Versions.
- You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient.s rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable [...]
-
- 3.6. Larger Works.
- You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
-
-4. Versions of the License.
-
- 4.1. New Versions.
- Sun Microsystems, Inc. is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
-
- 4.2. Effect of New Versions.
- You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under [...]
-
- 4.3. Modified Versions.
- When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
-
-5. DISCLAIMER OF WARRANTY.
-
- COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN .AS IS. BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME [...]
-
-6. TERMINATION.
-
- 6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
-
- 6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as .Participant.) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rig [...]
-
- 6.3. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND AL [...]
-
-8. U.S. GOVERNMENT END USERS.
-
- The Covered Software is a .commercial item,. as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of .commercial computer software. (as that term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and .commercial computer software documentation. as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth [...]
-
-9. MISCELLANEOUS.
-
- This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction.s conflict-of-law provisions. Any litigati [...]
-
-10. RESPONSIBILITY FOR CLAIMS.
-
- As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
-
- NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
-
- The code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California.
-
-
-The GNU General Public License (GPL) Version 2, June 1991
-
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
-
-Preamble
-
-The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library Genera [...]
-
-When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification follow.
-
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. ( [...]
-
-Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself i [...]
-
-These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose p [...]
-
-Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
-
-3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major co [...]
-
-If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works ba [...]
-
-6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not dist [...]
-
-If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/dono [...]
-
-This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. [...]
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO [...]
-
-END OF TERMS AND CONDITIONS
-
-
-How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
-
- One line to give the program's name and a brief idea of what it does.
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- signature of Ty Coon, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
-
-
-"CLASSPATH" EXCEPTION TO THE GPL VERSION 2
-
-Certain source files distributed by Sun Microsystems, Inc. are subject to the following clarification and special exception to the GPL Version 2, but only where Sun has expressly included in the particular source file's header the words
-
-"Sun designates this particular file as subject to the "Classpath" exception as provided by Sun in the License file that accompanied this code."
-
-Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License Version 2 cover the whole combination.
-
-As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module.? An independent module is a module which is not derived from or based on th [...]
diff --git a/licenses/bin/javax.activation-1.2.0.txt b/licenses/bin/javax.activation-1.2.0.txt
deleted file mode 100644
index 18da9f4a6c..0000000000
--- a/licenses/bin/javax.activation-1.2.0.txt
+++ /dev/null
@@ -1,761 +0,0 @@
-Extracted from javax.activation-1.2.0.jar
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1
-
-1. Definitions.
-
- 1.1. "Contributor" means each individual or entity that creates or
- contributes to the creation of Modifications.
-
- 1.2. "Contributor Version" means the combination of the Original
- Software, prior Modifications used by a Contributor (if any), and
- the Modifications made by that particular Contributor.
-
- 1.3. "Covered Software" means (a) the Original Software, or (b)
- Modifications, or (c) the combination of files containing Original
- Software with files containing Modifications, in each case including
- portions thereof.
-
- 1.4. "Executable" means the Covered Software in any form other than
- Source Code.
-
- 1.5. "Initial Developer" means the individual or entity that first
- makes Original Software available under this License.
-
- 1.6. "Larger Work" means a work which combines Covered Software or
- portions thereof with code not governed by the terms of this License.
-
- 1.7. "License" means this document.
-
- 1.8. "Licensable" means having the right to grant, to the maximum
- extent possible, whether at the time of the initial grant or
- subsequently acquired, any and all of the rights conveyed herein.
-
- 1.9. "Modifications" means the Source Code and Executable form of
- any of the following:
-
- A. Any file that results from an addition to, deletion from or
- modification of the contents of a file containing Original Software
- or previous Modifications;
-
- B. Any new file that contains any part of the Original Software or
- previous Modification; or
-
- C. Any new file that is contributed or otherwise made available
- under the terms of this License.
-
- 1.10. "Original Software" means the Source Code and Executable form
- of computer software code that is originally released under this
- License.
-
- 1.11. "Patent Claims" means any patent claim(s), now owned or
- hereafter acquired, including without limitation, method, process,
- and apparatus claims, in any patent Licensable by grantor.
-
- 1.12. "Source Code" means (a) the common form of computer software
- code in which modifications are made and (b) associated
- documentation included in or with such code.
-
- 1.13. "You" (or "Your") means an individual or a legal entity
- exercising rights under, and complying with all of the terms of,
- this License. For legal entities, "You" includes any entity which
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
-
-2. License Grants.
-
- 2.1. The Initial Developer Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and subject
- to third party intellectual property claims, the Initial Developer
- hereby grants You a world-wide, royalty-free, non-exclusive license:
-
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Initial Developer, to use, reproduce,
- modify, display, perform, sublicense and distribute the Original
- Software (or portions thereof), with or without Modifications,
- and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using or selling of
- Original Software, to make, have made, use, practice, sell, and
- offer for sale, and/or otherwise dispose of the Original Software
- (or portions thereof).
-
- (c) The licenses granted in Sections 2.1(a) and (b) are effective on
- the date Initial Developer first distributes or otherwise makes the
- Original Software available to a third party under the terms of this
- License.
-
- (d) Notwithstanding Section 2.1(b) above, no patent license is
- granted: (1) for code that You delete from the Original Software, or
- (2) for infringements caused by: (i) the modification of the
- Original Software, or (ii) the combination of the Original Software
- with other software or devices.
-
- 2.2. Contributor Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and subject
- to third party intellectual property claims, each Contributor hereby
- grants You a world-wide, royalty-free, non-exclusive license:
-
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Contributor to use, reproduce, modify,
- display, perform, sublicense and distribute the Modifications
- created by such Contributor (or portions thereof), either on an
- unmodified basis, with other Modifications, as Covered Software
- and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using, or selling
- of Modifications made by that Contributor either alone and/or in
- combination with its Contributor Version (or portions of such
- combination), to make, use, sell, offer for sale, have made, and/or
- otherwise dispose of: (1) Modifications made by that Contributor (or
- portions thereof); and (2) the combination of Modifications made by
- that Contributor with its Contributor Version (or portions of such
- combination).
-
- (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective
- on the date Contributor first distributes or otherwise makes the
- Modifications available to a third party.
-
- (d) Notwithstanding Section 2.2(b) above, no patent license is
- granted: (1) for any code that Contributor has deleted from the
- Contributor Version; (2) for infringements caused by: (i) third
- party modifications of Contributor Version, or (ii) the combination
- of Modifications made by that Contributor with other software
- (except as part of the Contributor Version) or other devices; or (3)
- under Patent Claims infringed by Covered Software in the absence of
- Modifications made by that Contributor.
-
-3. Distribution Obligations.
-
- 3.1. Availability of Source Code.
-
- Any Covered Software that You distribute or otherwise make available
- in Executable form must also be made available in Source Code form
- and that Source Code form must be distributed only under the terms
- of this License. You must include a copy of this License with every
- copy of the Source Code form of the Covered Software You distribute
- or otherwise make available. You must inform recipients of any such
- Covered Software in Executable form as to how they can obtain such
- Covered Software in Source Code form in a reasonable manner on or
- through a medium customarily used for software exchange.
-
- 3.2. Modifications.
-
- The Modifications that You create or to which You contribute are
- governed by the terms of this License. You represent that You
- believe Your Modifications are Your original creation(s) and/or You
- have sufficient rights to grant the rights conveyed by this License.
-
- 3.3. Required Notices.
-
- You must include a notice in each of Your Modifications that
- identifies You as the Contributor of the Modification. You may not
- remove or alter any copyright, patent or trademark notices contained
- within the Covered Software, or any notices of licensing or any
- descriptive text giving attribution to any Contributor or the
- Initial Developer.
-
- 3.4. Application of Additional Terms.
-
- You may not offer or impose any terms on any Covered Software in
- Source Code form that alters or restricts the applicable version of
- this License or the recipients' rights hereunder. You may choose to
- offer, and to charge a fee for, warranty, support, indemnity or
- liability obligations to one or more recipients of Covered Software.
- However, you may do so only on Your own behalf, and not on behalf of
- the Initial Developer or any Contributor. You must make it
- absolutely clear that any such warranty, support, indemnity or
- liability obligation is offered by You alone, and You hereby agree
- to indemnify the Initial Developer and every Contributor for any
- liability incurred by the Initial Developer or such Contributor as a
- result of warranty, support, indemnity or liability terms You offer.
-
- 3.5. Distribution of Executable Versions.
-
- You may distribute the Executable form of the Covered Software under
- the terms of this License or under the terms of a license of Your
- choice, which may contain terms different from this License,
- provided that You are in compliance with the terms of this License
- and that the license for the Executable form does not attempt to
- limit or alter the recipient's rights in the Source Code form from
- the rights set forth in this License. If You distribute the Covered
- Software in Executable form under a different license, You must make
- it absolutely clear that any terms which differ from this License
- are offered by You alone, not by the Initial Developer or
- Contributor. You hereby agree to indemnify the Initial Developer and
- every Contributor for any liability incurred by the Initial
- Developer or such Contributor as a result of any such terms You offer.
-
- 3.6. Larger Works.
-
- You may create a Larger Work by combining Covered Software with
- other code not governed by the terms of this License and distribute
- the Larger Work as a single product. In such a case, You must make
- sure the requirements of this License are fulfilled for the Covered
- Software.
-
-4. Versions of the License.
-
- 4.1. New Versions.
-
- Oracle is the initial license steward and may publish revised and/or
- new versions of this License from time to time. Each version will be
- given a distinguishing version number. Except as provided in Section
- 4.3, no one other than the license steward has the right to modify
- this License.
-
- 4.2. Effect of New Versions.
-
- You may always continue to use, distribute or otherwise make the
- Covered Software available under the terms of the version of the
- License under which You originally received the Covered Software. If
- the Initial Developer includes a notice in the Original Software
- prohibiting it from being distributed or otherwise made available
- under any subsequent version of the License, You must distribute and
- make the Covered Software available under the terms of the version
- of the License under which You originally received the Covered
- Software. Otherwise, You may also choose to use, distribute or
- otherwise make the Covered Software available under the terms of any
- subsequent version of the License published by the license steward.
-
- 4.3. Modified Versions.
-
- When You are an Initial Developer and You want to create a new
- license for Your Original Software, You may create and use a
- modified version of this License if You: (a) rename the license and
- remove any references to the name of the license steward (except to
- note that the license differs from this License); and (b) otherwise
- make it clear that the license contains terms which differ from this
- License.
-
-5. DISCLAIMER OF WARRANTY.
-
- COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
- INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE
- IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR
- NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
- THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE
- DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
- OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING,
- REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
- ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS
- AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-6. TERMINATION.
-
- 6.1. This License and the rights granted hereunder will terminate
- automatically if You fail to comply with terms herein and fail to
- cure such breach within 30 days of becoming aware of the breach.
- Provisions which, by their nature, must remain in effect beyond the
- termination of this License shall survive.
-
- 6.2. If You assert a patent infringement claim (excluding
- declaratory judgment actions) against Initial Developer or a
- Contributor (the Initial Developer or Contributor against whom You
- assert such claim is referred to as "Participant") alleging that the
- Participant Software (meaning the Contributor Version where the
- Participant is a Contributor or the Original Software where the
- Participant is the Initial Developer) directly or indirectly
- infringes any patent, then any and all rights granted directly or
- indirectly to You by such Participant, the Initial Developer (if the
- Initial Developer is not the Participant) and all Contributors under
- Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice
- from Participant terminate prospectively and automatically at the
- expiration of such 60 day notice period, unless if within such 60
- day period You withdraw Your claim with respect to the Participant
- Software against such Participant either unilaterally or pursuant to
- a written agreement with Participant.
-
- 6.3. If You assert a patent infringement claim against Participant
- alleging that the Participant Software directly or indirectly
- infringes any patent where such claim is resolved (such as by
- license or settlement) prior to the initiation of patent
- infringement litigation, then the reasonable value of the licenses
- granted by such Participant under Sections 2.1 or 2.2 shall be taken
- into account in determining the amount or value of any payment or
- license.
-
- 6.4. In the event of termination under Sections 6.1 or 6.2 above,
- all end user licenses that have been validly granted by You or any
- distributor hereunder prior to termination (excluding licenses
- granted to You by any distributor) shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
- (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
- INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
- COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE
- TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
- CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
- LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER
- FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR
- LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE
- POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT
- APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH
- PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
- LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
- LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION
- AND LIMITATION MAY NOT APPLY TO YOU.
-
-8. U.S. GOVERNMENT END USERS.
-
- The Covered Software is a "commercial item," as that term is defined
- in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
- software" (as that term is defined at 48 C.F.R. ß
- 252.227-7014(a)(1)) and "commercial computer software documentation"
- as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent
- with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4
- (June 1995), all U.S. Government End Users acquire Covered Software
- with only those rights set forth herein. This U.S. Government Rights
- clause is in lieu of, and supersedes, any other FAR, DFAR, or other
- clause or provision that addresses Government rights in computer
- software under this License.
-
-9. MISCELLANEOUS.
-
- This License represents the complete agreement concerning subject
- matter hereof. If any provision of this License is held to be
- unenforceable, such provision shall be reformed only to the extent
- necessary to make it enforceable. This License shall be governed by
- the law of the jurisdiction specified in a notice contained within
- the Original Software (except to the extent applicable law, if any,
- provides otherwise), excluding such jurisdiction's conflict-of-law
- provisions. Any litigation relating to this License shall be subject
- to the jurisdiction of the courts located in the jurisdiction and
- venue specified in a notice contained within the Original Software,
- with the losing party responsible for costs, including, without
- limitation, court costs and reasonable attorneys' fees and expenses.
- The application of the United Nations Convention on Contracts for
- the International Sale of Goods is expressly excluded. Any law or
- regulation which provides that the language of a contract shall be
- construed against the drafter shall not apply to this License. You
- agree that You alone are responsible for compliance with the United
- States export administration regulations (and the export control
- laws and regulation of any other countries) when You use, distribute
- or otherwise make available any Covered Software.
-
-10. RESPONSIBILITY FOR CLAIMS.
-
- As between Initial Developer and the Contributors, each party is
- responsible for claims and damages arising, directly or indirectly,
- out of its utilization of rights under this License and You agree to
- work with Initial Developer and Contributors to distribute such
- responsibility on an equitable basis. Nothing herein is intended or
- shall be deemed to constitute any admission of liability.
-
-------------------------------------------------------------------------
-
-NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION
-LICENSE (CDDL)
-
-The code released under the CDDL shall be governed by the laws of the
-State of California (excluding conflict-of-law provisions). Any
-litigation relating to this License shall be subject to the jurisdiction
-of the Federal Courts of the Northern District of California and the
-state courts of the State of California, with venue lying in Santa Clara
-County, California.
-
-
-
- The GNU General Public License (GPL) Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor
-Boston, MA 02110-1335
-USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-Preamble
-
-The licenses for most software are designed to take away your freedom to
-share and change it. By contrast, the GNU General Public License is
-intended to guarantee your freedom to share and change free software--to
-make sure the software is free for all its users. This General Public
-License applies to most of the Free Software Foundation's software and
-to any other program whose authors commit to using it. (Some other Free
-Software Foundation software is covered by the GNU Library General
-Public License instead.) You can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price.
-Our General Public Licenses are designed to make sure that you have the
-freedom to distribute copies of free software (and charge for this
-service if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs; and that you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone
-to deny you these rights or to ask you to surrender the rights. These
-restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis
-or for a fee, you must give the recipients all the rights that you have.
-You must make sure that they, too, receive or can get the source code.
-And you must show them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-Finally, any free program is threatened constantly by software patents.
-We wish to avoid the danger that redistributors of a free program will
-individually obtain patent licenses, in effect making the program
-proprietary. To prevent this, we have made it clear that any patent must
-be licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and
-modification follow.
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-0. This License applies to any program or other work which contains a
-notice placed by the copyright holder saying it may be distributed under
-the terms of this General Public License. The "Program", below, refers
-to any such program or work, and a "work based on the Program" means
-either the Program or any derivative work under copyright law: that is
-to say, a work containing the Program or a portion of it, either
-verbatim or with modifications and/or translated into another language.
-(Hereinafter, translation is included without limitation in the term
-"modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of running
-the Program is not restricted, and the output from the Program is
-covered only if its contents constitute a work based on the Program
-(independent of having been made by running the Program). Whether that
-is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source
-code as you receive it, in any medium, provided that you conspicuously
-and appropriately publish on each copy an appropriate copyright notice
-and disclaimer of warranty; keep intact all the notices that refer to
-this License and to the absence of any warranty; and give any other
-recipients of the Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of
-it, thus forming a work based on the Program, and copy and distribute
-such modifications or work under the terms of Section 1 above, provided
-that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any part
- thereof, to be licensed as a whole at no charge to all third parties
- under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a notice
- that there is no warranty (or else, saying that you provide a
- warranty) and that users may redistribute the program under these
- conditions, and telling the user how to view a copy of this License.
- (Exception: if the Program itself is interactive but does not
- normally print such an announcement, your work based on the Program
- is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program, and
-can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based on
-the Program, the distribution of the whole must be on the terms of this
-License, whose permissions for other licensees extend to the entire
-whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of a
-storage or distribution medium does not bring the other work under the
-scope of this License.
-
-3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections 1
- and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your cost
- of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer to
- distribute corresponding source code. (This alternative is allowed
- only for noncommercial distribution and only if you received the
- program in object code or executable form with such an offer, in
- accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source code
-means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to control
-compilation and installation of the executable. However, as a special
-exception, the source code distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies the
-executable.
-
-If distribution of executable or object code is made by offering access
-to copy from a designated place, then offering equivalent access to copy
-the source code from the same place counts as distribution of the source
-code, even though third parties are not compelled to copy the source
-along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt otherwise
-to copy, modify, sublicense or distribute the Program is void, and will
-automatically terminate your rights under this License. However, parties
-who have received copies, or rights, from you under this License will
-not have their licenses terminated so long as such parties remain in
-full compliance.
-
-5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and all
-its terms and conditions for copying, distributing or modifying the
-Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further restrictions
-on the recipients' exercise of the rights granted herein. You are not
-responsible for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot distribute
-so as to satisfy simultaneously your obligations under this License and
-any other pertinent obligations, then as a consequence you may not
-distribute the Program at all. For example, if a patent license would
-not permit royalty-free redistribution of the Program by all those who
-receive copies directly or indirectly through you, then the only way you
-could satisfy both it and this License would be to refrain entirely from
-distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is implemented
-by public license practices. Many people have made generous
-contributions to the wide range of software distributed through that
-system in reliance on consistent application of that system; it is up to
-the author/donor to decide if he or she is willing to distribute
-software through any other system and a licensee cannot impose that choice.
-
-This section is intended to make thoroughly clear what is believed to be
-a consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License may
-add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among countries
-not thus excluded. In such case, this License incorporates the
-limitation as if written in the body of this License.
-
-9. The Free Software Foundation may publish revised and/or new
-versions of the General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Program does not specify a version
-number of this License, you may choose any version ever published by the
-Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the
-author to ask for permission. For software which is copyrighted by the
-Free Software Foundation, write to the Free Software Foundation; we
-sometimes make exceptions for this. Our decision will be guided by the
-two goals of preserving the free status of all derivatives of our free
-software and of promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
-EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
-ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
-YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
-DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
-DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
-(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
-INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
-THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
-OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-END OF TERMS AND CONDITIONS
-
-How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program. It is safest to
-attach them to the start of each source file to most effectively convey
-the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- One line to give the program's name and a brief idea of what it does.
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type
- `show w'. This is free software, and you are welcome to redistribute
- it under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the
-appropriate parts of the General Public License. Of course, the commands
-you use may be called something other than `show w' and `show c'; they
-could even be mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- program `Gnomovision' (which makes passes at compilers) written by
- James Hacker.
-
- signature of Ty Coon, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications
-with the library. If this is what you want to do, use the GNU Library
-General Public License instead of this License.
-
-#
-
-Certain source files distributed by Oracle America, Inc. and/or its
-affiliates are subject to the following clarification and special
-exception to the GPLv2, based on the GNU Project exception for its
-Classpath libraries, known as the GNU Classpath Exception, but only
-where Oracle has expressly included in the particular source file's
-header the words "Oracle designates this particular file as subject to
-the "Classpath" exception as provided by Oracle in the LICENSE file
-that accompanied this code."
-
-You should also note that Oracle includes multiple, independent
-programs in this software package. Some of those programs are provided
-under licenses deemed incompatible with the GPLv2 by the Free Software
-Foundation and others. For example, the package includes programs
-licensed under the Apache License, Version 2.0. Such programs are
-licensed to you under their original licenses.
-
-Oracle facilitates your further distribution of this package by adding
-the Classpath Exception to the necessary parts of its GPLv2 code, which
-permits you to use that code in combination with other independent
-modules not licensed under the GPLv2. However, note that this would
-not permit you to commingle code under an incompatible license with
-Oracle's GPLv2 licensed code by, for example, cutting and pasting such
-code into a file also containing Oracle's GPLv2 licensed code and then
-distributing the result. Additionally, if you were to remove the
-Classpath Exception from any of the files to which it applies and
-distribute the result, you would likely be required to license some or
-all of the other code in that distribution under the GPLv2 as well, and
-since the GPLv2 is incompatible with the license terms of some items
-included in the distribution by Oracle, removing the Classpath
-Exception could therefore effectively compromise your ability to
-further distribute the package.
-
-Proceed with caution and we recommend that you obtain the advice of a
-lawyer skilled in open source matters before removing the Classpath
-Exception or making modifications to this package which may
-subsequently be redistributed and/or involve the use of third party
-software.
-
-CLASSPATH EXCEPTION
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License version 2 cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from or
-based on this library. If you modify this library, you may extend this
-exception to your version of the library, but you are not obligated to
-do so. If you do not wish to do so, delete this exception statement
-from your version.
diff --git a/licenses/bin/javax.activation-api-1.2.0.txt b/licenses/bin/javax.activation-api-1.2.0.txt
deleted file mode 100644
index 054c0bde46..0000000000
--- a/licenses/bin/javax.activation-api-1.2.0.txt
+++ /dev/null
@@ -1,761 +0,0 @@
-Extracted from javax.activation-api-1.2.0.jar
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1
-
-1. Definitions.
-
- 1.1. "Contributor" means each individual or entity that creates or
- contributes to the creation of Modifications.
-
- 1.2. "Contributor Version" means the combination of the Original
- Software, prior Modifications used by a Contributor (if any), and
- the Modifications made by that particular Contributor.
-
- 1.3. "Covered Software" means (a) the Original Software, or (b)
- Modifications, or (c) the combination of files containing Original
- Software with files containing Modifications, in each case including
- portions thereof.
-
- 1.4. "Executable" means the Covered Software in any form other than
- Source Code.
-
- 1.5. "Initial Developer" means the individual or entity that first
- makes Original Software available under this License.
-
- 1.6. "Larger Work" means a work which combines Covered Software or
- portions thereof with code not governed by the terms of this License.
-
- 1.7. "License" means this document.
-
- 1.8. "Licensable" means having the right to grant, to the maximum
- extent possible, whether at the time of the initial grant or
- subsequently acquired, any and all of the rights conveyed herein.
-
- 1.9. "Modifications" means the Source Code and Executable form of
- any of the following:
-
- A. Any file that results from an addition to, deletion from or
- modification of the contents of a file containing Original Software
- or previous Modifications;
-
- B. Any new file that contains any part of the Original Software or
- previous Modification; or
-
- C. Any new file that is contributed or otherwise made available
- under the terms of this License.
-
- 1.10. "Original Software" means the Source Code and Executable form
- of computer software code that is originally released under this
- License.
-
- 1.11. "Patent Claims" means any patent claim(s), now owned or
- hereafter acquired, including without limitation, method, process,
- and apparatus claims, in any patent Licensable by grantor.
-
- 1.12. "Source Code" means (a) the common form of computer software
- code in which modifications are made and (b) associated
- documentation included in or with such code.
-
- 1.13. "You" (or "Your") means an individual or a legal entity
- exercising rights under, and complying with all of the terms of,
- this License. For legal entities, "You" includes any entity which
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
-
-2. License Grants.
-
- 2.1. The Initial Developer Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and subject
- to third party intellectual property claims, the Initial Developer
- hereby grants You a world-wide, royalty-free, non-exclusive license:
-
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Initial Developer, to use, reproduce,
- modify, display, perform, sublicense and distribute the Original
- Software (or portions thereof), with or without Modifications,
- and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using or selling of
- Original Software, to make, have made, use, practice, sell, and
- offer for sale, and/or otherwise dispose of the Original Software
- (or portions thereof).
-
- (c) The licenses granted in Sections 2.1(a) and (b) are effective on
- the date Initial Developer first distributes or otherwise makes the
- Original Software available to a third party under the terms of this
- License.
-
- (d) Notwithstanding Section 2.1(b) above, no patent license is
- granted: (1) for code that You delete from the Original Software, or
- (2) for infringements caused by: (i) the modification of the
- Original Software, or (ii) the combination of the Original Software
- with other software or devices.
-
- 2.2. Contributor Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and subject
- to third party intellectual property claims, each Contributor hereby
- grants You a world-wide, royalty-free, non-exclusive license:
-
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Contributor to use, reproduce, modify,
- display, perform, sublicense and distribute the Modifications
- created by such Contributor (or portions thereof), either on an
- unmodified basis, with other Modifications, as Covered Software
- and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using, or selling
- of Modifications made by that Contributor either alone and/or in
- combination with its Contributor Version (or portions of such
- combination), to make, use, sell, offer for sale, have made, and/or
- otherwise dispose of: (1) Modifications made by that Contributor (or
- portions thereof); and (2) the combination of Modifications made by
- that Contributor with its Contributor Version (or portions of such
- combination).
-
- (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective
- on the date Contributor first distributes or otherwise makes the
- Modifications available to a third party.
-
- (d) Notwithstanding Section 2.2(b) above, no patent license is
- granted: (1) for any code that Contributor has deleted from the
- Contributor Version; (2) for infringements caused by: (i) third
- party modifications of Contributor Version, or (ii) the combination
- of Modifications made by that Contributor with other software
- (except as part of the Contributor Version) or other devices; or (3)
- under Patent Claims infringed by Covered Software in the absence of
- Modifications made by that Contributor.
-
-3. Distribution Obligations.
-
- 3.1. Availability of Source Code.
-
- Any Covered Software that You distribute or otherwise make available
- in Executable form must also be made available in Source Code form
- and that Source Code form must be distributed only under the terms
- of this License. You must include a copy of this License with every
- copy of the Source Code form of the Covered Software You distribute
- or otherwise make available. You must inform recipients of any such
- Covered Software in Executable form as to how they can obtain such
- Covered Software in Source Code form in a reasonable manner on or
- through a medium customarily used for software exchange.
-
- 3.2. Modifications.
-
- The Modifications that You create or to which You contribute are
- governed by the terms of this License. You represent that You
- believe Your Modifications are Your original creation(s) and/or You
- have sufficient rights to grant the rights conveyed by this License.
-
- 3.3. Required Notices.
-
- You must include a notice in each of Your Modifications that
- identifies You as the Contributor of the Modification. You may not
- remove or alter any copyright, patent or trademark notices contained
- within the Covered Software, or any notices of licensing or any
- descriptive text giving attribution to any Contributor or the
- Initial Developer.
-
- 3.4. Application of Additional Terms.
-
- You may not offer or impose any terms on any Covered Software in
- Source Code form that alters or restricts the applicable version of
- this License or the recipients' rights hereunder. You may choose to
- offer, and to charge a fee for, warranty, support, indemnity or
- liability obligations to one or more recipients of Covered Software.
- However, you may do so only on Your own behalf, and not on behalf of
- the Initial Developer or any Contributor. You must make it
- absolutely clear that any such warranty, support, indemnity or
- liability obligation is offered by You alone, and You hereby agree
- to indemnify the Initial Developer and every Contributor for any
- liability incurred by the Initial Developer or such Contributor as a
- result of warranty, support, indemnity or liability terms You offer.
-
- 3.5. Distribution of Executable Versions.
-
- You may distribute the Executable form of the Covered Software under
- the terms of this License or under the terms of a license of Your
- choice, which may contain terms different from this License,
- provided that You are in compliance with the terms of this License
- and that the license for the Executable form does not attempt to
- limit or alter the recipient's rights in the Source Code form from
- the rights set forth in this License. If You distribute the Covered
- Software in Executable form under a different license, You must make
- it absolutely clear that any terms which differ from this License
- are offered by You alone, not by the Initial Developer or
- Contributor. You hereby agree to indemnify the Initial Developer and
- every Contributor for any liability incurred by the Initial
- Developer or such Contributor as a result of any such terms You offer.
-
- 3.6. Larger Works.
-
- You may create a Larger Work by combining Covered Software with
- other code not governed by the terms of this License and distribute
- the Larger Work as a single product. In such a case, You must make
- sure the requirements of this License are fulfilled for the Covered
- Software.
-
-4. Versions of the License.
-
- 4.1. New Versions.
-
- Oracle is the initial license steward and may publish revised and/or
- new versions of this License from time to time. Each version will be
- given a distinguishing version number. Except as provided in Section
- 4.3, no one other than the license steward has the right to modify
- this License.
-
- 4.2. Effect of New Versions.
-
- You may always continue to use, distribute or otherwise make the
- Covered Software available under the terms of the version of the
- License under which You originally received the Covered Software. If
- the Initial Developer includes a notice in the Original Software
- prohibiting it from being distributed or otherwise made available
- under any subsequent version of the License, You must distribute and
- make the Covered Software available under the terms of the version
- of the License under which You originally received the Covered
- Software. Otherwise, You may also choose to use, distribute or
- otherwise make the Covered Software available under the terms of any
- subsequent version of the License published by the license steward.
-
- 4.3. Modified Versions.
-
- When You are an Initial Developer and You want to create a new
- license for Your Original Software, You may create and use a
- modified version of this License if You: (a) rename the license and
- remove any references to the name of the license steward (except to
- note that the license differs from this License); and (b) otherwise
- make it clear that the license contains terms which differ from this
- License.
-
-5. DISCLAIMER OF WARRANTY.
-
- COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
- INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE
- IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR
- NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF
- THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE
- DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY
- OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING,
- REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
- ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS
- AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-6. TERMINATION.
-
- 6.1. This License and the rights granted hereunder will terminate
- automatically if You fail to comply with terms herein and fail to
- cure such breach within 30 days of becoming aware of the breach.
- Provisions which, by their nature, must remain in effect beyond the
- termination of this License shall survive.
-
- 6.2. If You assert a patent infringement claim (excluding
- declaratory judgment actions) against Initial Developer or a
- Contributor (the Initial Developer or Contributor against whom You
- assert such claim is referred to as "Participant") alleging that the
- Participant Software (meaning the Contributor Version where the
- Participant is a Contributor or the Original Software where the
- Participant is the Initial Developer) directly or indirectly
- infringes any patent, then any and all rights granted directly or
- indirectly to You by such Participant, the Initial Developer (if the
- Initial Developer is not the Participant) and all Contributors under
- Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice
- from Participant terminate prospectively and automatically at the
- expiration of such 60 day notice period, unless if within such 60
- day period You withdraw Your claim with respect to the Participant
- Software against such Participant either unilaterally or pursuant to
- a written agreement with Participant.
-
- 6.3. If You assert a patent infringement claim against Participant
- alleging that the Participant Software directly or indirectly
- infringes any patent where such claim is resolved (such as by
- license or settlement) prior to the initiation of patent
- infringement litigation, then the reasonable value of the licenses
- granted by such Participant under Sections 2.1 or 2.2 shall be taken
- into account in determining the amount or value of any payment or
- license.
-
- 6.4. In the event of termination under Sections 6.1 or 6.2 above,
- all end user licenses that have been validly granted by You or any
- distributor hereunder prior to termination (excluding licenses
- granted to You by any distributor) shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
- (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
- INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
- COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE
- TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
- CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
- LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER
- FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR
- LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE
- POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT
- APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH
- PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH
- LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
- LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION
- AND LIMITATION MAY NOT APPLY TO YOU.
-
-8. U.S. GOVERNMENT END USERS.
-
- The Covered Software is a "commercial item," as that term is defined
- in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
- software" (as that term is defined at 48 C.F.R. ß
- 252.227-7014(a)(1)) and "commercial computer software documentation"
- as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent
- with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4
- (June 1995), all U.S. Government End Users acquire Covered Software
- with only those rights set forth herein. This U.S. Government Rights
- clause is in lieu of, and supersedes, any other FAR, DFAR, or other
- clause or provision that addresses Government rights in computer
- software under this License.
-
-9. MISCELLANEOUS.
-
- This License represents the complete agreement concerning subject
- matter hereof. If any provision of this License is held to be
- unenforceable, such provision shall be reformed only to the extent
- necessary to make it enforceable. This License shall be governed by
- the law of the jurisdiction specified in a notice contained within
- the Original Software (except to the extent applicable law, if any,
- provides otherwise), excluding such jurisdiction's conflict-of-law
- provisions. Any litigation relating to this License shall be subject
- to the jurisdiction of the courts located in the jurisdiction and
- venue specified in a notice contained within the Original Software,
- with the losing party responsible for costs, including, without
- limitation, court costs and reasonable attorneys' fees and expenses.
- The application of the United Nations Convention on Contracts for
- the International Sale of Goods is expressly excluded. Any law or
- regulation which provides that the language of a contract shall be
- construed against the drafter shall not apply to this License. You
- agree that You alone are responsible for compliance with the United
- States export administration regulations (and the export control
- laws and regulation of any other countries) when You use, distribute
- or otherwise make available any Covered Software.
-
-10. RESPONSIBILITY FOR CLAIMS.
-
- As between Initial Developer and the Contributors, each party is
- responsible for claims and damages arising, directly or indirectly,
- out of its utilization of rights under this License and You agree to
- work with Initial Developer and Contributors to distribute such
- responsibility on an equitable basis. Nothing herein is intended or
- shall be deemed to constitute any admission of liability.
-
-------------------------------------------------------------------------
-
-NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION
-LICENSE (CDDL)
-
-The code released under the CDDL shall be governed by the laws of the
-State of California (excluding conflict-of-law provisions). Any
-litigation relating to this License shall be subject to the jurisdiction
-of the Federal Courts of the Northern District of California and the
-state courts of the State of California, with venue lying in Santa Clara
-County, California.
-
-
-
- The GNU General Public License (GPL) Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor
-Boston, MA 02110-1335
-USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-Preamble
-
-The licenses for most software are designed to take away your freedom to
-share and change it. By contrast, the GNU General Public License is
-intended to guarantee your freedom to share and change free software--to
-make sure the software is free for all its users. This General Public
-License applies to most of the Free Software Foundation's software and
-to any other program whose authors commit to using it. (Some other Free
-Software Foundation software is covered by the GNU Library General
-Public License instead.) You can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price.
-Our General Public Licenses are designed to make sure that you have the
-freedom to distribute copies of free software (and charge for this
-service if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs; and that you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone
-to deny you these rights or to ask you to surrender the rights. These
-restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis
-or for a fee, you must give the recipients all the rights that you have.
-You must make sure that they, too, receive or can get the source code.
-And you must show them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-Finally, any free program is threatened constantly by software patents.
-We wish to avoid the danger that redistributors of a free program will
-individually obtain patent licenses, in effect making the program
-proprietary. To prevent this, we have made it clear that any patent must
-be licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and
-modification follow.
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-0. This License applies to any program or other work which contains a
-notice placed by the copyright holder saying it may be distributed under
-the terms of this General Public License. The "Program", below, refers
-to any such program or work, and a "work based on the Program" means
-either the Program or any derivative work under copyright law: that is
-to say, a work containing the Program or a portion of it, either
-verbatim or with modifications and/or translated into another language.
-(Hereinafter, translation is included without limitation in the term
-"modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of running
-the Program is not restricted, and the output from the Program is
-covered only if its contents constitute a work based on the Program
-(independent of having been made by running the Program). Whether that
-is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source
-code as you receive it, in any medium, provided that you conspicuously
-and appropriately publish on each copy an appropriate copyright notice
-and disclaimer of warranty; keep intact all the notices that refer to
-this License and to the absence of any warranty; and give any other
-recipients of the Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of
-it, thus forming a work based on the Program, and copy and distribute
-such modifications or work under the terms of Section 1 above, provided
-that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any part
- thereof, to be licensed as a whole at no charge to all third parties
- under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a notice
- that there is no warranty (or else, saying that you provide a
- warranty) and that users may redistribute the program under these
- conditions, and telling the user how to view a copy of this License.
- (Exception: if the Program itself is interactive but does not
- normally print such an announcement, your work based on the Program
- is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program, and
-can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based on
-the Program, the distribution of the whole must be on the terms of this
-License, whose permissions for other licensees extend to the entire
-whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of a
-storage or distribution medium does not bring the other work under the
-scope of this License.
-
-3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections 1
- and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your cost
- of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer to
- distribute corresponding source code. (This alternative is allowed
- only for noncommercial distribution and only if you received the
- program in object code or executable form with such an offer, in
- accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source code
-means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to control
-compilation and installation of the executable. However, as a special
-exception, the source code distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies the
-executable.
-
-If distribution of executable or object code is made by offering access
-to copy from a designated place, then offering equivalent access to copy
-the source code from the same place counts as distribution of the source
-code, even though third parties are not compelled to copy the source
-along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt otherwise
-to copy, modify, sublicense or distribute the Program is void, and will
-automatically terminate your rights under this License. However, parties
-who have received copies, or rights, from you under this License will
-not have their licenses terminated so long as such parties remain in
-full compliance.
-
-5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and all
-its terms and conditions for copying, distributing or modifying the
-Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further restrictions
-on the recipients' exercise of the rights granted herein. You are not
-responsible for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot distribute
-so as to satisfy simultaneously your obligations under this License and
-any other pertinent obligations, then as a consequence you may not
-distribute the Program at all. For example, if a patent license would
-not permit royalty-free redistribution of the Program by all those who
-receive copies directly or indirectly through you, then the only way you
-could satisfy both it and this License would be to refrain entirely from
-distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is implemented
-by public license practices. Many people have made generous
-contributions to the wide range of software distributed through that
-system in reliance on consistent application of that system; it is up to
-the author/donor to decide if he or she is willing to distribute
-software through any other system and a licensee cannot impose that choice.
-
-This section is intended to make thoroughly clear what is believed to be
-a consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License may
-add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among countries
-not thus excluded. In such case, this License incorporates the
-limitation as if written in the body of this License.
-
-9. The Free Software Foundation may publish revised and/or new
-versions of the General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Program does not specify a version
-number of this License, you may choose any version ever published by the
-Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the
-author to ask for permission. For software which is copyrighted by the
-Free Software Foundation, write to the Free Software Foundation; we
-sometimes make exceptions for this. Our decision will be guided by the
-two goals of preserving the free status of all derivatives of our free
-software and of promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
-EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
-ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
-YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
-DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
-DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
-(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
-INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
-THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
-OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-END OF TERMS AND CONDITIONS
-
-How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program. It is safest to
-attach them to the start of each source file to most effectively convey
-the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- One line to give the program's name and a brief idea of what it does.
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type
- `show w'. This is free software, and you are welcome to redistribute
- it under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the
-appropriate parts of the General Public License. Of course, the commands
-you use may be called something other than `show w' and `show c'; they
-could even be mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- program `Gnomovision' (which makes passes at compilers) written by
- James Hacker.
-
- signature of Ty Coon, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications
-with the library. If this is what you want to do, use the GNU Library
-General Public License instead of this License.
-
-#
-
-Certain source files distributed by Oracle America, Inc. and/or its
-affiliates are subject to the following clarification and special
-exception to the GPLv2, based on the GNU Project exception for its
-Classpath libraries, known as the GNU Classpath Exception, but only
-where Oracle has expressly included in the particular source file's
-header the words "Oracle designates this particular file as subject to
-the "Classpath" exception as provided by Oracle in the LICENSE file
-that accompanied this code."
-
-You should also note that Oracle includes multiple, independent
-programs in this software package. Some of those programs are provided
-under licenses deemed incompatible with the GPLv2 by the Free Software
-Foundation and others. For example, the package includes programs
-licensed under the Apache License, Version 2.0. Such programs are
-licensed to you under their original licenses.
-
-Oracle facilitates your further distribution of this package by adding
-the Classpath Exception to the necessary parts of its GPLv2 code, which
-permits you to use that code in combination with other independent
-modules not licensed under the GPLv2. However, note that this would
-not permit you to commingle code under an incompatible license with
-Oracle's GPLv2 licensed code by, for example, cutting and pasting such
-code into a file also containing Oracle's GPLv2 licensed code and then
-distributing the result. Additionally, if you were to remove the
-Classpath Exception from any of the files to which it applies and
-distribute the result, you would likely be required to license some or
-all of the other code in that distribution under the GPLv2 as well, and
-since the GPLv2 is incompatible with the license terms of some items
-included in the distribution by Oracle, removing the Classpath
-Exception could therefore effectively compromise your ability to
-further distribute the package.
-
-Proceed with caution and we recommend that you obtain the advice of a
-lawyer skilled in open source matters before removing the Classpath
-Exception or making modifications to this package which may
-subsequently be redistributed and/or involve the use of third party
-software.
-
-CLASSPATH EXCEPTION
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License version 2 cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from or
-based on this library. If you modify this library, you may extend this
-exception to your version of the library, but you are not obligated to
-do so. If you do not wish to do so, delete this exception statement
-from your version.
diff --git a/licenses/bin/jcharts-0.7.5.txt b/licenses/bin/jcharts-0.7.5.txt
deleted file mode 100644
index 5d68a51309..0000000000
--- a/licenses/bin/jcharts-0.7.5.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-http://jcharts.sourceforge.net/license.html
-
-Copyright 2002 (C) Nathaniel G. Auvil. All Rights Reserved.
-
-Redistribution and use of this software and associated documentation ("Software"), with or
-without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain copyright statements and notices.
-Redistributions must also contain a copy of this document.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of
-conditions and the following disclaimer in the documentation and/or other materials
-provided with the distribution.
-
-3. The name "jCharts" or "Nathaniel G. Auvil" must not be used to endorse or promote
-products derived from this Software without prior written permission of Nathaniel G.
-Auvil. For written permission, please contact nathaniel_auvil@users.sourceforge.net
-
-4. Products derived from this Software may not be called "jCharts" nor may "jCharts" appear
-in their names without prior written permission of Nathaniel G. Auvil. jCharts is a
-registered trademark of Nathaniel G. Auvil.
-
-5. Due credit should be given to the jCharts Project (http://jcharts.krysalis.org).
-
-THIS SOFTWARE IS PROVIDED BY Nathaniel G. Auvil AND CONTRIBUTORS ``AS IS'' AND ANY
-EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
-jCharts OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
diff --git a/licenses/bin/jcl-over-slf4j-1.7.25.txt b/licenses/bin/jcl-over-slf4j-1.7.25.txt
deleted file mode 100644
index c5ae560900..0000000000
--- a/licenses/bin/jcl-over-slf4j-1.7.25.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-http://www.slf4j.org/license.html
-
-SLF4J source code and binaries are distributed under the MIT license.
-Copyright (c) 2004-2013 QOS.ch
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/licenses/bin/jodd-core-5.0.6.txt b/licenses/bin/jodd-core-5.0.6.txt
deleted file mode 100644
index 0e674fab0e..0000000000
--- a/licenses/bin/jodd-core-5.0.6.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-Jodd software is released under Simplified BSD License.
-
-Copyright (c) 2003-2015, Jodd Team All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list
-of conditions and the following disclaimer.
-
-Redistributions in binary form must reproduce the above copyright notice, this
-list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/licenses/bin/jodd-lagarto-5.0.6.txt b/licenses/bin/jodd-lagarto-5.0.6.txt
deleted file mode 100644
index 08b340d355..0000000000
--- a/licenses/bin/jodd-lagarto-5.0.6.txt
+++ /dev/null
@@ -1 +0,0 @@
-See jodd-core-3.7.1.txt
\ No newline at end of file
diff --git a/licenses/bin/jodd-log-5.0.6.txt b/licenses/bin/jodd-log-5.0.6.txt
deleted file mode 100644
index 08b340d355..0000000000
--- a/licenses/bin/jodd-log-5.0.6.txt
+++ /dev/null
@@ -1 +0,0 @@
-See jodd-core-3.7.1.txt
\ No newline at end of file
diff --git a/licenses/bin/jodd-props-5.0.6.txt b/licenses/bin/jodd-props-5.0.6.txt
deleted file mode 100644
index 08b340d355..0000000000
--- a/licenses/bin/jodd-props-5.0.6.txt
+++ /dev/null
@@ -1 +0,0 @@
-See jodd-core-3.7.1.txt
\ No newline at end of file
diff --git a/licenses/bin/jsoup-1.11.3.txt b/licenses/bin/jsoup-1.11.3.txt
deleted file mode 100644
index cedf2e932e..0000000000
--- a/licenses/bin/jsoup-1.11.3.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-http://jsoup.org/license
-
-jsoup License
-The jsoup code-base (include source and compiled packages) are distributed under
-the open source MIT license as described below.
-
-The MIT License
-Copyright © 2009 - 2016 Jonathan Hedley (jonathan@hedley.net)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/licenses/bin/jtidy-r938.txt b/licenses/bin/jtidy-r938.txt
deleted file mode 100644
index a49e34a308..0000000000
--- a/licenses/bin/jtidy-r938.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-Extracted from jtidy-r938.jar
-
-/**
-* Java HTML Tidy - JTidy
-* HTML parser and pretty printer
-*
-* Copyright (c) 1998-2000 World Wide Web Consortium (Massachusetts
-* Institute of Technology, Institut National de Recherche en
-* Informatique et en Automatique, Keio University). All Rights
-* Reserved.
-*
-* Contributing Author(s):
-*
-* Dave Raggett <ds...@w3.org>
-* Andy Quick <ac...@sympatico.ca> (translation to Java)
-* Gary L Peskin <ga...@firstech.com> (Java development)
-* Sami Lempinen <sa...@lempinen.net> (release management)
-* Fabrizio Giustina <fgiust at users.sourceforge.net>
-*
-* The contributing author(s) would like to thank all those who
-* helped with testing, bug fixes, and patience. This wouldn't
-* have been possible without all of you.
-*
-* COPYRIGHT NOTICE:
-*
-* This software and documentation is provided "as is," and
-* the copyright holders and contributing author(s) make no
-* representations or warranties, express or implied, including
-* but not limited to, warranties of merchantability or fitness
-* for any particular purpose or that the use of the software or
-* documentation will not infringe any third party patents,
-* copyrights, trademarks or other rights.
-*
-* The copyright holders and contributing author(s) will not be
-* liable for any direct, indirect, special or consequential damages
-* arising out of any use of the software or documentation, even if
-* advised of the possibility of such damage.
-*
-* Permission is hereby granted to use, copy, modify, and distribute
-* this source code, or portions hereof, documentation and executables,
-* for any purpose, without fee, subject to the following restrictions:
-*
-* 1. The origin of this source code must not be misrepresented.
-* 2. Altered versions must be plainly marked as such and must
-* not be misrepresented as being the original source.
-* 3. This Copyright notice may not be removed or altered from any
-* source or altered source distribution.
-*
-* The copyright holders and contributing author(s) specifically
-* permit, without fee, and encourage the use of this source code
-* as a component for supporting the Hypertext Markup Language in
-* commercial products. If you use this source code in a product,
-* acknowledgment is not required but would be appreciated.
-*
-*/
\ No newline at end of file
diff --git a/licenses/bin/junit-4.12.txt b/licenses/bin/junit-4.12.txt
deleted file mode 100644
index 14d988a64b..0000000000
--- a/licenses/bin/junit-4.12.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Extracted from JUnit-4.11.jar
-
-BSD License
-
-Copyright (c) 2000-2006, www.hamcrest.org
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of
-conditions and the following disclaimer. Redistributions in binary form must reproduce
-the above copyright notice, this list of conditions and the following disclaimer in
-the documentation and/or other materials provided with the distribution.
-
-Neither the name of Hamcrest nor the names of its contributors may be used to endorse
-or promote products derived from this software without specific prior written
-permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
diff --git a/licenses/bin/rhino-1.7.10.txt b/licenses/bin/rhino-1.7.10.txt
deleted file mode 100644
index 2c5550d7aa..0000000000
--- a/licenses/bin/rhino-1.7.10.txt
+++ /dev/null
@@ -1,377 +0,0 @@
-Extracted from rhino-1.7R4.txt
-
-The majority of Rhino is licensed under the MPL 2.0:
-
-Mozilla Public License Version 2.0
-==================================
-
-1. Definitions
---------------
-
-1.1. "Contributor"
- means each individual or legal entity that creates, contributes to
- the creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
- means the combination of the Contributions of others (if any) used
- by a Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
- means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
- means Source Code Form to which the initial Contributor has attached
- the notice in Exhibit A, the Executable Form of such Source Code
- Form, and Modifications of such Source Code Form, in each case
- including portions thereof.
-
-1.5. "Incompatible With Secondary Licenses"
- means
-
- (a) that the initial Contributor has attached the notice described
- in Exhibit B to the Covered Software; or
-
- (b) that the Covered Software was made available under the terms of
- version 1.1 or earlier of the License, but not also under the
- terms of a Secondary License.
-
-1.6. "Executable Form"
- means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
- means a work that combines Covered Software with other material, in
- a separate file or files, that is not Covered Software.
-
-1.8. "License"
- means this document.
-
-1.9. "Licensable"
- means having the right to grant, to the maximum extent possible,
- whether at the time of the initial grant or subsequently, any and
- all of the rights conveyed by this License.
-
-1.10. "Modifications"
- means any of the following:
-
- (a) any file in Source Code Form that results from an addition to,
- deletion from, or modification of the contents of Covered
- Software; or
-
- (b) any new file in Source Code Form that contains any Covered
- Software.
-
-1.11. "Patent Claims" of a Contributor
- means any patent claim(s), including without limitation, method,
- process, and apparatus claims, in any patent Licensable by such
- Contributor that would be infringed, but for the grant of the
- License, by the making, using, selling, offering for sale, having
- made, import, or transfer of either its Contributions or its
- Contributor Version.
-
-1.12. "Secondary License"
- means either the GNU General Public License, Version 2.0, the GNU
- Lesser General Public License, Version 2.1, the GNU Affero General
- Public License, Version 3.0, or any later versions of those
- licenses.
-
-1.13. "Source Code Form"
- means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
- means an individual or a legal entity exercising rights under this
- License. For legal entities, "You" includes any entity that
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
-
-2. License Grants and Conditions
---------------------------------
-
-2.1. Grants
-
-Each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-
-(a) under intellectual property rights (other than patent or trademark)
- Licensable by such Contributor to use, reproduce, make available,
- modify, display, perform, distribute, and otherwise exploit its
- Contributions, either on an unmodified basis, with Modifications, or
- as part of a Larger Work; and
-
-(b) under Patent Claims of such Contributor to make, use, sell, offer
- for sale, have made, import, and otherwise transfer either its
- Contributions or its Contributor Version.
-
-2.2. Effective Date
-
-The licenses granted in Section 2.1 with respect to any Contribution
-become effective for each Contribution on the date the Contributor first
-distributes such Contribution.
-
-2.3. Limitations on Grant Scope
-
-The licenses granted in this Section 2 are the only rights granted under
-this License. No additional rights or licenses will be implied from the
-distribution or licensing of Covered Software under this License.
-Notwithstanding Section 2.1(b) above, no patent license is granted by a
-Contributor:
-
-(a) for any code that a Contributor has removed from Covered Software;
- or
-
-(b) for infringements caused by: (i) Your and any other third party's
- modifications of Covered Software, or (ii) the combination of its
- Contributions with other software (except as part of its Contributor
- Version); or
-
-(c) under Patent Claims infringed by Covered Software in the absence of
- its Contributions.
-
-This License does not grant any rights in the trademarks, service marks,
-or logos of any Contributor (except as may be necessary to comply with
-the notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
-No Contributor makes additional grants as a result of Your choice to
-distribute the Covered Software under a subsequent version of this
-License (see Section 10.2) or under the terms of a Secondary License (if
-permitted under the terms of Section 3.3).
-
-2.5. Representation
-
-Each Contributor represents that the Contributor believes its
-Contributions are its original creation(s) or it has sufficient rights
-to grant the rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
-This License is not intended to limit any rights You have under
-applicable copyright doctrines of fair use, fair dealing, or other
-equivalents.
-
-2.7. Conditions
-
-Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
-in Section 2.1.
-
-3. Responsibilities
--------------------
-
-3.1. Distribution of Source Form
-
-All distribution of Covered Software in Source Code Form, including any
-Modifications that You create or to which You contribute, must be under
-the terms of this License. You must inform recipients that the Source
-Code Form of the Covered Software is governed by the terms of this
-License, and how they can obtain a copy of this License. You may not
-attempt to alter or restrict the recipients' rights in the Source Code
-Form.
-
-3.2. Distribution of Executable Form
-
-If You distribute Covered Software in Executable Form then:
-
-(a) such Covered Software must also be made available in Source Code
- Form, as described in Section 3.1, and You must inform recipients of
- the Executable Form how they can obtain a copy of such Source Code
- Form by reasonable means in a timely manner, at a charge no more
- than the cost of distribution to the recipient; and
-
-(b) You may distribute such Executable Form under the terms of this
- License, or sublicense it under different terms, provided that the
- license for the Executable Form does not attempt to limit or alter
- the recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-You may create and distribute a Larger Work under terms of Your choice,
-provided that You also comply with the requirements of this License for
-the Covered Software. If the Larger Work is a combination of Covered
-Software with a work governed by one or more Secondary Licenses, and the
-Covered Software is not Incompatible With Secondary Licenses, this
-License permits You to additionally distribute such Covered Software
-under the terms of such Secondary License(s), so that the recipient of
-the Larger Work may, at their option, further distribute the Covered
-Software under the terms of either this License or such Secondary
-License(s).
-
-3.4. Notices
-
-You may not remove or alter the substance of any license notices
-(including copyright notices, patent notices, disclaimers of warranty,
-or limitations of liability) contained within the Source Code Form of
-the Covered Software, except that You may alter any license notices to
-the extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Software. However, You may do so only on Your own behalf, and not on
-behalf of any Contributor. You must make it absolutely clear that any
-such warranty, support, indemnity, or liability obligation is offered by
-You alone, and You hereby agree to indemnify every Contributor for any
-liability incurred by such Contributor as a result of warranty, support,
-indemnity or liability terms You offer. You may include additional
-disclaimers of warranty and limitations of liability specific to any
-jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
----------------------------------------------------
-
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Software due to
-statute, judicial order, or regulation then You must: (a) comply with
-the terms of this License to the maximum extent possible; and (b)
-describe the limitations and the code they affect. Such description must
-be placed in a text file included with all distributions of the Covered
-Software under this License. Except to the extent prohibited by statute
-or regulation, such description must be sufficiently detailed for a
-recipient of ordinary skill to be able to understand it.
-
-5. Termination
---------------
-
-5.1. The rights granted under this License will terminate automatically
-if You fail to comply with any of its terms. However, if You become
-compliant, then the rights granted under this License from a particular
-Contributor are reinstated (a) provisionally, unless and until such
-Contributor explicitly and finally terminates Your grants, and (b) on an
-ongoing basis, if such Contributor fails to notify You of the
-non-compliance by some reasonable means prior to 60 days after You have
-come back into compliance. Moreover, Your grants from a particular
-Contributor are reinstated on an ongoing basis if such Contributor
-notifies You of the non-compliance by some reasonable means, this is the
-first time You have received notice of non-compliance with this License
-from such Contributor, and You become compliant prior to 30 days after
-Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-infringement claim (excluding declaratory judgment actions,
-counter-claims, and cross-claims) alleging that a Contributor Version
-directly or indirectly infringes any patent, then the rights granted to
-You by any and all Contributors for the Covered Software under Section
-2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all
-end user license agreements (excluding distributors and resellers) which
-have been validly granted by You or Your distributors under this License
-prior to termination shall survive termination.
-
-************************************************************************
-* *
-* 6. Disclaimer of Warranty *
-* ------------------------- *
-* *
-* Covered Software is provided under this License on an "as is" *
-* basis, without warranty of any kind, either expressed, implied, or *
-* statutory, including, without limitation, warranties that the *
-* Covered Software is free of defects, merchantable, fit for a *
-* particular purpose or non-infringing. The entire risk as to the *
-* quality and performance of the Covered Software is with You. *
-* Should any Covered Software prove defective in any respect, You *
-* (not any Contributor) assume the cost of any necessary servicing, *
-* repair, or correction. This disclaimer of warranty constitutes an *
-* essential part of this License. No use of any Covered Software is *
-* authorized under this License except under this disclaimer. *
-* *
-************************************************************************
-
-************************************************************************
-* *
-* 7. Limitation of Liability *
-* -------------------------- *
-* *
-* Under no circumstances and under no legal theory, whether tort *
-* (including negligence), contract, or otherwise, shall any *
-* Contributor, or anyone who distributes Covered Software as *
-* permitted above, be liable to You for any direct, indirect, *
-* special, incidental, or consequential damages of any character *
-* including, without limitation, damages for lost profits, loss of *
-* goodwill, work stoppage, computer failure or malfunction, or any *
-* and all other commercial damages or losses, even if such party *
-* shall have been informed of the possibility of such damages. This *
-* limitation of liability shall not apply to liability for death or *
-* personal injury resulting from such party's negligence to the *
-* extent applicable law prohibits such limitation. Some *
-* jurisdictions do not allow the exclusion or limitation of *
-* incidental or consequential damages, so this exclusion and *
-* limitation may not apply to You. *
-* *
-************************************************************************
-
-8. Litigation
--------------
-
-Any litigation relating to this License may be brought only in the
-courts of a jurisdiction where the defendant maintains its principal
-place of business and such litigation shall be governed by laws of that
-jurisdiction, without reference to its conflict-of-law provisions.
-Nothing in this Section shall prevent a party's ability to bring
-cross-claims or counter-claims.
-
-9. Miscellaneous
-----------------
-
-This License represents the complete agreement concerning the subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-shall not be used to construe this License against a Contributor.
-
-10. Versions of the License
----------------------------
-
-10.1. New Versions
-
-Mozilla Foundation is the license steward. Except as provided in Section
-10.3, no one other than the license steward has the right to modify or
-publish new versions of this License. Each version will be given a
-distinguishing version number.
-
-10.2. Effect of New Versions
-
-You may distribute the Covered Software under the terms of the version
-of the License under which You originally received the Covered Software,
-or under the terms of any subsequent version published by the license
-steward.
-
-10.3. Modified Versions
-
-If you create software not governed by this License, and you want to
-create a new license for such software, you may create and use a
-modified version of this License if you rename the license and remove
-any references to the name of the license steward (except to note that
-such modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary
-Licenses
-
-If You choose to distribute Source Code Form that is Incompatible With
-Secondary Licenses under the terms of this version of the License, the
-notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
--------------------------------------------
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular
-file, then You may include the notice in a location (such as a LICENSE
-file in a relevant directory) where a recipient would be likely to look
-for such a notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - "Incompatible With Secondary Licenses" Notice
----------------------------------------------------------
-
- This Source Code Form is "Incompatible With Secondary Licenses", as
- defined by the Mozilla Public License, v. 2.0.
diff --git a/licenses/bin/rsyntaxtextarea-3.0.2.txt b/licenses/bin/rsyntaxtextarea-3.0.2.txt
deleted file mode 100644
index b7fa082ed0..0000000000
--- a/licenses/bin/rsyntaxtextarea-3.0.2.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-https://github.com/bobbylight/RSyntaxTextArea/blob/master/src/main/dist/RSyntaxTextArea.License.txt
-
-Copyright (c) 2012, Robert Futrell
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the author nor the names of its contributors may
- be used to endorse or promote products derived from this software
- without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/licenses/bin/slf4j-api-1.7.25.txt b/licenses/bin/slf4j-api-1.7.25.txt
deleted file mode 100644
index c5ae560900..0000000000
--- a/licenses/bin/slf4j-api-1.7.25.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-http://www.slf4j.org/license.html
-
-SLF4J source code and binaries are distributed under the MIT license.
-Copyright (c) 2004-2013 QOS.ch
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/licenses/bin/xmlpull-1.1.3.1.txt b/licenses/bin/xmlpull-1.1.3.1.txt
deleted file mode 100644
index 5f9170e751..0000000000
--- a/licenses/bin/xmlpull-1.1.3.1.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-http://www.xmlpull.org/
-
-The XmlPull API is in public domain
\ No newline at end of file
diff --git a/licenses/bin/xpp3-1.1.4c.txt b/licenses/bin/xpp3-1.1.4c.txt
deleted file mode 100644
index 06db0a114f..0000000000
--- a/licenses/bin/xpp3-1.1.4c.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-Extracted from http://www.extreme.indiana.edu/dist/java-repository/xpp3/distributions/xpp3-1.1.4c_src.zip
-
-Indiana University Extreme! Lab Software License
-
-Version 1.1.1
-
-Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the distribution.
-
-3. The end-user documentation included with the redistribution, if any,
- must include the following acknowledgment:
-
- "This product includes software developed by the Indiana University
- Extreme! Lab (http://www.extreme.indiana.edu/)."
-
-Alternately, this acknowledgment may appear in the software itself,
-if and wherever such third-party acknowledgments normally appear.
-
-4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab"
-must not be used to endorse or promote products derived from this
-software without prior written permission. For written permission,
-please contact http://www.extreme.indiana.edu/.
-
-5. Products derived from this software may not use "Indiana Univeristy"
-name nor may "Indiana Univeristy" appear in their name, without prior
-written permission of the Indiana University.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS OR ITS CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/licenses/bin/xstream-1.4.11.txt b/licenses/bin/xstream-1.4.11.txt
deleted file mode 100644
index e48b829da4..0000000000
--- a/licenses/bin/xstream-1.4.11.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-http://x-stream.github.io/license.html
-
-XStream is open source software, made available under a BSD license.
-
-Copyright (c) 2003-2006, Joe Walnes
-Copyright (c) 2006-2009, 2011 XStream Committers
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of
-conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of
-conditions and the following disclaimer in the documentation and/or other materials provided
-with the distribution.
-
-3. Neither the name of XStream nor the names of its contributors may be used to endorse
-or promote products derived from this software without specific prior written
-permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
diff --git a/licenses/src/README.txt b/licenses/src/README.txt
deleted file mode 100644
index eb50133e3d..0000000000
--- a/licenses/src/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains additional licenses for software contained in source distributions
diff --git a/res/META-INF/default.license b/res/META-INF/default.license
deleted file mode 100644
index f433b1a53f..0000000000
--- a/res/META-INF/default.license
+++ /dev/null
@@ -1,177 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
diff --git a/res/META-INF/default.notice b/res/META-INF/default.notice
deleted file mode 100644
index cf17436e0d..0000000000
--- a/res/META-INF/default.notice
+++ /dev/null
@@ -1,5 +0,0 @@
-Apache JMeter
-Copyright 1999-@YEAR@ The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
diff --git a/res/maven/ApacheJMeter.pom b/res/maven/ApacheJMeter.pom
deleted file mode 100644
index a2ad06a56f..0000000000
--- a/res/maven/ApacheJMeter.pom
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <artifactId>ApacheJMeter</artifactId>
- <name>Apache JMeter launcher</name>
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_components.pom b/res/maven/ApacheJMeter_components.pom
deleted file mode 100644
index 8b99c02318..0000000000
--- a/res/maven/ApacheJMeter_components.pom
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <name>Apache JMeter Components</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_config.pom b/res/maven/ApacheJMeter_config.pom
deleted file mode 100644
index 63c7b7287c..0000000000
--- a/res/maven/ApacheJMeter_config.pom
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_config</artifactId>
- <name>Apache JMeter Configuration</name>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_core.pom b/res/maven/ApacheJMeter_core.pom
deleted file mode 100644
index 0b971d6565..0000000000
--- a/res/maven/ApacheJMeter_core.pom
+++ /dev/null
@@ -1,40 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <name>Apache JMeter Core</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_ftp.pom b/res/maven/ApacheJMeter_ftp.pom
deleted file mode 100644
index 99477116c8..0000000000
--- a/res/maven/ApacheJMeter_ftp.pom
+++ /dev/null
@@ -1,50 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_ftp</artifactId>
- <name>Apache JMeter FTP</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_functions.pom b/res/maven/ApacheJMeter_functions.pom
deleted file mode 100644
index 6608e2ff1c..0000000000
--- a/res/maven/ApacheJMeter_functions.pom
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_functions</artifactId>
- <name>Apache JMeter Functions</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_http.pom b/res/maven/ApacheJMeter_http.pom
deleted file mode 100644
index 763056beb2..0000000000
--- a/res/maven/ApacheJMeter_http.pom
+++ /dev/null
@@ -1,50 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_http</artifactId>
- <name>Apache JMeter HTTP</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_java.pom b/res/maven/ApacheJMeter_java.pom
deleted file mode 100644
index e284dc41a5..0000000000
--- a/res/maven/ApacheJMeter_java.pom
+++ /dev/null
@@ -1,50 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_java</artifactId>
- <name>Apache JMeter Java</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_jdbc.pom b/res/maven/ApacheJMeter_jdbc.pom
deleted file mode 100644
index 560ec143dc..0000000000
--- a/res/maven/ApacheJMeter_jdbc.pom
+++ /dev/null
@@ -1,50 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_jdbc</artifactId>
- <name>Apache JMeter JDBC</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_jms.pom b/res/maven/ApacheJMeter_jms.pom
deleted file mode 100644
index aa6ca6b454..0000000000
--- a/res/maven/ApacheJMeter_jms.pom
+++ /dev/null
@@ -1,50 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_jms</artifactId>
- <name>Apache JMeter JMS</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_junit-test.pom b/res/maven/ApacheJMeter_junit-test.pom
deleted file mode 100644
index ef5798e9a4..0000000000
--- a/res/maven/ApacheJMeter_junit-test.pom
+++ /dev/null
@@ -1,31 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_junit-test</artifactId>
- <name>Apache JMeter JUnit sample test classes</name>
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_junit.pom b/res/maven/ApacheJMeter_junit.pom
deleted file mode 100644
index 1687a7e0a8..0000000000
--- a/res/maven/ApacheJMeter_junit.pom
+++ /dev/null
@@ -1,44 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <artifactId>ApacheJMeter_junit</artifactId>
- <name>Apache JMeter jUnit</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_ldap.pom b/res/maven/ApacheJMeter_ldap.pom
deleted file mode 100644
index 6d95fa953d..0000000000
--- a/res/maven/ApacheJMeter_ldap.pom
+++ /dev/null
@@ -1,49 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <artifactId>ApacheJMeter_ldap</artifactId>
- <name>Apache JMeter LDAP</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_mail.pom b/res/maven/ApacheJMeter_mail.pom
deleted file mode 100644
index 5984168ac2..0000000000
--- a/res/maven/ApacheJMeter_mail.pom
+++ /dev/null
@@ -1,49 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <artifactId>ApacheJMeter_mail</artifactId>
- <name>Apache JMeter Mail</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_mongodb.pom b/res/maven/ApacheJMeter_mongodb.pom
deleted file mode 100644
index b326a86a2c..0000000000
--- a/res/maven/ApacheJMeter_mongodb.pom
+++ /dev/null
@@ -1,49 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <artifactId>ApacheJMeter_mongodb</artifactId>
- <name>Apache JMeter MongoDB</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_native.pom b/res/maven/ApacheJMeter_native.pom
deleted file mode 100644
index 044bf1acb6..0000000000
--- a/res/maven/ApacheJMeter_native.pom
+++ /dev/null
@@ -1,50 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_native</artifactId>
- <name>Apache JMeter Native</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/ApacheJMeter_parent.pom b/res/maven/ApacheJMeter_parent.pom
deleted file mode 100644
index 146755ec58..0000000000
--- a/res/maven/ApacheJMeter_parent.pom
+++ /dev/null
@@ -1,510 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <name>Apache JMeter parent</name>
- <!-- Parent poms have to be packaged as pom, not jar -->
- <packaging>pom</packaging>
-
- <description>Apache JMeter is open source software, a 100% pure Java desktop application designed to load test
- functional behavior and measure performance. It was originally designed for testing Web Applications but has
- since expanded to other test functions.
- </description>
- <url>http://jmeter.apache.org/</url>
- <inceptionYear>1998</inceptionYear>
- <licenses>
- <license>
- <name>Apache 2</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- <distribution>repo</distribution>
- <comments>A business-friendly OSS license</comments>
- </license>
- </licenses>
- <issueManagement>
- <system>bugzilla</system>
- <url>https://bz.apache.org/bugzilla/describecomponents.cgi?product=JMeter</url>
- </issueManagement>
- <scm>
- <connection>http://svn.apache.org/repos/asf/jmeter/trunk/</connection>
- <developerConnection>https://svn.apache.org/repos/asf/jmeter/trunk/</developerConnection>
- <url>http://svn.apache.org/viewvc/jmeter/trunk/</url>
- </scm>
-
-
- <properties>
- <!-- these must agree with the definitions in build.properties -->
- <accessors-smart.version>1.2</accessors-smart.version>
- <apache-bsf.version>2.4.0</apache-bsf.version>
- <asm.version>7.0</asm.version>
- <beanshell.version>2.0b6</beanshell.version>
- <bcmail.version>1.60</bcmail.version>
- <bcprov.version>1.60</bcprov.version>
- <bcpkix.version>1.60</bcpkix.version>
- <dec.version>0.1.2</dec.version>
- <caffeine.version>2.6.2</caffeine.version>
- <commons-codec.version>1.11</commons-codec.version>
- <commons-collections.version>3.2.2</commons-collections.version>
- <commons-dbcp2.version>2.5.0</commons-dbcp2.version>
- <commons-io.version>2.6</commons-io.version>
- <commons-jexl2.version>2.1.1</commons-jexl2.version>
- <commons-jexl3.version>3.1</commons-jexl3.version>
- <commons-lang3.version>3.8.1</commons-lang3.version>
- <commons-math3.version>3.6.1</commons-math3.version>
- <commons-net.version>3.6</commons-net.version>
- <commons-pool2.version>2.6.0</commons-pool2.version>
- <commons-text.version>1.6</commons-text.version>
- <dnsjava.version>2.1.8</dnsjava.version>
- <freemarker.version>2.3.28</freemarker.version>
- <groovy-all.version>2.4.16</groovy-all.version>
- <hamcrest-core.version>1.3</hamcrest-core.version>
- <hamcrest-date.version>2.0.4</hamcrest-date.version>
- <httpasyncclient.version>4.1.4</httpasyncclient.version>
- <httpclient.version>4.5.8</httpclient.version>
- <httpcore.version>4.4.11</httpcore.version>
- <httpcore-nio.version>4.4.11</httpcore-nio.version>
- <httpmime.version>4.5.8</httpmime.version>
- <jackson-annotations.version>2.9.9</jackson-annotations.version>
- <jackson-core.version>2.9.9</jackson-core.version>
- <jackson-databind.version>2.9.9</jackson-databind.version>
- <jakarta-oro.version>2.0.8</jakarta-oro.version>
- <javax.activation-api.version>1.2.0</javax.activation-api.version>
- <javax.activation.version>1.2.0</javax.activation.version>
- <jcharts.version>0.7.5</jcharts.version>
- <jcl-over-slf4j.version>1.7.25</jcl-over-slf4j.version>
- <jodd-core.version>5.0.6</jodd-core.version>
- <jodd-lagarto.version>5.0.6</jodd-lagarto.version>
- <jodd-log.version>5.0.6</jodd-log.version>
- <jodd-props.version>5.0.6</jodd-props.version>
- <json-path.version>2.4.0</json-path.version>
- <json-smart.version>2.3</json-smart.version>
- <jsoup.version>1.11.3</jsoup.version>
- <rhino.version>1.7.10</rhino.version>
- <junit.version>4.12</junit.version>
- <mongo-java-driver.version>2.11.3</mongo-java-driver.version>
- <ph-css.version>6.1.1</ph-css.version>
- <ph-commons.version>9.2.1</ph-commons.version>
- <rsyntaxtextarea.version>3.0.2</rsyntaxtextarea.version>
- <Saxon-HE.version>9.9.1-1</Saxon-HE.version>
- <slf4j-api.version>1.7.25</slf4j-api.version>
- <log4j-api.version>2.11.1</log4j-api.version>
- <log4j-core.version>2.11.1</log4j-core.version>
- <log4j-slf4j-impl.version>2.11.1</log4j-slf4j-impl.version>
- <log4j-1.2-api.version>2.11.1</log4j-1.2-api.version>
- <spock-core.version>1.2-groovy-2.4</spock-core.version>
- <cglib-nodep.version>3.2.9</cglib-nodep.version>
- <objenesis.version>2.6</objenesis.version>
- <jtidy.version>r938</jtidy.version>
- <tika-core.version>1.21</tika-core.version>
- <tika-parsers.version>1.21</tika-parsers.version>
- <xmlpull.version>1.1.3.1</xmlpull.version>
- <xstream.version>1.4.11</xstream.version>
- <xpp3.version>1.1.4c</xpp3.version>
- <xalan.version>2.7.2</xalan.version>
- <serializer.version>2.7.2</serializer.version>
- <xerces.version>2.12.0</xerces.version>
- <xml-apis.version>1.4.01</xml-apis.version>
- <xmlgraphics-commons.version>2.3</xmlgraphics-commons.version>
- <javamail.version>1.5.0-b01</javamail.version>
- <jms.version>1.1.1</jms.version>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm</artifactId>
- <version>${asm.version}</version>
- </dependency>
- <dependency>
- <groupId>net.minidev</groupId>
- <artifactId>accessors-smart</artifactId>
- <version>${accessors-smart.version}</version>
- </dependency>
- <dependency>
- <groupId>bsf</groupId>
- <artifactId>bsf</artifactId>
- <version>${apache-bsf.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache-extras.beanshell</groupId>
- <artifactId>bsh</artifactId>
- <version>${beanshell.version}</version>
- </dependency>
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcmail-jdk15on</artifactId>
- <version>${bcmail.version}</version>
- </dependency>
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcprov-jdk15on</artifactId>
- <version>${bcprov.version}</version>
- </dependency>
- <dependency>
- <groupId>org.bouncycastle</groupId>
- <artifactId>bcpkix-jdk15on</artifactId>
- <version>${bcpkix.version}</version>
- </dependency>
- <dependency>
- <groupId>org.brotli</groupId>
- <artifactId>dec</artifactId>
- <version>${dec.version}</version>
- </dependency>
- <dependency>
- <groupId>com.github.ben-manes.caffeine</groupId>
- <artifactId>caffeine</artifactId>
- <version>${caffeine.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>${commons-codec.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>${commons-collections.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-dbcp2</artifactId>
- <version>${commons-dbcp2.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>${commons-io.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-jexl</artifactId>
- <version>${commons-jexl2.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-jexl3</artifactId>
- <version>${commons-jexl3.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>${commons-lang3.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-math3</artifactId>
- <version>${commons-math3.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-net</groupId>
- <artifactId>commons-net</artifactId>
- <version>${commons-net.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-pool2</artifactId>
- <version>${commons-pool2.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-text</artifactId>
- <version>${commons-text.version}</version>
- </dependency>
- <dependency>
- <groupId>dnsjava</groupId>
- <artifactId>dnsjava</artifactId>
- <version>${dnsjava.version}</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-all</artifactId>
- <version>${groovy-all.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpasyncclient</artifactId>
- <version>${httpasyncclient.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>${httpclient.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpmime</artifactId>
- <version>${httpmime.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore</artifactId>
- <version>${httpcore.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore-nio</artifactId>
- <version>${httpcore-nio.version}</version>
- </dependency>
- <dependency>
- <groupId>oro</groupId>
- <artifactId>oro</artifactId>
- <version>${jakarta-oro.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${jackson-databind.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-annotations</artifactId>
- <version>${jackson-annotations.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>${jackson-core.version}</version>
- </dependency>
- <dependency>
- <groupId>jcharts</groupId>
- <artifactId>jcharts</artifactId>
- <version>0.7.5</version>
- </dependency>
- <dependency>
- <groupId>org.mozilla</groupId>
- <artifactId>rhino</artifactId>
- <version>${rhino.version}</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${junit.version}</version>
- </dependency>
- <dependency>
- <groupId>org.spockframework</groupId>
- <artifactId>spock-core</artifactId>
- <version>${spock-core.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- <version>${cglib-nodep.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.objenesis</groupId>
- <artifactId>objenesis</artifactId>
- <version>${objenesis.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>net.sf.jtidy</groupId>
- <artifactId>jtidy</artifactId>
- <version>${jtidy.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tika</groupId>
- <artifactId>tika-core</artifactId>
- <version>${tika-core.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.tika</groupId>
- <artifactId>tika-parsers</artifactId>
- <version>${tika-parsers.version}</version>
- </dependency>
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>${xstream.version}</version>
- </dependency>
- <dependency>
- <groupId>xmlpull</groupId>
- <artifactId>xmlpull</artifactId>
- <version>${xmlpull.version}</version>
- </dependency>
- <dependency>
- <groupId>xpp3</groupId>
- <artifactId>xpp3_min</artifactId>
- <version>${xpp3.version}</version>
- </dependency>
- <dependency>
- <groupId>xalan</groupId>
- <artifactId>xalan</artifactId>
- <version>${xalan.version}</version>
- </dependency>
- <dependency>
- <groupId>xalan</groupId>
- <artifactId>serializer</artifactId>
- <version>${serializer.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.saxon</groupId>
- <artifactId>Saxon-HE</artifactId>
- <version>${Saxon-HE.version}</version>
- </dependency>
- <dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>${xerces.version}</version>
- </dependency>
- <dependency>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- <version>${xml-apis.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.xmlgraphics</groupId>
- <artifactId>xmlgraphics-commons</artifactId>
- <version>${xmlgraphics-commons.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.activation</groupId>
- <artifactId>javax.activation-api</artifactId>
- <version>${javax.activation-api.version}</version>
- </dependency>
- <dependency>
- <groupId>com.sun.activation</groupId>
- <artifactId>javax.activation</artifactId>
- <version>${javax.activation.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.mail</groupId>
- <artifactId>mail</artifactId>
- <version>${javamail.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jms_1.1_spec</artifactId>
- <version>${jms.version}</version>
- </dependency>
- <dependency>
- <groupId>com.jayway.jsonpath</groupId>
- <artifactId>json-path</artifactId>
- <version>${json-path.version}</version>
- </dependency>
- <dependency>
- <groupId>net.minidev</groupId>
- <artifactId>json-smart</artifactId>
- <version>${json-smart.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jsoup</groupId>
- <artifactId>jsoup</artifactId>
- <version>${jsoup.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jodd</groupId>
- <artifactId>jodd-core</artifactId>
- <version>${jodd-core.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jodd</groupId>
- <artifactId>jodd-lagarto</artifactId>
- <version>${jodd-lagarto.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jodd</groupId>
- <artifactId>jodd-log</artifactId>
- <version>${jodd-log.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jodd</groupId>
- <artifactId>jodd-props</artifactId>
- <version>${jodd-props.version}</version>
- </dependency>
- <dependency>
- <groupId>org.mongodb</groupId>
- <artifactId>mongo-java-driver</artifactId>
- <version>${mongo-java-driver.version}</version>
- </dependency>
- <dependency>
- <groupId>com.helger</groupId>
- <artifactId>ph-css</artifactId>
- <version>${ph-css.version}</version>
- </dependency>
- <dependency>
- <groupId>com.helger</groupId>
- <artifactId>ph-commons</artifactId>
- <version>${ph-commons.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fifesoft</groupId>
- <artifactId>rsyntaxtextarea</artifactId>
- <version>${rsyntaxtextarea.version}</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>${slf4j-api.version}</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>${jcl-over-slf4j.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>${log4j-api.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>${log4j-core.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j-slf4j-impl.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-1.2-api</artifactId>
- <version>${log4j-1.2-api.version}</version>
- </dependency>
- <dependency>
- <groupId>org.freemarker</groupId>
- <artifactId>freemarker</artifactId>
- <version>${freemarker.version}</version>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-core</artifactId>
- <version>${hamcrest-core.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.exparity</groupId>
- <artifactId>hamcrest-date</artifactId>
- <version>${hamcrest-date.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <repositories>
- <repository>
- <!--Required for bsh 2.0b5 -->
- <id>JBoss</id>
- <url>https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/</url>
- </repository>
- </repositories>
-</project>
diff --git a/res/maven/ApacheJMeter_tcp.pom b/res/maven/ApacheJMeter_tcp.pom
deleted file mode 100644
index 855b39b458..0000000000
--- a/res/maven/ApacheJMeter_tcp.pom
+++ /dev/null
@@ -1,49 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <artifactId>ApacheJMeter_tcp</artifactId>
- <name>Apache JMeter TCP</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_core</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- <dependency>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_components</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- </dependency>
- </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/res/maven/jorphan.pom b/res/maven/jorphan.pom
deleted file mode 100644
index 01fe3723b5..0000000000
--- a/res/maven/jorphan.pom
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>ApacheJMeter_parent</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <relativePath>.</relativePath>
- </parent>
- <groupId>org.apache.jmeter</groupId>
- <artifactId>jorphan</artifactId>
- <version>@MAVEN.DEPLOY.VERSION@</version>
- <name>Apache JMeter jorphan library</name>
-
-</project>
\ No newline at end of file
diff --git a/src/components/src/test/java/org/apache/jmeter/JMeterVersionTest.java b/src/components/src/test/java/org/apache/jmeter/JMeterVersionTest.java
deleted file mode 100644
index 07f68f493e..0000000000
--- a/src/components/src/test/java/org/apache/jmeter/JMeterVersionTest.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.jmeter;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-import org.apache.jmeter.junit.JMeterTestCase;
-import org.apache.jmeter.util.JMeterUtils;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Check the eclipse and Maven version definitions against build.properties
- * Drop this if we move to Maven the build process
- */
-public class JMeterVersionTest extends JMeterTestCase {
-
- // Convert between eclipse jar name and build.properties name
- private static Map<String, String> JAR_TO_BUILD_PROP = new HashMap<>();
- static {
- JAR_TO_BUILD_PROP.put("bsf", "apache-bsf");
- JAR_TO_BUILD_PROP.put("bsh", "beanshell");
- JAR_TO_BUILD_PROP.put("geronimo-jms_1.1_spec", "jms");
- JAR_TO_BUILD_PROP.put("mail", "javamail");
- JAR_TO_BUILD_PROP.put("oro", "jakarta-oro");
- JAR_TO_BUILD_PROP.put("xercesImpl", "xerces");
- JAR_TO_BUILD_PROP.put("xpp3_min", "xpp3");
- }
-
- private static final File JMETER_HOME = new File(JMeterUtils.getJMeterHome());
-
- /**
- * Versions of all libraries mentioned in build.properties (except checkstyle-all)
- */
- private final Map<String, String> versions = new HashMap<>();
-
- /**
- * Names of library.version entries in build.properties, excluding jars not bundled (used for docs only)
- */
- private final Set<String> propNames = new HashSet<>();
-
- /** License file names found under license/bin (WITHOUT the .txt suffix) */
- private Set<String> liceFiles;
-
- private File getFileFromHome(String relativeFile) {
- return new File(JMETER_HOME, relativeFile);
- }
-
- private Properties prop;
-
- @Before
- public void setUp() throws IOException {
- final Properties buildProp = new Properties();
- final FileInputStream bp = new FileInputStream(getFileFromHome("build.properties"));
- buildProp.load(bp);
- bp.close();
- for (Entry<Object, Object> entry : buildProp.entrySet()) {
- final String key = (String) entry.getKey();
- if (key.endsWith(".version")) {
- final String value = (String) entry.getValue();
- final String jarprop = key.replace(".version","");
- final String old = versions.put(jarprop, value);
- propNames.add(jarprop);
- if (old != null) {
- fail("Already have entry for "+key);
- }
- }
- }
- // remove docs-only jars
- propNames.remove("jdom");
- propNames.remove("velocity");
- propNames.remove("commons-lang"); // lang3 is bundled, lang2 is doc-only
-
- // Darcula is not a maven artifact
- propNames.remove("darcula"); // not needed in Maven
- buildProp.remove("darcula.loc"); // not a Maven download
- versions.remove("darcula");
-
- // remove optional checkstyle name
- propNames.remove("checkstyle-all"); // not needed in Maven
- buildProp.remove("checkstyle-all.loc"); // not a Maven download
- versions.remove("checkstyle-all");
- // remove option RAT jars
- propNames.remove("rat");
- versions.remove("rat");
- propNames.remove("rat-tasks");
- versions.remove("rat-tasks");
- // remove optional hsqldb, jacoco and sonar jars (required for coverage reporting, not required for jmeter)
- for (String optLib : Arrays.asList("jacocoant", "sonarqube-ant-task", "hsqldb", "activemq-all",
- "mina-core", "ftplet-api", "ftpserver-core")) {
- propNames.remove(optLib);
- versions.remove(optLib);
- }
- prop = buildProp;
- final File licencesDir = getFileFromHome("licenses/bin");
- liceFiles = Arrays.stream(licencesDir.list())
- .filter(name -> !name.equalsIgnoreCase("README.txt"))
- .filter(name -> !name.equals(".svn")) // Ignore old-style SVN workspaces
- .map(name -> name.replace(".txt", ""))
- .collect(Collectors.toSet());
- }
-
- /**
- * Check eclipse.classpath contains the jars declared in build.properties
- * @throws IOException if something fails
- */
- @Test
- public void testEclipse() throws IOException {
- final BufferedReader eclipse = new BufferedReader(
- new FileReader(getFileFromHome("eclipse.classpath"))); // assume default charset is OK here
-// <classpathentry kind="lib" path="lib/geronimo-jms_1.1_spec-1.1.1.jar"/>
-// <classpathentry kind="lib" path="lib/activation-1.1.1.jar"/>
-// <classpathentry kind="lib" path="lib/jtidy-r938.jar"/>
- final Pattern p = Pattern.compile("\\s+<classpathentry kind=\"lib\" path=\"lib/(?:api/)?(.+?)-([^-]+(-\\d*|-b\\d+|-BETA\\d)?)\\.jar\"/>");
- final Pattern versionPat = Pattern.compile("\\$\\{(.+)\\.version\\}");
- String line;
- final ArrayList<String> toRemove = new ArrayList<>();
- while((line=eclipse.readLine()) != null){
- final Matcher m = p.matcher(line);
- if (m.matches()) {
- String jar = m.group(1);
- String version = m.group(2);
- if (jar.endsWith("-jdk15on")) { // special handling
- jar=jar.replace("-jdk15on","");
- } else if (jar.equals("commons-jexl") && version.startsWith("2")) { // special handling
- jar = "commons-jexl2";
- } else if (jar.equals("spock-core-1.2-groovy")) { // special handling
- jar = "spock-core";
- version = "1.2-groovy-2.4";
- } else {
- String tmp = JAR_TO_BUILD_PROP.get(jar);
- if (tmp != null) {
- jar = tmp;
- }
- }
- String expected = versions.get(jar);
- if (expected == null) {
- final String message =
- "Didn't find version for jar name extracted by regexp, jar name extracted:"
- + jar + ", version extracted:" + version + ", current line:" + line;
- System.err.println(message);
- fail(message);
- }
- // Process ${xxx.version} references
- final Matcher mp = versionPat.matcher(expected);
- if (mp.matches()) {
- String key = mp.group(1);
- expected = versions.get(key);
- toRemove.add(key); // in case it is not itself used we remove it later
- }
- propNames.remove(jar);
- if (expected == null) {
- fail("Versions list does not contain: " + jar);
- } else if (!version.equals(expected)) {
- assertEquals(jar,version,expected);
- }
- }
- }
- // remove any possibly unused references
- propNames.removeAll(toRemove);
- eclipse.close();
- if (propNames.size() > 0) {
- fail("Should have no names left: "
- + Arrays.toString(propNames.toArray())
- + ". Check eclipse.classpath");
- }
- }
-
- @Test
- public void testMaven() throws IOException {
- final BufferedReader maven = new BufferedReader(
- new FileReader(getFileFromHome("res/maven/ApacheJMeter_parent.pom"))); // assume default charset is OK here
-// <apache-bsf.version>2.4.0</apache-bsf.version>
-// <log4j-1.2-api.version>2.7</log4j-1.2-api.version>
- final Pattern p = Pattern.compile("\\s+<([^\\<\\>]+)\\.version>([^<]+)<.*");
-
- String line;
- while((line=maven.readLine()) != null){
- final Matcher m = p.matcher(line);
- if (m.matches()) {
- String jar = m.group(1);
- String version = m.group(2);
- String expected = versions.get(jar);
- propNames.remove(jar);
- if (expected == null) {
- fail("Versions list does not contain: " + jar);
- } else {
- if (!version.equals(expected)) {
- assertEquals(jar,expected,version);
- }
- }
- }
- }
- maven.close();
- if (propNames.size() > 0) {
- fail("Should have no names left: "
- + Arrays.toString(propNames.toArray())
- + ". Check ApacheJMeter_parent.pom");
- }
- }
-
- @Test
- public void testLicences() {
- Set<String> liceNames = new HashSet<>();
- for (Map.Entry<String, String> me : versions.entrySet()) {
- final String key = me.getKey();
- liceNames.add(key + "-" + me.getValue());
- }
- assertTrue("Expected at least one license file", liceFiles.size() > 0);
- for(String l : liceFiles) {
- if (!liceNames.remove(l)) {
- fail("Mismatched version in license file " + l);
- }
- }
- }
-
- @Test
- public void testLICENSE() throws Exception {
... 80 lines suppressed ...
[jmeter] 06/07: Add Kotlin files to checkstyle.xml
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
milamber pushed a commit to annotated tag v5_2_0_RC1
in repository https://gitbox.apache.org/repos/asf/jmeter.git
commit 4aad2f1e4bf46224f83af16487e363ae1fb38d20
Author: Vladimir Sitnikov <si...@gmail.com>
AuthorDate: Fri Jun 28 14:02:06 2019 +0300
Add Kotlin files to checkstyle.xml
---
checkstyle.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/checkstyle.xml b/checkstyle.xml
index bd0e548471..3129df285f 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -37,7 +37,7 @@
<!-- Miscellaneous -->
<module name="FileTabCharacter">
<!-- No tabs allowed! -->
- <property name="fileExtensions" value="java, groovy, xml, xsd, dtd, htm, html, txt, properties"/>
+ <property name="fileExtensions" value="java, kt, kts, groovy, xml, xsd, dtd, htm, html, txt, properties"/>
</module>
<module name="NewlineAtEndOfFile"/>
<module name="RegexpSingleline">
@@ -47,7 +47,7 @@
<module name="RegexpMultiline">
<!-- No more than 2 blank lines allowed. -->
<property name="format" value="\r?\n[\t ]*\r?\n[\t ]*\r?\n[\t ]*\r?\n"/>
- <property name="fileExtensions" value="java, groovy, xml, properties"/>
+ <property name="fileExtensions" value="java, kt, kts, groovy, xml, properties"/>
<property name="message" value="Unnecessary consecutive lines"/>
</module>
<!--<module name="RegexpOnFilename">-->
@@ -62,7 +62,7 @@
<!-- Size Violations -->
<module name="FileLength">
- <property name="fileExtensions" value="java, groovy"/>
+ <property name="fileExtensions" value="java, kt, kts, groovy"/>
</module>
<module name="TreeWalker">