pvt.cppan.demo.xz_utils.lzma fails to build with "error C2632: 'char' followed by 'bool' is illegal"

A bit more of the error:
.cppan\storage\src\a7\68\fa0b\src\common\sysdefs.h(150): error C2632: 'char' followed by 'bool' is illegal.
A piece of the code in question:
#ifdef HAVE_STDBOOL_H
#	include <stdbool.h>
#else
#	if ! HAVE__BOOL
typedef unsigned char _Bool;
#	endif
#	define bool _Bool
#	define false 0
#	define true 1
#	define __bool_true_false_are_defined 1
#endif

This is on windows, with VS2017 compiler:
The CXX compiler identification is MSVC 19.13.26129.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe

The issue seems to be that HAVE_STDBOOL_H was not detected properly.
And it looks like here the spec adds this detection, so I wonder if it's cppan's cmake file generation that is incorrect. Or maybe cmake doesn't work correctly. Or just my setup is somehow bad?
I do have stdbool.h file here: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.13.26128\include
Please let me know what other information you'd need to debug this further.
Thanks!

I had many issues with stdbool in lzma and now it works in general.
Please, search for HAVE_STDBOOL_H in storage/cfg and check if it equals to 0.
I'll check this too on my side.

For me it is:
d:\dev\cppan_storage\cfg>grep -r "HAVE_STDBOOL_H" .
./0323101e.cmake:STRING;HAVE_STDBOOL_H;1
./0710cfc8.cmake:STRING;HAVE_STDBOOL_H;1
./089da701.cmake:STRING;HAVE_STDBOOL_H;1
./0cedcca3.cmake:STRING;HAVE_STDBOOL_H;1
./0e03117e.cmake:STRING;HAVE_STDBOOL_H;1
./0f7e2d8a.cmake:STRING;HAVE_STDBOOL_H;1
./185c19b8.cmake:STRING;HAVE_STDBOOL_H;1
./1a90e7dc.cmake:STRING;HAVE_STDBOOL_H;1
./22aac4e1.cmake:STRING;HAVE_STDBOOL_H;1
./3680b6e5.cmake:STRING;HAVE_STDBOOL_H;1
./42da1a45.cmake:STRING;HAVE_STDBOOL_H;1
./48ac3790.cmake:STRING;HAVE_STDBOOL_H;1
./5416d09e.cmake:STRING;HAVE_STDBOOL_H;1
./55ce0680.cmake:STRING;HAVE_STDBOOL_H;1
./5e79c762.cmake:STRING;HAVE_STDBOOL_H;1
./6d40d2d1.cmake:STRING;HAVE_STDBOOL_H;1
./6e261cc2.cmake:STRING;HAVE_STDBOOL_H;1
./7816a301.cmake:STRING;HAVE_STDBOOL_H;1
./7b2c0b78.cmake:STRING;HAVE_STDBOOL_H;1
./8dda5c2e.cmake:STRING;HAVE_STDBOOL_H;1
./97ac3c70.cmake:STRING;HAVE_STDBOOL_H;1
./9ca9cf7e.cmake:STRING;HAVE_STDBOOL_H;1
./a9ef00b8.cmake:STRING;HAVE_STDBOOL_H;1
./af496914.cmake:STRING;HAVE_STDBOOL_H;1
./b1d00156.cmake:STRING;HAVE_STDBOOL_H;1
./b3d42cac.cmake:STRING;HAVE_STDBOOL_H;1
./c2f20ffe.cmake:STRING;HAVE_STDBOOL_H;1
./c46605a7.cmake:STRING;HAVE_STDBOOL_H;1
./c7117efd.cmake:STRING;HAVE_STDBOOL_H;1
./c94ca1e4.cmake:STRING;HAVE_STDBOOL_H;1
./e42ca022.cmake:STRING;HAVE_STDBOOL_H;0
./ecaf454d.cmake:STRING;HAVE_STDBOOL_H;1
./f74e8a77.cmake:STRING;HAVE_STDBOOL_H;1
./fa99019e.cmake:STRING;HAVE_STDBOOL_H;1

One config failed to detect stdbool.h. Probably this can be your case.

Possible solution for you is to clean cfg dir completely and re-run cppan.

