pkg_simple_runner version: 0.5.39

Published 2025-09-04

ruud

sdk | dart flutter
repository | svn
platform | generic
status | n/a
  • Readme
  • Changelog
  • Versions

pkg_simple_runner

Base framework for a simple single-page tool runner.

pkg_simple_runner

graph

Consists of a form widget (parametersForm), that manages a data model (parametersProvider).

The actual processor is a static/toplevel callback function (workerCallback), that receives a single parameter structure created by a callback (workerParametersCallback) that converts the form-data to a pure data model without any widget (incl. ChangeNotifier).

This simple framework handles for you:

  • custom data form
  • logging (screen + file)
  • string translations (l10n)
  • progress indicators
  • processing indicators
  • application updates notification
  • handling of required local services
  • ability to test your worker

Note

Does not work on web.

Usage

import 'package:pkg_core/pkg_core.dart';
import 'package:pkg_simple_runner/pkg_simple_runner.dart';

import 'build_version.dart';
import 'src/callbacks/my_worker_callback.dart';
import 'src/callbacks/my_worker_parameters_callback.dart';
import 'src/constants/constants.dart';
import 'src/l10n/example_text.dart';
import 'src/providers/my_form_parameters_provider.dart';
import 'src/widgets/my_form.dart';

void main() {
  simpleRunner<MyFormParametersProvider>(
    applicationTitle: kApplicationTitle,
    buildVersion: const HHBuildVersion(
      package: BuildVersion.package,
      version: BuildVersion.version,
      revision: BuildVersion.revision,
      semver: BuildVersion.semver,
    ),
    localizationsDelegates: [
      ExampleText.delegate,
    ],
    localServices: <LocalService>[
        LocalService.sqlQuery,
    ],
    parametersProvider: MyFormParametersProvider(),
    parametersForm: const MyForm(),
    workerParametersCallback: myWorkerParametersCallback,
    workerCallback: myWorkerCallback,
  );
}

See comments in the example code for explanations.

pkg_simple_runner

Getting started

hh new flutter_my_shiny_application from pkg_simple_runner/example

Changelog

0.5.39 - 2025-09-04

Fixed

  • Unawaited futures.

0.5.38 - 2025-07-28

Changed

  • Version bump from 0.5.37 to 0.5.38 (mailer -> 6.5.0 (was 6.4.1)).

0.5.37 - 2025-07-14

Changed

  • Version bump from 0.5.36 to 0.5.37 (window_manager -> 0.5.1 (was 0.5.0)).

0.5.36 - 2025-07-11

Changed

  • Version bump from 0.5.35 to 0.5.36 (url_launcher -> 6.3.2 (was 6.3.1)).

0.5.35 - 2025-07-07

Changed

  • Version bump from 0.5.34 to 0.5.35 (feedback -> 3.2.0 (was 3.1.0)).

0.5.34 - 2025-05-29

Changed

  • Version bump from 0.5.33 to 0.5.34 (window_manager -> 0.5.0 (was 0.4.3)).

0.5.33 - 2025-05-28

Changed

  • Version bump from 0.5.32 to 0.5.33 (flutter_lints -> 6.0.0 (was 5.0.0)).

0.5.32 - 2025-05-22

Changed

  • Version bump from 0.5.31 to 0.5.32 (intl -> 0.20.2 (was 0.19.0)).

0.5.31 - 2025-04-28

Changed

  • Version bump from 0.5.30 to 0.5.31 (url_launcher_web -> 2.4.1 (was 2.4.0)).

0.5.30 - 2025-04-04

Changed

  • Version bump from 0.5.29 to 0.5.30 (intl -> 0.19.0 (was 0.20.2)).

0.5.29 - 2025-04-04

Changed

  • Version bump from 0.5.28 to 0.5.29 (intl -> 0.20.2 (was 0.19.0)).

0.5.28 - 2025-04-02

Changed

  • Version bump from 0.5.27 to 0.5.28 (collection -> 1.19.1 (was 1.19.0)).

0.5.27 - 2025-04-01

Added

  • createdEtiketten, deleteEtiketten translations.

0.5.26 - 2025-03-07

Fixed

  • Screen flickering from progress dialog.

0.5.25 - 2025-01-14

Changed

  • Version bump from 0.5.24 to 0.5.25 (mailer -> 6.4.1 (was 6.3.0)).

0.5.24 - 2025-01-10

Changed

  • Version bump from 0.5.23 to 0.5.24 (url_launcher_web -> 2.4.0 (was 2.3.3)).

0.5.23 - 2025-01-08

Changed

  • Version bump from 0.5.22 to 0.5.23 (mailer -> 6.3.0 (was 6.4.0)).

