pax_global_header 0000666 0000000 0000000 00000000064 14130522175 0014512 g ustar 00root root 0000000 0000000 52 comment=7145f2c3d8f06a64b2012113a9aa3548e1cdbe58
dub-1.27.0/ 0000775 0000000 0000000 00000000000 14130522175 0012353 5 ustar 00root root 0000000 0000000 dub-1.27.0/.codecov.yml 0000664 0000000 0000000 00000001700 14130522175 0014574 0 ustar 00root root 0000000 0000000 # Documentation: https://docs.codecov.io/docs/codecov-yaml
# Validate with: `curl --data-binary @.codecov.yml https://codecov.io/validate`
codecov:
notify:
# We don't want to wait for the CodeCov report
# See https://github.com/codecov/support/issues/312
require_ci_to_pass: false
after_n_builds: 1 # send notifications after the first upload
wait_for_ci: false
bot: dlang-bot
# At Travis, the PR is merged into `master` before the testsuite is run.
# This allows CodeCov to adjust the resulting coverage diff, s.t. it matches
# with the GitHub diff.
# https://github.com/codecov/support/issues/363
# https://docs.codecov.io/v4.3.6/docs/comparing-commits
allow_coverage_offsets: true
coverage:
precision: 3
round: down
range: "80...100"
# Learn more at https://docs.codecov.io/docs/commit-status
status:
project: off
changes: off
patch:
default:
informational: true
comment: false
dub-1.27.0/.editorconfig 0000664 0000000 0000000 00000000244 14130522175 0015030 0 ustar 00root root 0000000 0000000 root = true
[*.{c,h,d,di,dd,json}]
end_of_line = lf
insert_final_newline = true
indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
charset = utf-8
dub-1.27.0/.github/ 0000775 0000000 0000000 00000000000 14130522175 0013713 5 ustar 00root root 0000000 0000000 dub-1.27.0/.github/issue_template.md 0000664 0000000 0000000 00000001111 14130522175 0017252 0 ustar 00root root 0000000 0000000
### System information
- **dub version**: (e.g. dub 1.3.0)
- **OS Platform and distribution**: (e.g. Windows 10, Linux Ubuntu 16.04)
- **compiler version** (e.g. dmd-2.074.1)
### Bug Description
### How to reproduce?
### Expected Behavior
### Logs
dub-1.27.0/.github/workflows/ 0000775 0000000 0000000 00000000000 14130522175 0015750 5 ustar 00root root 0000000 0000000 dub-1.27.0/.github/workflows/main.yml 0000664 0000000 0000000 00000004676 14130522175 0017434 0 ustar 00root root 0000000 0000000 # Cross platform tests for DUB
name: Testsuite
# Only triggers on pushes to master & stable, as well as PR to master and stable
# Sometimes reverts appear in the upstream repository (e.g. when the revert button
# is clicked by a contributor with commit access), this should be tested as PR).
#
# Also note that Github actions does not retrigger on target branch changes,
# hence the check on push.
on:
pull_request:
branches:
- master
- stable
push:
branches:
- master
- stable
# Use this branch name in your fork to test changes
- github-actions
jobs:
main:
name: Run
strategy:
# Default, disable if you want to debug
fail-fast: false
matrix:
# Latest stable version, update at will
os: [ macOS-10.15, ubuntu-18.04, windows-2019 ]
dc: [ dmd-latest, ldc-latest, dmd-master, ldc-master ]
runs-on: ${{ matrix.os }}
steps:
# Install required dependencies
- name: '[OSX] Install dependencies'
if: runner.os == 'macOS'
run: |
brew install pkg-config coreutils
echo "PKG_CONFIG_PATH=/usr/local/opt/openssl@1.1/lib/pkgconfig/" >> $GITHUB_ENV
- name: '[Linux] Install dependencies'
if: runner.os == 'Linux'
run: |
sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev netcat
# Compiler to test with
- name: Prepare compiler
uses: mihails-strasuns/setup-dlang@v1
with:
compiler: ${{ matrix.dc }}
# Checkout the repository
- name: Checkout
uses: actions/checkout@v2
- name: '[POSIX] Test'
if: runner.os != 'Windows'
env:
COVERAGE: false
# The value doesn't matter as long as it's > 2.087
FRONTEND: 2.095.0
run: |
dub build --compiler=${{ env.DC }}
dub run --compiler=${{ env.DC }} --single test/issue2051_running_unittests_from_dub_single_file_packages_fails.d
./scripts/ci/travis.sh
- name: '[Windows] Test'
if: runner.os == 'Windows'
env:
DUB: ${{ github.workspace }}\bin\dub.exe
# Only run `dub test` to run unittests so far,
# the test-suite needs to be overhauled to support Windows
run: |
dub build --compiler=${{ env.DC }}
dub test --compiler=${{ env.DC }}
dub run --compiler=${{ env.DC }} --single test\issue2051_running_unittests_from_dub_single_file_packages_fails.d
cd test
dub --single run-unittest.d
dub-1.27.0/.gitignore 0000664 0000000 0000000 00000002021 14130522175 0014336 0 ustar 00root root 0000000 0000000 *.o
*.obj
*~
.dub
.directory
dub.selections.json
docs.json
__dummy.html
# Ignore build files.
/bin/dub
/bin/__test__library-nonet__
/bin/__test__library__
/bin/dub-test-library
/bin/libdub.a
/bin/dub-*
# Ignore files or directories created by the test suite.
/test/test.log
/test/custom-source-main-bug487/custom-source-main-bug487
/test/3-copyFiles/bin/
/test/ignore-hidden-1/ignore-hidden-1
/test/ignore-hidden-2/ignore-hidden-2
/test/expected-import-path-output
/test/expected-string-import-path-output
/test/expected-describe-data-1-list-output
/test/expected-describe-data-2-dmd-output
/test/expected-issue616-output
/test/describe-project/dummy.dat
/test/describe-project/dummy-dep1.dat
/test/*/main/main
/test/*/*test-library
/test/*/*test-application
/test/*/exec-simple
/test/issue1474/ext/fortytwo.d
*.exe
*.log
# Ignore coverage files
cov/
# Ignore auto-generated docs
/docs
scripts/man/dub*.1.gz
# Ignore generated files for examples
/examples/generated-sources/generated-sources
/examples/generated-sources/source/test.d
dub-1.27.0/ARCHITECTURE.md 0000664 0000000 0000000 00000002436 14130522175 0014564 0 ustar 00root root 0000000 0000000 ## Architecture