Cleaning up storage did not work. What else can I try?
And yes, I did have only HAVE_STDBOOL_H=0 in storage.
storage\cfg\8dda5c2e.cmake:STRING;HAVE_STDBOOL_H;0
Here's the output of running cppan, after all the storage and caches were removed, if it helps in any way:
E:\Win81Users\MyUserName\Source\Repos\MyRepoName>cppan & "c:\Program Files\CMake\bin\cmake.exe" -G "Visual Studio 15 Win64" -BDebug -H. -DCMAKE_BUILD_TYPE=Debug
Initializing storage
Packages database was not found
Downloading database
Downloading: pvt.cppan.demo.boost.bind-1.65.0...
Downloading: pvt.cppan.demo.boost.winapi-1.65.0...
Downloading: pvt.cppan.demo.boost.integer-1.65.0...
Downloading: pvt.cppan.demo.boost.detail-1.65.0...
Downloading: pvt.cppan.demo.unicode.icu.stub.genccode-60.2.0...
Downloading: pvt.cppan.demo.boost.locale-1.65.0...
Downloading: pvt.cppan.demo.boost.move-1.65.0...
Downloading: pvt.cppan.demo.boost.timer-1.65.0...
Unpacking  : pvt.cppan.demo.boost.bind-1.65.0...
Unpacking  : pvt.cppan.demo.boost.winapi-1.65.0...
Unpacking  : pvt.cppan.demo.boost.locale-1.65.0...
Unpacking  : pvt.cppan.demo.unicode.icu.stub.genccode-60.2.0...
Downloading: pvt.cppan.demo.boost.numeric-1.65.0...
Unpacking  : pvt.cppan.demo.boost.timer-1.65.0...
Downloading: pvt.cppan.demo.boost.any-1.65.0...
Unpacking  : pvt.cppan.demo.boost.integer-1.65.0...
Downloading: pvt.cppan.demo.boost.container-1.65.0...
Unpacking  : pvt.cppan.demo.boost.detail-1.65.0...
Unpacking  : pvt.cppan.demo.boost.move-1.65.0...
Downloading: pvt.cppan.demo.boost.algorithm-1.65.0...
Downloading: pvt.cppan.demo.boost.assert-1.65.0...
Unpacking  : pvt.cppan.demo.boost.any-1.65.0...
Downloading: pvt.cppan.demo.boost.array-1.65.0...
Downloading: pvt.cppan.demo.unicode.icu.stub.toolutil-60.2.0...
Unpacking  : pvt.cppan.demo.boost.numeric-1.65.0...
Unpacking  : pvt.cppan.demo.boost.container-1.65.0...
Downloading: pvt.cppan.demo.bzip2-1.0.6...
Unpacking  : pvt.cppan.demo.boost.algorithm-1.65.0...
Unpacking  : pvt.cppan.demo.boost.assert-1.65.0...
Downloading: pvt.cppan.demo.boost.core-1.65.0...
Downloading: pvt.cppan.demo.openssl.crypto-1.10.7...
Unpacking  : pvt.cppan.demo.boost.array-1.65.0...
Downloading: pvt.cppan.demo.boost.test-1.65.0...
Downloading: pvt.cppan.demo.boost.smart_ptr-1.65.0...
Unpacking  : pvt.cppan.demo.bzip2-1.0.6...
Unpacking  : pvt.cppan.demo.unicode.icu.stub.toolutil-60.2.0...
Downloading: pvt.cppan.demo.boost.serialization-1.65.0...
Unpacking  : pvt.cppan.demo.boost.test-1.65.0...
Downloading: pvt.cppan.demo.boost.iterator-1.65.0...
Unpacking  : pvt.cppan.demo.boost.core-1.65.0...
Unpacking  : pvt.cppan.demo.boost.smart_ptr-1.65.0...
Downloading: pvt.cppan.demo.boost.function_types-1.65.0...
Downloading: pvt.cppan.demo.boost.optional-1.65.0...
Downloading: pvt.cppan.demo.boost.config-1.65.0...
Unpacking  : pvt.cppan.demo.boost.serialization-1.65.0...
Unpacking  : pvt.cppan.demo.boost.iterator-1.65.0...
Unpacking  : pvt.cppan.demo.boost.function_types-1.65.0...
Unpacking  : pvt.cppan.demo.boost.optional-1.65.0...
Unpacking  : pvt.cppan.demo.openssl.crypto-1.10.7...
Downloading: pvt.cppan.demo.boost.date_time-1.65.0...
Downloading: pvt.cppan.demo.boost.typeof-1.65.0...
Downloading: pvt.cppan.demo.boost.lexical_cast-1.65.0...
Unpacking  : pvt.cppan.demo.boost.config-1.65.0...
Unpacking  : pvt.cppan.demo.boost.date_time-1.65.0...
Downloading: pvt.cppan.demo.boost.throw_exception-1.65.0...
Unpacking  : pvt.cppan.demo.boost.lexical_cast-1.65.0...
Downloading: pvt.cppan.demo.boost.static_assert-1.65.0...
Unpacking  : pvt.cppan.demo.boost.typeof-1.65.0...
Downloading: pvt.cppan.demo.boost.filesystem-1.65.0...
Unpacking  : pvt.cppan.demo.boost.throw_exception-1.65.0...
Downloading: pvt.cppan.demo.boost.concept_check-1.65.0...
Downloading: pvt.cppan.demo.boost.functional-1.65.0...
Unpacking  : pvt.cppan.demo.boost.static_assert-1.65.0...
Downloading: pvt.cppan.demo.boost.tokenizer-1.65.0...
Unpacking  : pvt.cppan.demo.boost.filesystem-1.65.0...
Downloading: pvt.cppan.demo.boost.io-1.65.0...
Downloading: pvt.cppan.demo.boost.tuple-1.65.0...
Downloading: pvt.cppan.demo.gnu.iconv.libiconv-1.15.0...
Unpacking  : pvt.cppan.demo.boost.functional-1.65.0...
Unpacking  : pvt.cppan.demo.boost.concept_check-1.65.0...
Unpacking  : pvt.cppan.demo.boost.tokenizer-1.65.0...
Downloading: pvt.cppan.demo.boost.conversion-1.65.0...
Downloading: pvt.cppan.demo.boost.preprocessor-1.65.0...
Downloading: pvt.cppan.demo.boost.function-1.65.0...
Unpacking  : pvt.cppan.demo.boost.io-1.65.0...
Unpacking  : pvt.cppan.demo.boost.tuple-1.65.0...
Downloading: pvt.cppan.demo.boost.exception-1.65.0...
Downloading: pvt.cppan.demo.madler.zlib-1.2.11...
Downloading: pvt.cppan.demo.boost.rational-1.65.0...
Unpacking  : pvt.cppan.demo.boost.preprocessor-1.65.0...
Unpacking  : pvt.cppan.demo.boost.conversion-1.65.0...
Unpacking  : pvt.cppan.demo.gnu.iconv.libiconv-1.15.0...
Unpacking  : pvt.cppan.demo.madler.zlib-1.2.11...
Unpacking  : pvt.cppan.demo.boost.exception-1.65.0...
Downloading: pvt.cppan.demo.boost.unordered-1.65.0...
Unpacking  : pvt.cppan.demo.boost.rational-1.65.0...
Unpacking  : pvt.cppan.demo.boost.function-1.65.0...
Downloading: pvt.cppan.demo.boost.endian-1.65.0...
Downloading: pvt.cppan.demo.boost.random-1.65.0...
Downloading: pvt.cppan.demo.microsoft.gsl-master...
Unpacking  : pvt.cppan.demo.boost.unordered-1.65.0...
Downloading: pvt.cppan.demo.boost.lambda-1.65.0...
Downloading: pvt.cppan.demo.boost.utility-1.65.0...
Unpacking  : pvt.cppan.demo.boost.endian-1.65.0...
Unpacking  : pvt.cppan.demo.boost.lambda-1.65.0...
Downloading: pvt.cppan.demo.boost.chrono-1.65.0...
Unpacking  : pvt.cppan.demo.boost.utility-1.65.0...
Unpacking  : pvt.cppan.demo.microsoft.gsl-master...
Downloading: pvt.cppan.demo.boost.range-1.65.0...
Downloading: pvt.cppan.demo.boost.type_index-1.65.0...
Unpacking  : pvt.cppan.demo.boost.chrono-1.65.0...
Downloading: pvt.cppan.demo.boost.program_options-1.65.0...
Unpacking  : pvt.cppan.demo.boost.random-1.65.0...
Unpacking  : pvt.cppan.demo.boost.program_options-1.65.0...
Unpacking  : pvt.cppan.demo.boost.type_index-1.65.0...
Unpacking  : pvt.cppan.demo.boost.range-1.65.0...
Downloading: pvt.cppan.demo.boost.proto-1.65.0...
Downloading: pvt.cppan.demo.boost.system-1.65.0...
Downloading: pvt.cppan.demo.boost.phoenix-1.65.0...
Downloading: pvt.cppan.demo.boost.regex-1.65.0...
Downloading: pvt.cppan.demo.boost.predef-1.65.0...
Unpacking  : pvt.cppan.demo.boost.regex-1.65.0...
Unpacking  : pvt.cppan.demo.boost.phoenix-1.65.0...
Unpacking  : pvt.cppan.demo.boost.system-1.65.0...
Downloading: pvt.cppan.demo.boost.intrusive-1.65.0...
Unpacking  : pvt.cppan.demo.boost.proto-1.65.0...
Downloading: pvt.cppan.demo.boost.spirit-1.65.0...
Unpacking  : pvt.cppan.demo.boost.predef-1.65.0...
Unpacking  : pvt.cppan.demo.boost.intrusive-1.65.0...
Downloading: pvt.cppan.demo.xz_utils.lzma-5.2.3...
Downloading: pvt.cppan.demo.boost.foreach-1.65.0...
Unpacking  : pvt.cppan.demo.boost.spirit-1.65.0...
Unpacking  : pvt.cppan.demo.boost.foreach-1.65.0...
Downloading: pvt.cppan.demo.unicode.icu.common-60.2.0...
Downloading: pvt.cppan.demo.unicode.icu.stub.common-60.2.0...
Downloading: pvt.cppan.demo.boost.iostreams-1.65.0...
Unpacking  : pvt.cppan.demo.xz_utils.lzma-5.2.3...
Downloading: pvt.cppan.demo.unicode.icu.data-60.2.0...
Unpacking  : pvt.cppan.demo.unicode.icu.common-60.2.0...
Unpacking  : pvt.cppan.demo.unicode.icu.stub.common-60.2.0...
Unpacking  : pvt.cppan.demo.boost.iostreams-1.65.0...
Downloading: pvt.cppan.demo.gnu.iconv.libcharset-1.15.0...
Unpacking  : pvt.cppan.demo.gnu.iconv.libcharset-1.15.0...
Unpacking  : pvt.cppan.demo.unicode.icu.data-60.2.0...
Downloading: pvt.cppan.demo.boost.variant-1.65.0...
Downloading: pvt.cppan.demo.unicode.icu.i18n-60.2.0...
Downloading: pvt.cppan.demo.boost.mpl-1.65.0...
Downloading: pvt.cppan.demo.boost.tti-1.65.0...
Unpacking  : pvt.cppan.demo.boost.variant-1.65.0...
Unpacking  : pvt.cppan.demo.boost.mpl-1.65.0...
Unpacking  : pvt.cppan.demo.boost.tti-1.65.0...
Unpacking  : pvt.cppan.demo.unicode.icu.i18n-60.2.0...
Downloading: pvt.cppan.demo.boost.fusion-1.65.0...
Downloading: pvt.cppan.demo.boost.type_traits-1.65.0...
Unpacking  : pvt.cppan.demo.boost.fusion-1.65.0...
Unpacking  : pvt.cppan.demo.boost.type_traits-1.65.0...
Downloading: pvt.cppan.demo.boost.math-1.65.0...
Unpacking  : pvt.cppan.demo.boost.math-1.65.0...
Downloading: pvt.cppan.demo.boost.pool-1.65.0...
Downloading: pvt.cppan.demo.boost.ratio-1.65.0...
Unpacking  : pvt.cppan.demo.boost.pool-1.65.0...
Downloading: pvt.cppan.demo.unicode.icu.stub.data-60.2.0...
Unpacking  : pvt.cppan.demo.boost.ratio-1.65.0...
Downloading: pvt.cppan.demo.unicode.icu.stub.i18n-60.2.0...
Unpacking  : pvt.cppan.demo.unicode.icu.stub.data-60.2.0...
Downloading: pvt.cppan.demo.boost.atomic-1.65.0...
Downloading: pvt.cppan.demo.boost.thread-1.65.0...
Unpacking  : pvt.cppan.demo.boost.atomic-1.65.0...
Unpacking  : pvt.cppan.demo.unicode.icu.stub.i18n-60.2.0...
Unpacking  : pvt.cppan.demo.boost.thread-1.65.0...
Reading package specs...
Cleaning   : pvt.cppan.demo.boost.locale-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.bind-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.winapi-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.unicode.icu.stub.genccode-60.2.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.lambda-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.fusion-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.bzip2-1.0.6... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.rational-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.timer-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.assert-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.test-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.array-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.intrusive-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.date_time-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.lexical_cast-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.system-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.variant-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.exception-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.chrono-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.phoenix-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.pool-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.detail-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.algorithm-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.endian-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.iostreams-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.ratio-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.optional-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.serialization-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.integer-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.typeof-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.proto-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.filesystem-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.math-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.spirit-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.any-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.thread-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.smart_ptr-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.functional-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.foreach-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.random-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.program_options-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.move-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.atomic-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.concept_check-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.container-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.conversion-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.function-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.range-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.tti-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.core-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.function_types-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.iterator-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.mpl-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.numeric-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.unordered-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.regex-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.madler.zlib-1.2.11... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.tokenizer-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.type_index-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.utility-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.throw_exception-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.tuple-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.type_traits-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.openssl.crypto-1.10.7... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.io-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.unicode.icu.data-60.2.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.unicode.icu.i18n-60.2.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.unicode.icu.common-60.2.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.static_assert-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.config-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.microsoft.gsl-master... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.unicode.icu.stub.data-60.2.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.unicode.icu.stub.common-60.2.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.unicode.icu.stub.i18n-60.2.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.unicode.icu.stub.toolutil-60.2.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.xz_utils.lzma-5.2.3... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.preprocessor-1.65.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.gnu.iconv.libiconv-1.15.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.gnu.iconv.libcharset-1.15.0... (obj, lib, bin, exp)
Cleaning   : pvt.cppan.demo.boost.predef-1.65.0... (obj, lib, bin, exp)
-- The C compiler identification is MSVC 19.13.26129.0
-- The CXX compiler identification is MSVC 19.13.26129.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Performing 100 checks using 8 thread(s)
-- This process may take up to 10-20 minutes depending on your hardware
-- Thread #2: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #1: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #3: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #6: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #4: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #5: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #0: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #7: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- function alloca - not found
-- function atoll - not found
-- function canonicalize_file_name - not found
-- function CC_SHA256_Init - not found
-- function CFLocaleCopyCurrent - not found
-- function CFPreferencesCopyAppValue - not found
-- function clock_gettime - not found
-- function dcgettext - not found
-- function dlopen - not found
-- function futimens - not found
-- function futimes - not found
-- function futimesat - not found
-- function getcwd - not found
-- function getc_unlocked - not found
-- function gettimeofday - not found
-- function lstat - not found
-- function mbrtowc - not found
-- function mbsinit - not found
-- function memmove - not found
-- function mmap - not found
-- function nl_langinfo - not found
-- function popen - not found
-- function posix_fadvise - not found
-- function pthread_condattr_setclock - not found
-- function pthread_mutex_lock - not found
-- function readlink - not found
-- function readlinkat - not found
-- function realpath - not found
-- function setenv - not found
-- function setlocale - not found
-- function SHA256Init - not found
-- function SHA256_Init - not found
-- function strerror_r - not found
-- function strtod_l - not found
-- function tsearch - not found
-- function tzset - not found
-- function utime - not found
-- function utimes - not found
-- function wcrtomb - not found
-- function _NSGetExecutablePath - not found
-- function _tzset - not found
-- include alloca.h - not found
-- include CommonCrypto/CommonDigest.h - not found
-- include dirent.h - not found
-- include dlfcn.h - not found
-- include elf.h - not found
-- include fcntl.h - not found
-- include immintrin.h - not found
-- include inttypes.h - not found
-- include langinfo.h - not found
-- include limits.h - not found
-- include locale.h - not found
-- include mach-o/dyld.h - not found
-- include memory.h - not found
-- include minix/sha2.h - not found
-- include search.h - not found
-- include sha256.h - not found
-- include sha2.h - not found
-- include stdbool.h - not found
-- include stddef.h - not found
-- include stdint.h - not found
-- include stdlib.h - not found
-- include strings.h - not found
-- include string.h - not found
-- include sys/bitypes.h - not found
-- include sys/inttypes.h - not found
-- include sys/stat.h - not found
-- include sys/time.h - not found
-- include sys/types.h - not found
-- include unistd.h - not found
-- include wchar.h - not found
-- include xlocale.h - not found
-- type CC_SHA256_CTX - not found
-- type int16_t - not found
-- type int32_t - not found
-- type int64_t - not found
-- type int8_t - not found
-- type long long int - not found
-- type SHA256_CTX - not found
-- type SHA2_CTX - not found
-- type sigset_t - not found
-- type size_t - not found
-- type uint16_t - not found
-- type uint32_t - not found
-- type uint64_t - not found
-- type uint8_t - not found
-- type uintptr_t - not found
-- type unsigned long long int - not found
-- type void * - not found
-- type wchar_t - not found
-- type _Bool - not found
-- library function pthread_attr_init - not found
-- library function pthread_mutex_init - not found
-- symbol mbstate_t - not found
-- Test STDC_HEADERS - Failed
-- Test HAVE_STRUCT_STAT_ST_ATIMENSEC - Failed
-- Test HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC - Failed
-- Test HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC - Failed
-- Test HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC - Failed
-- Test HAVE_STRUCT_STAT_ST_UATIME - Failed
-- This operation took 0 seconds to complete
-- Performing Test HAVE_DECL_CLOCK_MONOTONIC
-- Performing Test HAVE_DECL_CLOCK_MONOTONIC - Failed
-- Performing Test HAVE_DECL__MM_MOVEMASK_EPI8
-- Performing Test HAVE_DECL__MM_MOVEMASK_EPI8 - Success
-- Preparing build tree for pvt.cppan.demo.boost.test-1.65.0 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Preparing build tree for pvt.cppan.demo.boost.timer-1.65.0 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Preparing build tree for pvt.cppan.demo.boost.chrono-1.65.0 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Preparing build tree for pvt.cppan.demo.boost.system-1.65.0 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/aa/41/6d45/build/8c743ab6
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/2b/34/a7f4/build/8c743ab6
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/a4/e2/6f6c/build/8c743ab6
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/43/9c/6283/build/8c743ab6
-- Preparing build tree for pvt.cppan.demo.boost.program_options-1.65.0 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/ec/2b/6f39/build/8c743ab6
-- Preparing build tree for pvt.cppan.demo.boost.iostreams-1.65.0 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Preparing build tree for pvt.cppan.demo.madler.zlib-1.2.11 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/d4/78/06ca/build/8c743ab6
-- Preparing build tree for pvt.cppan.demo.bzip2-1.0.6 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/12/6e/7377/build/8c743ab6
-- Preparing build tree for pvt.cppan.demo.xz_utils.lzma-5.2.3 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/a7/68/fa0b/build/8c743ab6
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/aa/75/7f68/build/8c743ab6
-- Preparing build tree for pvt.cppan.demo.openssl.crypto-1.10.7 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/61/b1/a9b3/build/8c743ab6
-- Preparing build tree for pvt.cppan.demo.boost.serialization-1.65.0 (windows-amd64-msvc-19.13-64-x64-10.0.16299 - 8c743ab6 - Visual Studio 15 2017 Win64)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/4a/f3/8013/build/8c743ab6
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/Source/Repos/MyRepoName/Debug

