diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 79ade6a101..b6e2d2eec8 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -7,7 +7,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.12' - name: OPI checker dependencies run: python -m pip install -r base/uk.ac.stfc.isis.ibex.opis/requirements.txt - name: Run OPI checker @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.12' - name: Run check_build working-directory: ./build run: python check_build.py ../base @@ -32,7 +32,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.12' - name: Install dependencies run: python -m pip install -r ./base/uk.ac.stfc.isis.ibex.scriptgenerator/python_support/requirements.txt - name: Run scriptgenerator tests diff --git a/base/uk.ac.stfc.isis.ibex.activemq/META-INF/MANIFEST.MF b/base/uk.ac.stfc.isis.ibex.activemq/META-INF/MANIFEST.MF index d366ba686d..8edba051e4 100644 --- a/base/uk.ac.stfc.isis.ibex.activemq/META-INF/MANIFEST.MF +++ b/base/uk.ac.stfc.isis.ibex.activemq/META-INF/MANIFEST.MF @@ -15,6 +15,6 @@ Require-Bundle: uk.ac.stfc.isis.ibex.logger, org.eclipse.ui;bundle-version="3.8.2", uk.ac.stfc.isis.ibex.instrument;bundle-version="1.0.0", org.eclipse.ui.workbench, - wrapped.org.apache.activemq.activemq-all;bundle-version="5.18.6" + wrapped.org.apache.activemq.activemq-all;bundle-version="5.19.0" Bundle-ClassPath: . Automatic-Module-Name: uk.ac.stfc.isis.ibex.activemq diff --git a/base/uk.ac.stfc.isis.ibex.client.tycho.parent/pom.xml b/base/uk.ac.stfc.isis.ibex.client.tycho.parent/pom.xml index c10c3a07f3..0ad834963b 100644 --- a/base/uk.ac.stfc.isis.ibex.client.tycho.parent/pom.xml +++ b/base/uk.ac.stfc.isis.ibex.client.tycho.parent/pom.xml @@ -9,8 +9,8 @@ 4.0.9 https://oss.sonatype.org/content/groups/public/ - http://download.eclipse.org/releases/2024-09 - http://download.eclipse.org/eclipse/updates/4.33 + http://download.eclipse.org/releases/2024-12 + http://download.eclipse.org/eclipse/updates/4.34 UTF-8 diff --git a/base/uk.ac.stfc.isis.ibex.feature.css/feature.xml b/base/uk.ac.stfc.isis.ibex.feature.css/feature.xml index 412e3250c1..6d6a99b2d1 100644 --- a/base/uk.ac.stfc.isis.ibex.feature.css/feature.xml +++ b/base/uk.ac.stfc.isis.ibex.feature.css/feature.xml @@ -104,10 +104,6 @@ id="org.csstudio.autocomplete" version="0.0.0"/> - - @@ -132,10 +128,6 @@ id="org.tukaani.xz" version="0.0.0"/> - - @@ -720,4 +712,8 @@ id="jakarta.annotation-api" version="0.0.0"/> + + diff --git a/base/uk.ac.stfc.isis.ibex.opis/check_opi_format.py b/base/uk.ac.stfc.isis.ibex.opis/check_opi_format.py index e88218a6ee..c3c2332a58 100644 --- a/base/uk.ac.stfc.isis.ibex.opis/check_opi_format.py +++ b/base/uk.ac.stfc.isis.ibex.opis/check_opi_format.py @@ -13,7 +13,6 @@ from check_OPI_format_utils.container import get_items_not_in_grouping_container from check_OPI_format_utils.font import get_incorrect_fonts from check_OPI_format_utils.position import get_widgets_outside_of_boundary -from xmlrunner import XMLTestRunner from check_OPI_format_utils.xy_graph import get_traces_with_different_buffer_sizes, get_trigger_pv from check_opi_format_tests import TestCheckOpiFormatMethods @@ -214,7 +213,7 @@ def test_GIVEN_a_label_THEN_it_has_correct_font(self): def self_valid(): self_test_suite = unittest.TestSuite() self_test_suite.addTests(loader.loadTestsFromTestCase(TestCheckOpiFormatMethods)) - runner = XMLTestRunner(output=os.path.join(logs_dir, "check_opi_format"), stream=sys.stdout) + runner = unittest.TextTestRunner() return runner.run(self_test_suite).wasSuccessful() if not self_valid(): @@ -245,14 +244,14 @@ def self_valid(): suite.addTests([CheckStrictOpiFormat(test, root) for test in loader.getTestCaseNames(CheckStrictOpiFormat)]) else: suite.addTests([CheckOpiFormat(test, root) for test in loader.getTestCaseNames(CheckOpiFormat)]) - runner = XMLTestRunner(output=os.path.join(logs_dir, filename), stream=sys.stdout) + runner = unittest.TextTestRunner() return_values.append(runner.run(suite).wasSuccessful()) # for the opi_info.xml check print("Testing '{}'".format(os.path.join(root_dir, "opi_info.xml"))) suite = unittest.TestSuite() suite.addTests(loader.loadTestsFromTestCase(TestOpiInfo)) - runner = XMLTestRunner(output=os.path.join(logs_dir, "TestOpiInfo"), stream=sys.stdout) + runner = unittest.TextTestRunner() return_values.append(runner.run(suite).wasSuccessful()) sys.exit(False in return_values) diff --git a/base/uk.ac.stfc.isis.ibex.opis/check_opi_format_tests.py b/base/uk.ac.stfc.isis.ibex.opis/check_opi_format_tests.py index 812ed3c153..8c1cbd85c8 100644 --- a/base/uk.ac.stfc.isis.ibex.opis/check_opi_format_tests.py +++ b/base/uk.ac.stfc.isis.ibex.opis/check_opi_format_tests.py @@ -1,7 +1,6 @@ import unittest from hamcrest import * from lxml import etree -import xmlrunner import sys from check_OPI_format_utils.colour_checker import check_specific_isis_colours, check_any_isis_colour, \ @@ -579,4 +578,4 @@ def test_GIVEN_a_colourless_grouping_container_inside_a_tabbed_container_THEN_no if __name__ == '__main__': - unittest.main(testRunner=xmlrunner.XMLTestRunner(output='test-reports', stream=sys.stdout)) + unittest.main() diff --git a/base/uk.ac.stfc.isis.ibex.opis/requirements.txt b/base/uk.ac.stfc.isis.ibex.opis/requirements.txt index 310d95617a..a3cd9ddfea 100644 --- a/base/uk.ac.stfc.isis.ibex.opis/requirements.txt +++ b/base/uk.ac.stfc.isis.ibex.opis/requirements.txt @@ -1,4 +1,3 @@ lxml pyhamcrest pywin32 -xmlrunner diff --git a/base/uk.ac.stfc.isis.ibex.targetplatform/targetplatform.target b/base/uk.ac.stfc.isis.ibex.targetplatform/targetplatform.target index 7ecfd74ea0..c5cdca2de8 100644 --- a/base/uk.ac.stfc.isis.ibex.targetplatform/targetplatform.target +++ b/base/uk.ac.stfc.isis.ibex.targetplatform/targetplatform.target @@ -31,14 +31,14 @@ - - - - + + + + - + @@ -53,7 +53,7 @@ - + @@ -99,7 +99,7 @@ org.apache.logging.log4j log4j-core - 2.24.1 + 2.24.3 jar @@ -109,7 +109,7 @@ org.apache.logging.log4j log4j-api - 2.24.1 + 2.24.3 jar @@ -119,7 +119,7 @@ org.apache.activemq activemq-all - 5.18.6 + 5.19.0 jar @@ -139,7 +139,7 @@ commons-codec commons-codec - 1.17.1 + 1.18.0 jar @@ -149,7 +149,7 @@ joda-time joda-time - 2.13.0 + 2.13.1 jar @@ -169,7 +169,7 @@ org.mockito mockito-core - 5.14.0 + 5.16.1 jar @@ -179,7 +179,7 @@ net.sf.py4j py4j - 0.10.9.7 + 0.10.9.9 jar @@ -209,7 +209,7 @@ com.google.code.gson gson - 2.11.0 + 2.12.1 jar @@ -259,7 +259,7 @@ com.google.guava guava - 33.3.1-jre + 33.4.0-jre jar diff --git a/base/uk.ac.stfc.isis.ibex.ui.configserver.tests/src/uk/ac/stfc/isis/ibex/ui/configserver/tests/CheckboxLabelProviderTest.java b/base/uk.ac.stfc.isis.ibex.ui.configserver.tests/src/uk/ac/stfc/isis/ibex/ui/configserver/tests/CheckboxLabelProviderTest.java index 3f94ae82bc..2bee9b8a0b 100644 --- a/base/uk.ac.stfc.isis.ibex.ui.configserver.tests/src/uk/ac/stfc/isis/ibex/ui/configserver/tests/CheckboxLabelProviderTest.java +++ b/base/uk.ac.stfc.isis.ibex.ui.configserver.tests/src/uk/ac/stfc/isis/ibex/ui/configserver/tests/CheckboxLabelProviderTest.java @@ -26,6 +26,7 @@ import static org.mockito.Mockito.*; import java.util.List; +import java.util.stream.Stream; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.core.databinding.observable.map.WritableMap; @@ -211,16 +212,16 @@ public void GIVEN_table_WHEN_checkboxes_updated_then_table_sorted_THEN_checkbox_ public void GIVEN_checkbox_with_selection_adapters_WHEN_clear_checkbox_selection_listeners_THEN_selection_adapters_removed() { Button mockCheckBox = mock(Button.class); - TypedListener[] checkBoxListeners = new TypedListener[2]; - checkBoxListeners[0] = new TypedListener(modifiedCheckboxLabelProvider.new CheckboxSelectionAdapter(mockCheckBox, testModels[0])); - checkBoxListeners[1] = new TypedListener(modifiedCheckboxLabelProvider.new CheckboxSelectionAdapter(mockCheckBox, testModels[1])); + var checkBoxListeners = new CheckboxSelectionAdapter[2]; + checkBoxListeners[0] = modifiedCheckboxLabelProvider.new CheckboxSelectionAdapter(mockCheckBox, testModels[0]); + checkBoxListeners[1] = modifiedCheckboxLabelProvider.new CheckboxSelectionAdapter(mockCheckBox, testModels[1]); - when(mockCheckBox.getListeners(SWT.Selection)).thenReturn(checkBoxListeners); + when(mockCheckBox.getTypedListeners(SWT.Selection, CheckboxSelectionAdapter.class)).thenReturn(Stream.of(checkBoxListeners)); CheckboxLabelProvider.clearCheckBoxSelectListeners(mockCheckBox); - verify(mockCheckBox, times(1)).removeSelectionListener((SelectionListener) checkBoxListeners[0].getEventListener()); - verify(mockCheckBox, times(1)).removeSelectionListener((SelectionListener) checkBoxListeners[1].getEventListener()); + verify(mockCheckBox, times(1)).removeSelectionListener((SelectionListener) checkBoxListeners[0]); + verify(mockCheckBox, times(1)).removeSelectionListener((SelectionListener) checkBoxListeners[1]); } @Test diff --git a/base/uk.ac.stfc.isis.ibex.ui.graphing/src/uk/ac/stfc/isis/ibex/ui/graphing/websocketview/MatplotlibWebsocketEndpoint.java b/base/uk.ac.stfc.isis.ibex.ui.graphing/src/uk/ac/stfc/isis/ibex/ui/graphing/websocketview/MatplotlibWebsocketEndpoint.java index 78aff9ef7b..6efe4a5755 100644 --- a/base/uk.ac.stfc.isis.ibex.ui.graphing/src/uk/ac/stfc/isis/ibex/ui/graphing/websocketview/MatplotlibWebsocketEndpoint.java +++ b/base/uk.ac.stfc.isis.ibex.ui.graphing/src/uk/ac/stfc/isis/ibex/ui/graphing/websocketview/MatplotlibWebsocketEndpoint.java @@ -254,7 +254,8 @@ public void cursorPositionChanged(final MatplotlibCursorPosition position) { final Map event = Map.of( "x", position.x(), "y", position.y(), - "button", 0, + "button", 0, + "buttons", 0, "guiEvent", new HashMap<>(), "modifiers", new ArrayList<>() ); @@ -285,7 +286,8 @@ public void notifyButtonPress(final MatplotlibCursorPosition position, Matplotli final Map event = Map.of( "x", position.x(), "y", position.y(), - "button", 0, + "button", 0, + "buttons", 0, "guiEvent", new HashMap<>(), "modifiers", new ArrayList<>() ); diff --git a/base/uk.ac.stfc.isis.ibex.ui.widgets/.settings/org.eclipse.jdt.core.prefs b/base/uk.ac.stfc.isis.ibex.ui.widgets/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index f4d933e4eb..0000000000 --- a/base/uk.ac.stfc.isis.ibex.ui.widgets/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 -org.eclipse.jdt.core.compiler.compliance=11 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=11 diff --git a/base/uk.ac.stfc.isis.ibex.ui.widgets/src/uk/ac/stfc/isis/ibex/ui/widgets/CheckboxLabelProvider.java b/base/uk.ac.stfc.isis.ibex.ui.widgets/src/uk/ac/stfc/isis/ibex/ui/widgets/CheckboxLabelProvider.java index 40a2b1c863..6f435a2c07 100644 --- a/base/uk.ac.stfc.isis.ibex.ui.widgets/src/uk/ac/stfc/isis/ibex/ui/widgets/CheckboxLabelProvider.java +++ b/base/uk.ac.stfc.isis.ibex.ui.widgets/src/uk/ac/stfc/isis/ibex/ui/widgets/CheckboxLabelProvider.java @@ -29,10 +29,7 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.swt.widgets.TypedListener; /** * A LabelProvider that adds a check box to a cell in a table. @@ -185,16 +182,8 @@ private void resetCheckBoxListeners(boolean doUpdate, Button checkBox, T model) * will remove. */ public static void clearCheckBoxSelectListeners(Button checkBox) { - for (Listener listener: checkBox.getListeners(SWT.Selection)) { - if (listener instanceof TypedListener) { - TypedListener typedListener = (TypedListener) listener; - - if (typedListener.getEventListener() instanceof CheckboxLabelProvider.CheckboxSelectionAdapter) { - - checkBox.removeSelectionListener((SelectionListener) - typedListener.getEventListener()); - } - } + for (var listener: checkBox.getTypedListeners(SWT.Selection, CheckboxLabelProvider.CheckboxSelectionAdapter.class).toList()) { + checkBox.removeSelectionListener(listener); } } diff --git a/build/build.bat b/build/build.bat index 210f017da7..c2ae06b7c6 100644 --- a/build/build.bat +++ b/build/build.bat @@ -2,7 +2,7 @@ setlocal cd /d %~dp0 REM We bundle our own JRE with the client, this is where it is -set "JRELOCATION=\\isis.cclrc.ac.uk\inst$\Kits$\CompGroup\ICP\ibex_client_jdk-21.0.5+11" +set "JRELOCATION=\\isis.cclrc.ac.uk\inst$\Kits$\CompGroup\ICP\ibex_client_jdk-21.0.6+7" set "LOCAL_JRE_LOCATION=%~dp0jdk" set "TARGET_DIR=%3" diff --git a/build/build_script_generator.bat b/build/build_script_generator.bat index 4ce3c2aab1..7effcba64b 100644 --- a/build/build_script_generator.bat +++ b/build/build_script_generator.bat @@ -2,7 +2,7 @@ setlocal cd /d %~dp0 REM We bundle our own JRE with the client, this is where it is -set "JRELOCATION=\\isis.cclrc.ac.uk\inst$\Kits$\CompGroup\ICP\ibex_client_jdk-21.0.5+11" +set "JRELOCATION=\\isis.cclrc.ac.uk\inst$\Kits$\CompGroup\ICP\ibex_client_jdk-21.0.6+7" set "LOCAL_JRE_LOCATION=%~dp0\jdk" set "TARGET_DIR=%2" if "%TARGET_DIR%" == "" ( diff --git a/build/copy_in_maven.bat b/build/copy_in_maven.bat index 41fadca7e5..418372db6d 100644 --- a/build/copy_in_maven.bat +++ b/build/copy_in_maven.bat @@ -1,5 +1,5 @@ @echo COPY_IN_MAVEN: Mirroring from local ISIS share -robocopy "\\isis.cclrc.ac.uk\inst$\kits$\CompGroup\ICP\Binaries\maven-3.9.5" "%~dp0maven" /MT /NP /NFL /NDL /MIR /R:2 /LOG:"%~dp0ICP_Binaries_maven.log" +robocopy "\\isis.cclrc.ac.uk\inst$\kits$\CompGroup\ICP\Binaries\maven-3.9.9" "%~dp0maven" /MT /NP /NFL /NDL /MIR /R:2 /LOG:"%~dp0ICP_Binaries_maven.log" set errcode=%ERRORLEVEL% if %errcode% GEQ 4 ( type "%~dp0ICP_Binaries_maven.log"