www.digitalmars.com         C & C++   DMDScript  

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

reply Hipreme <msnmancini hotmail.com> writes:
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

https://code.dlang.org/packages/redub):

Some changes since the last announce:



- 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

- Error string showing redub and compiler version on error
- Support for build type of none


- 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



- 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.
Jul 09
parent aberba <karabutaworld gmail.com> writes:
On Tuesday, 9 July 2024 at 21:39:20 UTC, Hipreme wrote:
 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

 [...]
Does it work with local dependencies? I have a gtk app using a local dependencies and it fails during the linking stage due to a couple on "undefined reference to X" errors. Looks like redub doesn't include the local dependency. ```json "dependencies": { "cosma": { "path": "path/to/package" } } ```
Jul 14