Ah, it's still about that old error during evaluating variables.
Are you using the latest cmake?
Could you also try -G "Visual Studio 15 2017 Win64" instead of -G "Visual Studio 15 Win64"?
>cppan && "c:\Program Files\CMake\bin\cmake.exe" -G "Visual Studio 15 2017 Win64" -BDebug -H. -DCMAKE_BUILD_TYPE=Debug

Could you try to test it without any additions?
cppan && mkdit test && cd test && "c:\Program Files\CMake\bin\cmake.exe" ..

Using cmake 3.10.3.
BTW, I just saw you updated Readme.md for a new way of providing packages via CMakeLists.txt only, w/o using cppan.yml. I'm using it the old way - have cppan.yml in project's root, and including .cppan folder in CMakeLists.txt.
I don't have cppan in PATH, it's only in myproject's root.
cppan version 0.2.5
assembled 2018-03-20 12:52:29
Tried cppan && mkdir test && cd test && "c:\Program Files\CMake\bin\cmake.exe" .., did not work.
Interesting observation though. If I add cppan to PATH, detection does not work. However, if I don't add cppan to path, generation fails, but detection works in the process.
Subsequent build fails the same way, I did not provide logs here.
Here's cppan in PATH:
-- Building for: Visual Studio 15 2017
-- The C compiler identification is MSVC 19.13.26129.0
-- The CXX compiler identification is MSVC 19.13.26129.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Performing 100 checks using 8 thread(s)
-- This process may take up to 10-20 minutes depending on your hardware
-- Thread #0: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #4: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #5: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #3: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #2: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #7: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #1: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- Thread #6: error during evaluating variables: no such file or directory
: out =

: err =

cppan: swallowing this error
-- function alloca - not found
-- function atoll - not found
-- function canonicalize_file_name - not found
-- function CC_SHA256_Init - not found
-- function CFLocaleCopyCurrent - not found
-- function CFPreferencesCopyAppValue - not found
-- function clock_gettime - not found
-- function dcgettext - not found
-- function dlopen - not found
-- function futimens - not found
-- function futimes - not found
-- function futimesat - not found
-- function getcwd - not found
-- function getc_unlocked - not found
-- function gettimeofday - not found
-- function lstat - not found
-- function mbrtowc - not found
-- function mbsinit - not found
-- function memmove - not found
-- function mmap - not found
-- function nl_langinfo - not found
-- function popen - not found
-- function posix_fadvise - not found
-- function pthread_condattr_setclock - not found
-- function pthread_mutex_lock - not found
-- function readlink - not found
-- function readlinkat - not found
-- function realpath - not found
-- function setenv - not found
-- function setlocale - not found
-- function SHA256Init - not found
-- function SHA256_Init - not found
-- function strerror_r - not found
-- function strtod_l - not found
-- function tsearch - not found
-- function tzset - not found
-- function utime - not found
-- function utimes - not found
-- function wcrtomb - not found
-- function _NSGetExecutablePath - not found
-- function _tzset - not found
-- include alloca.h - not found
-- include CommonCrypto/CommonDigest.h - not found
-- include dirent.h - not found
-- include dlfcn.h - not found
-- include elf.h - not found
-- include fcntl.h - not found
-- include immintrin.h - not found
-- include inttypes.h - not found
-- include langinfo.h - not found
-- include limits.h - not found
-- include locale.h - not found
-- include mach-o/dyld.h - not found
-- include memory.h - not found
-- include minix/sha2.h - not found
-- include search.h - not found
-- include sha256.h - not found
-- include sha2.h - not found
-- include stdbool.h - not found
-- include stddef.h - not found
-- include stdint.h - not found
-- include stdlib.h - not found
-- include strings.h - not found
-- include string.h - not found
-- include sys/bitypes.h - not found
-- include sys/inttypes.h - not found
-- include sys/stat.h - not found
-- include sys/time.h - not found
-- include sys/types.h - not found
-- include unistd.h - not found
-- include wchar.h - not found
-- include xlocale.h - not found
-- type CC_SHA256_CTX - not found
-- type int16_t - not found
-- type int32_t - not found
-- type int64_t - not found
-- type int8_t - not found
-- type long long int - not found
-- type SHA256_CTX - not found
-- type SHA2_CTX - not found
-- type sigset_t - not found
-- type size_t - not found
-- type uint16_t - not found
-- type uint32_t - not found
-- type uint64_t - not found
-- type uint8_t - not found
-- type uintptr_t - not found
-- type unsigned long long int - not found
-- type void * - not found
-- type wchar_t - not found
-- type _Bool - not found
-- library function pthread_attr_init - not found
-- library function pthread_mutex_init - not found
-- symbol mbstate_t - not found
-- Test STDC_HEADERS - Failed
-- Test HAVE_STRUCT_STAT_ST_ATIMENSEC - Failed
-- Test HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC - Failed
-- Test HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC - Failed
-- Test HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC - Failed
-- Test HAVE_STRUCT_STAT_ST_UATIME - Failed
-- This operation took 0 seconds to complete
-- Performing Test HAVE_DECL_CLOCK_MONOTONIC
-- Performing Test HAVE_DECL_CLOCK_MONOTONIC - Failed
-- Performing Test HAVE_DECL__MM_MOVEMASK_EPI8
-- Performing Test HAVE_DECL__MM_MOVEMASK_EPI8 - Success
-- Preparing build tree for pvt.cppan.demo.boost.test-1.65.0 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Preparing build tree for pvt.cppan.demo.boost.timer-1.65.0 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Preparing build tree for pvt.cppan.demo.boost.chrono-1.65.0 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Preparing build tree for pvt.cppan.demo.boost.system-1.65.0 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/aa/41/6d45/build/b2259cad
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/2b/34/a7f4/build/b2259cad
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/a4/e2/6f6c/build/b2259cad
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/43/9c/6283/build/b2259cad
-- Preparing build tree for pvt.cppan.demo.boost.program_options-1.65.0 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/ec/2b/6f39/build/b2259cad
-- Preparing build tree for pvt.cppan.demo.boost.iostreams-1.65.0 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Preparing build tree for pvt.cppan.demo.madler.zlib-1.2.11 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/d4/78/06ca/build/b2259cad
-- Preparing build tree for pvt.cppan.demo.bzip2-1.0.6 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/12/6e/7377/build/b2259cad
-- Preparing build tree for pvt.cppan.demo.xz_utils.lzma-5.2.3 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/a7/68/fa0b/build/b2259cad
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/aa/75/7f68/build/b2259cad
-- Preparing build tree for pvt.cppan.demo.openssl.crypto-1.10.7 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/61/b1/a9b3/build/b2259cad
-- Preparing build tree for pvt.cppan.demo.boost.serialization-1.65.0 (windows-amd64-msvc-19.13-32-x86-10.0.16299 - b2259cad - Visual Studio 15 2017)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/.cppan/storage/obj/4a/f3/8013/build/b2259cad
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Win81Users/MyUserName/Source/Repos/MyRepoName/test