0.5.22 - 2025-01-08

Changed

  • Version bump from 0.5.21 to 0.5.22 (mailer -> 6.4.0 (was 6.3.0)).

0.5.21 - 2024-12-23

Changed

  • Version bump from 0.5.20 to 0.5.21 (collection -> 1.19.0 (was 1.19.1)).

0.5.20 - 2024-12-23

Changed

  • Version bump from 0.5.19 to 0.5.20 (collection -> 1.19.1 (was 1.19.0)).

0.5.19 - 2024-12-19

Changed

  • Version bump from 0.5.18 to 0.5.19 (Support Apple silicon (arm64)).

0.5.18 - 2024-12-19

Changed

  • Version bump from 0.5.17 to 0.5.18 (collection -> 1.19.0 (was 1.19.1)).

0.5.17 - 2024-12-19

Changed

  • Version bump from 0.5.16 to 0.5.17 (collection -> 1.19.1 (was 1.19.0)).

0.5.16 - 2024-12-12

Changed

  • Version bump from 0.5.15 to 0.5.16 (collection -> 1.19.0 (was 1.18.0)).

0.5.15 - 2024-12-04

Changed

  • Version bump from 0.5.14 to 0.5.15 (mailer -> 6.3.0 (was 6.2.0)).

0.5.14 - 2024-09-03

Changed

  • Version bump from 0.5.13 to 0.5.14.

0.5.13 - 2024-08-22

Changed

  • Version bump from 0.5.12 to 0.5.13 (SDK update 3.5.1).

0.5.12 - 2024-08-09

Changed

  • Removed get_it dependency.
  • Added extra providers parameter.
  • Improved handling of SQL connections.

0.5.11 - 2024-08-08

Added

  • Brew upgrade request message on startup when approprivate.

0.5.10 - 2024-08-08

Changed

  • Version bump from 0.5.9 to 0.5.10.

0.5.9 - 2024-08-07

Changed

  • Version bump from 0.5.8 to 0.5.9.

0.5.8 - 2024-08-07

Fixed

  • Implemented crash dump mailer.

0.5.7 - 2024-07-09

Fixed

  • Queue list theming.

0.5.6 - 2024-06-05

Changed

  • Version bump from 0.5.5 to 0.5.6.

0.5.5 - 2024-03-08

Changed

  • Added some events.

0.5.4 - 2024-02-22

Fixed

  • Themeing of header buttons by using HHScaffold and HHAppBar.

Added

  • Embed image to feedback mail.

0.5.3 - 2024-02-17

Added

  • Feedback (bug) button + screen.

0.5.2 - 2024-02-01

Changed

  • Version bump from 0.5.1 to 0.5.2 (Resolve package version confusions).

0.5.1 - 2023-11-23

Added

  • footerWidgetsBuilder.

0.5.0 - 2023-11-01

Added

  • withWorkerQueue option to allow worker queueing.

0.4.12 - 2023-10-16

Changed

  • Version bump from 0.4.11 to 0.4.12.

0.4.11 - 2023-09-29

Changed

  • Version bump from 0.4.10 to 0.4.11.

0.4.10 - 2023-09-18

Changed

  • Version bump from 0.4.9 to 0.4.10.

0.4.9 - 2023-09-13

Added

  • SendPortExtension::sendProgressMessage.

Changed

  • Wider progress dialog.

0.4.8 - 2023-06-21

Added

  • Indicate, after processing, if there were any errors or warnings.

Fixed

  • Clear aborting flag when processing again after stopping.
  • _WorkerRunnerController crash after choosing language.

0.4.7 - 2023-06-20

Fixed

  • _SimpleRunnerPageModel crash when choosing a language.

0.4.6 - 2023-05-22

Fixed

  • Wrong async constructs.

0.4.5 - 2023-04-14

Added

  • HHLoggerFilterCallback.

0.4.4 - 2023-04-13

Fixed

  • await unawaited futures.
  • Marked some futures unawaited.

0.4.3 - 2023-04-12

Added

  • FormClearEvent.

Changed

  • Check if common services EventBus and HHLocaleModel are already registered in GetIt.

0.4.2 - 2023-04-11

Added

  • Extra applicationWrapperBuilder parameter to allow wrapping the entire application in another widget.
  • Extra headerWidgetsBuilder parameter to allow insertion of extra header widgets.

0.4.1 - 2023-02-09

Changed

  • Version bump from 0.4.0 to 0.4.1 (Version confusion after compiler bug chaos).

0.4.0 - 2023-01-19

Removed

  • provider dependency.

0.3.13 - 2023-01-18

Changed

  • Version bump from 0.3.12 to 0.3.13 (Update links in README.md.).

