Commit Graph

19 Commits

Author SHA1 Message Date
Yann MAGNIN 1a14f4ca4e vxSDK - 0.12.0-41 : update logger and checkers + small fixes
*update*
> [scripts]
  | [checkers] use the new simplified vxNorm checker API
  | [install] proper handle re-installation cache
  | [install] *REMOVE* update feature
  | [install] better installation handling
> [vxsdk/core]
  | [logger] display log level if other than LOG_USER

*fix*
> [install]
  | fix relative path installation
> [vxsdk/core]
  | [logger] fix VxLogger object creation
  | [build/meta] fix PRIVATE env key generation
  | [core/pkg] fix function exposition for find_pkg (undetected by pylint!)
  | [core/pkg] fix function exposition for clone_pkg (undetected by pylint!)
2023-04-06 18:40:46 +02:00
Yann MAGNIN aa21d9019c vxSDK - 0.12.0-40 : code review (WIP)
*update*
> [common]
  | use the new exposed "VxMmap" class in checkers
  | fix all source file layout
  | fix all source file function name formalism
  | fix all source file import/from order
  | fix all source file __all__ exposition
2023-03-25 19:52:02 +01:00
Yann MAGNIN 6529f1fe1f vxSDK - 0.12.0-39 : code review (WIP)
*update*
> [common]
  | add all python file module docstring
  | use the new exposed "VxMmap" class in checkers
  | add checker for module docstring
  | add checker for line length
  | fix missing __<special file>__.py
2023-03-17 18:25:35 +01:00
Yann MAGNIN 1912cfa6a7 vxSDK - 0.12.0-38 : code review (WIP)
*update*
> [common]
  | add all vxNorm checkers
  | fix all line than take more than 80 chars
2023-03-13 19:55:10 +01:00
Yann MAGNIN 3dbcb34f7c vxSDK - 0.12.0-37 : code review (WIP)
*update*
> [common]
  | fix all pylint notifications
  | proper isolate project core code
  | proper interface for configuration file abstraction
2023-03-11 20:34:08 +01:00
Yann MAGNIN af7e3e6bc9 vxSDK - 0.12.0-34 : build env now support multiple targets
*update*
> [core/build]
  | [cmake] use the new build prefix
  | [dependency] use the new build prefix
  | [env] use the new build prefix
  | [meta] remove `parent_path` property to `build_prefix`
  | [project] use the new build prefix
2023-01-15 21:13:03 +01:00
Yann MAGNIN 24b8b9b1dc VxSDK - 0.12.0-33 : fix ENV handling
*fix*
> [core/build]
  | [env] fix ENV evaluation
  | [env] clean ENV debug logs
2023-01-15 11:58:47 +01:00
Yann MAGNIN e48719072b VxSDK - 0.12.0-32 : update ENV handling
*add*
> [core/build]
  | [env] add "config evaluate" functionality (handle "{<VAR>}" substitution)

*update*
> [cli/build]
  | [default] use the new target handling
> [core/pkg]
  | [clone] isolate default output value
> [core/build]
  | [cmake] support custom toolchain file (using ENV hook)
  | [compile] use the new target and new ENV handling
  | [dependency] generate the complete ENV information for each dependency
  | [dependency] use the new target handling
  | [env] isolate package ENV generation
  | [env] isolate package ENV header information generation
  | [meta] handle package target
  | [meta] `get_env_config()` will now be evaluated before returning
  | [project] isolate package target handling
  | [project] isolate package ENV handling
  | [rules] isolate package ENV generation
  | [rules] default rules now support ENV hooks
  | [rules] support the new target handling
  | [rules] do not capture the build command output

*fix*
> [core/pkg]
  | [clone] handle the case if no version information is provided
> [core/build]
  | [dependency] exit with error if a dependency cannot be cloned
> [core/pkg]
  | [backend/local] proper handle prefix management
  | [clone] proper handle prefix management
2023-01-14 15:20:54 +01:00
Yann MAGNIN 96c18184fd VxSDK - 0.12.0-30 : update ENV handling
@add
> [core/build]
  ¦ [env] isolate ENV handling
  ¦ [meta] add assets prefix handling

@update
> [core/build]
  ¦ [compile] allow multiple assets prefix for the converter
  ¦ [dependency] isolate ENV handling
  ¦ [dependency] handle the new ENV information generation
  ¦ [meta] remove None information with empty type (ex : None -> [])

@fix
> [cli/pkg/search]
  ¦ fix help message
  ¦ special message if not packages has been found with -a or --all