cppan is not in PATH:
-- The C compiler identification is MSVC 19.13.26129.0
-- The CXX compiler identification is MSVC 19.13.26129.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at .cppan/helpers.cmake:36 (message):
  'cppan' program was not found.  Please, add it to PATH environment variable
Call Stack (most recent call first):
  .cppan/CMakeLists.txt:96 (include)

-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for alloca
-- Looking for alloca - not found
-- Looking for atoll
-- Looking for atoll - found
-- Looking for canonicalize_file_name
-- Looking for canonicalize_file_name - not found
-- Looking for CC_SHA256_Init
-- Looking for CC_SHA256_Init - not found
-- Looking for CFLocaleCopyCurrent
-- Looking for CFLocaleCopyCurrent - not found
-- Looking for CFPreferencesCopyAppValue
-- Looking for CFPreferencesCopyAppValue - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - not found
-- Looking for dcgettext
-- Looking for dcgettext - not found
-- Looking for dlopen
-- Looking for dlopen - not found
-- Looking for futimens
-- Looking for futimens - not found
-- Looking for futimes
-- Looking for futimes - not found
-- Looking for futimesat
-- Looking for futimesat - not found
-- Looking for getcwd
-- Looking for getcwd - found
-- Looking for getc_unlocked
-- Looking for getc_unlocked - not found
-- Looking for gettimeofday
-- Looking for gettimeofday - not found
-- Looking for lstat
-- Looking for lstat - not found
-- Looking for mbrtowc
-- Looking for mbrtowc - found
-- Looking for mbsinit
-- Looking for mbsinit - not found
-- Looking for memmove
-- Looking for memmove - found
-- Looking for mmap
-- Looking for mmap - not found
-- Looking for nl_langinfo
-- Looking for nl_langinfo - not found
-- Looking for popen
-- Looking for popen - not found
-- Looking for posix_fadvise
-- Looking for posix_fadvise - not found
-- Looking for pthread_condattr_setclock
-- Looking for pthread_condattr_setclock - not found
-- Looking for pthread_mutex_lock
-- Looking for pthread_mutex_lock - not found
-- Looking for readlink
-- Looking for readlink - not found
-- Looking for readlinkat
-- Looking for readlinkat - not found
-- Looking for realpath
-- Looking for realpath - not found
-- Looking for setenv
-- Looking for setenv - not found
-- Looking for setlocale
-- Looking for setlocale - found
-- Looking for SHA256Init
-- Looking for SHA256Init - not found
-- Looking for SHA256_Init
-- Looking for SHA256_Init - not found
-- Looking for strerror_r
-- Looking for strerror_r - not found
-- Looking for strtod_l
-- Looking for strtod_l - not found
-- Looking for tsearch
-- Looking for tsearch - not found
-- Looking for tzset
-- Looking for tzset - found
-- Looking for utime
-- Looking for utime - found
-- Looking for utimes
-- Looking for utimes - not found
-- Looking for wcrtomb
-- Looking for wcrtomb - found
-- Looking for _NSGetExecutablePath
-- Looking for _NSGetExecutablePath - not found
-- Looking for _tzset
-- Looking for _tzset - found
-- Looking for include file alloca.h
-- Looking for include file alloca.h - not found
-- Looking for include file CommonCrypto/CommonDigest.h
-- Looking for include file CommonCrypto/CommonDigest.h - not found
-- Looking for include file dirent.h
-- Looking for include file dirent.h - not found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - not found
-- Looking for include file elf.h
-- Looking for include file elf.h - not found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- Looking for include file immintrin.h
-- Looking for include file immintrin.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file langinfo.h
-- Looking for include file langinfo.h - not found
-- Looking for include file limits.h
-- Looking for include file limits.h - found
-- Looking for include file locale.h
-- Looking for include file locale.h - found
-- Looking for include file mach-o/dyld.h
-- Looking for include file mach-o/dyld.h - not found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file minix/sha2.h
-- Looking for include file minix/sha2.h - not found
-- Looking for include file search.h
-- Looking for include file search.h - found
-- Looking for include file sha256.h
-- Looking for include file sha256.h - not found
-- Looking for include file sha2.h
-- Looking for include file sha2.h - not found
-- Looking for include file stdbool.h
-- Looking for include file stdbool.h - found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for include file strings.h
-- Looking for include file strings.h - not found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for include file sys/bitypes.h
-- Looking for include file sys/bitypes.h - not found
-- Looking for include file sys/inttypes.h
-- Looking for include file sys/inttypes.h - not found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - not found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - not found
-- Looking for include file wchar.h
-- Looking for include file wchar.h - found
-- Looking for include file xlocale.h
-- Looking for include file xlocale.h - not found
-- Check size of CC_SHA256_CTX
-- Check size of CC_SHA256_CTX - failed
-- Check size of int16_t
-- Check size of int16_t - done
-- Check size of int32_t
-- Check size of int32_t - done
-- Check size of int64_t
-- Check size of int64_t - done
-- Check size of int8_t
-- Check size of int8_t - done
-- Check size of long long int
-- Check size of long long int - done
-- Check size of SHA256_CTX
-- Check size of SHA256_CTX - failed
-- Check size of SHA2_CTX
-- Check size of SHA2_CTX - failed
-- Check size of sigset_t
-- Check size of sigset_t - failed
-- Check size of size_t
-- Check size of size_t - done
-- Check size of uint16_t
-- Check size of uint16_t - done
-- Check size of uint32_t
-- Check size of uint32_t - done
-- Check size of uint64_t
-- Check size of uint64_t - done
-- Check size of uint8_t
-- Check size of uint8_t - done
-- Check size of uintptr_t
-- Check size of uintptr_t - done
-- Check size of unsigned long long int
-- Check size of unsigned long long int - done
-- Check size of void *
-- Check size of void * - done
-- Check size of wchar_t
-- Check size of wchar_t - done
-- Check size of _Bool
-- Check size of _Bool - done
-- Looking for pthread_attr_init in pthread
-- Looking for pthread_attr_init in pthread - not found
-- Looking for pthread_mutex_init in pthread
-- Looking for pthread_mutex_init in pthread - not found
-- Looking for mbstate_t
-- Looking for mbstate_t - not found
-- Performing Test STDC_HEADERS
-- Performing Test STDC_HEADERS - Success
-- Performing Test HAVE_DECL_CLOCK_MONOTONIC
-- Performing Test HAVE_DECL_CLOCK_MONOTONIC - Failed
-- Performing Test HAVE_DECL__MM_MOVEMASK_EPI8
-- Performing Test HAVE_DECL__MM_MOVEMASK_EPI8 - Success
-- Performing Test HAVE_STRUCT_STAT_ST_ATIMENSEC
-- Performing Test HAVE_STRUCT_STAT_ST_ATIMENSEC - Failed
-- Performing Test HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC
-- Performing Test HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC - Failed
-- Performing Test HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC
-- Performing Test HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC - Failed
-- Performing Test HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC
-- Performing Test HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC - Failed
-- Performing Test HAVE_STRUCT_STAT_ST_UATIME
-- Performing Test HAVE_STRUCT_STAT_ST_UATIME - Failed
CMake Error at E:/Win81Users/MyUserName/.cppan/storage/etc/static/generate.cmake:108 (message):
  cppan command '0' not found -
  E:/Win81Users/MyUserName/.cppan/storage/etc/static/generate.cmake -
  pvt.cppan.demo.boost.test-1.65.0
Call Stack (most recent call first):
  E:/Win81Users/MyUserName/.cppan/storage/obj/43/9c/6283/generate.cmake:33 (include)
  E:/Win81Users/MyUserName/.cppan/storage/etc/static/functions.cmake:811 (include)
  .cppan/CMakeLists.txt:131 (cppan_include)

-- Configuring incomplete, errors occurred!

The most advanced check is to build cppan, go to the bottom of src/printers/cmake.cpp where parallel checks are implemented and debug there.
Are you able to build at least cppan itself?
But cppan itself also uses lzma.
One suggestion is to run cppan in cppan sources dir, run cmake, it will perform checks, fail on stdbool.h. Next you go to storage/cfg, manually fix 0 to 1 near HAVE_STDBOOL_H, re-run cmake, build it, debug into cmake.cpp, investigate what's wrong.
Another possible way for investigations - clear storage/cfg, run your commands, during checks go to %APPDATA%/Local/Temp/cppan/vars - copy current checks dir, abort cmake/cppan process with checks, go to copied checks dir, step into one of dirs, try to run cmake right there and see why stdbool check fails.

Thanks, I'll try!
But in the meantime do you want to maybe share debug build of cppan, with pdbs and corresponding commit? Then I can debug w/o building it myself.

Sure.
c2ba8cb3e7016ac5d03c1f7d7ee4c76b680e1fa6
https://www.dropbox.com/s/hor7ur1jhp13d5g/Debug.7z?dl=1
But you could see potential issues with cppand name. I suggest to temporarily remove/rename the old binary, maybe rename this binary to just cppan.

Looks like it fails to resolve 'cmake' executable for commands. Debugging further...

Yeah. That was it. I did not have cmake in my path, so cppan was not able to find it.
A couple of thoughts on this:

Have better error reporting from commands. If it were to say '-- Thread #6: error during evaluating variables: could not find 'cmake' executable in current folder 'MyCurrentFolder' or PATH   - no such file or directory', we would not have to spend time on debugging this :)
Ideally you'd take same cmake executable that invoked cppan in the first place.

New error message:

-- Performing 367 checks using 36 thread(s)
-- This process may take up to 10-20 minutes depending on your hardware
-- Thread #12: error during evaluating variables: no such file or directory
: out =

: err =
Cannot resolve executable: cmake

cppan: swallowing this error

CMake now passes its real executable to parallel worker.

Fixed in 2a3c41a342400c30b0618adab3c7b999c0afa6c0, thanks!

Please, check attached RelWithDebInfo binary with your usual workflow (w/out cmake in PATH).
Close the issue if it works for you.
cppan.zip

Worked nicely!
Thanks for the quick fix :)


Use bazel to generate test certificates

