Skip to content

Commit

Permalink
Merge pull request #34 from albertodev01/develop
Browse files Browse the repository at this point in the history
chore: version bump and examples updates
  • Loading branch information
albertodev01 committed Feb 8, 2022
2 parents 5fdd9d1 + dbaa9c9 commit 4fb8bf1
Show file tree
Hide file tree
Showing 151 changed files with 2,991 additions and 637 deletions.
38 changes: 34 additions & 4 deletions .github/workflows/equations_ci.yml
Expand Up @@ -18,7 +18,9 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: subosito/flutter-action@v1.5.3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'

- name: Installing the dependencies
run: flutter pub get
Expand All @@ -43,7 +45,7 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}

verify_equation_flutter_example:
name: Equations Flutter example - CI action
name: Flutter example
needs: [verify_equation_package]
runs-on: windows-latest
defaults:
Expand All @@ -52,7 +54,9 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: subosito/flutter-action@v1.5.3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'

- name: Installing the dependencies
run: flutter pub get
Expand All @@ -70,4 +74,30 @@ jobs:
uses: VeryGoodOpenSource/very_good_coverage@v1.1.1
with:
path: example/flutter_example/coverage/lcov.info
min_coverage: 98
min_coverage: 98

verify_equation_dart_example:
name: Dart example
needs: [verify_equation_flutter_example]
runs-on: windows-latest
defaults:
run:
working-directory: example/dart_example
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
with:
channel: 'stable'

- name: Installing the dependencies
run: flutter pub get

- name: Making sure the package is formatted
run: flutter format --set-exit-if-changed .

- name: Making sure that there are no analysis warnings or errors
run: flutter analyze --fatal-infos --fatal-warnings && flutter pub run dart_code_metrics:metrics analyze lib test

- name: Runing unit and widget tests
run: flutter test
4 changes: 3 additions & 1 deletion .github/workflows/example_web_deploy.yml
Expand Up @@ -15,7 +15,9 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: subosito/flutter-action@v1.5.3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'

- name: Installing the dependencies
run: flutter pub get
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -31,6 +31,7 @@
.metadata
pubspec.lock
build/
**/failures/*.png

# Android related
**/android/**/gradle-wrapper.jar
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
@@ -1,3 +1,10 @@
## [3.2.0]
- Dependencies versions update
- Updated the `analysis_options.yaml` file with some more rules
- Updated the Flutter demo in the `example/` folder
- Updated the Dart demo in the `example/` folder
- Minor documentation improvements

