- #!/usr/bin/env bash
-
- . $(dirname ${BASH_SOURCE[0]})/common.sh
-
- TMPDIR=$CURR_DIR/tmp-add-path
-
- PACK_PATH="$CURR_DIR"/issue2262-exact-cached-version-match
-
- # make sure that there are no left-over selections files or temp directory
- rm -f $PACK_PATH/dub.selections.json
- rm -rf $TMPDIR
-
- # make sure that there are no cached versions of the dependency
- $DUB remove gitcompatibledubpackage@* -n || true
-
- # build normally, should select 1.0.4
- if ! ${DUB} build --root $PACK_PATH | grep "gitcompatibledubpackage 1\.0\.4:"; then
- die $LINENO 'The initial build failed.'
- fi
-
- # clone gitcompatibledubpackage and check out 1.0.4+commit.2.ccb31bf
- mkdir $TMPDIR
- $DUB add-path $TMPDIR
- cd $TMPDIR
- git clone https://github.com/dlang-community/gitcompatibledubpackage.git
- cd gitcompatibledubpackage
- git checkout -q ccb31bf6a655437176ec02e04c2305a8c7c90d67
- cd ../..
-
- if ! $DUB list | grep "gitcompatibledubpackage 1\.0\.4+commit.2.gccb31bf"; then
- $DUB remove-path $TMPDIR
- die $LINENO 'Cloned package was not found in search path'
- fi
-
- # should pick up the cloned package instead of the cached one now
- if ! ${DUB} build --root $PACK_PATH | grep "gitcompatibledubpackage 1\.0\.4+commit.2.gccb31bf:"; then
- $DUB remove-path $TMPDIR
- die $LINENO 'Did not pick up the add-path package.'
- fi
-
- # clean up
- $DUB remove-path $TMPDIR
- rm -f $PACK_PATH/dub.selections.json
- rm -rf $TMPDIR