There have been a round of cert expiry that has had to be dealt with in CI recently
This has led to a lot of failed pipelines and the need to backport various fixes
One discussion around this has been to generate the certificates dynamically with bazel, and i guess some kind of action_env that expires/rebuilds at certain times

I'm strongly in favor of this. I don't know bazel well enough to do it myself.

Now they are generated by bash script, easily implement them in CI, just need one schedule job to update. I think no need to generate them every time in CI.

the first challenge is getting access to an openssl bin in bazel - we could use the system bin but it would be better not to - something im realizing rebuilding the certs now - they require a very specific version
we certainly dont need to generate them every time in CI but im wondering if we need to somehow cause them to be rebuilt sometimes

seems like it should be pretty easy to get a boringssl bin https://github.com/google/boringssl/blob/master-with-bazel/BUILD#L181

considering the rebuilding is super-fast, I prefer the way just to generate it when we run the ci. Then any external robot/schedular is unnecessary for this.

i think we want to use bazel for all the reasons that we use bazel - which means i think that it will be built hermetically and cached - and not rebuilt unless its "inputs" change
not sure exactly how the certs are used in the tests or what expectations are - we could probably make the build have never expiring certs and not worry about needing to ever rebuild
(if the expiry was say 5 years then its hard to imagine a bazel cache lasting that long but it would break the hermetic model still)

I leave it up to the bazel-people whether 5 years in a cache could ever happen.
I wonder if we could make an input to the step be a file that contains the year:month (even though the step doesn't use the file) to force it to refresh monthly.

yep that would be an action_env i think - altho it might also make other stuff expire too
relatedly im wondering if we can use similar to expire coverage/tests caches and resolve the ongoing timeout/server disappearring issues

one issue im realizing with this is that the current script breaks on ~recent versions of openssl (according to gpt >= 1.1.1), as you can no longer create back-dated expired certs - ie -days -365)
another reason that we should do this hermetically i think
cc @adisuissa wondering if you used a sufficiently old openssl when updating recently

nm - i see now - https://github.com/envoyproxy/envoy/pull/35781/files#diff-a00b822417222be53555c2e8f48b994b5e3f1e2d3962261167ba5afcee5d7883R321


Bookmark Groups should be validated as having non-zero length titles before being created

Expected behavior
A bookmark group without a name cannot be created.
Actual behavior
It can be created, which causes other problems later on.
Steps to reproduce the behavior
Create a bookmark group, leave the name blank.
App Version/Hardware
2.6.0

Thanks @aaronbrethorst for pointing out the additional case of Add Bookmark. After more analysis & discussion, here's where I think this stands:

The UX of disabling Save is reasonable to indicate that there must be a non-empty group name
The group model can have a class method to test the viability of creating a new object with the given attributes (in this case, a name that is non-empty)
I'm going to try to unify the "new group" feature between the two flows; right now, one is an alert view and the other is a new table view (with one item). Because the table view is somewhat odd with just one item, I'm thinking of using the alert popup for both.
There's another bug in the Add Bookmark flow. If you Group -> Add then Cancel, the bookmark is shown going to the New Group group, but then is never added at all. Opened #734 for this one.

That all sounds great. I am ready to see that table view removed :)

PR Updated. It unifies both cases on the main Groups view controller, which now has an Edit mode and a Select mode.


Strict iterative comparator with support for nested objects and arrays.

As discussed, not ready yet - but this gives you some visibility and tests under your Travis config.

Ok, provided current tests pass it should be good to go now.


Suggestion: Boolean

I guess a boolean type would be useful? Converts '0', 'false', 'no' and 'off' to false and '1', 'true', 'yes', 'on' to true. Technically, I'm not sure though whether the param converter can detect the arguments default value, otherwise could be annoying.
class ItemsController
{
  function index(bool $active = true) {

  }
}

URL examples: items/index/no or items/
Exception: items/index/yees

int too - to force check that input is a whole number.
Seems like in ParamConverterManager::apply, $methodParam->getType()->getName() needs to be passed to the param converter supports method where a type (='bool|int') as well as a defaultvalue can be detected.

@Ali1 ParamConverterManager already applies a very basic conversion for built-in types (scalar types). This doesn't work very well at the moment, mainly due to limitations and implementations details of setttype.
However, I don't see the problem with defaults. Here is my point of view:

If the request param value is missing and the corresponding method attribute is optional, then the default value will be applied by PHP (when invoking the controller action)
If the request param is not missing then it should be either converted to a new value or passed as it is, without involving the defined default value.

I am adding a few more unit tests to cover the first scenario above. Please free to point out in which cases this doesn't work.

Tests added in #6


Architecture changes

The general idea is:

remove Profiles
have Rules and Components in a dependency tree
let the user enable Rules/Components individually when starting a new game
Rule and Components store set of Process, Resource handlers, Telemetry and Alerts
Component also store configurability/reliability info and a set of Disable and Support
Rules are like implicit components added to all vessels
Components are tagged
Controller module is used to 'install' a Component in a part (selecting from a set of names and tags)
The list of allowed Components in a Controller is 'filtered' from set of user-enabled components
An empty Controller module degenerate into no-op (disappear)
Controller with a single valid Component allowed just appear to add the component to the part
Controller with multiple valid Components allowed let the user select which one to install
Modifier-expression is a mathematical function returning a scalar, that can use env/hab values
Process consume/produce resources on a vessel, the rates can be scaled by modifier-expression
Telemetry provide a modifier-expression driven reading to the monitor and planner UI
Alert check a condition specified as a modifier-expression, and notify the user (can be toggled on/off)
Resource handlers add/remove and toggle flow of a resource
Disable simply disable a PartModule when installed
Support add ad-hoc, hard-coded support/emulation for a specific type of PartModule
Configurability and reliability are about enabling/disabling modules: they merge in the same concept
The whole simulation is represented by a set of Components (and the environment)

The above is 90% confirmed.
Below are more speculative changes proposed, in early stages of design. Assume most will be discarded.

vessel partitioning in Zones, then transparently used for resource purposes (for only some resources)
contiguous habitat detection, then assign its parts to a Zone
isolating habs (instead of disabling them), by simply assigning the part to a different Zone
virtual resources: like resources, but they only exist from the point of view of the resource cache, stored in part modules, transparently handled by resource cache, can have mass, are 'zoned', are automatically defined at first use

Proposed by @gotmachine:

Modifier-expressions can be defined once and named, and can then be used as variables from other modifier-expressions
PlannerPanel/PlannerLine entries in Rules: to define precisely the data shown to the user in planner when a rule is enabled (instead of using Telemetry entries in both planner and monitor)
Generic per-kerbal properties

Motivating example
Rule
{
  name = biology
  title = Simulate the physical health of Kerbals
  desc = Kerbals need to breath Oxygen, eat Food and drink Water to survive

  Process
  {
    name = breathing
    modifier = crew.count * env.not_breathable
    input =<EMAIL_ADDRESS>    output =<EMAIL_ADDRESS>
    dump = WasteAtmosphere
  }

  Process
  {
    name = eating
    modifier = crew.count
    input =<EMAIL_ADDRESS>    output =<EMAIL_ADDRESS>    dump = Waste
  }

  Process
  {
    name = drinking
    modifier = crew.count
    input =<EMAIL_ADDRESS>    output =<EMAIL_ADDRESS>    dump = WasteWater
  }

  Process
  {
    name = no_oxygen
    modifier = res.Oxygen.amount < 0.01
    degen =<EMAIL_ADDRESS>                     // lower 'health' property of crew
  }

  Process
  {
    name = no_food
    modifier = res.Food.amount < 0.01
    degen =<EMAIL_ADDRESS>  }

  Process
  {
    name = no_water
    modifier = res.Water.amount < 0.01
    degen =<EMAIL_ADDRESS>  }

  Process
  {
    name = recovery                     // this will show on the info about health
    // you can split modifier on multiple lines, multiplication between them is implied
    modifier = res.Oxygen.amount > 0.01 // if oxygen is present
    modifier = res.Food.amount > 0.01   // and food is present
    modifier = res.Water.amount > 0.01  // and water is present
    modifier = health<1.0               // and health is not full (this is only used to avoid 'recovery' ui label always present)
    regen =<EMAIL_ADDRESS>                 // increase 'health' property of crew
  }

  Alert
  {
    name = asphyxia_imminent
    condition = res.Oxygen.amount < 0.01
    icon = problem-asphyxia             // add an arbitrary problem icon
    log = true                          // add entry to vessel log
    message = true                      // show a warning message
    stopwarp = true                     // stop timewarp
  }

  Alert
  {
    name = oxygen_low
    modifier = res.Oxygen.level<0.33
    icon = // none
    log = true
    message = true
    stopwarp = false // don't stop warp
  }
}

Rule
{
  name = environment_control
  title = Simulate the internal atmosphere of vessels
  desc = CarbonDioxide need to be scrubbed, pressure need to be maintained using Nitrogen
  require = biology     // this rule can only be enabled if biology is also enabled

  Process
  {
    name = co2_poisoning
    modifier = res.WasteAtmo.level>0.008
    degen =<EMAIL_ADDRESS>  }

  Process
  {
    name = atmosphere_leaking
    modifier = hab.surface * env.not_breathable
    input =<EMAIL_ADDRESS>  }

  Alert
  {
    name = co2poisoning
    modifier = res.WasteAtmo.level>0.004  // a bit lower than actual effect on health start
    icon = problem-poisoning
    log = true
    message = true
    stopwarp = true
  }
}

Rule
{
  name = radiation
  title = Simulate radiation and shielding
  desc = A complex radiation environment, and the means to deal with it.

  Process
  {
    name = uv_irradiation
    modifier = hab.uv                 // EM flux in a particular bandwidth reaching the internal habitat
    degen =<EMAIL_ADDRESS>  }

  Process
  {
    name = xray_irradiation
    modifier = hab.xray
    degen =<EMAIL_ADDRESS>  }

  Process
  {
    name = gamma_irradiation
    modifier = hab.gamma
    degen =<EMAIL_ADDRESS>  }

  Process
  {
    name = plasma_irradiation
    modifier = hab.plasma
    degen =<EMAIL_ADDRESS>  }

  Process
  {
    modifier = res.ShieldHighZ.amount / hab.surface     // amount of HighZ shielding per-m²
    absorb =<EMAIL_ADDRESS>    absorb =<EMAIL_ADDRESS>  }

  Process
  {
    modifier = res.ShieldHighZ.amount / hab.surface     // amount of HighZ shielding per-m²
    absorb =<EMAIL_ADDRESS>    emit =<EMAIL_ADDRESS>  }

  Process
  {
    modifier = res.ShieldLowZ.amount / hab.surface      // amount of LowZ shielding per m²
    absorb =<EMAIL_ADDRESS>    absorb =<EMAIL_ADDRESS>  }

  Process
  {
    modifier = res.ShieldLowZ.amount / hab.surface      // amount of LowZ shielding per m²
    absorb =<EMAIL_ADDRESS>    emit =<EMAIL_ADDRESS>  }

  Process
  {
    modifier = res.ShieldGradedZ.amount / hab.surface   // amount of GradedZ shielding per m²
    absorb =<EMAIL_ADDRESS>    absorb =<EMAIL_ADDRESS>    absorb =<EMAIL_ADDRESS>  }

  // bonus: you can use this to implement implicit shielding from amount of water or other resources
}

