- Replaces `argparse` with `typer` for command-line argument
parsing to improve CLI interface and maintainability.
- Converts commands to subcommands using `typer.Typer()`.
- Streamlines CLI structure and enhances user experience.
- Updates the VS Code settings to customize the color scheme for
the activity bar and activity bar badge.
- Enhances the visual appearance and user experience of the editor.
- Add comprehensive overview of HDLBuild features and functionality
- Include installation prerequisites and step-by-step instructions
- Document CLI commands with examples for common tasks
- Provide example `project.yml` configuration for customization
- Add sections on contributing, license, and GitHub Actions
- Enhance clarity and usability for new users and contributors
Signed-off-by: Max P. <Mail@MPassarello.de>
Simplifies file handling by consolidating template copying logic
into a single loop. Corrects the resolution of the templates
directory path for improved reliability.
Improves maintainability and reduces redundancy in code.
Removes project loading from command initialization and shifts it to the execution phase for better resource management and initialization performance.
Improves flexibility by ensuring the project is only loaded when needed.
Introduces an `init` command to initialize new HDLBuild projects.
Includes creation of default `.gitignore` and `project.yml` files
from templates if they do not already exist. Updates command
registration to include the new `init` command.
Adds template files to the package inclusion list to ensure they are distributed with the build.
Removes an unused dependency to streamline the dependency list.
Refactors CLI command handlers into separate classes under a new `commands` module for improved organization and scalability.
Introduces a `register_commands` function to centralize command registration. Adds version retrieval for better tool identification in CLI descriptions.
Updates source and testbench file paths for better organization
Enhances Xilinx tool options with detailed customization
Adds and documents advanced synthesis and optimization settings
Improves maintainability and aligns with modern design practices
Updates `build_testbench` to use a shared tool execution utility, improving maintainability and consistency.
Refactors `run_testbench` to accept project configurations, enabling better customization and handling of tool options.
Enhances modularity and reduces redundancy in the simulation workflow.
Extends tool configuration to include ISim options by adding a new field to the model and example configuration file. Supports specifying ISim arguments for enhanced simulation workflows.
Bumps `pyyaml` dependency to `^6.0.2` for compatibility and security improvements. Downgrades package version to `0.2.0`, potentially signaling a rollback or version correction.
Updates workflow to trigger on pushes to the main branch when pyproject.toml is modified, in addition to manual dispatch.
Improves automation by ensuring builds occur for relevant changes.
Introduces a test process with commands to build and run testbenches. Adds utilities for generating simulation project files and resolving testbench sources. Updates file handling logic to support configurable destination directories.
Improves organizational structure of CLI commands and enhances flexibility in managing project artifacts.