Redub v1.7.1 : Even faster dependency resolution and vibe-d support

Hipreme msnmancini at hotmail.com
Tue Jul 9 21:39:20 UTC 2024


Hello guys, in the last time, I told that I would not support 
vibe-d. This was purely on how many features I would need to 
implement to support it. But after a second thought, I saw that 
it would be a great opportunity to make it way more consistent. 
With that, I announce

# [Redub v1.7.1](https://code.dlang.org/packages/redub):

Some changes since the last announce:


## Additions:
- Support for -m64/-m32
- Missing version * on dub.json
- Optional dependencies handling support
- Caching to SDL conversion so only the first run is slow
- copyFiles, extraDependencyFiles and debugVersions
- Support for ISA on dub.json
- Support for setting parallelization mode on redub (leaves and 
no)
- Support for shared libraries as dependency
- --combined build
- Support for single threaded builds
- Auto infers to be no incremental when having more than 3 
dependencies
- Incremental compilation removal by default so it builds faster 
on windows
- Search for compiler when the default is not dmd
- Escaping paths and now using library full path instead of using 
library search path
- Glob matching for file exclusion
- Encourage message for updating to the newest version
- Support for arch mapping. Fixes #9
- Error string showing redub and compiler version on error
- Support for build type of none

## Improvements
- Version resolution by creating a memory cache
- Version resolution when using a subPackage as a dependency
- Various reductions in memory allocation
- Made adv diff slightly faster
- Performance on parsing local packages
- Optional dependencies are now resolved later so they can be 
included
- Faster check on adv_diff, with an improvement in caching check
- Optimization on redub cache, now creating a root cache 
separately instead inside a single json file
- Print local packages being used

## Fixes:

- Library dependencies when inside sourceFiles
- Merge between parent and child versions
- copyFiles now has the same behavior from dub.
- Now correctly excluding optional dependencies with dependencies
- Now betterC is excluded from the flags to merge
- Removed hidden files from the included source files
- Better support on caching webassembly, shared library 
dependencies, and now correctly inferring ISA from the build 
command
- Bug where executeShell was replacing values on the command line 
and not sending correctly to the linker
- Now considering local package's version
- Support for spaced file
- Now parsing lflags and libraries on environment
- Bug where some import paths weren't being considered
- Default configuration would try to be merged if it was a root 
requirement
- Improve message and change what was being fetched
- Dub fetch for some packages specifications


Since this is a single person project, if you wish to use, the 
most stable version should be always ~master. It is highly 
recommended to only use the newest version.


More information about the Digitalmars-d-announce mailing list