configure: implement --yarn

This commit is contained in:
ng0 2019-10-01 17:32:29 +00:00
parent 040475967c
commit 2d60f76abf
No known key found for this signature in database
GPG Key ID: E22F9BBFEE348588
3 changed files with 28 additions and 15 deletions

View File

@ -53,7 +53,7 @@ lint: tsc yarn-install
.PHONY: yarn-install
yarn-install:
yarn install
$(yarnexe) install
.PHONY: i18n

21
configure vendored
View File

@ -87,19 +87,22 @@ else
fi
fi
if ! existence yarn; then
echo 'ERROR: yarn missing. See https://yarnpkg.com/en/docs/install'
exit 1
fi
if existence cmdtest; then
if existence yarn; then
if yarn help | grep "No such file or directory"; then
echo "ERROR: wrong yarn binary installed, please remove the"
echo "ERROR: conflicting binary before continuing."
if existence cmdtest; then
echo "WARNING: cmdtest is installed, this can lead"
echo "WARNING: to know issues with yarn."
fi
exit 1
fi
echo "WARNING: cmdtest is installed, this can lead to known issues"
echo "WARNING: with yarn."
myyarn="yarn"
elif existence yarnpkg; then
myyarn="yarnpkg"
else
echo 'ERROR: yarn missing. See https://yarnpkg.com/en/docs/install'
exit 1
fi
# for the weird systems and sandboxes, only as a anotice.
@ -119,4 +122,4 @@ fi
# If $1 is empty, the python script checks the
# environment for PREFIX. We might need more
# variables and switches, such as DESTDIR.
$PYTHON ./configure.py $@
$PYTHON ./configure.py --yarn=$myyarn $@

View File

@ -44,26 +44,36 @@ def _read_prefix():
return myprefix
else:
logger.debug('PREFIX from argv')
# logger.debug('PREFIX from argv')
parser = argparse.ArgumentParser()
parser.add_argument("-p",
"--prefix",
type=str,
required=True,
help='Directory prefix for installation')
logger.debug('parser.parse_args step')
parser.add_argument("-y",
"--yarn",
type=str,
required=True,
help='name of yarn executable')
# logger.debug('parser.parse_args step')
args = parser.parse_args()
logger.debug('%s', args)
# logger.debug('%s', args)
myprefix = args.prefix
yarnexe = args.yarn
# if args.prefix is not None and os.path.isdir(myprefix) is True:
if args.prefix and os.path.isdir(myprefix) is True:
return myprefix
return [myprefix, yarnexe];
def main():
myprefix = str(_read_prefix())
# mylist = str(_read_prefix())
mylist = _read_prefix()
myprefix = mylist[0]
yarnexe = mylist[1]
f = open('config.mk', 'w+')
f.write('# this file is autogenerated by ./configure\n')
f.write('prefix=' + myprefix + '\n')
f.write('yarnexe=' + yarnexe + '\n')
f.close()