Commit Graph

25 Commits

Author SHA1 Message Date
c714b31e6a .github/workflows/build-deb.yml aktualisiert 2025-04-26 21:33:59 +02:00
961d182bf7 Refines GitHub Actions workflow for building wheels, improving comments and organization 2025-04-26 21:25:41 +02:00
5263a31c07 Merge pull request 'Adds GitHub Actions workflow for building wheels and updates pyproject.toml for plugin requirements' (#1) from deb into main
Reviewed-on: #1
2025-04-26 21:19:19 +02:00
fb5c3127b5 Adds GitHub Actions workflow for building wheels and updates pyproject.toml for plugin requirements 2025-04-26 21:17:51 +02:00
5061ee218f Configures Python environment for project
Adds a `.env` file to define the `PYTHONPATH` variable, ensuring
module resolution from the `src` directory. Configures VS Code
settings to use the `.env` file and enhance Python analysis
with extra paths.

Improves development environment setup.
2025-04-26 18:54:00 +00:00
dc0d8242a8 Refines package structure and script entry point
Updates package inclusion to reflect new directory structure.
Adjusts script entry point path to align with updated module organization.
2025-04-26 18:52:51 +00:00
28406028c6 Refactors project structure for modularity
Renames and reorganizes modules under a new 'hdlbuild' namespace for improved clarity and maintainability. Updates import paths across the codebase to reflect the new structure.

No logic changes introduced.
2025-04-26 18:52:44 +00:00
f9d5e3c535 Adds CLI functionality with commands for clearing, building, synthesizing, and managing dependencies 2025-04-26 18:26:45 +00:00
4f1f2e7d51 Adds dependency resolver for recursive project handling
Introduces a dependency resolver to clone and manage project dependencies recursively.
Updates CLI to include a new "dep" command for dependency resolution.
Enhances source resolver to handle dependencies and expand all sources.
Improves console utilities with live mode for real-time feedback.
Marks dependency names in project configuration as optional.

Enables streamlined multi-repository workflows and dependency management.
2025-04-26 18:11:31 +00:00
3cf3fc1437 Refactors build script with CLI support
Introduces argparse-based CLI for build management, adding clear, build, and synth commands. Consolidates and simplifies build process logic while improving usability through structured command handling.

Improves maintainability and user experience.
2025-04-26 16:18:44 +00:00
12d9f4b6c9 Refactors file management and enhances task tracking
Replaces duplicate file copy logic with a unified `copy_file` function to improve code reuse and maintainability. Updates step tracking across the toolchain to reflect a consistent 12-step workflow. Adds a new entry point (`xilinx_ise_all`) to streamline execution of the entire toolchain.

Improves logging by integrating enhanced console utilities for better step visualization and progress tracking.
2025-04-26 16:18:38 +00:00
90859715c4 Enhances directory management with improved messaging
Replaces print statements with a ConsoleUtils helper for consistent, customizable output.
Adds a new `clear_build_directories` function to exclude specific directories from deletion.
Changes default behavior of `silent` parameter to `False` for better visibility.

Improves code readability and user feedback.
2025-04-26 16:18:29 +00:00
cc82d883c0 Enhances console task rendering with rich library
Refactors spinner and log rendering to use the Rich library for better formatting and improved user experience.
Adds support for task prefixes, step tracking, and transient live updates.
Replaces manual console manipulation with structured rendering for clarity and maintainability.
2025-04-26 16:18:19 +00:00
72699ed32f Adds Rich library dependency
Introduces Rich library (v14.0.0) to enhance text formatting and terminal output capabilities.
2025-04-26 16:18:09 +00:00
690decb33b Adds silent mode to directory management functions
Introduces a `silent` parameter to suppress console output in
`ensure_directories_exist` and `clear_directories` functions.
Enhances flexibility by allowing optional logging control.

No issue reference provided.
2025-04-26 15:18:00 +00:00
2e2d86cfc2 Adds console task utility with spinner and log management
Introduces a utility class for managing console tasks with a
spinner and log output. Includes features for logging messages,
running commands, and displaying real-time status updates.

Enhances user experience with clear task status visualization.
2025-04-26 15:17:54 +00:00
decc18ac83 Adds progress tracking and new trace tool integration
Introduces step tracking for Xilinx toolchain stages with step number and total steps added to tool execution calls. Enhances user feedback during execution.

Refactors `run_tool` to improve progress display and integrates `ConsoleTask` for better command handling. Simplifies code comments and improves readability.

Implements the `trace` tool support, including execution and report generation for timing analysis.

Adds minor enhancements like file copy feedback with icons.
2025-04-26 14:41:43 +00:00
5c52c0cf59 Refactors Xilinx ISE tool execution and report handling
Replaces repetitive tool execution logic with a reusable `run_tool` function to streamline code and reduce duplication.

Introduces a shared `copy_report_file` utility for consistent report copying and error handling.

Simplifies individual tool scripts (XST, NGDBuild, MAP, PAR, BitGen) by delegating core logic to common utilities.

Improves maintainability and consistency across the codebase.
2025-04-26 13:59:40 +00:00
91f4f03d97 Introduces support for Xilinx ISE build flow
Adds scripts and utilities for synthesis, mapping, placement, and bitstream generation using Xilinx ISE tools. Refactors configuration management into a dedicated module. Updates project model to support tool-specific options. Adjusts `.gitignore` and Python version compatibility.

Simplifies directory handling and ensures modularity by reorganizing configuration and tool logic.
2025-04-26 13:47:50 +00:00
7a03040926 Adds hdlbuild script for project configuration and source expansion
Testfile
2025-04-26 13:54:24 +02:00
f0100234c9 Adds utility to expand source file paths with wildcards
Introduces a function to resolve wildcard patterns in source file paths, normalizing and returning them as tuples of library and file path. Improves flexibility in handling source files.
2025-04-26 13:52:58 +02:00
cfca986f72 Adds utility functions for directory management
Implements functions to ensure directories exist and to clear them based on configuration. Provides user feedback for created, existing, or removed directories.

Helps manage project-specific directory structure efficiently.
2025-04-26 13:52:52 +02:00
defd2345b1 Adds YAML-based project configuration loader
Introduces a function to load and parse project configurations from a YAML file, returning a typed object for improved usability and type safety.
2025-04-26 13:52:33 +02:00
8b735c0d97 Adds project-specific configurations and dependencies
Updates .gitignore to exclude build artifacts and project-specific files.
Introduces pyproject.toml with project metadata, dependencies, and build system configuration using Poetry.

Facilitates project reproducibility and dependency management.
2025-04-26 13:51:47 +02:00
5c4cab2bb1 Initial commit 2025-04-26 12:57:42 +02:00