Component
{
  name = none
  title = Nothing selected
  desc = If you can't or wan't to take anything else.
  // does nothing
}

Component
{
  // scaling convention: enough to scrub 1 kerbal, with something to spare
  name = scrubber
  title = Sequester co2 bla bla
  desc = Arbitrary long description.
  require = atmosphere_control
  tag = eclss
  toggle = true                     // if the resource flow state and process can be toggled
  running = false                   // the resource flow starting state and the process starting state
  scalable = true                   // if the scale unit can be tweaked by the user in VAB (arbitrary module values are not scaled)
  hardware = 5                      // how many Hardware units are required to install or repair this component, per unit of _scrubber
  skill = engineer@2                // trait and experience required to install this component
  mtbf = ...                        // how often does the component fail
  mass = ...                        // how much extra mass this component add when installed, per unit of _scrubber
  cost = ...                        // extra cost in space-bucks when component is installed, per unit of _scrubber
  tech = ...                        // technology required to unlock

  Process
  {
    modifier = env.not_breathable
    input =<EMAIL_ADDRESS>    output =<EMAIL_ADDRESS>    dump = true
  }
}

Component
{
  // scale convention: volume in m²
  name = oxygen_supply
  title = Oxygen supply
  desc = ...
  require = biology             // only enable if biology is enabled
  tag = supplies
  toggle = false
  running = true
  scalable = false
  hardware = 0.05               // i'll elaborate on this another time
  skill = engineer@1
  mtbf = ...                    // leaks?
  mass = 0                      // no extra mass/cost here
  cost = 0

  resource = Oxygen@120
}

// scale convention: habitat volume in m³
Component
{
  name = habitat_interior
  require = atmosphere_control
  resource = Atmosphere@1
  resource = WasteAtmosphere@0/1 // can specify amount and capacity separately
  toggle = true
  running = true
}

// scale convention: habitat surface in m²
Component
{
  name = habitat_exterior
  require = radiation
  resource = ShieldingLowZ@0/1
  resource = ShieldingHighZ@0/1
  resource = ShieldingGradedZ@0/1
}

// now we add a component to a part
@PART[mk1pod]
{
  MODULE
  {
    name = Controller
    allow = none, eclss@crew, pod_experiments   // the parameter after '@' is the scale: you can use a number or one of:
                                                // - 'crew' to scale using crew capacity of part
                                                // - 'volume' to scale using part volume
                                                // - 'surface' to scale using part surface
  }

  MODULE
  {
    name = Controller
    allow =<EMAIL_ADDRESS>                     // here we are allowing anything tagged as 'supplies', passing 0.05m³ volume
                                                // (these components here are assumed to use container volume as scaling convention)
  }

  MODULE
  {
    name = Controller
    allow = habitat_interior@volume
  }

  MODULE
  {
    name = Controller
    allow = habitat_exterior@surface
  }
}

Major advantages
A level of indirection between enabled rule-set and what's added to parts, thanks to Controller ability to take a list of names and tags of components. So it make sense to add a Controller with allow=eclss to all manned pods, irregardless of the rule-set the user will choose. Then if no enabled component is tagged as eclss in a particular savegame, no extra functionality is added to the part. But if one or more components match 'eclss', then functionality is added to the part.
Removal of profiles and focus on rules allow composition between mechanics provided by different authors. Distribute a set of rules, and the user may enable/disable those rules when starting a new game. Without these rules being mutually exclusive to others distributed by somebody else.
Enabled rule-set specified per-savegame thanks to the lack of reliance on MM for most things. The user will choose what rules/components to enable when starting a new game, using a configuration window. The rule-set is then serialized into the savegame.
Module enable/disable technique use is generalized to implement: installation/dismantling of components, reliability (fixing a failed component mean re-installing it) and disabling stock/third-party modules without relying on MM (so we can do it per-savegame).
Much less verbose and hackish modifiers when implementing relatively complex mechanics, thanks to modifier-expressions.
Third-party modules emulation is explicit, defined per-component, so ideally other mod authors can specify when and where one of their modules is emulated.
Arbitrary telemetry and alerts will be a powerful way to enrich your own rules, and allow to remove most (if not all) of the hard-coded concepts in the UI.

This is awesome.
One thing that seems absent (or than I didn't understand) is how the telemetry info is defined and linked to all this (and specifically to alerts). Could you add an example ?
A few remarks :

I can't see anything that define when death/breakdown events happen. I guess this could be added to the Alert{} nodes with a "consequence = death/breakdown" line
Module{ allow = } "@" parameter could also have a "mass" option in addition to crew, volume & surface

As for my proposals :

For reference, here is the proposed "GUIpanel/GUIline/GUItooltip" nodes system to define telemetry/planner UI :

GUIpanel
{
   title = comfort         // the name/gui title of the panel
   index = 3               // add the panel to the third "panel space" in the planner
}
GUIline
{
  panel = comfort                            // planner panel the line is added to, added to telemetry panel is unspecified
  index = 1                                  // order of the line in the telemetry UI / planner panel
  title = breakdown                          // the line left text
  // example note : "comfort" is a degen value like "health" in your example
  value = comfort.capacity / [rate_formula]  // the line right text, modifier-expression or use "" to evaluate as a string
  value_format = duration                    // returned value is Lib.HumanReadableDuration(value)
  visible = info.comfort < 0.2               // modifier-expression that determine visibility
}
GUIline
{
  panel = comfort              // planner panel the line is added to, added to telemetry panel is unspecified
  index = 2                    // order of the line in the telemetry UI / planner panel
  panel = comfort              // planner panel the line is added to, added to telemetry panel is unspecified
  title = comfort              // the line left text
  value = "poor"               // the line right text, modifier-expression or use "" to evaluate as a string
  color = #ff0000              // color of the value
  visible = info.comfort < 0.2 // modifier-expression that determine visibility
}
GUIline
{
  panel = comfort
  index = 2
  title = comfort
  value = "modest"
  color = #ff8300
  visible = (info.comfort >= 0.2) && (info.comfort < 0.4)
}
GUItooltip
{
  line_title = comfort      // show tooltip on GUIline whose title = comfort
  title = firm ground       // the line left text
  value = info.firm_ground  // the line right text, modifier-expression or use "" to evaluate as a string
  value_format = boolean    // returned value is Lib.HumanReadableBoolean(bool value) {return value ? "true" : "false";}
  color = #00ff00           // color of the value
}

If I understand your example correctly, your are already proposing "per-kerbal" properties in the form of the process{regen/degen} lines. Missing from your example is a way to define them, so maybe something like that :

Degeneration
{
  name = health                      // this can be used like a resource (amount/capacity/level...)
  capacity = some_modifier           // modifier that define capacity, capacity = amount if undefined
  ksc_reset = true                   // is the KerbalValue amount set to 0.0 when the kerbal get back to KSC
  vessel_reset = true                // is the KerbalValue amount set to 0.0 when the vessel the kerbal is in is modified
}

@gotmachine
Each vessel has a set of Process, Telemetry and Alerts compiled from the active rule-set (that apply to all vessels) and from the components actually installed in parts of the vessel.
An habitat part may provide telemetry about pressure. Or that may be provided by a pressure control ECLSS component instead. Or even by the atmosphere_control rule. Telemetry entries with the same name 'collapse' into a single one (with average value, and individual readings in its tooltip). The collapsed set of telemetries is then shown in the omonimous panel in Monitor.
For Alerts, it is pretty much the same as above. You can imagine a pressure control ECLSS component that include an alert about pressure dropping. The alerts in a vessel will be shown in a new panel in Monitor, where they can be toggled individually per-vessel. Each enabled alert in essence check if a modifier-expression condition evaluate to true (more than zero). If that's the case, it show a custom problem-icon (that is just a png image, there are only width/height constrains), a warning and/or stop timewarp.
Component
{
  name = pressure_control
  ...
  Telemetry
  {
    name = habitat_pressure
    title = pressure
    value = Atmosphere.level * 101
    format = F2
    unit = kPA
  }
  ...
  Alert
  {
    name = pressure_dropping
    title = Pressure is dropping
    condition = Atmosphere.rate < 0.0
    problem-icon = my_path/my_custom_png_icon_without_extension
    message = Atmospheric pressure in the internal habitat is dropping
    stopwarp = false
  }
  ...
}

For killing/breaking kerbals, I was thinking of simplifing the system so that there are only two 'hard-coded properties': health and sanity. Both start from a value of 1.0. When health reach zero, there is death. When sanity reach zero, there is mental breakdown. Each rule/component can increment/decrement these two hard-coded properties using 'degen/regen' fields in Process. Both properties will also get the special vitals 'icons' in the Telemetry panel of Monitor.
The 'motivating example' was written before your suggestion about custom per-kerbal properties, that make sense. But there is some elegance in having a unique mapping between 'property' and 'consequence'.    Anyway, if kerbal properties end up being not hard-coded, their definition may look something like this:
Property
{
  name = health
  consequence = death
  warning-threshold = 0.5
  danger-threshold = 0.2
  nominal-icon = Kerbalism/icons/heart-gray
  warning-icon = Kerbalism/icons/heart-yellow
  danger-icon = Kerbalism/icons/heart-red
}

with implicit 'capacity' of 1, and 'fatal-threshold' of 0.
About 'full recovery on kerbin': if properties are not reset once a kerbal is back at KSC, we'll need a dedicated UI to show the user their values. So that's more work. I can also imagine players firing/hiring kerbals to get around it.

Module{ allow = } "@" parameter could also have a "mass" option in addition to crew, volume & surface

Agreed. I think these 4 scaling types should cover pretty much every possible use case.

For reference, here is the proposed "GUIpanel/GUIline/GUItooltip" nodes system to define telemetry/planner UI [...]

Thanks for the efforts on that. I anticipate it will be not easy keep the current planner structure intact.
An alternative may be to essentially re-use Telemetry entries for both monitor and planner. That would be a fundamentally different planner, so I'm not sure.

If I may throw in, I would go for having the Kerbal properties not hard coded, I like the idea of the ability to make kerbal's little delicate snowflakes or hard ass gangsters, with values chosen at random or specific kerbal's getting their own personal set. i.e Jeb could have a higher danger-threshold and lower warning-threshold.
Can I assume even if the monitor and planner are obviously going to change that they will still be using the window class to be displayed, as I am currently working on a way to stop the annoying click through effect.

@PiezPiedPy
There is a 'per-kerbal variance' that can be specified in degeneration, and that will probably be preserved in the new rule system. But that is only meant to avoid 'all crew suffocating or going crazy at once' scenarios. There will be no way to specify that a particular kerbal is different than the others.

Can I assume even if the monitor and planner are obviously going to change that they will still be using the window class to be displayed, as I am currently working on a way to stop the annoying click through effect

I don't think that the overall architecture of the UI library will require any changes at all. The changes will be related mostly to content. Monitor & Planner are not using Window, but any changes you make in Window should be trivial to back-port to them afterward.

Isn't having a single health variable going to be problematic ? Various rules regen/degen will interfere : eating will regen health lost by radiation, for example.
The telemetry concept feel great to represent a rate or amount of something. And the planner or monitor could make use of a structured hierarchical condition-visibility based string-able line/tooltip system.

@gotmachine The idea was to have health/sanity like an 'health bar' in other videogames, with 'idle recovery'. But you are right, and on further analysis having common properties for food and radiation is not going to work. I think this aspect need more thinking.

The issue has been updated, and the scope of changes reduced sensibly. Further reduction is likely before implementation start.


Remove redundant links

The download links for the Sysinternals Suite appear twice in this short
page. The ones at the end of the page seem to not be maintained (in
terms of updating the file sizes), so it seems most people see and use
the top set of links.
In light of the above, and in order to improve overall maintainability,
removing the set of links at the bottom of the page.

OPS Build status updates of commit 0d2799d:
:clock10: Preparing: average preparing time is 40 sec(s)

OPS Build status updates of commit 0d2799d:
:clock10: Incremental building: average incremental building time is 20 sec(s)

OPS Build status updates of commit 0d2799d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/sysinternals-suite.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit 52766d9:
:clock10: Preparing: average preparing time is 45 sec(s)

@markrussinovich, can you please have a look at this?

OPS Build status updates of commit 52766d9:
:clock10: Incremental building: average incremental building time is 19 sec(s)

OPS Build status updates of commit 52766d9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/sysinternals-suite.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit 8438bc4:
:clock10: Preparing: average preparing time is 45 sec(s)

OPS Build status updates of commit 8438bc4:
:clock10: Incremental building: average incremental building time is 19 sec(s)

OPS Build status updates of commit 8438bc4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sysinternals/downloads/sysinternals-suite.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update JestObjectAPI.md

small typo :)