## [3.1.3]
- Dependencies versions update
- Updated the `analysis_options.yaml` file with some more rules
Expand Down
2 changes: 2 additions & 0 deletions analysis_options.yaml
Expand Up @@ -16,11 +16,13 @@ dart_code_metrics:
- test/**
- example/**
rules:
- avoid-global-state
- avoid-missing-enum-constant-in-map
- avoid-nested-conditional-expressions
- avoid-throw-in-catch-block
- avoid-unnecessary-type-assertions
- avoid-unnecessary-type-casts
- avoid-unrelated-type-assertions
- avoid-unused-parameters
- binary-expression-operand-order
- double-literal-format
Expand Down
5 changes: 2 additions & 3 deletions example/README.md
Expand Up @@ -2,9 +2,8 @@

This folder contains some examples showing how the `equations` package can be used. In particular:

- Inside `dart_example/` you'll find some examples of the `equations` package being used on a "pure" Dart application (so no Flutter dependencies).

- Inside `flutter_example/` you'll find a Flutter app that uses the `equations` package to solve systems, equations, integrals and other utilities.
- Inside `dart_example/` you'll a simple Dart CLI app that uses the `equations` package
- Inside `flutter_example/` you'll find a Flutter app that uses the `equations` package

You can play with the Flutter example online at [https://albertodev01.github.io/equations/](https://albertodev01.github.io/equations/).

Expand Down
6 changes: 6 additions & 0 deletions example/dart_example/.gitignore
@@ -0,0 +1,6 @@
# Files and directories created by pub.
.dart_tool/
.packages

# Conventional directory for build output.
build/
3 changes: 3 additions & 0 deletions example/dart_example/CHANGELOG.md
@@ -0,0 +1,3 @@
## 1.0.0

- Initial release of the Dart CLI example app!
14 changes: 14 additions & 0 deletions example/dart_example/README.md
@@ -0,0 +1,14 @@
This is a very simple Dart CLI app that shows how the `equations` package can be used, for example, to solve equations, evaluate integrals or analyze matrices. You can run it using

```bash
$ dart run equation_solver_cli -i
```

from this location. You can pass various arguments:

- `-p` to generate and solve random polynomial equations;
- `-n` to solve nonlinear equations using various algorithms;
- `-i` to evaluate an integral using various algorithms;
- `-m` to analyze a matrix and solve a system with different decomposition strategies and algorithms.

If you want to create a portable binary file of this example (like an `.exe` file for Windows), see the [dart compile](https://dart.dev/tools/dart-compile) documentation for more info!
41 changes: 0 additions & 41 deletions example/dart_example/algebraic_example.dart

This file was deleted.

121 changes: 121 additions & 0 deletions example/dart_example/analysis_options.yaml
@@ -0,0 +1,121 @@
include: package:lints/recommended.yaml

analyzer:
exclude:
- example/**
plugins:
- dart_code_metrics

dart_code_metrics:
anti-patterns:
- long-parameter-list
metrics:
number-of-parameters: 6
maximum-nesting: 5
metrics-exclude:
- test/**
- example/**
rules:
- avoid-global-state
- avoid-missing-enum-constant-in-map
- avoid-nested-conditional-expressions
- avoid-throw-in-catch-block
- avoid-unnecessary-type-assertions
- avoid-unnecessary-type-casts
- avoid-unrelated-type-assertions
- avoid-unused-parameters
- binary-expression-operand-order
- double-literal-format
- newline-before-return
- no-boolean-literal-compare
- no-equal-then-else
- no-object-declaration
- prefer-correct-type-name
- prefer-first
- prefer-last
- prefer-trailing-comma
rules-exclude:
- example/**

linter:
rules:
always_declare_return_types: true
always_put_control_body_on_new_line: true
always_use_package_imports: true
avoid_bool_literals_in_conditional_expressions: true
avoid_catches_without_on_clauses: true
avoid_catching_errors: true
avoid_classes_with_only_static_members: true
avoid_double_and_int_checks: true
avoid_escaping_inner_quotes: true
avoid_field_initializers_in_const_classes: true
avoid_implementing_value_types: true
avoid_js_rounded_ints: true
avoid_multiple_declarations_per_line: true
avoid_positional_boolean_parameters: true
avoid_private_typedef_functions: true
avoid_redundant_argument_values: true
avoid_returning_null: true
avoid_returning_null_for_future: true
avoid_returning_this: true
avoid_setters_without_getters: true
avoid_slow_async_io: true
avoid_type_to_string: true
avoid_unused_constructor_parameters: true
avoid_void_async: true
cancel_subscriptions: true
cascade_invocations: true
cast_nullable_to_non_nullable: true
close_sinks: true
deprecated_consistency: true
directives_ordering: true
do_not_use_environment: true
eol_at_end_of_file: true
invariant_booleans: true
join_return_with_assignment: true
leading_newlines_in_multiline_strings: true
literal_only_boolean_expressions: true
missing_whitespace_between_adjacent_strings: true
no_adjacent_strings_in_list: true
no_leading_underscores_for_library_prefixes: true
no_leading_underscores_for_local_identifiers: true
no_runtimeType_toString: true
only_throw_errors: true
package_api_docs: true
parameter_assignments: true
prefer_asserts_in_initializer_lists: true
prefer_asserts_with_message: true
prefer_constructors_over_static_methods: true
prefer_final_in_for_each: true
prefer_final_locals: true
prefer_foreach: true
prefer_if_elements_to_conditional_expressions: true
prefer_int_literals: true
prefer_interpolation_to_compose_strings: true
prefer_single_quotes: true
public_member_api_docs: true
secure_pubspec_urls: true
sort_child_properties_last: true
sort_pub_dependencies: true
sort_unnamed_constructors_first: true
test_types_in_equals: true
tighten_type_of_initializing_formals: true
throw_in_finally: true
type_annotate_public_apis: true
unnecessary_await_in_return: true
unnecessary_lambdas: true
unnecessary_null_aware_assignments: true
unnecessary_nullable_for_final_variable_declarations: true
unnecessary_parenthesis: true
unnecessary_raw_strings: true
unnecessary_statements: true
unsafe_html: true
use_if_null_to_convert_nulls_to_bools: true
use_is_even_rather_than_modulo: true
use_late_for_private_fields_and_variables: true
use_named_constants: name
use_setters_to_change_properties: true
use_string_buffers: true
use_raw_strings: true
use_test_throws_matchers: true
use_to_and_as_if_applicable: true
11 changes: 11 additions & 0 deletions example/dart_example/bin/equation_solver_cli.dart
@@ -0,0 +1,11 @@
import 'package:equation_solver_cli/equation_solver_cli.dart'
as equation_solver_cli;

/// The main entrypoint expects only 1 argument, which is used to determine the
/// kind of demo to be run.
void main(List<String> arguments) {
// Parsing arguments and running the app.
equation_solver_cli.Console(
args: arguments,
).run();
}
35 changes: 0 additions & 35 deletions example/dart_example/integral_example.dart

This file was deleted.

0 comments on commit 4fb8bf1

Please sign in to comment.