I removed dependence on implicit exit behavior of Application.run()
based on the presents of OSGi Platform.
Now Application.run()
only calls System.exit()
if the calling function is called with true
as exit
argument. When exit
argument equals false
the Application.run()
method returns the applications exit code.
Closes #89 (closed) Closes #331 (closed)
Executed tests.
Standard unit test on Linux only.
-
chi/org.eclipse.escet.chi.codegen/src/org/eclipse/escet/chi/codegen/JavaCodeGenerator.java -
tooldef/org.eclipse.escet.tooldef.interpreter/src/org/eclipse/escet/tooldef/interpreter/ToolDefBasedPluginUnitTest.java
Command line without paramaters on Linux and Windows.
-
chisim* chi/org.eclipse.escet.chi.simulator/src/org/eclipse/escet/chi/simulator/SimulatorApplication.java -
cif2cif* cif/org.eclipse.escet.cif.cif2cif.app/src/org/eclipse/escet/cif/cif2cif/app/CifToCifApp.java -
cif2mcrl2* cif/org.eclipse.escet.cif.cif2mcrl2/src/org/eclipse/escet/cif/cif2mcrl2/Cif2Mcrl2Application.java -
cif2plc* cif/org.eclipse.escet.cif.cif2plc/src/org/eclipse/escet/cif/cif2plc/CifToPlcApp.java -
cif2supremica* cif/org.eclipse.escet.cif.cif2supremica/src/org/eclipse/escet/cif/cif2supremica/CifToSupremicaApp.java -
cif2uppaal* cif/org.eclipse.escet.cif.cif2uppaal/src/org/eclipse/escet/cif/cif2uppaal/CifToUppaalApp.java -
cif2yed* cif/org.eclipse.escet.cif.cif2yed/src/org/eclipse/escet/cif/cif2yed/CifToYedApp.java -
cifcodegen* cif/org.eclipse.escet.cif.codegen/src/org/eclipse/escet/cif/codegen/CodeGenApp.java -
cifcontrollercheck* cif/org.eclipse.escet.cif.controllercheck/src/org/eclipse/escet/cif/controllercheck/ControllerCheckApp.java -
cifdatasynth*
cif/org.eclipse.escet.cif.datasynth/src/org/eclipse/escet/cif/datasynth/CifDataSynthesisApp.java -
cifabstr* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/AutomatonAbstractionApplication.java -
cifctrlchk* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/ControllabilityCheckApplication.java -
cifdfamin* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/DfaMinimizationApplication.java -
ciflngeqv* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/LanguageEquivalenceCheckApplication.java -
cifnfadfa* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/NfaToDfaApplication.java -
cifncchk* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/NonconflictingCheckApplication.java -
cifobschk* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/ObserverCheckApplication.java -
cifproj* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/ProjectionApplication.java -
cifsupsynth* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/SupervisorSynthesisApplication.java -
cifprod* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/SynchronousProductApplication.java -
cifsynthanalys* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/SynthesisAnalysisApplication.java -
ciftrim* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/TrimApplication.java -
ciftrimchk* cif/org.eclipse.escet.cif.eventbased/src/org/eclipse/escet/cif/eventbased/apps/TrimCheckApplication.java -
cifevtdis* cif/org.eclipse.escet.cif.eventdisabler/src/org/eclipse/escet/cif/eventdisabler/EventDisablerApplication.java -
cifexplorer* cif/org.eclipse.escet.cif.explorer/src/org/eclipse/escet/cif/explorer/app/ExplorerApplication.java. See Error [1]. Solved in #658 (closed) -
cifmerge* cif/org.eclipse.escet.cif.merger/src/org/eclipse/escet/cif/merger/CifMergerApp.java -
cifsim* cif/org.eclipse.escet.cif.simulator/src/org/eclipse/escet/cif/simulator/CifSimulatorApp.java -
dsmclustering* common/org.eclipse.escet.common.dsm.app/src/org/eclipse/escet/common/dsm/app/DsmApplication.java -
setextgen* setext/org.eclipse.escet.setext.generator/src/org/eclipse/escet/setext/generator/SeTextGeneratorApp.java -
tooldef* tooldef/org.eclipse.escet.tooldef.interpreter/src/org/eclipse/escet/tooldef/interpreter/ToolDefInterpreterApp.java
Tested by any of the scripts and Eclipse Cif Simulator on Linux and Windows:
-
common/org.eclipse.escet.common.app.framework/src/org/eclipse/escet/common/app/framework/AppEclipseApplication.java -
common/org.eclipse.escet.common.app.framework/src/org/eclipse/escet/common/app/framework/Application.java
Run Eclipse Cif Simulator on Linux and Windows:
-
common/org.eclipse.escet.common.app.framework/src/org/eclipse/escet/common/app/framework/ChildAppStarter.java -
common/org.eclipse.escet.common.eclipse.ui/src/org/eclipse/escet/common/eclipse/ui/BaseFileCommandHandler.java
Standalone unit-tests on Linux only.
-
common/org.eclipse.escet.common.app.framework/src-test/org/eclipse/escet/common/app/framework/ReportExceptionTest.java
Run as java application on Linux only.
-
cif/org.eclipse.escet.cif.multilevel/src/org/eclipse/escet/cif/multilevel/MultilevelApp.java -
cif/org.eclipse.escet.cif.plcgen/src/org/eclipse/escet/cif/plcgen/CifPlcGenApp.java
[1] error running cifexplorer.
The cifexplorer
script currently references an incorrect package. org.eclipse.escet.cif.explorer.app
should be org.eclipse.escet.cif.explorer
. This is an existing problem.
!SESSION 2023-09-23 13:45:20.473 -----------------------------------------------
eclipse.buildId=unknown
java.version=17.0.5
java.vendor=Eclipse Adoptium
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en
Framework arguments: -application org.eclipse.escet.common.app.framework.application org.eclipse.escet.cif.explorer.app org.eclipse.escet.cif.explorer.app.ExplorerApplication
Command-line arguments: -os linux -ws gtk -arch x86_64 -application org.eclipse.escet.common.app.framework.application org.eclipse.escet.cif.explorer.app org.eclipse.escet.cif.explorer.app.ExplorerApplication
!ENTRY org.eclipse.osgi 4 0 2023-09-23 13:45:21.540
!MESSAGE Application error
!STACK 1
OSGi bundle "org.eclipse.escet.cif.explorer.app" not found.
at org.eclipse.escet.common.app.framework.AppEclipseApplication.start(AppEclipseApplication.java:64)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
at org.eclipse.equinox.launcher.Main.main(Main.java:1440)
The solution is to change the script cifexplorer
to:
... -application org.eclipse.escet.common.app.framework.application -nosplash org.eclipse.escet.cif.explorer org.eclipse.escet.cif.explorer.app.ExplorerApplication $*