-
2.1.6 Stable
released this
2024-10-29 16:38:51 +00:00 | 605 commits to master since this releaseThis update introduces critical bug fixes
Fixed
- Validate package instance before checking execution policy
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
8 downloads
-
2.1.4 Stable
released this
2024-10-13 18:55:03 +00:00 | 610 commits to master since this releaseThis update introduces minor bug fixes & improvements
Added
- Added new constant
%DEFAULT_BUILD_CONFIGURATION%which points to the project's default build configuration - Added new dynamic constant
%BUILD_OUTPUT_PATH%which can be used as%BUILD_OUTPUT_PATH%:releaseto show the
output path of a specific build configuration - Refactor CI templates to support dynamic build targets
- Added template
phpexe&phpgzfor generating executable binaries and compressed executables for the project
Changed
- Refactor phpmake template to support dynamic build targets
Fixed
- ncc will now correctly handle package execution where the main unit is not defined in the package instead of
throwing an exception. - Executable Compiler will now correctly create a directory if it does not exist when compiling a package using gcc
Downloads
-
Source code (ZIP)
8 downloads
-
Source code (TAR.GZ)
8 downloads
- Added new constant
-
2.0.4 Stable
released this
2023-10-26 02:05:25 +00:00 | 799 commits to master since this releaseThis update introduces minor bug fixes.
Added
- Added host resolving in network calls to improve the handling of invalid or unreachable URLs
- Added the ability to use 'all' as a build configuration when running
ncc build, to build all build configurations
in the project.
Changed
- Update progress bar text to display basename only
- Updated exception handling in PackageReader
- Updated the Download function to attempt to retry the download upon an error for at least 3 times.
Fixed
- Improve build efficiency by preventing duplicate merges
- Updated file tracking in Runtime class
- Fixed division by zero in ConsoleProgressBar
- Fixed issue where progress bar is displayed in VERBOSE mode
- Set default process timeouts to null
- Fixed issue where a newline is sometimes added to the end of a download output due to how short the download process
was, mitigated the issue by enforcing a "done" update at the end of the download process - Fixed issue where all development dependencies were not correctly being added to debug builds in composer projects,
instead these dependencies were added globally to the build configuration. This issue was fixed by adding all the
development dependencies to the debug build configurations only. - Fixed issue when creating a shadow copy of a package, if the universe aligns together and the cosmos unit together to
produce a package length exactly to where the end-of-package byte sequence is cut in half, the shadow copy will fail
to be created due to the end-of-package byte sequence being cut in half, this issue was fixed by reading the package
in chunks to determine the end-of-package byte sequence.
Downloads
-
Source code (ZIP)
7 downloads
-
Source code (TAR.GZ)
9 downloads
-
ncc-2.0.4.deb
10 downloads ·
2023-10-26 02:05:25 +00:00 · 0 B -
ncc-2.0.4.tar.gz
6 downloads ·
2023-10-26 02:05:25 +00:00 · 0 B
-
2.0.3 Stable
released this
2023-10-18 01:46:47 +00:00 | 799 commits to master since this releaseThis update includes enhanced support for PHP statements in AST traversal, a friendly CLI Progress Bar, and fixes
related to package version searching, ncc's extension registration, and error handling in PackageManagerMenu.
The changes improve the system's efficiency, error resilience, and user experience.Added
- 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. - Added new
ConsoleProgressBarclass for UI improvement, imrpoved the CLI Progress Bar inspired by
pacman
Fixed
- 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. - 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 theregisterExtensionmethod to allow the installer to pass
the correct installation path. - Add error handling for unspecified package in PackageManagerMenu
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
7 downloads
-
ncc-2.0.3.deb
12 downloads ·
2023-10-18 01:46:47 +00:00 · 0 B -
ncc-2.0.3.tar.gz
7 downloads ·
2023-10-18 01:46:47 +00:00 · 0 B -
repo.n64.cc:443/nosial/ncc:2.0.3
10 downloads ·
2023-10-18 01:46:47 +00:00 · 0 B -
repo.n64.cc:443/nosial/ncc:2.0.3-debian
14 downloads ·
2023-10-18 01:46:47 +00:00 · 0 B
- Implemented support in the AST traversal for the PHP statements
-
2.0.2 Stable
released this
2023-10-13 05:33:52 +00:00 | 805 commits to master since this releaseIn this new update, the software introduces a feature for importing static packages without extra dependencies and
supports pulling static versions of packages from repositories. Changes include enhanced security through an updated
fetchPackage method along with improvements in dependency imports and extension registration logic for Debian packages.
Finally, bugs related to unnecessary bundling of some build artifacts and mime type errors in ncc-package.xml have
been fixed.Added
- 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. - Added the ability to pull static versions of packages from repositories where package names ending with
-static.ncc
or_static.ncccan be pulled if you use the--prefer-staticor--staticoption when using thepackage install
command. Otherwise, the normal package will be installed, avoiding static versions.
Changed
- Updated fetchPackage method to include authentication
- Update dependencies import in \ncc\Classes > Runtime > importFromPackage()
- Refactor ncc extension registration logic, this also allows for debian packages to install the ncc extension
automatically.
Fixed
- Fixed issue where some build artifacts are being bundled with package builds such as
output_pathandstatic
where they should not be included in the package. - Corrected mistakes in
ncc-package.xmlmime type
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
8 downloads
-
ncc-2.0.2.deb
11 downloads ·
2023-10-13 05:33:52 +00:00 · 0 B -
ncc-2.0.2.tar.gz
7 downloads ·
2023-10-13 05:33:52 +00:00 · 0 B -
repo.n64.cc:443/nosial/ncc:2.0.2
11 downloads ·
2023-10-13 05:33:52 +00:00 · 0 B -
repo.n64.cc:443/nosial/ncc:2.0.2-debian
12 downloads ·
2023-10-13 05:33:52 +00:00 · 0 B
- Added support for importing static packages from the system, allowing you to install static packages onto your
-
2.0.1 Stable
released this
2023-10-11 21:39:01 +00:00 | 817 commits to master since this releaseAdded a new feature in
ProjectManager.phpthat allows automatic installation of a project's dependencies. The
installDependenciesfunction eases the task of separately installing each dependency. Now, both public and private
dependencies can be installed collectively using the 'install' command added inProjectMenu.php. This functionality
is further documented inDOCUMENTATION.mdAdded
- Add functionality to install project dependencies with the new
project installcommand inProjectMenu.php
Fixed
- Correct exception message for configuration property in
\ncc\Objects\ProjectConfiguration\Build > BuildConfiguration > fromArray()
Downloads
-
Source code (ZIP)
7 downloads
-
Source code (TAR.GZ)
8 downloads
-
ncc-2.0.1.deb
13 downloads ·
2023-10-11 21:39:01 +00:00 · 0 B -
ncc-2.0.1.tar.gz
8 downloads ·
2023-10-11 21:39:01 +00:00 · 0 B -
repo.n64.cc:443/nosial/ncc:2.0.1
8 downloads ·
2023-10-11 21:39:01 +00:00 · 0 B -
repo.n64.cc:443/nosial/ncc:2.0.1-debian
15 downloads ·
2023-10-11 21:39:01 +00:00 · 0 B
- Add functionality to install project dependencies with the new
-
2.0.0 Stable
released this
2023-10-10 23:12:51 +00:00 | 825 commits to master since this releaseThis update introduces major changes in the codebase, including the removal of Win32 support, and the addition of new
features. This is the Mk II of ncc, and it is a major update, so please read the changelog carefully.Known issues
requireandincludestatements are not supported; when running a program directly, this feature will be added in
a future update. Using these statements will result in files not being found.
Added
LICENSE.md&license.mdare now detected as license files in\ncc\Classes\ComposerExtension > ComposerSourceBuiltin > convertProject()- Added new exception
PathNotFoundExceptionand implemented it in replacement forDirectoryNotFoundExceptionand
FileNotFoundExceptionin\ncc\Exceptions - Added a new interface class
BytecodeObjectInterfacewhich will be used to implement object types for compiled assets - Added new exception
GitExceptionin\ncc\Exceptionsto replace all git related exceptions - Added new exception
PackageExceptionin\ncc\Exceptionsto replace all package related exceptions - Added new exception
OperationExceptionin\ncc\Exceptionsto replace all generic related exceptions - Added a new interface class
SerializableObjectInterfaceto implement serializable objects,BytecodeObjectInterface
extends this interface to allow for serialization of compiled assets - Added a new interface class
ValidatableObjectInterfaceto implement validatable objects, this method will throw a
ConfigurationExceptionif the object is not valid or aNotSupportedExceptionif the object contains methods that
are not supported by the current version of ncc or project. - Added a new interface class
TemplateInterfaceto implement template classes - Added new template PhpCliTemplate
phpcli - Added new template PhpLibraryTemplate
phplib - Added the ability to clean arrays in
\ncc\Utilities > Functions > cleanArray() - Added the ability to compile executable binaries for php using
gcc - Added support for Gitea repositories
- Added support for Packagist repositories
- Added a new default gitea repository
nocturn9xgit.nocturn9x.space - Added a new default gitea repository
martinvlbagit.martinvlba.eu - Added a new default gitea repository
kunygit.it-kuny.ch - Added dependency
composer/semverversion 3.4.0 for composer version comparison compatibility - Added new class
\ncc\Classes > ArchiveExtractorto extract multiple archive types
Fixed
- Fixed MITM attack vector in
\ncc\Classes > HttpClient > prepareCurl() - Fixed all @throw tags in the project to use the correct exception class
- Fixed hash comparisons to use
hash_equalsimplementations to combat against Timing Attacks
Changed
- Corrected code-smell and code style issues in
\ncc\Classes > HttpClient - Corrected code-smell and code style issues in
\ncc\Classes > BashExtension > BashRunner - Corrected code-smell and code style issues in
\ncc\Classes > ComposerExtension > ComposerSourceBuiltin - Corrected code-smell and code style issues in
\ncc\Classes > GithubExtension > GithubService - Corrected code-smell and code style issues in
\ncc\Classes > GitlabExtension > GitlabService - Corrected code-smell and code style issues in
\ncc\Classes > NccExtension > ConstantCompiler - Renamed
Abstractsnamespace toEnums - Updated class type to "final class" in
\ncc\Enums\Options > BuildConfigurationValues - Updated class type to "final class" in
\ncc\Enums\Options > InitializeProjectOptions - Updated class type to "final class" in
\ncc\Enums\Options > InstallPackageOptions - Updated class type to "final class" in
\ncc\Enums\SpecialConstants > AssemblyConstants - Updated class type to "final class" in
\ncc\Enums\SpecialConstants > BuildConstants - Updated class type to "final class" in
\ncc\Enums\SpecialConstants > DateTimeConstants - Updated class type to "final class" in
\ncc\Enums\SpecialConstants > InstallConstants - Updated class type to "final class" in
\ncc\Enums\SpecialConstants > RuntimeConstants - Updated class type to "final class" in
\ncc\Enums > AuthenticationType - Updated class type to "final class" in
\ncc\Enums > CompilerExtensionDefaultVersions - Updated class type to "final class" in
\ncc\Enums > CompilerExtensions - Updated class type to "final class" in
\ncc\Enums > CompilerExtensionSupportedVersions - Updated class type to "final class" in
\ncc\Enums > ComponentDataType - Updated class type to "final class" in
\ncc\Enums > ComponentFileExtensions - Updated class type to "final class" in
\ncc\Enums > ComposerPackageTypes - Updated class type to "final class" in
\ncc\Enums > ComposerStabilityTypes - Updated class type to "final class" in
\ncc\Enums > EncoderType - Updated class type to "final class" in
\ncc\Enums > ExceptionCodes - Updated class type to "final class" in
\ncc\Enums > HttpRequestType - Updated class type to "final class" in
\ncc\Enums > HttpStatusCodes - Updated class type to "final class" in
\ncc\Enums > LogLevel - Updated class type to "final class" in
\ncc\Enums > NccBuildFlags - Updated class type to "final class" in
\ncc\Enums > PackageStandardVersions - Updated class type to "final class" in
\ncc\Enums > PackageStructureVersions - Updated class type to "final class" in
\ncc\Enums > ProjectType - Updated class type to "final class" in
\ncc\Enums > RegexPattern - Updated class type to "final class" in
\ncc\Enums > RemoteSourceType - Updated class type to "final class" in
\ncc\Enums > Runners - Updated class type to "final class" in
\ncc\Enums > Scopes - Updated class type to "final class" in
\ncc\Enums > Versions - Corrected code-smell and code style issues in
src/installer/hash_check.php - Corrected code-smell and code style issues in
\ncc\Managers > ProjectManager - Corrected code-smell and code style issues in
\ncc\Objects\NccVersionInformation > Component - Corrected code-smell and code style issues in
\ncc\Objects\Package > Component - Corrected code-smell and code style issues in
\ncc\Managers > ConfigurationManager - Corrected code-smell and code style issues in
\ncc\Managers > CredentialManager - Refactored
\ncc\Utilities > PathFinderto remove all Win32 references - Corrected code-smell and code style issues in
\ncc\Objects > ExecutionPointers - Corrected code-smell and code style issues in
\ncc\Managers > ExecutionPointerManager - Corrected code-smell and code style issues in
\ncc\Utilities > Functions - Corrected code-smell and code style issues in
\ncc\Managers > PackageManager - Corrected code-smell and code style issues in
\ncc\Utilities > IO - Corrected code-smell and code style issues in
\ncc > ncc - Corrected code-smell and code style issues in
\ncc\CLI > Main - Corrected code-smell and code style issues in
\ncc\Objects > Package - Corrected code-smell and code style issues in
\ncc\Classes\NccExtension > PackageCompiler - Corrected code-smell and code style issues in
\ncc\CLI > PackageManagerMenu - Corrected code-smell and code style issues in
\ncc\Classes\PhpExtension > PhpCompiler - Corrected code-smell and code style issues in
\ncc\Classes\PhpExtension > PhpInstaller - Corrected code-smell and code style issues in
\ncc\Classes\PhpExtension > PhpRunner - Corrected code-smell and code style issues in
\ncc\Objects > ProjectConfiguraiton - Corrected code-smell and code style issues in
\ncc\Managers > ProjectManager - Corrected code-smell and code style issues in
\ncc\Classes\Extensions\PythonExtension > Python2Runner - Corrected code-smell and code style issues in
\ncc\Classes\Extensions\PythonExtension > Python3Runner - Corrected code-smell and code style issues in
\ncc\Classes\Extensions\PythonExtension > PythonRunner - Corrected code-smell and code style issues in
\ncc\Interfaces > RunnerInterface - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects > Package - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects > Vault - Corrected code-smell and code style issues in
\ncc\Objects > Vault - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects > ProjectConfiguration - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects > ExecutionPointers - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects > DefinedRemoteSource - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\Vault > Entry - Corrected code-smell and code style issues in
\ncc\Objects\Vault\Password > AccessToken - Corrected code-smell and code style issues in
\ncc\Objects\Vault\Password > UsernamePassword - Extended
PasswordInterfacewithBytecodeObjectInterface - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\SymlinkDictionary > SymlinkEntry - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration > UpdateSource - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration > Project - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration > Installer - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration > ExecutionPolicy - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration > Dependecy - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration > Compiler - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration > Build - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration > Assembly - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration\UpdateSource > Repository - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration\ExecutionPolicy > Execute - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration\ExecutionPolicy > ExitHandle - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration\ExecutionPolicy > ExitHandlers - Implemented interface
BytecodeObjectInterfaceinto\ncc\Objects\ProjectConfiguration\Build > BuildConfiguration - Updated
\ncc\Classes > GitClient > cloneRepository()to throwGitExceptioninstead ofGitCloneException - Updated
\ncc\Classes > GitClient > checkout()to throwGitExceptioninstead ofGitCheckoutException - Corrected code-smell and code style issues in
\ncc\Objects > PackageLock - Corrected code-smell and code style issues in
\ncc\Classes\PhpExtension > PhpRuntime - Updated class
\ncc\Objects\ProjectConfiguration > Dependencyto use method calls rather than direct property access - Updated class
\ncc\Objects\ProjectConfiguration\Build > BuildConfigurationto use method calls rather than direct
property access - Updated class
\ncc\Objects\ProjectConfiguration\ExecutionPolicy > Executeto use method calls rather than direct
property access - Changed all uppercase occurrences of
NCCtonccin the entire project - Corrected code-smell and code style issues in
\ncc\Utilities > Base64 - Corrected code-smell and code style issues in
\ncc\Utilities > Console - Updated class
\ncc\Objects\ProjectConfiguration\ExecutionPolicy > ExitHandleto use method calls rather than direct
property access - Updated class
\ncc\Objects\ProjectConfiguration\ExecutionPolicy > ExitHandlersto use method calls rather than
direct property access - Updated class
\ncc\Objects\ProjectConfiguration\UpdateSource > Repositoryto use method calls rather than direct
property access - Updated class
\ncc\Objects\ProjectConfiguration > Assemblyto use method calls rather than direct property access - Updated class
\ncc\Objects\ProjectConfiguration > Buildto use method calls rather than direct property access - Updated class
\ncc\Objects\ProjectConfiguration > Compilerto use method calls rather than direct property access - Updated class
\ncc\Objects\ProjectConfiguration > ExecutionPolicyto use method calls rather than direct property access - Updated class
\ncc\Objects\ProjectConfiguration > Installerto use method calls rather than direct property access - Updated class
\ncc\Objects\ProjectConfiguration > Projectto use method calls rather than direct property access - Updated class
\ncc\Objects\ProjectConfiguration > UpdateSourceto use method calls rather than direct property access - Updated class
\ncc\Objects\ComposerJson > Authorto use method calls rather than direct property access and
implementedSerializableObjectInterface - Updated class
\ncc\Objects\ComposerJson > Autoloaderto use method calls rather than direct property access and
implementedSerializableObjectInterface - Updated class
\ncc\Objects\ComposerJson > Fundingto use method calls rather than direct property access and
implementedSerializableObjectInterface - Updated class
\ncc\Objects\ComposerJson > NamespacePointerto use method calls rather than direct property access
and implementedSerializableObjectInterface - Updated class
\ncc\Objects\ComposerJson > PackageLinkto use method calls rather than direct property access and
implementedSerializableObjectInterface - Updated class
\ncc\Objects\ComposerJson > Suggestionto use method calls rather than direct property access and
implementedSerializableObjectInterface - Updated class
\ncc\Objects\ComposerJson > Supportto use method calls rather than direct property access and
implementedSerializableObjectInterface - Updated class
\ncc\Objects\ExecutionPointers > ExecutionPointerto use method calls rather than direct property
access and implementedBytecodeObjectInterface - Updated class
\ncc\Objects\NccVersionInformation > Componentto use method calls rather than direct property access
and implementedSerializableObjectInterface - Updated class
\ncc\Objects\Package > Componentto use method calls rather than direct property access and
implementedBytecodeObjectInterface - Updated class
\ncc\Objects\Package > ExecutionUnitto use method calls rather than direct property access and
implementedBytecodeObjectInterface - Updated class
\ncc\Objects\Package > Headerto use method calls rather than direct property access and implemented
BytecodeObjectInterface - Updated class
\ncc\Objects\Package > Installerto use method calls rather than direct property access and implemented
BytecodeObjectInterface - Updated class
\ncc\Objects\Package > MagicBytesto use method calls rather than direct property access and implemented
SerializableObjectInterface - Updated class
\ncc\Objects\Package > Resourceto use method calls rather than direct property access and implemented
BytecodeObjectInterface - Updated class
\ncc\Objects\PackageLock > DependencyEntryto use method calls rather than direct property access
and implementedBytecodeObjectInterface - Updated class
\ncc\Objects\PackageLock > PackageEntryto use method calls rather than direct property access
and implementedBytecodeObjectInterface - Updated class
\ncc\Objects\PackageLock > VersionEntryto use method calls rather than direct property access
and implementedBytecodeObjectInterface - Updated class
\ncc\Objects\SymlinkDictionary > SymlinkEntryto use method calls rather than direct property access - Updated class
\ncc\Objects\Vault\Password > AccessTokento use method calls rather than direct property access - Updated class
\ncc\Objects > CliHelpSectionto use method calls rather than direct property access - Updated class
\ncc\Objects > ComposerJsonto use method calls rather than direct property access - Updated class
\ncc\Objects > ComposerLockto use method calls rather than direct property access - Updated class
\ncc\Objects > DefinedRemoteSourceto use method calls rather than direct property access - Updated class
\ncc\Objects > HttpRequestto use method calls rather than direct property access and implemented
SerializableObjectInterface - Updated class
\ncc\Objects > HttpResponseto use method calls rather than direct property access and implemented
SerializableObjectInterface - Corrected code-smell and code style issues in
\ncc\Objects > HttpResponseCache - Corrected code-smell and code style issues in
\ncc\Objects > InstallationPaths - Updated class
\ncc\Objects > NccVersionInformationto use method calls rather than direct property access and implemented
SerializableObjectInterface - Updated class
\ncc\Objects > Packageto use method calls rather than direct property access and implemented
SerializableObjectInterface - Updated class
\ncc\Objects > PackageLockto use method calls rather than direct property access and implemented
BytecodeObjectInterface - Updated class
\ncc\Objects > ProjectConfigurationto use method calls rather than direct property access - Updated class
\ncc\Objects > ProjectDetectionResultsto use method calls rather than direct property access - Updated class
\ncc\Objects > RemotePackageInputto use method calls rather than direct property access - Updated class
\ncc\Objects > RepositoryQueryResultsto use method calls rather than direct property access - Updated class
\ncc\Objects > Vaultto use method calls rather than direct property access \ncc\Objects\ProjectConfiguration > Compiler: Added Public Constructor to automatically determine the minimum and
maximum supported compiler version for the selected extension\ncc\Objects\ProjectConfiguration > Compiler > fromArray()throws an ConfigurationException if the propertyextensionis null\ncc\Objects\ProjectConfiguration > Compiler > fromArray()throws an NotSupportedException if theextensionuses an
unsupported compiler extension\ncc\Objects\ProjectConfiguration > Compiler > validate()No longer accepts$throw_exceptionand throws an
ConfigurationExceptionorNotSupportedExceptionif the validation fails, otherwise it returnsTrue.\ncc\Objects\ProjectConfiguration > Project > fromArray()Throws anConfigurationExceptionif the propertycompiler
is missing in the project configuration\ncc\Objects > ProjectConfiguration > fromArray()Throws anConfigurationExceptionif the property 'project' is
missing in the root configuration\ncc\Objects\ProjectConfiguration > Project > __construct()now requires the parameter$compiler\ncc\Objects\ProjectConfiguration > Dependency > __construct()now requires the parameters$name,$source_type,
$sourceand$version\ncc\Objects\ProjectConfiguration > Dependency > fromArray()Throws anConfigurationExceptionif the property
nameis missing in the dependency configuration- Also updated a bunch of objects in a similar fashion to the ones above, (BuildConfiguration, Execute, ExitHandle,
ExitHandler, Repository, Assembly, Build, Dependency, ExecutionPolicy, Installer, Project, UpdateSource) I'm not
going to list them all here, but you can find them in the commit history. - Implemented a template engine and refactored the CLI menu for the Project Manager and added a new
templatecommand - Refactored the entire package structure to ncc package structure 2.0 for memory efficiency and performance
- Refactored execution unit system to use a new execution pointer system
- Refactored
PhpRunnerto use the new execution pointer system - Refactored
BashRunnerto use the new execution pointer system - Refactored
LuaRunnerto use the new execution pointer system - Refactored
PerlRunnerto use the new execution pointer system - Refactored
PythonRunnerto use the new execution pointer system - Refactored
\ncc\Objects > RemoteRepository - Refactored the repository system
- Refactored Github's repository interface
- Refactored Gitlab's repository interface
- Refactored SourcesMenu in the CLI to use the new repository system
- Updated dependency
nikic/php-parserto version 4.17.1 - Added a simple security measure in
\ncc\Objects\Value > Entry > unlock()to delay returns randomly when the password
is incorrect - Refactored the CLI menu system to use a return exit code system
- Updated the installer to remove unused components and installation steps
- Updated dependency
Symfony/Filesystemto 6.3.1 - Updated dependency
Symfony/polyfill-ctypeto 1.28.0 - Enforced credential storage security by applying
600permissions to the storage file so that only the owner can
read/write to the file, this will require root to do anything with the credential file. A password will still be
needed to decrypt entries in the file if any entries are encrypted. - Updated dependency
Symfony/polyfill-mbstringto 1.28.0 - Updated dependency
Symfony/polyfill-uuidto 1.28.0 - Updated dependency
Symfony/Processto 6.3.4 - Updated dependency
Symfony/Uidto 6.3.0 - Updated dependency
Symfony/Yamlto 6.3.3 - Refactored ZiProto
Removed
- Removed
FileNotFoundExceptionandDirectoryNotFoundExceptionfrom\ncc\Exceptions - Removed the use of
InvalidScopeExceptionacross the project - Removed references of Win32 from the project as Windows is not going supported
- Removed unused exception
FileNotFoundExceptionin\ncc\CLI > HelpMenu - Removed unused class
\ncc\Objects > SymlinkDictionary - Removed unused exception
GitCloneExceptionin\ncc\Exceptionsin favor ofGitException - Removed unused exception
GitCheckoutExceptionin\ncc\Exceptionsin favor ofGitException - Removed unused exception
GithubServiceExceptionin\ncc\Exceptionsin favor ofGitException - Removed unused exception
GitTagsExceptionin\ncc\Exceptionsin favor ofGitException - Removed unused exception
GitlabServiceExceptionin\ncc\Exceptionsin favor ofGitException - Removed unused exception
UnsupportedArchiveExceptionin\ncc\Exceptionsin favor ofArchiveException - Removed unused exception
NotImplementedExceptionin\ncc\Exceptionsin favor ofNotSupportedException - Removed unused exception
UnsupportedCompilerExtensionExceptionin\ncc\Exceptionsin favor ofNotSupportedException - Removed unused exception
UnsupportedExtensionVersionExceptionin\ncc\Exceptions(not used) - Removed unused exception
UnsupportedComponentTypeExceptionin\ncc\Exceptionsin favor ofNotSupportedException - Removed unused exception
UnsupportedPackageExceptionin\ncc\Exceptions(not used) - Removed unused exception
UnsupportedRemoteTypeSourcein\ncc\Exceptions(not used) - Removed unused exception
UnsupportedProjectTypeExceptionin\ncc\Exceptions(not used) - Removed unused exception
InvalidProjectConfigurationExceptionin\ncc\Exceptionsin favor ofConfigurationException - Removed unused exception
InvalidScopeExceptionin\ncc\Exceptionsin favor ofInvalidArgumentException(standard php) - Removed unused exception
InvalidCredentialsEntryExceptionin\ncc\Exceptions(not used) - Removed unused exception
ComponentNotFoundExceptionin\ncc\Exceptionsin favor ofConfigurationException - Removed unused exception
InvalidPackageNameExceptionin\ncc\Exceptions(not used) - Removed unused exception
InvalidVersionNumberExceptionin\ncc\Exceptions(not used) - Removed unused exception
InvalidProjectExceptionin\ncc\Exceptionsin favor ofConfigurationException - Removed unused exception
InvalidProjectNameExceptionin\ncc\Exceptionsin favor ofConfigurationException - Removed unused exception
BuildConfigurationNotFoundExceptionin\ncc\Exceptionsin favor ofConfigurationException - Removed unused exception
InvalidBuildConfigurationExceptionin\ncc\Exceptions(not used) - Removed unused exception
InvalidPropertyValuein\ncc\Exceptionsin favor ofConfigurationException - Removed unused exception
InvalidVersionConfigurationin\ncc\Exceptions(not used) - Removed unused exception
InvalidDependencyConfiguraitonin\ncc\Exceptions(not used) - Removed unused exception
ProjectConfigurationNotFoundExceptionin\ncc\Exceptionsin favor ofConfigurationException - Removed unused exception
UndefinedExecutionPolicyExpectionin\ncc\Exceptionsin favor ofConfigurationException - Removed unused exception
InvalidExecutionPolicyNamein\ncc\Exceptions(not used) - Removed unused exception
AccessDeniedExceptionin\ncc\Exceptionsin favor ofAuthenticationException - Removed unused exception
HttpExceptionin\ncc\Exceptionsin favor ofNetworkException - Removed unused exception
ComposerDisabledExceptionin\ncc\Exceptionsin favor ofComposerException - Removed unused exception
ComposerNotAvailablein\ncc\Exceptionsin favor ofComposerException - Removed unused exception
InternalComposerNotAvailablein\ncc\Exceptionsin favor ofComposerException - Removed unused exception
PackagePreperationFailedExceptionin\ncc\Exceptionsin favor ofPackageException - Removed unused exception
PackageParsingExceptionin\ncc\Exceptionsin favor ofPackageException - Removed unused exception
MissingDependencyExceptionin\ncc\Exceptions(not used) - Removed unused exception
PackageAlreadyInstalledExceptionin\ncc\Exceptionsin favor ofPackageException - Removed unused exception
PackageFetchExceptionin\ncc\Exceptionsin favor ofPackageException - Removed unused exception
PackageNotFoundExceptionin\ncc\Exceptionsin favor ofPackageException - Removed unused exception
ConstantReadonlyExceptionin\ncc\Exceptionsin favor ofIntegrityException&\InvalidArgumentException - Removed unused exception
InvalidConstantNamein\ncc\Exceptionsin favor forIntegrityException - Removed unused exception
ComponentDecodeExceptionin\ncc\Exceptionsin favor forIntegrityException - Removed unused exception
ResourceChecksumExceptionin\ncc\Exceptionsin favor forIntegrityException - Removed unused exception
AutoloadGeneratorExceptionin\ncc\Exceptionsin favor forIOException - Removed unused exception
SymlinkExceptionin\ncc\Exceptionsin favor forIOException - Removed unused exception
PackageLockExceptionin\ncc\Exceptionsin favor forIOException - Removed unused exception
UnitsNotFoundExceptionin\ncc\Exceptions(not used) - Removed unused exception
NoAvailableUnitsExceptionin\ncc\Exceptionsin favor forOperationException - Removed unused exception
InstallationExceptionin\ncc\Exceptionsin favor forOperationException - Removed all unused exceptions from the project, reduced the number of exceptions in total.
- Removed unused
scopeproperty from\ncc\Objects\ProjectConfiguration > Build - Removed unused
\ncc\Objects > NccUpdateInformation - Removed unused
\ncc\Objects > PhpConfiguration - Removed parameter
$throw_exceptionfrom\ncc\Objects\ProjectConfiguration > Project > validate() - Removed dependency
theseer\Autoloadin favor of ncc's own autoloader (screw you Arne Blankerts) - Removed runners
Python2&Python3in favor ofPython - Removed
\ncc\Classes\NccExtension > Runnerin favor of the new Execution Unit system - Removed
\ncc\Managers > ExecutionPointerManagerin favor of the new Execution Unit system - Removed checksum properties from Component & Resource since they are unused
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
7 downloads
-
ncc-2.0.0.deb
11 downloads ·
2023-10-10 23:12:51 +00:00 · 0 B -
ncc-2.0.0.tar.gz
7 downloads ·
2023-10-10 23:12:51 +00:00 · 0 B -
repo.n64.cc:443/nosial/ncc:2.0.0
9 downloads ·
2023-10-10 23:12:51 +00:00 · 0 B -
repo.n64.cc:443/nosial/ncc:2.0.0-debian
13 downloads ·
2023-10-10 23:12:51 +00:00 · 0 B
-
1.0.3-alpha Stable
released this
2023-08-17 01:07:43 +00:00 | 979 commits to master since this releaseChanged
- Refactored
\ncc\Objects > PackageLock - Updated
defuse\php-encryptionto version 2.4.0 - Updated
\ncc\Classes > GitClient > cloneRepositor()to clone submodules recursively by default - Updated
\ncc\Classes > GitClient > checkout()to update submoudles. - Updated build system for Gitlab
Fixed
- Fixed issue in
\ncc\Managers > ExecutionPointerManager > executeUnit()where if ttyMode is enabled in a non-tty
environment, the process will throw an exception
"/etc/ncc/ThirdParty/Symfony/Process/Process.php:1019 Error: TTY mode requires /dev/tty to be read/writable.", now
ncc will display a warning if TTY mode cannot be enabled
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
7 downloads
- Refactored
-
1.0.2-alpha Stable
released this
2023-06-29 19:55:43 +00:00 | 1041 commits to master since this releaseFixed
- Fixed issue where error states are not properly handled in
ExecutionPointerManagerissue #44 - Updated \ncc\Managers > ExecutionPointerManager > executeUnit to set processes to run forever if a timeout is not set/null
Changed
- Updated
Symfony\Filesystemto version 6.2.5 - Updated
Symfony\polyfill-ctypeto version 1.27.0 - Updated
Symfony\polyfill-mbstringto version 1.27.0 - Updated
Symfony\polyfill-uuidto version 1.27.0 - Updated
Symfony\Processto version 6.2.5 - Updated
Symfony\Uidto version 6.2.5 - Updated
Symfony\Yamlto version 6.2.5 - Updated
\ncc\Managers > PackageManagerto display more logging messages
Added
- Dockerfile for building a docker image of NCC
Downloads
-
Source code (ZIP)
6 downloads
-
Source code (TAR.GZ)
5 downloads
- Fixed issue where error states are not properly handled in
-
1.0.1-alpha Stable
released this
2023-02-07 21:27:41 +00:00 | 1075 commits to master since this releaseAdded
- Added file downloads progress
- Added pass-through arguments to
composercommand, all arguments beginning with--composer-will be passed to thecomposercommand, for example--composer-devwill be passed as--devto thecomposercommand
Fixed
- Bug fix where resources are not decoded correctly when installing packages #31
- Fixed issue where dependency conflicts are thrown even when
--reinstallis used - Properly implemented
composer.enable_internal_composerso that warnings regarding improper configuration values are not thrown - Minor improvements to the CLI interface including fixing
--version
Changed
- File downloads now cache the URL as a pointer to the file reducing the number of times the same file is downloaded
Downloads
-
Source code (ZIP)
5 downloads
-
Source code (TAR.GZ)
3 downloads