Commit graph

268 commits

Author SHA1 Message Date
69de79ccf4 Convert Runners class to enum with string cases 2024-09-13 13:29:40 -04:00
7c9f63955a Update Scopes to enum and adjust scope checks 2024-09-13 13:26:54 -04:00
1ba50cc7ee Convert Versions constants to enum cases 2024-09-13 13:20:12 -04:00
f9047dd0d0 Bumped version to 2.1.0 2024-09-13 13:12:14 -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
d434345c59
Minor corrections 2023-10-13 01:32:21 -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
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
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
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
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
de9ee13aa1
Directory paths corrected in \ncc\Classes\PhpExtension\Templates > LibraryTemplate 2023-10-09 18:25:00 -04:00
a63d148f30
Updated bootstrap_main.c to no longer hard-code "ncc" but find it's execution point instead 2023-10-08 15:40:37 -04:00
09debf85c6
Improved template system 2023-10-08 15:35:20 -04:00
aeccdaea68
\ncc\CLI\Management > ProjectMenu > initializeProject() merged --path|-p option with --name|-n if path is not provided, the Name will be used instead. 2023-10-08 15:24:18 -04:00
0a2cee2a02
Added functionality to remove symlink registrations during the uninstallation process & upgraded fix-broken to also detect broken packages that are installed on the system 2023-10-08 15:13:19 -04:00
6388b27b7a
Removed unused \ncc\Utilities > Functions > convertToSemver() 2023-10-08 12:23:47 -04:00
3f67344a60
Removed unused \ncc\Utilities > Functions > isTtyMode() 2023-10-08 12:23:17 -04:00
32b455576d
Implemented "symlink" registration for system-level packages 2023-10-08 12:20:24 -04:00
b102089d80
Additional improvements to the debian build + a setup command built into ncc 2023-10-06 05:18:24 -04:00
5b57f12365
Added debian build (WIP) 2023-10-06 02:48:32 -04:00
Cybersecbyte [UFOLINUX]
41ec00d136 Remove repo downloading and use local files 2023-10-05 17:33:09 +00:00
Cybersecbyte [UFOLINUX]
bb09222f46 deb support 2023-10-05 16:47:17 +00:00
3a52815213
Added debian stuff & changed the build path to produce ncc-<version> in Makefile 2023-10-04 21:32:34 -04:00
8ce6c68d77
Implemented retry logic for HTTP requests in Repositories 2023-10-04 15:12:56 -04:00
cf7e1aa107
Minor correction in curl handling 2023-10-04 14:41:23 -04:00
d5e28d1f45
Updated PackagistRepository.php to use RuntimeCache for http requests 2023-10-03 19:25:13 -04:00
63411d7d65
Updated GitlabRepository.php to use RuntimeCache for http requests 2023-10-03 19:22:35 -04:00
b689be3bd5
Updated GithubRepository.php to use RuntimeCache for http requests 2023-10-03 19:08:37 -04:00
09977f9f11
Updated GiteaRepository.php to use RuntimeCache for http requests 2023-10-03 18:03:48 -04:00
8549cff119
Refactored RuntimeCache.php 2023-10-03 17:34:09 -04:00
021d5ec750
Corrected argument pass through in \ncc\Manager > PackageManager > downloadFile() where $file_handle is passed to ShutdownHandler::declareTemporaryPath() rather than $file_path 2023-10-03 17:22:12 -04:00
1e0ea848b8
Added check for empty package input 2023-10-03 17:15:01 -04:00
161ef357a2
Added beta flag 2023-10-03 17:12:27 -04:00
0b4dbf6cc1
Minor optimization 2023-10-01 17:47:58 -04:00
01589e509f
Minor correction 2023-10-01 16:35:48 -04:00
c73465e965
Changed output initialization 2023-10-01 16:33:31 -04:00
44a12b66cf
Added check for importing a package from the system 2023-10-01 16:28:57 -04:00
4d317d61ab
Removed unused Constants.php 2023-10-01 16:26:10 -04:00
234c6e955b
Added check for installing dependencies 2023-10-01 16:25:20 -04:00
9bc339d1cb
Merged output_path & output_name build configuration options to output 2023-10-01 14:44:05 -04:00