Summary
Just a small typo, missing an 's'

Test plan
no test necessary

Codecov Report

Merging #5559 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #5559   +/-   ##
======================================
  Coverage    61.7%   61.7%
======================================
  Files         213     213
  Lines        7150    7150
  Branches        4       3    -1
======================================
  Hits         4412    4412
  Misses       2737    2737
  Partials        1       1

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c5fbd30...6939edf. Read the comment docs.


Web Site Source Code Index Problem

view-source:https://www.barisdayak.com
fluidvids.min.js web site source code index problems.
help please.
thanks

I see.


Inventorio support

Once again, this needs to be able to be configurable, or autodetect when Inventorio is installed (and it's inventory replacement is toggled, since you can switch back and forth between the inventorio inventory, and vanilla inventory)

hmm, there are a lot of problems with inventorio. The button moves around. I think its better to be fixed on the inventorio side.

I'll mess around with it, see what I can do. You might be right - Inventorio is rather janky at times.


typeError for pluck() with objection version 3.0.0

Knex version: "0.95.12"
Objection version: "3.0.0
node: node:16-alpine
Once Objection version was updated to latest(3.0.0), queries started to fail on pluck() and few other methods failed as well.
example of error is TypeError: Person.query(...).orderBy(...).pluck is not a function
any idea why pluck() stopped working ?
example:
this doesn't work anymore
const ids = await Person.query().orderBy('id').pluck('id')
i tried to look for some help and found Vincit/objection.js#1588
it works after removing pluck and substituting to this
const ids = await Person.query().orderBy('id').then(members => members.map(member => member.id))
according to knex:  If you are invoking it on a query builder, yes, if you are trying to execute it on a promise you get, no. orderBy returns QueryBuilder, which has pluck method on it, so your given example should be fine.

pluck was deprecated in 1.x and removed in 3.x.


python312Packages.bundlewrap: 4.17.2 -> 4.18.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.bundlewrap is: Easy, Concise and Decentralized Config management with Python
meta.homepage for python312Packages.bundlewrap is: https://bundlewrap.org/
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.18.0 with grep in /nix/store/zfwa4rgjvy65bdy4li5wsf69m97b6vhx-python3.12-bundlewrap-4.18.0
found 4.18.0 in filename of file in /nix/store/zfwa4rgjvy65bdy4li5wsf69m97b6vhx-python3.12-bundlewrap-4.18.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
bundlewrap
python311Packages.bundlewrap
python312Packages.bundlewrap

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/zfwa4rgjvy65bdy4li5wsf69m97b6vhx-python3.12-bundlewrap-4.18.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.bundlewrap https://github.com/r-ryantm/nixpkgs/archive/4e3317ba4aa3ce3adcd3635e994f747c9e2d7583.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/4e3317ba4aa3ce3adcd3635e994f747c9e2d7583#python312Packages.bundlewrap

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/zfwa4rgjvy65bdy4li5wsf69m97b6vhx-python3.12-bundlewrap-4.18.0
ls -la /nix/store/zfwa4rgjvy65bdy4li5wsf69m97b6vhx-python3.12-bundlewrap-4.18.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

4 packages built:

bundlewrap (python311Packages.bundlewrap)
bundlewrap.dist (python311Packages.bundlewrap.dist)
python312Packages.bundlewrap
python312Packages.bundlewrap.dist

Maintainer pings
cc @wamserma for testing.

superseeded by https://github.com/NixOS/nixpkgs/pull/300907


Backport symbolication patch for 0.71 (#40914)(#41377)(#42079)

Summary:

Changelog:

Test Plan:

Closing this pull request unmerged.


Special CachedShape parameter in shape! macro

This task is automatically imported from the old Task Issue Board and it was originally created by Adam Obuchowicz.
Original issue is here.

Why
As Enso IDE developer
I want to be able to add CachedShape parameter to my shape created with shape! macro,
So that I can parametrize my shape by other cached_shape.
The CachedShape creates a generic setter taking a marker type for a specific cached shape. The parameter of CachedShape type may be then returned as the shape to display <or added to another - should be simple, but is not necessary yet>. In the GLSL, the input is a vec4 describing a rectangle the shape is occupying in the global texture, and the shader just reads that fragment as SDF.
The code could look as follows:
mod icon1 {
    use super::*;
    ensogl_core::cached_shape! { 32x32
        (style: Style) {
            let shape = Circle(10.px());
            shape.into()
        }
    }
}

mod icon2 {
    use super::*;
    ensogl_core::cached_shape! { 32x32
        (style: Style) {
            let shape = Rectangle(10.px());
            shape.into()
        }
    }
}

mod icon {
    use super::*;
    ensogl_core::shape!
        (
            style: Style,
            shape: CachedShape,
            color: Vector4
        ) {
            shape.into()
        }
    }
}

Acceptance Criteria
Scenario:
GIVEN I have a debug scene with two cached shapes and one shape displaying CachedShape taken as parameter, and two instances of the latter parameterized by the former.
WHEN I open it
THEN I see two cached shapes displayed.

Blockers:
#184212594 blocked
Comments:
Adam Obuchowicz reports a new STANDUP for yesterday (2023-01-31):
Progress: Developed a special registry for cached shapes data, so everyone would know where on the texture is given shape. It should be finished by 2023-02-08.
Next Day: Next day I will be working on the same task. Continue developing, refactor the code a bit to fill the results of shape arrangement in the registry. (Enso Bot - Feb 1, 2023)

**Adam Obuchowicz** reports a new **STANDUP** for today (2023-02-01):
Progress: Little progress, as I played with pivotal and discuss other topics. Started refactoring of the registry and shape arrangement algorithm. It should be finished by 2023-02-08.
Next Day: Next day I will be working on the same task. Finish refactoring, so I could move to making parameter and its glsl code. (Enso Bot - Feb 1, 2023)

**Adam Obuchowicz** reports a new **STANDUP** for yesterday (2023-02-02):
Progress: Dived into the shapes/shaders code. I think I understood how the things work. Implemented the "prototype" API for parametrizing shapes by cached shapes. It should be finished by 2023-02-08.
Next Day: Next day I will be working on the same task. Try to display cached shapes in the debug scene. (Enso Bot - Feb 3, 2023)

**Adam Obuchowicz** reports a new **STANDUP** for today (2023-02-03):
Progress: Display the cached shapes in the debug scene. Spent some time in fixing shader compiler errors. The shapes are displayed, but have artifacts. It should be finished by 2023-02-08.
Next Day: Next day I will be working on the same task. Fix all issues (Enso Bot - Feb 3, 2023)

QA: @galin-enso


Rebuild with OpenSSL 3

Rebuild with OpenSSL 3. 2.1.12 isn't officially compatible with OpenSSL 3 and requires a small patch that I took from Arch Linux (which they themselves took from some PRs in libevent).

@varlackc do you have any remaining changes required to be addressed, or are you able to give this an approval if not?


Input Not Trigger

Hi @pauljohanneskraft ,
Sorry for disturbing again. But I need help to learn best way to handle inputs.
I am using viewmodel and viewmodelImplementation like this XCoordinator example. But just button trigger example exists. What if the input is textfield or sth else and no need to trigger any action?
Thanks!

Anyway, I decided to go on with MVC pattern. So no need, thanks :)