0.3.12 - 2023-01-02

Fixed

  • FormParametersProvider::_readFromGuiJson resolves &amp;amp;amp;lt;username&amp;amp;amp;gt; tag back to a real username.

0.3.11 - 2022-12-29

Changed

  • Do not instantiate the page widgets in main, but use a WidgetBuilder instead.

0.3.10 - 2022-12-27

Changed

  • Version bump from 0.3.9 to 0.3.10.

0.3.9 - 2022-12-22

Changed

  • Version bump from 0.3.8 to 0.3.9.

0.3.8 - 2022-12-22

Changed

  • Version bump from 0.3.7 to 0.3.8 (Recompile due to installer optimizations).

0.3.7 - 2022-12-21

Added

  • ExceptionEvent for eventbus handling.

0.3.6 - 2022-12-20

Added

  • Colored dot in title (same color as icon in launcher).

0.3.5 - 2022-12-12

Added

  • toJson and fromJson to WorkerParameters (you should overload these).
  • read/write settings from a gui file.
  • Translate usernames in gui files to and from &amp;amp;amp;amp;amp;amp;lt;username&amp;amp;amp;amp;amp;amp;gt; tags to prevent machine-specific settings.

0.3.4 - 2022-12-08

Changed

  • Secondary progress now displays progress text.

0.3.3 - 2022-12-01

Changed

  • Added package name and semver to first log line.

0.3.2 - 2022-12-01

Changed

  • Added username to first log line.

0.3.1 - 2022-11-21

Changed

  • Register EventBus with GetIt and supply as Provider.

0.3.0 - 2022-11-15

Added

  • forwardTo to allow a next page after the worker_runner.

0.2.10 - 2022-11-11

Fixed

  • Copyright year in license notice.

0.2.9 - 2022-11-07

Added

  • Init logging from main runner.

0.2.8 - 2022-11-04

Added

  • Added hostname and platform to the log.

0.2.7 - 2022-11-01

Added

  • Secondary progress status.

0.2.6 - 2022-10-28

Changed

  • Listen to the sendPort earlier after clicking Process... so any exceptions before the isolate can be logged.

0.2.5 - 2022-10-27

Changed

  • SendPortExtension::sendException now prints a stacktrace (if present).

0.2.4 - 2022-10-24

Added

  • Support for SqlQueryService.

0.2.3 - 2022-10-20

Changed

  • Converted widgets to widget-view-controller structure.

0.2.2 - 2022-10-19

Changed

  • errorDifferentMediaBoxes to warningDifferentMediaBoxes.

0.2.1 - 2022-10-18

Added

  • FormInfoEvent and handling to send info to the log (mainly outside of the Isolate, in the parameters validator for example).

0.2.0 - 2022-10-18

Added

  • Allow multiple pages by adding them to the routes.

0.1.22 - 2022-10-11

Changed

  • Version bump from 0.1.21 to 0.1.22 (Recompile due to wrong GetIt.instance syntax.).

0.1.21 - 2022-10-11

Changed

  • Minor refactoring.

0.1.20 - 2022-10-05

Changed

  • Version bump from 0.1.19 to 0.1.20 (fixed pdflib searchpath macos crash).

0.1.19 - 2022-10-01

Changed

  • Version bump from 0.1.18 to 0.1.19 (pkg_pdflib bundle macos dylib).

0.1.18 - 2022-09-29

Changed

  • Version bump from 0.1.17 to 0.1.18 (dependencies upgraded).

0.1.17 - 2022-09-28

Added

  • sendLink to send_port_extension.

0.1.16 - 2022-09-28

Changed

  • Example now uses process/my_worker.dart, which is now testable.

0.1.15 - 2022-09-23

Added

  • Stopwatch to worker_runner.

0.1.14 - 2022-09-23

Changed

  • Specified all types.
  • Single quote strings.

0.1.13 - 2022-09-21

Added

  • MyFormIsValidProvider.

0.1.12 - 2022-09-20

Changed

  • Handle errors from workerParametersCallback.

0.1.11 - 2022-09-19

Added

  • FormErrorEvent.

0.1.10 - 2022-09-16

Added

  • Some notifying after run.
  • ClearEvent to clear the log.

0.1.9 - 2022-09-15

Added

  • colorsInit() to main.

0.1.8 - 2022-09-14

Added

  • String translations.

0.1.7 - 2022-09-12

Fixed

  • Abort after exception.

0.1.6 - 2022-09-12

Added

  • String translations.

0.1.5 - 2022-09-10

Added

  • About button.

0.1.4 - 2022-09-08

Added

  • String translations.

0.1.3 - 2022-09-07

Added

  • String translations for cached, cachedFile and errorFileNotFound.

