Commit graph

463 commits

Author SHA1 Message Date
27baeca112
Set default process timeouts to null
This commit sets the default timeout and idleTimeout for the execution process in ExecutionUnitRunner to null when there are no specific timeouts provided by the execution policy. This change was made to avoid unexpected timeouts when no specific values are set in the execution policy.
2023-10-24 16:07:48 -04:00
4f7aa7a859
Update progress bar text to display basename only
Modified the progress bar text display in PackageManager.php and NccCompiler.php classes. Changed 'setMiscText' function to now display only the basename of the component name, execution policy name, and resource name. This change improves readability and clarity of the progress bar by reducing clutter from long file paths.
2023-10-24 16:05:40 -04:00
3ebdeb0cba
Fixed issue where progress bar is displayed in VERBOSE mode
Added checks in the update method of the ConsoleProgressBar class to prevent it from displaying when log level is set to VERBOSE. This is to prevent cluttering the command-line interface with unnecessary information when running in VERBOSE mode. The changes also are reflected in the changelog.
2023-10-22 22:16:33 -04:00
bcc6f45eb4
Fix division by zero in ConsoleProgressBar
The rendering of the progress bar was causing a division by zero error when the maximum value was set to 0. This change adds a condition to check if the maximum value is not 0 before calculating the number of hashes and the percentage done in the progress bar. This avoids the division by zero error and makes the progress bar rendering more robust. The CHANGELOG.md file has also been updated to reflect this bug fix.
2023-10-22 19:26:16 -04:00
698d2e7a1f
Updated file tracking in Runtime class
Implemented changes in Runtime.php to better handle file tracking and to prevent unnecessary inclusion of duplicate files during Runtime. Instead of directly checking if a file is already included, we now create a unique identifier for each file using a crc32 hash function. This identifier (instead of the file path) is checked and stored in the inclusion list, allowing for better handling of dynamic or virtual files.
2023-10-18 16:03:40 -04:00
89d3af8680
Improve build efficiency by preventing duplicate merges
Introduced a private property to the `NccCompiler` class, `$merged_dependencies`, to keep track of the dependencies that have already been merged. This prevents unnecessary re-merging during the build operation, potentially enhancing the efficiency of the process. The implementation involves a check for a preexisting merge before a new merge is performed. If a merge already exists, the process is skipped, thereby avoiding redundancies.
2023-10-18 15:56:24 -04:00
12d7744e1e
Bumped version to 2.0.4 2023-10-18 15:49:16 -04:00
a76a8a4ae6
Updated CHANGELOG.md 2023-10-17 21:44:22 -04:00
7293519ba3
Add error handling for unspecified package in PackageManagerMenu 2023-10-17 21:27:40 -04:00
2605b8d218
- Added new ConsoleProgressBar class for UI improvement, imrpoved the CLI Progress Bar inspired by
[pacman](https://wiki.archlinux.org/title/pacman)
2023-10-17 21:23:05 -04:00
173032df72
- Fixed issue when registering ncc's extension, when using the INSTALLER, the installation path used in the process
appears to be incorrect, added a optional parameter to the `registerExtension` method to allow the installer to pass
   the correct installation path.
 - Implemented support in the AST traversal for the PHP statements `include`, `include_once`, `require`, and
   `require_once`. These statements are transformed into function calls. With this change, ncc can correctly handle and
   import files from system packages or direct binary package files.
2023-10-17 17:01:40 -04:00
c736a896fb
When finding package versions in the package lock, ncc will try to find a satisfying version rather than the exact version, this is to prevent errors when the package lock contains a version that is not available in the repository. 2023-10-13 09:41:39 -04:00
930c206fa9
Bumped version to 2.0.3 2023-10-13 02:33:12 -04:00
4c6f2ddcfe
Updated CHANGELOG.md 2023-10-13 01:32:34 -04:00
d434345c59
Minor corrections 2023-10-13 01:32:21 -04:00
e3ac3cf7a3
Updated CHANGELOG.md 2023-10-12 16:34:21 -04:00
81ea985b68
Updated CHANGELOG.md 2023-10-12 16:27:07 -04:00
71214e769e
Refactor ncc extension registration logic, this also allows for debian packages to install the ncc extension automatically.
The logic related to the registration of the ncc extension has been refactored. Previously, the code that registered the ncc extension was contained in the installer. However, this change moves the code that registers the ncc extension from the installer to the Utilities/Functions class. This change was made because the extension registration is not only applicable to the installer, but is also required for several other components. This fact justified the need for the logic to be located in a more generic and accessible class. The Makefile, installer, generate_build_files.php files have been updated to reflect this change. Components using these should now work properly with the changes.
2023-10-12 16:24:36 -04:00
89b0c931b9
Fixed incorrect mime type in ncc-package.xml
This update addresses a mistake in the `ncc-package.xml` file, where the wrong mime type was specified. The mime type has been corrected from `application/ncc-package` to `application/ncc` and the glob pattern from `*.ncc_pkg` to `*.ncc`. This change will ensure proper recognition and handling of the file type.
2023-10-12 15:59:58 -04:00
4ef923b83c
- Fixed issue where some build artifacts are being bundled with package builds such as output_path and static
where they should not be included in the package.
 - Added the ability to pull static versions of packages from repositories where package names ending with `-static.ncc`
   or `_static.ncc` can be pulled if you use the `--prefer-static` or `--static` option when using the `package install`
   command. Otherwise, the normal package will be installed, avoiding static versions.
 - Added support for importing static packages from the system, allowing you to install static packages onto your
   system and import them without importing additional dependencies that isn't already included in the package.
2023-10-12 15:55:10 -04:00
e4a3dc2f99
Updated CHANGELOG.md 2023-10-11 20:23:45 -04:00
d9b30a755d
Update dependencies import in \ncc\Classes > Runtime > importFromPackage()
Moved the recursive import of dependencies inside an else statement to provide a condition for fake importing dependencies. This change offers an effective way to handle static dependencies. It enhances the robustness of the package reading and dependency import process.
2023-10-11 20:22:07 -04:00
ff5a6c7f7a
Updated CHANGELOG.md 2023-10-11 19:06:46 -04:00
21753364dc
Updated fetchPackage method to include authentication 2023-10-11 19:04:36 -04:00
345a215a56
Bumped version to 2.0.2 2023-10-11 18:59:09 -04:00
08592e4cb6
Bumpde version in control 2023-10-11 00:34:35 -04:00
e1907911bf
Updated CHANGELOG.md 2023-10-11 00:29:41 -04:00
94e599e372
Updated CHANGELOG.md 2023-10-11 00:27:13 -04:00
35981115eb
Add functionality to install project dependencies
Added a new feature in `ProjectManager.php` that allows automatic installation of a project's dependencies. The `installDependencies` function eases the task of separately installing each dependency. Now, both public and private dependencies can be installed collectively using the 'install' command added in `ProjectMenu.php`. This functionality is further documented in `DOCUMENTATION.md`.
2023-10-11 00:25:39 -04:00
c82bc7195a
Updated CHANGELOG.md 2023-10-10 23:01:01 -04:00
e69ae7aba9
Bumped version to 2.0.1 2023-10-10 23:00:56 -04:00
87dc682ef2
Correct exception message for configuration property in \ncc\Objects\ProjectConfiguration\Build > BuildConfiguration > fromArray() 2023-10-10 23:00:46 -04:00
71787cd7fe
Updated CHANGELOG.md 2023-10-10 22:57:56 -04:00
68ea83c103
Updated README.md 2023-10-10 19:08:25 -04:00
af9f3fba22
Update Docker run commands in Makefile 2023-10-10 18:37:11 -04:00
7e1072fdf6
Added content on constructing executable binary files in DOCUMENTATION.md 2023-10-10 18:09:38 -04:00
d32592e393
Completed ProjectConfiguration documentation 2023-10-10 17:24:13 -04:00
72a429ecce
Add 'Build', 'Dependency', 'BuildConfiguration' documentation 2023-10-10 16:33:55 -04:00
5dd3472f2a
Revert "Add Build section to documentation"
This reverts commit 9e1f55acb7.
2023-10-10 16:00:38 -04:00
9e1f55acb7
Add Build section to documentation
A "Build" section was added to the existing DOCUMENTATION.md to provide instructions on how to define the build configuration for a project.
2023-10-10 15:59:01 -04:00
1b8079f96b
Correct the data type of uuid property in docs 2023-10-10 14:18:49 -04:00
a1f1541854
Added documentation for package structures 2023-10-09 21:26:49 -04:00
a8e74a0877
Removed unused assets 2023-10-09 21:08:30 -04:00
83329c6076
Added project configuration documentation (incomplete) 2023-10-09 20:42:40 -04:00
79b5bafd3e
Added phplib section 2023-10-09 18:55:46 -04:00
de9ee13aa1
Directory paths corrected in \ncc\Classes\PhpExtension\Templates > LibraryTemplate 2023-10-09 18:25:00 -04:00
97f31399e3
Minor correction 2023-10-09 16:56:20 -04:00
a69a705451
Added phpcli section 2023-10-09 16:53:06 -04:00
6d39f1da13
Various changes and corrections 2023-10-09 16:29:44 -04:00
f24caf0799
Added package inspection command to DOCUMENTATION.md 2023-10-08 21:52:14 -04:00