CI: improve status check job.

The final job should now always produce a status of either success or failure.

bors r+

bors r+

bors r+


*: run 'marker' in CI

Fix https://github.com/coreos/etcd/issues/7123.

@xiang90 @heyitsanthony I made it run only on Documentation directory for now, and move [DEPRECATED] to another line without [. PTAL.

lgtm

lgtm thanks

Codecov Report

Merging #7864 into master will decrease coverage by 0.18%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #7864      +/-   ##
==========================================
- Coverage   75.76%   75.58%   -0.19%
==========================================
  Files         332      332
  Lines       26203    26203
==========================================
- Hits        19853    19805      -48
- Misses       4923     4968      +45
- Partials     1427     1430       +3

Impacted Files
Coverage Δ

proxy/grpcproxy/register.go
83.33% <0%> (-11.12%)
:arrow_down:

pkg/adt/interval_tree.go
77.74% <0%> (-6.41%)
:arrow_down:

clientv3/namespace/watch.go
87.87% <0%> (-6.07%)
:arrow_down:

proxy/grpcproxy/watcher.go
89.58% <0%> (-4.17%)
:arrow_down:

rafthttp/msgappv2_codec.go
71.3% <0%> (-3.48%)
:arrow_down:

proxy/grpcproxy/watch.go
90.97% <0%> (-3.48%)
:arrow_down:

etcdserver/api/v3election/election.go
64.7% <0%> (-2.95%)
:arrow_down:

pkg/transport/listener_tls.go
73.91% <0%> (-2.18%)
:arrow_down:

rafthttp/peer.go
90.07% <0%> (-1.53%)
:arrow_down:

etcdmain/etcd.go
44.2% <0%> (-1.29%)
:arrow_down:

... and 10 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7f05e22...282c6fd. Read the comment docs.


Migrate from Travis to GitHub actions

I don't think that you need to enable them explicitly, but I think that some workflow needs to be in the default branch before the first pipeline can execute. I suppose that you can try to merge it and then see if it appears here :)

Ah yes - now it works: https://github.com/pyvec/naucse-hooks/actions/runs/1684134881


No isSuccessful() in the notification handler

For Sage Pay Server, the last the merchant site hears from the gateway is the result sent in the notification callback. There is no complete* method used when the user finally returns to the merchant site, since no data is returned with the user - it is all in the site's data store.
The standard Omnipay NotificationInterface does not require an isSuccessful() method, but arguably one is needed here so the merchant site can make a decision based on whether the transaction was successful or not.
This is easily supported by moving the isSuccessful() method from the Response message class to the ResponseFieldsTrait, so it is shared with both the Direct response and the AcceptNotification server request.

Fixed and released. Additional small test to be pushed, which can wait for the next release.


Unintended sideeffects by mutating objects

Version: https://github.com/cvent/json-schema-deref-sync/commit/e5989fddb022a827feb51baf8451862172c1cc8c
When multiple schemas are referencing the same value in the internal cache of this package, it might still happen that the reference from the cache gets mutated. Since multiple schemas might use that reference, this can have unintended side effects. It can thus happen, that adding a schema can modify references in other schemas, for example when using the removeIds option.
Mutations could also arise from the mergeAdditionalProperties option, or (maybe) from resolving sub-references.
If have done some work to fix this here, but that seems to break one test with checking for circular references: https://github.com/cvent/json-schema-deref-sync/compare/master...simonmeusel:patch-fix-cache-side-effects-1
In this package we use deep cloning to prevent mutations from having unintended side effects.
Furthermore the https://www.npmjs.com/package/clone package has a

XSS vulnerability detected

on it's page.

The only change in 0.11.0 is from this PR https://github.com/cvent/json-schema-deref-sync/pull/27
cc @kobik

I think this issue does not just occur in 0.12.0 but also in earlier versions, but I did not test it.

Ah okay, I misunderstood. I thought you meant the latest version introduced this issue.


TS Client RequestUrl template does not check null

Hi,
I noticed, that my generated clients ignore URL parameters that are undefined but not those that are null. An example:
if (width !== undefined)
  url_ += "width=" + encodeURIComponent("" + width) + "&";
if (height !== undefined)
  url_ += "height=" + encodeURIComponent("" + height) + "&";

I think that this should by default also check for null. This would be the spot in the TS template.
If am not the only one who thinks this I'd create a PR.

I think this is because the parameter is required but nullable. Can you post the spec?

I am generating the code from .NET Core controllers.
This is from the swagger JSON:
{
  "/my/path": {
    "get": {
      "tags": [
        "Test"
      ],
      "operationId": "GetBlob",
      "consumes": [],
      "produces": [
        "application/json"
      ],
      "parameters": [
        {
          "name": "width",
          "in": "query",
          "required": false,
          "type": "integer",
          "format": "int32"
        },
        {
          "name": "height",
          "in": "query",
          "required": false,
          "type": "integer",
          "format": "int32"
        }
      ]
    }
  }
}

In that case changing it locally in my template will suffice. Thank you!

OpenAPI 3.0 nullable sample here: https://github.com/RSuter/NSwag/issues/1732#issuecomment-438646426


jsoup 1.14.1+ imports (non-existent) javax.annotation 3.0+

In #1467  a dependency on JSR-305 has been added - intended to be only a build-time dependency.
    <dependency>
      <!-- javax.annotations.nonnull, with Apache 2 (not GPL) license. Build time only. -->
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>jsr305</artifactId>
      <version>3.0.2</version>
      <scope>provided</scope>
    </dependency>

Unfortunately, this particular artifact has a particularly nasty combination of export/import clauses  - namely,  due to the jsr305 manifest
Export-Package: javax.annotation;uses:="javax.annotation.meta";version
 ="3.0.2",javax.annotation.concurrent;version="3.0.2",javax.annotation
 .meta;uses:="javax.annotation";version="3.0.2"

This runtime dependency propagates to jsoup as well, as the resulting MANIFEST.MF produces
Export-Package: org.jsoup; version="1.14.2"; uses:="javax.annotation, javax.net.ssl, org.jsoup.nodes, org.jsoup.parser, org.jsoup.safety", org.jsoup.examples; version="1.14.2"; uses:="org.jsoup.nodes", org.jsoup.helper; version="1.14.2"; uses:="javax.annotation, javax.net.ssl, javax.xml.parsers, org.jsoup, org.jsoup.nodes, org.jsoup.parser, org.jsoup.select, org.w3c.dom", org.jsoup.internal; version="1.14.2"; uses:="javax.annotation, javax.annotation.meta", org.jsoup.nodes; version="1.14.2"; uses:="javax.annotation, org.jsoup, org.jsoup.parser, org.jsoup.select", org.jsoup.parser; version="1.14.2"; uses:="javax.annotation, org.jsoup.nodes", org.jsoup.safety; version="1.14.2"; uses:="org.jsoup.nodes", org.jsoup.select; version="1.14.2"; uses:="javax.annotation, org.jsoup.nodes"
Import-Package: javax.annotation; version="[3.0, 4)", javax.annotation.meta; version="[3.0, 4)", javax.net.ssl, javax.xml.parsers, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.stream, org.jsoup; version="[1.14, 2)", org.jsoup.helper; version="[1.14, 2)", org.jsoup.internal; version="[1.14, 2)", org.jsoup.nodes; version="[1.14, 2)", org.jsoup.parser; version="[1.14, 2)", org.jsoup.safety; version="[1.14, 2)", org.jsoup.select; version="[1.14, 2)", org.w3c.dom

This is a known problem of the old findbugs artifacts - but one that does not appear to be fixed anytime soon - and it also propagates to any project using jsoup.
Two solutions here:

Override the runtime dependency with a proper import-package override instruction (e.g.  <Import-Package>javax.annotation;version="[0,2)",*</Import-Package>) OR
Change the description of the dependency to actually reflect that it is a runtime, not a build-time dependency

CLosing as #1616  already exists


getMultiCapabilities not working with arrow function

getMultiCapabilities seems not working with arrow function. So I defined 'getMultiCapabilities' function rather than 'multiCapabilities' property in the protractor config.ts like this:
    export let config: Config = {
        ...
        getMultiCapabilities: () => { // this doesn't work;
            ...                 // replacing it with "function() {" is okay
        },
        beforeLaunch: () => { // this works fine
            ...
        },
        ...
    }

This results in "Error: Debug Failure. False expression: position cannot precede the beginning of the file". Replacing arrow with 'function' works fine. What's wrong?

Hi there!
Your question is better suited for StackOverflow or Gitter. Please ask a question there with the 'protractor' tag or post in the Gitter Channel to get help.
From the the getting help section of the README:

Please ask usage and debugging questions on StackOverflow (use the "protractor" tag) or in the Angular discussion group. (Please do not ask support questions here on Github.)

Thanks!

OK, so I posted same question on the stackoverflow:
http://stackoverflow.com/questions/42643118/getmulticapabilities-not-working-with-arrow-function
Hopefully answer to my question.
Thanks!


Swift 4.2 errors

There are several errors in your project in Swift 4.2 so I cannot build my app… Can you fix them? Here are the errors :

commonModes has been renamed to RunLoop.Mode.common
init(activityIndicatorStyle:) has been renamed to init(style:)

EDIT:
There is also the following warning:
`let` properties are implicitly `final`; use `public` instead of `open`

@TheFlow95 Me too, I hope to resolve it as soon as possible.

Need to wait for a new release PR

I have the same problem.

I think this might be something that the pod is not getting the proper files because in the master branch the changes required are in place.

Something temporal, but pod 'PKHUD', :git => 'git@github.com:pkluz/PKHUD.git' works.

I get this message:
[!] Error installing PKHUD
[!] Failed to download 'PKHUD'.

Check out the new release


GPU implementation for RangeSampler and related samplers

The implementation for RangeSampler currently works only for the CPU, even though the sampling is done using SimplePhilox in most cases (which has GPU support). This issue is for tracking all changes to enable GPU support for the samplers.
This issue came into picture while digging for #1140, and affects it directly. Once GPU implementations are written for the samplers related to RangeSampler, float64 can easily be enabled for the *Sampler ops mentioned here.  Some more context can be found in this comment.

Automatically closing due to lack of recent activity. Please file a new issue referring to this issue, if the issue is still relevant and important. If this is documenting some kind of bug, be sure to use the latest version of TensorFlow. Thank you so much.