## Terminology
- Package
- A locally available version of a dub package, consisting of sources, binaries, and described by it's dub.sdl/json file.
- PackageSupplier
- A source to search and fetch package versions (zip bundles) from.
- PackageManager
- Responsible to manage packages (fetched or add-local packages), and overrides.
- PackageRecipe
- Abstract description of package sources, targets, configurations, and build settings.
- Generator
- Responsible for generating a build recipe (e.g. CMakeLists.txt, VS .sln) for a package, config, and build type. Direct builds (dmd, rdmd) are also implemented as generators.
- PackageDependency
- Unresolved, abstract specification of a dependency, e.g.
dependency "vibe-d" version="~>0.8.1"
.
- DependencyResolver
- Algorithm to resolve package dependencies to specific package versions (dub.selections.json), searching available package versions in package suppliers.
- Target
- A build output like a static library or executable.
- BuildCache
- Caches targets for a specific build id.
dub-1.27.0/CONTRIBUTING.md 0000664 0000000 0000000 00000002476 14130522175 0014615 0 ustar 00root root 0000000 0000000 # Guidelines for Contributing
## Building
You can build a development version of dub using `./build.d`.
When you already have a working dub binary, you can also just run `dub build`, though that won't update the version string.
## Changelog
Every feature addition should come with a changelog entry, see the [changelog/README.md](changelog/README.md) for how to add a new entry. Any `.dd` file is rendered using ddoc and is the same format used across all dlang repos.
For bugfixes make sure to automatically [close the issue via commit message](https://blog.github.com/2013-01-22-closing-issues-via-commit-messages/) (e.g. `fixes #123`), so that they can be listed in the changelog.
## Backwards compatiblity
DUB is a command line tool, as well as a library that can be embedded into other applications. We aim to stay backwards compatible as long as possible and as required by the SemVer specification. For this reason, any change to the public API, as well as to the command line interface, needs to be carefully reviewed for possible breaking changes. No breaking changes are allowed to enter the master branch at this point.
However, to prepare for backwards-incompatible changes that go into the next major release, it is allowed to deprecate symbols, as well as to hide symbols and command line options from the documentation.
dub-1.27.0/LICENSE 0000664 0000000 0000000 00000002151 14130522175 0013357 0 ustar 00root root 0000000 0000000 MIT License
Copyright (c) 2012-2016 RejectedSoftware e.K.
Copyright (c) 2016-2018 D Language Foundation
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
dub-1.27.0/README.md 0000664 0000000 0000000 00000012372 14130522175 0013637 0 ustar 00root root 0000000 0000000 # dub package manager
Package and build manager for [D](http://dlang.org/) applications and libraries.
There is a central [package registry](https://github.com/dlang/dub-registry/) located at .
[](#) [](https://travis-ci.com/dlang/dub) [](https://coveralls.io/r/dlang/dub)
[](https://buildkite.com/dlang/dub)
## Introduction
DUB emerged as a more general replacement for [vibe.d's](http://vibed.org/) package manager. It does not imply a dependency to vibe.d for packages and was extended to not only directly build projects, but also to generate project files (currently [VisualD](https://github.com/rainers/visuald)).
[Mono-D](http://mono-d.alexanderbothe.com/) also supports the use of dub.json (dub's package description) as the project file.
The project's philosophy is to keep things as simple as possible. All that is needed to make a project a dub package is to write a short [dub.json](http://code.dlang.org/publish) file and put the source code into a `source` subfolder. It *can* then be registered on the public [package registry](http://code.dlang.org) to be made available for everyone. Any dependencies specified in `dub.json` are automatically downloaded and made available to the project during the build process.
## Key features
- Simple package and build description not getting in your way
- Integrated with Git, avoiding maintenance tasks such as incrementing version numbers or uploading new project releases
- Generates VisualD project/solution files, integrated into MonoD
- Support for DMD, GDC and LDC (common DMD flags are translated automatically)
- Supports development workflows by optionally using local directories as a package source
## Future direction
To make things as flexible as they need to be for certain projects, it is planned to gradually add more options to the [package file format](http://code.dlang.org/package-format) and eventually to add the possibility to specify an external build tool along with the path of it's output files. The idea is that DUB provides a convenient build management that suffices for 99% of projects, but is also usable as a bare package manager that doesn't get in your way if needed.
## Installation
DUB comes [precompiled](http://code.dlang.org/download) for Windows, OS X and Linux. It needs to have libcurl with SSL support installed (except on Windows).
The `dub` executable then just needs to be accessible from `PATH` and can be invoked from the root folder of any DUB enabled project to build and run it.
If you want to build for yourself, just install a D compiler such as [DMD](http://dlang.org/download.html) and libcurl development headers and run `./build.d`.
### Arch Linux
Михаил Страшун (Dicebot) maintains a dub package of the latest release in `Community`, for [x86_64](https://www.archlinux.org/packages/community/x86_64/dub/) and [i686](https://www.archlinux.org/packages/community/i686/dub/).
Moritz Maxeiner has created a PKGBUILD file for GIT master:
### Debian/Ubuntu Linux
Jordi Sayol maintains a DEB package as part of his [D APT repository](http://d-apt.sourceforge.net). Run `sudo apt-get install dub` to install.
### OS X
Chris Molozian has added DUB to [Homebrew](http://mxcl.github.io/homebrew/). Use `brew install dub` to install the stable version, optionally adding `--HEAD`/`--devel` to install the latest git master or development release respectively.
There is also a [MacPorts](https://www.macports.org/) package available. Type `sudo port install dub` to install the latest stable version.
### Windows
Daniel Jost maintains a dub package on [chocolatey](https://chocolatey.org/packages/dub). Use `cinst dub` or `cinst dub -version #.#.#` to install stable or a custom version respectively.
## Alpine Linux
Mathias (@Geod24) Lang maintains the Alpine Linux packages.
It is currently part of 'edge' and can be installed through `apk --no-cache add -X http://dl-cdn.alpinelinux.org/alpine/edge/testing dub`.
## Using DUB as a library
The [DUB package of DUB](http://code.dlang.org/packages/dub) can be used as a library to load or manipulate packages, or to resemble any functionality of the command line tool. The former task can be achieved by using the [Package class](https://github.com/dlang/dub/blob/master/source/dub/package_.d#L40). For examples on how to replicate the command line functionality, see [commandline.d](https://github.com/dlang/dub/blob/master/source/dub/commandline.d).
## Minimal D compiler required to build DUB
In general it is always recommended to build DUB with the latest version of your D compiler.
However, currently [2.076](https://dlang.org/changelog/2.076.0.html) is required to build DUB from source.
# Contributing
New contributers are always welcome, there's plenty to work on! For an easy start, take a look at issues marked [`bootcamp`](https://github.com/dlang/dub/labels/bootcamp)
The contributing guidelines can be found [here](https://github.com/dlang/dub/blob/master/CONTRIBUTING.md)
dub-1.27.0/architecture.graphmlz 0000664 0000000 0000000 00000006207 14130522175 0016610 0 ustar 00root root 0000000 0000000 Ks8\e*{vl'UI{v2-7"8mC)y&F!W%"h?4[M&YǴQכw`d~h'_OjB8;|z8T$RZAIz?E_?$(8߅rCP(kg'~e6NpW
aҷNr.TDiGc>XnZU]*Ueyr<ZP63ٻdrFE{e}X<}˂x9۹1?a
?S6y6JéߠHSHF50h !;0ê9M\Q,jDdɺ([QtUɄ|E5,i~Zc4d\LU|#n
^dӪ,#9sn4fk"5iyi(zaGV..b
ޓ((Ŧ*X%0/ypA46J~*U,y?HfepEFbGcޏa^% Ϩd]Ez0`TOyM 9A3ԏXw~N4u>x՞)_P]OƼaX<2('S-<WIBtb? #H|u_QWb`Ց٩?r&88+F[LKd|:R4-JPn9h@}J0ey2@YKRpDm_,Y-JDk1%0KLVf6\A!\
Ys%j\iWK"KAXt0AaОLSHqVōH}h`-]R.]OWelziK;a4Dn5֖*Mb}y$57F#L!p&I}سAklh~s>_p%l?[egxDfXކo
øi ?UD:EN)kiF##1@ymV +c]|ͧ< v[DУ&iYߥ%Q _(;8
c6?
͚cR%>r<$naKUSY$F' ;h=c.RBmRTjdf٤;Z^ |둬jrgc|1ΡϪghIĺnAn&*
[ >/z|:%t/t45s˙ǰfo)ik:cJ,mxh;OEE@ٰ7ql7U'o^|_~PUol-R=̗:WQdGT|ɕG`ڲÅ1Qxaq!Oi~]*em'"ޔkOF!VoVݛIwRnw̺q0HBR$46wpSe=.EH҅=,{<}UqQR!_'_{ncO\$d u0jH#Z02:yM0lS0e;:ywGirKˈdb!ʘQʜ.i>)4eh2Ï2_5z^6Z7N^=#n =dՖ)1c!<ЛCnS/a]ބ*ccȵFi3ڌh,3j@lAptMbM D/3i?cl#&WMQˏ~0h8QI;佉j9l1q̐iQt>N|=NP5}w6Ǝ;\bc0m5:nW:q9!z
"0˫e1I#Ql,d/ MTsq#tĝw:qg;q&DHz&;!Q%+B/ER~'W|1)aNoGI
*ӛՊIC^3˗!"B*d>,~)ZsTh6"27\ZꛆyZrKۼLkU} wT%-چi*õR=-uTC6dM1ٴx-g}_qX3]mlyWT<\WCcs!9a{^RR 5wBlISRJLho7 FRS\+ly6,z x dub-1.27.0/architecture.png 0000664 0000000 0000000 00000251223 14130522175 0015550 0 ustar 00root root 0000000 0000000 PNG
IHDR m IDATx XT{Y/*J42JJLJ+PQPq
2m,0QQQQQ\we}_TVEHͬ^fܹw繏0❗=39 > BG P x BG P x BG P x @_% SE` (;wdK wޥ* G /͋7nܼyΝ;P < ``@SMyVTbW9]k2vUݤ*Ŀ@<*Jj