> [core/build]
  ¦ [meta] fix exposed data content
2022-12-10 13:23:51 +01:00
Yann MAGNIN 290ea7ad17 VxSDK - 0.12.0-29 : add default rules + various fix
@notes
The new ENV protocol is not yet properly handled and a huge mistake has been
written when multiple dependencies appear. This problem has been localized
during the generation of the dependency graph and will be fixed in the next
commit.

@add
> [core/build/cmake]
  ¦ add CMake abstractions

@update
> [core/build]
  ¦ [project] allows empty rules information
  ¦ [rules] use the new CMake abstraction and handle default rules

@fix
> [core/build]
  ¦ [dependency] fix ENV merging (see note above)
2022-12-04 18:12:30 +01:00
Yann MAGNIN 357f322d0f VxSDK - 0.12.0-28 : update ENV configuration + update CMake stability
@add
> [core/build/meta] add project ENV configuration handling

@update
> [core/build]
  ¦ [compile] isolate the ENV configuration
  ¦ [compile] clean logs
  ¦ [dependency] proper handle ENV configuration using a new protocol
  ¦ [rules] proper expose vars
  ¦ [rules] proper handle new ENV protocol
> [core/pkg]
  ¦ proper check local package first!
  ¦ proper return empty string instead of None

@fix
> [core]
  ¦ [build/meta] fix rules fetching
  ¦ [build/project] fix missing target behaviour
  ¦ [config] fix (again) missing configuration file behaviour
2022-12-03 17:17:15 +01:00
Yann MAGNIN f963ae1b93 VxSDK - 0.12.0-27 : fix configuration file + preparation for CMake build-system
@update
> [common]
  ¦ rename all log.warning() in log.warn()
> [core/build]
  ¦ [compile] support explicite extra environment variables setup
  ¦ [rules] support explicite extra environment variables setup

@fix
> [__main__]
  ¦ fix error log print
> [core/config]
  ¦ fix exception riasing if the configuration does not exists
2022-11-27 11:17:02 +01:00
Yann MAGNIN 25579ec265 VxSDK - 0.12.0-26 : Refacto project compilation (pre-release PoC)
@update
> [core/build]
  | [compile] proper link all building step (asset, source and installation)
  | [compile] rename exposed API
  | [compile] proper handle step error
  | [compile] proper handle verbose request
  | [dependency] proper use of the new VxProjectMeta isolation
  | [meta] rename non-explicit properties
  | [meta] proper handle parent path information
  | [meta] proper handle "original" pacakge detection
  | [meta] proper handle "extra configuration" information
  | [meta] isolate print debug (WIP)
  | [project] proper isolate data and methods
  | [project] remove useless codes
  | [project] proper support (almost) all methods
  | [rules] *new* rules execution isolation
  | [rules] proper isolate environment creation

@fix
> [core/build]
  | [dependency] fix dependency installation prefix
2022-11-14 20:02:53 +01:00
Yann MAGNIN f3c1646b0a VxSDK - 0.12.0-24 : Refacto build and converter (WIP)
@update
> [cli]
  | [build] proper module formalism
  | [build] proper use the new logger API
  | [build] proper handle target-specific building rules
  | [build] update help message
  | [build] proper "default" handling isolation
  | [build] proper "doctor" handling isolation
  | [conv] proper module formalism
  | [conv] proper use the new logger API
  | [conv] update help messages
  | [conv] proper "vhex-module" declaration
  | [conv] use new semantic for targeting action (`vxsdk conv asset` -> `vxsdk conv-asset`)
  | [conv] use "asset" action by default (vxsdk conv ... == vxsdk conv-asset ...)
  | [conv] proper asset handling isolation
  | [conv] update CLI argument handling for asset generation
> [core]
  | [build] proper "building steps" isolation
  | [build] prepar dependencies building API (WIP)
  | [build] proper use of Directed Acyclic Graph (DAG) for dependencies handling
  | [build] proper dependency handling isolation
  | [build] add documentation
  | [build] clean "project meta" information
  | [conv] proper core module formalism
  | [conv] proper "high-level" API exposition
  | [conv] full-refacto the image generation
  | [conv] lightening internal class
  | [conv] proper data isolation between image and font asset
  | [conv] proper pixel-specific function isolation

@fix
> [core]
  | [build] circular dependencies detection
  | [logger] module symbols exposition
2022-11-11 15:06:39 +01:00
Yann MAGNIN 4d21d36967 VxSDK - 0.12.0-23 : Refacto package part of the vxSDK + refacto logger
@update
> remove threading support
> core/logger
  | use class instead of functions