0.1.2 - 2022-08-31

Changed

  • removed various finals due to new linter rules.

0.1.1 - 2022-08-30

Added

  • Screenshot.

0.1.0 - 2022-08-30

Added

  • localServices parameter and handling of missing services.

0.0.9 - 2022-08-30

Changed

  • Export all language strings.

0.0.8 - 2022-08-22

Changed

  • Some l10n strings.

0.0.7 - 2022-08-10

Added

  • SendPort::sendBreadCrumb.

0.0.6 - 2022-08-09

Changed

  • simpleRunner is now generic simpleRunner&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;T extends FormParametersProvider&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; so we can get our ChangeNotifierProvider to properly work (provider cannot use models that inherit another model).

0.0.5 - 2022-08-09

Added

  • Abort request handling (optional).

0.0.4 - 2022-08-08

Added

  • SendPortExtension.

Removed

  • WorkerProgress, it was the same as ProgressEvent.

0.0.3 - 2022-08-06

Added

  • Handle HHLogInfo messages from isolate.

0.0.2 - 2022-08-06

Changed

  • Split log messages on newline.

0.0.1 - 2022-08-04

Changed

  • Initial version.

0.5.39

2025-09-04 download

0.5.38

2025-07-28 download

0.5.37

2025-07-14 download

0.5.36

2025-07-11 download

0.5.34

2025-05-29 download

0.5.33

2025-05-28 download

0.5.32

2025-05-22 download

0.5.31

2025-04-28 download

0.5.30

2025-04-04 download

0.5.28

2025-04-02 download

0.5.27

2025-04-01 download

0.5.26

2025-03-07 download

0.5.25

2025-01-14 download

0.5.24

2025-01-10 download

0.5.21

2024-12-23 download

0.5.19

2024-12-19 download

0.5.16

2024-12-12 download

0.5.14

2024-09-03 download

0.5.13

2024-08-22 download

0.5.12

2024-08-09 download

0.5.10

2024-08-08 download

0.5.9

2024-08-07 download

0.5.8

2024-08-07 download

0.5.7

2024-07-09 download

0.5.6

2024-06-05 download

0.5.5

2024-03-08 download

0.5.4

2024-02-22 download

0.5.3

2024-02-17 download

0.5.2

2024-02-01 download

0.5.1

2023-11-23 download

0.5.0

2023-11-01 download

0.4.12

2023-10-16 download

0.4.11

2023-09-29 download

0.4.10

2023-09-18 download

0.4.9

2023-09-13 download

0.4.8

2023-06-21 download

0.4.7

2023-06-20 download

0.4.6

2023-05-22 download

0.4.5

2023-04-14 download

0.4.4

2023-04-13 download

0.4.3

2023-04-12 download

0.4.1

2023-02-09 download

0.4.0

2023-01-19 download

0.3.13

2023-01-18 download

0.3.12

2023-01-02 download

0.3.10

2022-12-27 download

0.3.9

2022-12-22 download

0.3.8

2022-12-22 download

0.3.7

2022-12-21 download

0.3.6

2022-12-20 download

0.3.5

2022-12-12 download

0.3.4

2022-12-08 download

0.3.3

2022-12-01 download

0.3.1

2022-11-21 download

0.3.0

2022-11-15 download

0.2.10

2022-11-11 download

0.2.9

2022-11-07 download

0.2.8

2022-11-04 download

0.2.7

2022-11-01 download

0.2.6

2022-10-28 download

0.2.4

2022-10-24 download

0.2.3

2022-10-20 download

0.2.2

2022-10-19 download

0.2.1

2022-10-18 download

0.2.0

2022-10-18 download

0.1.22

2022-10-11 download

0.1.21

2022-10-11 download

0.1.20

2022-10-05 download

0.1.19

2022-10-01 download

0.1.18

2022-09-29 download

0.1.17

2022-09-28 download

0.1.16

2022-09-28 download

0.1.15

2022-09-23 download

0.1.13

2022-09-21 download

0.1.12

2022-09-20 download

0.1.11

2022-09-19 download

0.1.10

2022-09-16 download

0.1.9

2022-09-15 download

0.1.8

2022-09-14 download

0.1.6

2022-09-12 download

0.1.5

2022-09-10 download

0.1.4

2022-09-08 download

0.1.3

2022-09-07 download

0.1.2

2022-08-31 download

0.1.1

2022-08-30 download

0.0.9

2022-08-30 download

0.0.8

2022-08-22 download

0.0.7

2022-08-10 download

0.0.5

2022-08-09 download

0.0.4

2022-08-08 download

0.0.3

2022-08-06 download

0.0.2

2022-08-06 download

0.0.1

2022-08-04 download