*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
*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
*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
*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
@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
@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)
@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
@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
@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
@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
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