> __main__
  | use the new logger API
  | update help message
  | use a new "module-loading" methods : (`cli_validate()` and `cli_pase()`)
> cli/build
> core/build
  | expose new module interface for the main "module-loader"
  | use the new logger API
  | change exposed module name ('b' or 'build' -> 'build' only)
  | proper isolate the project-meta parsing
  | update internal comment and documentation
> cli/pkg
> core/pkg
  | expose new module interface for the main "module-loader"
  | use the new logger API
  | update help message
  | rename `vxsdk pkg install` -> `vxsdk pkg clone`
  | remove building steps
  | remove dependencies resolution
  | update backend handling
> core/config
  | proper cache support and I/O management

> cli/config
  | expose new module interface for the main "module-loader"
> cli/conv
  | expose new module interface for the main "module-loader"

@fix
> install.sh
  | fix update display
> cli/pkg
  | fix version display
  | fix CLI argument parsing
2022-11-03 10:43:24 +01:00
Yann MAGNIN e35295deaf VxSDK - 0.12.0-19 : First fonctional version!!
@update
<> cli/build/package
  | use new function signature
  | allow verbose during the building step of the project
  | remove the delayed start for async batch
  | block library build if it's the original package
<> core/pkg
  | use new function signature
  | proper clone and link dependencies
  | change backend package_clone() method signature (remove prefix)

@fix
<> core/async_batch
  | remove the magic destructor to avoid logger lock/unlock error. You must
      involve manually the "stop()" methods each time you want to stop the batch
<> core/build/meta
  | allow "lib" project type
<> core/logs
  | fix lock/unlock mechanism
<> core/pkg/backend/gitea
  | force-expand user configuration for the storage prefix
  | fix git clone subprocess check
<> core/pkg/backend/local
  | fix symbolic link creation if failed
<> core/pkg/version
  | fix version comparison if provided version are not well formatted
2022-08-02 16:36:55 +02:00
Yann MAGNIN e2c20f802c VxSDK - 0.12.0-15 : Threading abstraction (WIP !!)
@add
<> core/async_batch:
  | support threading task
  | allow task adding
  | handle display animation
  | handle task failed
<> core/thread
  | add mutex alias

@update
<> cli/pkg/install
  | use VxProject to build package
  | fully support project build
<> core/build/meta
  | remove unused code blocks
<> core/build/project
  | change build pipeline
  | add dependency graph generation
  | bootstrap project build pipeline
  | use new async task batch system
<> core/logs
  | properly expose logger_input
  | add exclusivity logger primitives
  | allow indent skipping flags
  | return the number of char printed
<> core/pkg
  | allow clone without dependencies
  | generate dependencies information
  | add "extra" package information support
  | remove deprecated "package" part of the module
2022-07-28 19:07:50 +02:00
Yann MAGNIN eeeb6eca51 VxSDK - 0.12.0-13 : Package installation ! (WIP !!)
@add
<> cli/pkg/install
  | add fully support of the installation part (not build part yet)
<> core/config
  | add default value if the "config_get" cannot find the request
  | generate the default value in configuration file if the request is not found
<> core/pkg/__init__
  | add package clone with dependencies

@update
<> cli/pkg/__init__:
  | enable package installation
<> cli/pkg/install
  | expose new parsing entry
  | update the help message
  | refacto argument parsing
<> core/pkg/backend/__init__
  | create default value if not backend is specified by the user
<> core/pkg/backend/gitea
  | move gitea instance URL in backend loading
  | add more package information (date, author, branch, ...)
  | return list instead of tuple
  | refacto clone part

@fix
<> cli/pkg/search
  | fix specific version parsing
<> core/build/meta
  | fix exception message
  | replace old "warn()" primitive with "logger(LOG_WARN, ...)"
  | remove the return True at the end of the constructor
2022-07-20 11:31:11 +02:00
Yann MAGNIN d765673f56 VxSDK - 0.12.0-12 : Complete refacto ! (WIP !!)
This commit is the first of a commit series which will introduce the 0.13.0 of
the vxSDK. Many of the dirty architecture will be fixed and all module of the
project will be properly isolated.

@update
<> common:
  | isolate the "core" and the "cli" part
  | remove the old subcommand mechanism
  | refacto the "package" module : only "search" work
  | better log handling
  | better configuration handling
2022-07-19 14:42:58 +02:00
Renamed from vxsdk/build/core/meta.py (Browse further)