diff --git a/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPLifecycle.java b/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPLifecycle.java
new file mode 100644
index 000000000..2c8569ee9
--- /dev/null
+++ b/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPLifecycle.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ *
+ * Copyright (c) 2023 Nick Battle.
+ *
+ * Author: Nick Battle
+ *
+ * This file is part of VDMJ.
+ *
+ * VDMJ 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * VDMJ 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 VDMJ. If not, see .
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ *
+ ******************************************************************************/
+
+package com.fujitsu.vdmj.dbgp;
+
+import java.io.File;
+import java.util.List;
+
+import com.fujitsu.vdmj.plugins.Lifecycle;
+
+public class DBGPLifecycle extends Lifecycle
+{
+ private final boolean quiet;
+ private final boolean warnings;
+
+ public DBGPLifecycle(List files, boolean quiet, boolean warnings)
+ {
+ super(new String[]{});
+
+ this.files = files;
+ this.quiet = quiet;
+ this.warnings = warnings;
+ }
+
+ @Override
+ protected void processArgs()
+ {
+ if (quiet) argv.add("-q");
+ if (!warnings) argv.add("-w");
+
+ super.processArgs();
+ }
+
+ @Override
+ public void loadPlugins()
+ {
+ super.loadPlugins();
+ }
+
+ @Override
+ public boolean checkAndInitFiles()
+ {
+ return super.checkAndInitFiles();
+ }
+}
diff --git a/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPReader.java b/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPReader.java
index 39792af7f..63e22fa42 100644
--- a/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPReader.java
+++ b/dbgp/src/main/java/com/fujitsu/vdmj/dbgp/DBGPReader.java
@@ -78,7 +78,6 @@
import com.fujitsu.vdmj.messages.InternalException;
import com.fujitsu.vdmj.messages.RTLogger;
import com.fujitsu.vdmj.plugins.PluginRegistry;
-import com.fujitsu.vdmj.plugins.VDMJ;
import com.fujitsu.vdmj.plugins.analyses.INPlugin;
import com.fujitsu.vdmj.pog.ProofObligation;
import com.fujitsu.vdmj.pog.ProofObligationList;
@@ -511,12 +510,10 @@ else if (arg.startsWith("-"))
}
}
- VDMJ.loadPlugins();
- if (quiet) VDMJ.setArgs("-q");
- if (!warnings) VDMJ.setArgs("-w");
- VDMJ.setFiles(files);
-
- if (VDMJ.checkAndInitFiles()) // Only parse/checks, no init.
+ DBGPLifecycle lifecycle = new DBGPLifecycle(files, quiet, warnings);
+ lifecycle.loadPlugins();
+
+ if (lifecycle.checkAndInitFiles()) // Only parse/checks, no init.
{
try
{