codeplain 0.2.7__tar.gz → 0.2.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {codeplain-0.2.7 → codeplain-0.2.8}/PKG-INFO +2 -2
- {codeplain-0.2.7 → codeplain-0.2.8}/config/system_config.yaml +1 -1
- {codeplain-0.2.7 → codeplain-0.2.8}/module_renderer.py +7 -2
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code_arguments.py +2 -1
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code_events.py +1 -2
- {codeplain-0.2.7 → codeplain-0.2.8}/pyproject.toml +2 -2
- {codeplain-0.2.7 → codeplain-0.2.8}/tui/plain2code_tui.py +1 -1
- {codeplain-0.2.7 → codeplain-0.2.8}/tui/state_handlers.py +3 -4
- {codeplain-0.2.7 → codeplain-0.2.8}/tui/widget_helpers.py +3 -6
- {codeplain-0.2.7 → codeplain-0.2.8}/.flake8 +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/.github/workflows/lint-and-test.yml +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/.github/workflows/nofity-slack-on-main-merge.yml +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/.github/workflows/publish-install-script.yml +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/.github/workflows/publish-to-pypi.yml +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/.gitignore +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/.vscode/launch.json +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/.vscode/settings.json +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/LICENSE +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/README.md +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/codeplain_REST_api.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/concept_utils.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/config/__init__.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/diff_utils.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/docs/generate_cli.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/docs/plain2code_cli.md +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/docs/plain_language_specification.md +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/docs/starting_a_plain_project_from_scratch.md +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/event_bus.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_golang/config.yaml +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_golang/harness_tests/hello_world_test.go +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_golang/hello_world_golang.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_golang/run.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_python/config.yaml +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_python/harness_tests/hello_world_display/test_hello_world.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_python/hello_world_python.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_python/run.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_react/config.yaml +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_react/harness_tests/hello_world_display/cypress/e2e/hello_world.cy.ts +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_react/harness_tests/hello_world_display/cypress/support/e2e.ts +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_react/harness_tests/hello_world_display/cypress.config.ts +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_react/harness_tests/hello_world_display/package.json +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_react/harness_tests/hello_world_display/tsconfig.json +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_react/hello_world_react.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_react/run.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/examples/run.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/file_utils.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/git_utils.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/hash_key.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/install/examples.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/install/install.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/install/walkthrough.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/memory_management.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code_console.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code_exceptions.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code_logger.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code_nodes.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code_read_config.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code_state.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain2code_utils.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain_file.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain_modules.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/plain_spec.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/pytest.ini +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/__init__.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/analyze_specification_ambiguity.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/base_action.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/commit_conformance_tests_changes.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/commit_implementation_code_changes.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/create_dist.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/exit_with_error.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/finish_functional_requirement.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/fix_conformance_test.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/fix_unit_tests.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/prepare_repositories.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/prepare_testing_environment.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/refactor_code.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/render_conformance_tests.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/render_functional_requirement.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/run_conformance_tests.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/run_unit_tests.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/summarize_conformance_tests.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/code_renderer.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/conformance_test_helpers.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/conformance_tests.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/implementation_code_helpers.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/render_context.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/render_types.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/render_utils.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/state_machine_config.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/states.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/render_machine/triggers.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/requirements.txt +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/resources/codeplain_overview.png +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/resources/plain_example.png +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/standard_template_library/__init__.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/standard_template_library/golang-console-app-template.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/standard_template_library/python-console-app-template.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/standard_template_library/typescript-react-app-boilerplate.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/standard_template_library/typescript-react-app-template.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/system_config.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/test_scripts/run_conformance_tests_cypress.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/test_scripts/run_conformance_tests_golang.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/test_scripts/run_conformance_tests_python.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/test_scripts/run_unittests_golang.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/test_scripts/run_unittests_python.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/test_scripts/run_unittests_react.sh +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/__init__.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/conftest.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/imports/circular_imports_1.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/imports/circular_imports_2.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/imports/circular_imports_main.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/imports/diamond_import_1.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/imports/diamond_import_2.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/imports/diamond_import_common.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/imports/diamond_imports_main.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/imports/non_existent_import.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/duplicate_specification_heading.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/invalid_specification_order.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/missing_non_functional_requirements.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/plain_source_with_absolute_link.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/plain_source_with_url_link.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/task_manager_with_reference_links.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/without_non_functional_requirement.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_acceptance_tests.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_acceptance_tests_nondefined.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_defined_nondefined.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_defined_nondefined_2.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_definition.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_noconcepts.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_nonconcept.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_nondefined.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_redefinition.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_several_concepts.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_valid.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_base.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_example.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_missing.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_missing_example.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_nested.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_nested_example.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_transitive_example.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_transitive_l1.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_transitive_l2.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/plain_file_parser_with_comments.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/plain_file_with_comments_indented.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/regular_plain_source.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_defs.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_example.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_l1.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_l2.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_missing.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_module.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_partial.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_partial_duplicate.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/topological_sort.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/topological_sort_not_referenced.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/circular_requires_main.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/circular_requires_sub.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/diamond_requires_1.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/diamond_requires_2.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/diamond_requires_common.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/diamond_requires_main.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/independent_requires_1.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/independent_requires_2.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/independent_requires_main.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/non_existent_require.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/normal_requires_1.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/normal_requires_2.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/normal_requires_common.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/requires/normal_requires_main.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/simple.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/templates/block_level_include.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/templates/code_variables.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/templates/header.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/templates/implement.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/templates/implement_2.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/templates/template_include.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/data/templates/test_hardest_problem.plain +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/test_git_utils.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/test_imports.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/test_plainfile.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/test_plainfileparser.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/test_plainspec.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tests/test_requires.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tui/__init__.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tui/components.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tui/models.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tui/spinner.py +0 -0
- {codeplain-0.2.7 → codeplain-0.2.8}/tui/styles.css +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codeplain
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.8
|
|
4
4
|
Summary: Transform plain language specifications into working code
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Classifier: Environment :: Console
|
|
7
7
|
Classifier: Intended Audience :: Developers
|
|
8
8
|
Classifier: Operating System :: OS Independent
|
|
9
9
|
Classifier: Topic :: Software Development :: Code Generators
|
|
10
|
-
Requires-Python:
|
|
10
|
+
Requires-Python: ~=3.11.0
|
|
11
11
|
Requires-Dist: gitpython==3.1.42
|
|
12
12
|
Requires-Dist: mistletoe==1.3.0
|
|
13
13
|
Requires-Dist: networkx==3.6.1
|
|
@@ -261,5 +261,10 @@ class ModuleRenderer:
|
|
|
261
261
|
_, _, rendering_failed = self._render_module(self.filename, self.render_range, True)
|
|
262
262
|
if not rendering_failed:
|
|
263
263
|
# Get the last module that completed rendering
|
|
264
|
-
|
|
265
|
-
|
|
264
|
+
if self.args.copy_build:
|
|
265
|
+
rendered_code_path = f"{self.args.build_dest}/"
|
|
266
|
+
else:
|
|
267
|
+
last_module_name = self.filename.replace(plain_file.PLAIN_SOURCE_FILE_EXTENSION, "")
|
|
268
|
+
rendered_code_path = f"{os.path.join(self.args.build_folder, last_module_name)}/"
|
|
269
|
+
|
|
270
|
+
self.event_bus.publish(RenderCompleted(rendered_code_path=rendered_code_path))
|
|
@@ -15,6 +15,7 @@ DEFAULT_CONFORMANCE_TESTS_DEST = "dist_conformance_tests"
|
|
|
15
15
|
UNIT_TESTS_SCRIPT_NAME = "unittests_script"
|
|
16
16
|
CONFORMANCE_TESTS_SCRIPT_NAME = "conformance_tests_script"
|
|
17
17
|
DEFAULT_LOG_FILE_NAME = "codeplain.log"
|
|
18
|
+
PREPARE_ENVIRONMENT_SCRIPT_NAME = "prepare_environment_script"
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
def process_test_script_path(script_arg_name, config):
|
|
@@ -305,7 +306,7 @@ def parse_arguments():
|
|
|
305
306
|
if args.full_plain and args.dry_run:
|
|
306
307
|
parser.error("--full-plain and --dry-run are mutually exclusive")
|
|
307
308
|
|
|
308
|
-
script_arg_names = [UNIT_TESTS_SCRIPT_NAME, CONFORMANCE_TESTS_SCRIPT_NAME]
|
|
309
|
+
script_arg_names = [UNIT_TESTS_SCRIPT_NAME, CONFORMANCE_TESTS_SCRIPT_NAME, PREPARE_ENVIRONMENT_SCRIPT_NAME]
|
|
309
310
|
for script_name in script_arg_names:
|
|
310
311
|
args = process_test_script_path(script_name, args)
|
|
311
312
|
|
|
@@ -4,10 +4,10 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "codeplain"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.8"
|
|
8
8
|
description = "Transform plain language specifications into working code"
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
requires-python = "
|
|
10
|
+
requires-python = "~=3.11.0"
|
|
11
11
|
classifiers = [
|
|
12
12
|
"Environment :: Console",
|
|
13
13
|
"Intended Audience :: Developers",
|
|
@@ -274,7 +274,7 @@ class Plain2CodeTUI(App):
|
|
|
274
274
|
|
|
275
275
|
def on_render_completed(self, event: RenderCompleted):
|
|
276
276
|
"""Handle successful render completion."""
|
|
277
|
-
self._render_success_handler.handle(event.
|
|
277
|
+
self._render_success_handler.handle(event.rendered_code_path)
|
|
278
278
|
|
|
279
279
|
def on_render_failed(self, event: RenderFailed):
|
|
280
280
|
"""Handle render failure."""
|
|
@@ -299,14 +299,13 @@ class RenderSuccessHandler:
|
|
|
299
299
|
"""
|
|
300
300
|
self.tui = tui
|
|
301
301
|
|
|
302
|
-
def handle(self,
|
|
302
|
+
def handle(self, rendered_code_path: str) -> None:
|
|
303
303
|
"""Handle successful render completion.
|
|
304
304
|
|
|
305
305
|
Args:
|
|
306
|
-
|
|
307
|
-
build_folder: The build folder path
|
|
306
|
+
rendered_code_path: The path to the rendered code
|
|
308
307
|
"""
|
|
309
|
-
display_success_message(self.tui,
|
|
308
|
+
display_success_message(self.tui, rendered_code_path)
|
|
310
309
|
|
|
311
310
|
|
|
312
311
|
class RenderErrorHandler:
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"""Widget update helper utilities for Plain2Code TUI."""
|
|
2
2
|
|
|
3
|
-
import os
|
|
4
3
|
from datetime import datetime
|
|
5
4
|
|
|
6
5
|
from textual.css.query import NoMatches
|
|
@@ -98,17 +97,15 @@ def get_frid_progress(tui) -> FRIDProgress:
|
|
|
98
97
|
return tui.query_one(f"#{TUIComponents.FRID_PROGRESS.value}", FRIDProgress)
|
|
99
98
|
|
|
100
99
|
|
|
101
|
-
def display_success_message(tui,
|
|
100
|
+
def display_success_message(tui, rendered_code_path: str):
|
|
102
101
|
"""Display success message with code location and exit instructions.
|
|
103
102
|
|
|
104
103
|
Args:
|
|
105
104
|
tui: The Plain2CodeTUI instance
|
|
106
|
-
|
|
107
|
-
build_folder: The build folder path
|
|
105
|
+
rendered_code_path: The path to the rendered code
|
|
108
106
|
"""
|
|
109
107
|
|
|
110
|
-
|
|
111
|
-
message = f"[#79FC96]✓ Rendering finished![/#79FC96] [#888888](ctrl+c to exit)[/#888888]\n[#888888]Generated code: {code_location}[/#888888] "
|
|
108
|
+
message = f"[#79FC96]✓ Rendering finished![/#79FC96] [#888888](ctrl+c to exit)[/#888888]\n[#888888]Generated code: {rendered_code_path}[/#888888] "
|
|
112
109
|
|
|
113
110
|
widget: Static = tui.query_one(f"#{TUIComponents.RENDER_STATUS_WIDGET.value}", Static)
|
|
114
111
|
widget.update(message)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_golang/hello_world_golang.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_python/hello_world_python.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/examples/example_hello_world_react/hello_world_react.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/analyze_specification_ambiguity.py
RENAMED
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/commit_conformance_tests_changes.py
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/render_machine/actions/commit_implementation_code_changes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/standard_template_library/golang-console-app-template.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/standard_template_library/python-console-app-template.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/standard_template_library/typescript-react-app-boilerplate.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/standard_template_library/typescript-react-app-template.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/duplicate_specification_heading.plain
RENAMED
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/missing_non_functional_requirements.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/plain_source_with_absolute_link.plain
RENAMED
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/task_manager_with_reference_links.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfile/without_non_functional_requirement.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_definition.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_noconcepts.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_nonconcept.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_nondefined.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_redefinition.plain
RENAMED
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/concept_validation_valid.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_example.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_missing.plain
RENAMED
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_nested.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_transitive_l1.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/exported_concepts_transitive_l2.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/plain_file_parser_with_comments.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_example.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_missing.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_module.plain
RENAMED
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/required_concepts_partial.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codeplain-0.2.7 → codeplain-0.2.8}/tests/data/plainfileparser/topological_sort_not_referenced.plain
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|