Nosial Code Compiler is a multi-purpose compiler and development toolkit written in PHP.
Find a file
Zi Xing d03f31fe6a # pkgmngr
This merge introduces a fully implemented package manager, various optimizations and changes to extension compiler php.

 - Implemented proper log error levels for the CLI (So stuff like `--log` and `-l` will work, and when using `verbose` or `debug` levels, special effects such as the inline progress bar will not be shown.
 - Implemented `--no-color`
 - Various bug fixes and minor optimizations to the code-base
 - Fixed various installer bug
 - Added some more documentation (But it's unfinished)

## Resolved issues & Work Items checklist

A list of issues that this merge resolves or is in progress of resolving

 - [  issue #21 ](https://git.n64.cc/nosial/ncc/-/issues/21) **Add first-time install program files to be constructed** - 
Commit [b8c88bf4226e88760df221bb95070b8c34f3768d](b8c88bf422) addresses this issue by implementing a method that initializes non-existent directories & files and setting the correct permissions for their intended purpose
 - [  Work Item #14 ](https://git.n64.cc/nosial/ncc/-/work_items/15) **Implement a CLI command to display all installed packages on the system** - Commit [3e52a30096653e3bf212b4e7e36ce6f94d245ee3](3e52a30096) Implements a CLI command by implementing a method to walk through the PackageLock and display all the installed packages indicated by the current PackageLock state
 - [  Work Item #13 ](https://git.n64.cc/nosial/ncc/-/work_items/14) **Implement a CLI command for uninstalling packages** - By result this also resolves [Work Item #12](https://git.n64.cc/nosial/ncc/-/work_items/13) **Implement Uninstaller** with commit [8da4f532a146d626db1ee388eeb763ae14523589](8da4f532a1), [263f50a6680f26c47c04c92941ac9cc82b2b43d3](263f50a668) & [2390c6395cc60a5221a0c3064283200ed47273da](2390c6395c) by implementing uninstallation methods to the PackageManager & into the CLI Menu for Package Managing
 - [  Work Item #10 ](https://git.n64.cc/nosial/ncc/-/work_items/11) **Implement Installer**
 - [  Work item #9 ](https://git.n64.cc/nosial/ncc/-/work_items/10) **Create PackageManager Class and implement Install() method**
 - [  Work item #8 ](https://git.n64.cc/nosial/ncc/-/issues/8) **Implement Package Manager**
 - [  Work item #7 ](https://git.n64.cc/nosial/ncc/-/issues/7) **Implement PackageLock**
2022-11-25 06:50:48 +00:00
.idea commit c64c037b4265d8e5bd57667652aa2c4399b9721b 2022-11-25 06:50:47 +00:00
assets commit c64c037b4265d8e5bd57667652aa2c4399b9721b 2022-11-25 06:50:47 +00:00
docs commit c64c037b4265d8e5bd57667652aa2c4399b9721b 2022-11-25 06:50:47 +00:00
src commit c64c037b4265d8e5bd57667652aa2c4399b9721b 2022-11-25 06:50:47 +00:00
tests commit c64c037b4265d8e5bd57667652aa2c4399b9721b 2022-11-25 06:50:47 +00:00
.gitignore Added dependency jelix/version 2022-10-22 00:44:07 -04:00
DOCUMENTATION.md Added basic DOCUMENTATION.md (unfinished) 2022-05-24 20:32:15 -04:00
LICENSE Added dependency jelix/version 2022-10-22 00:44:07 -04:00
Makefile Updated Makefile to include interfaces when generating an autoloader for NCC 2022-10-22 09:07:42 -04:00
README.md Implemented build method for building packages 2022-10-23 16:21:41 -04:00

NCC NCC

Nosial Code Compiler is a program written in PHP designed to be a multi-purpose compiler, package manager and toolkit. This program is a complete re-write of the now defunct PHP Package Manager (PPM) toolkit offering more features, security and proper code licensing and copyrighting for the components used for the project.

NCC Cannot compile, read or use PPM packages (.ppm) files or work with project sources designed to be built with PPM, however a PPM extension may be built in the future to allow for backwards compatibility.

Notes

While NCC has windows compatibility in mind, not all compiler extensions or features will work correctly. NCC is designed to be used in production in a Unix environment and Windows should only be used for development purposes.

Compiler extensions requires their own set of dependencies to be met, for example Java compilers will require JDK

NCC is designed to run only on a PHP 8.0+ environment, compiler extensions can have support for different PHP versions.

Third-party dependencies and included libraries has a dedicated namespace for ncc to avoid user land conflicts if the user wishes to install and use one of the same dependencies that NCC uses.

Authors

Special Thanks

  • Copyright (c) 2022-2022, Nosial - All Rights Reserved
  • Copyright (c) 2004-2022, Fabien Potencier
  • Copyright (c) 2010, dealnews.com, Inc. All rights reserved.
  • Copyright (c) 2013 Austin Hyde
  • Copyright (C) 2009-2016 Laurent Jouanneau
  • Copyright (c) 2011, Nikita Popov
  • Copyright (c) 2010-2016 Arne Blankerts arne@blankerts.de and Contributors

Licenses

Multiple licenses can be found at LICENSE