Detailed Build Instructions missing

Hi all,
I don't know why but i can't install bmdtools correctly.
It says something is missing, apparently libavutil/time.h and i don't know how to fix it.  I have ffmpeg, ffmbc, libav.
I just noticed that ffmbc use timer.h instead time.h
If somebody could help me.
Thanks a lot

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/11211371-detailed-build-instructions-missing?utm_campaign=plugin&utm_content=tracker%2F256764&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F256764&utm_medium=issues&utm_source=github).

You probably are missing the dev package.
You can use this repository to get the latest libav.

Thanks, i did "sudo add-apt-repository  ppa:motumedia/libav-daily" then "sudo apt-get update".
I still have the same error. Did i miss something ? did something wrong when adding ppa ?
Sorry for disturbing you.
Thanks,

I think i did something wrong, i tried to install manually Libav-toos_12 libavcodec-dev_12 and libavutil-dev_12 and when i did make in bmdtools i have :
bmdcapture.cpp:192:61: error: use of enum ‘AVCodecID’ without previous declaration
static AVStream add_audio_stream(AVFormatContext oc, enum AVCodecID codec_id)
^
bmdcapture.cpp: In function ‘AVStream add_audio_stream(AVFormatContext, int)’:
bmdcapture.cpp:198:38: error: ‘avformat_new_stream’ was not declared in this scope
st = avformat_new_stream(oc, NULL);
^
bmdcapture.cpp:205:19: error: invalid conversion from ‘int’ to ‘CodecID’ [-fpermissive]
c->codec_id   = codec_id;
^
bmdcapture.cpp: At global scope:
bmdcapture.cpp:232:61: error: use of enum ‘AVCodecID’ without previous declaration
static AVStream add_video_stream(AVFormatContext oc, enum AVCodecID codec_id)
^
bmdcapture.cpp: In function ‘AVStream add_video_stream(AVFormatContext, int)’:
bmdcapture.cpp:238:38: error: ‘avformat_new_stream’ was not declared in this scope
st = avformat_new_stream(oc, NULL);
^
bmdcapture.cpp:245:19: error: invalid conversion from ‘int’ to ‘CodecID’ [-fpermissive]
c->codec_id   = codec_id;
^
bmdcapture.cpp:262:21: error: ‘AV_CODEC_ID_V210’ was not declared in this scope
if (codec_id == AV_CODEC_ID_V210 || codec_id == AV_CODEC_ID_R210)
^
bmdcapture.cpp:262:53: error: ‘AV_CODEC_ID_R210’ was not declared in this scope
if (codec_id == AV_CODEC_ID_V210 || codec_id == AV_CODEC_ID_R210)
^
bmdcapture.cpp:264:21: error: ‘AV_CODEC_ID_RAWVIDEO’ was not declared in this scope
if (codec_id == AV_CODEC_ID_RAWVIDEO)
^
bmdcapture.cpp: At global scope:
bmdcapture.cpp:287:60: error: use of enum ‘AVCodecID’ without previous declaration
static AVStream add_data_stream(AVFormatContext oc, enum AVCodecID codec_id)
^
bmdcapture.cpp: In function ‘AVStream add_data_stream(AVFormatContext, int)’:
bmdcapture.cpp:293:38: error: ‘avformat_new_stream’ was not declared in this scope
st = avformat_new_stream(oc, NULL);
^
bmdcapture.cpp:300:17: error: invalid conversion from ‘int’ to ‘CodecID’ [-fpermissive]
c->codec_id = codec_id;
^
bmdcapture.cpp: In function ‘int main(int, char**)’:
bmdcapture.cpp:706:27: error: ‘AV_PIX_FMT_UYVY422’ was not declared in this scope
pix_fmt = AV_PIX_FMT_UYVY422;
^
bmdcapture.cpp:710:27: error: ‘AV_PIX_FMT_YUV422P10’ was not declared in this scope
pix_fmt = AV_PIX_FMT_YUV422P10;
^
bmdcapture.cpp:715:31: error: ‘AV_PIX_FMT_RGB48’ was not declared in this scope
pix_fmt = AV_PIX_FMT_RGB48;
^
bmdcapture.cpp:760:64: error: ‘av_dict_parse_string’ was not declared in this scope
if (av_dict_parse_string(&opts, optarg, "=", ":", 0) < 0) {
^
bmdcapture.cpp:931:28: error: ‘AV_CODEC_ID_RAWVIDEO’ was not declared in this scope
fmt->video_codec = AV_CODEC_ID_RAWVIDEO;
^
bmdcapture.cpp:934:28: error: ‘AV_CODEC_ID_V210’ was not declared in this scope
fmt->video_codec = AV_CODEC_ID_V210;
^
bmdcapture.cpp:937:28: error: ‘AV_CODEC_ID_R210’ was not declared in this scope
fmt->video_codec = AV_CODEC_ID_R210;
^
bmdcapture.cpp:941:59: error: ‘AV_CODEC_ID_PCM_S16LE’ was not declared in this scope
fmt->audio_codec = (sample_fmt == AV_SAMPLE_FMT_S16 ? AV_CODEC_ID_PCM_S16LE : AV_CODEC_ID_PCM_S32LE);
^
bmdcapture.cpp:941:83: error: ‘AV_CODEC_ID_PCM_S32LE’ was not declared in this scope
fmt->audio_codec = (sample_fmt == AV_SAMPLE_FMT_S16 ? AV_CODEC_ID_PCM_S16LE : AV_CODEC_ID_PCM_S32LE);
^
bmdcapture.cpp:947:39: error: ‘AV_CODEC_ID_TEXT’ was not declared in this scope
data_st = add_data_stream(oc, AV_CODEC_ID_TEXT);
^
this is not fun !! but i keep smile :)
If someone can help me :)

libavformat-dev missing =)

i did but still the same error...
do i have to purge something or remove something ?
Thanks lu-zero, i well appreciate your help

can you please paste the full error?

With pleasure :
horus-ekla@horusekla-ProLiant-DL320e-Gen8-v2:~/Downloads/sdk/SDK/Linux/Samples/bmdtools-master$ make
g++ -o bmdcapture bmdcapture.cpp modes.cpp ../../include/DeckLinkAPIDispatch.cpp pkg-config --cflags libavcodec libavformat libswscale libavutil -D__STDC_CONSTANT_MACROS -Wno-multichar -I ../../include -fno-rtti -g pkg-config --libs libavcodec libavformat libswscale libavutil -lm -ldl -lpthread
bmdcapture.cpp:192:61: error: use of enum ‘AVCodecID’ without previous declaration
static AVStream add_audio_stream(AVFormatContext oc, enum AVCodecID codec_id)
^
bmdcapture.cpp: In function ‘AVStream add_audio_stream(AVFormatContext, int)’:
bmdcapture.cpp:198:38: error: ‘avformat_new_stream’ was not declared in this scope
st = avformat_new_stream(oc, NULL);
^
bmdcapture.cpp:205:19: error: invalid conversion from ‘int’ to ‘CodecID’ [-fpermissive]
c->codec_id   = codec_id;
^
bmdcapture.cpp: At global scope:
bmdcapture.cpp:232:61: error: use of enum ‘AVCodecID’ without previous declaration
static AVStream add_video_stream(AVFormatContext oc, enum AVCodecID codec_id)
^
bmdcapture.cpp: In function ‘AVStream add_video_stream(AVFormatContext, int)’:
bmdcapture.cpp:238:38: error: ‘avformat_new_stream’ was not declared in this scope
st = avformat_new_stream(oc, NULL);
^
bmdcapture.cpp:245:19: error: invalid conversion from ‘int’ to ‘CodecID’ [-fpermissive]
c->codec_id   = codec_id;
^
bmdcapture.cpp:262:21: error: ‘AV_CODEC_ID_V210’ was not declared in this scope
if (codec_id == AV_CODEC_ID_V210 || codec_id == AV_CODEC_ID_R210)
^
bmdcapture.cpp:262:53: error: ‘AV_CODEC_ID_R210’ was not declared in this scope
if (codec_id == AV_CODEC_ID_V210 || codec_id == AV_CODEC_ID_R210)
^
bmdcapture.cpp:264:21: error: ‘AV_CODEC_ID_RAWVIDEO’ was not declared in this scope
if (codec_id == AV_CODEC_ID_RAWVIDEO)
^
bmdcapture.cpp: At global scope:
bmdcapture.cpp:287:60: error: use of enum ‘AVCodecID’ without previous declaration
static AVStream add_data_stream(AVFormatContext oc, enum AVCodecID codec_id)
^
bmdcapture.cpp: In function ‘AVStream add_data_stream(AVFormatContext, int)’:
bmdcapture.cpp:293:38: error: ‘avformat_new_stream’ was not declared in this scope
st = avformat_new_stream(oc, NULL);
^
bmdcapture.cpp:300:17: error: invalid conversion from ‘int’ to ‘CodecID’ [-fpermissive]
c->codec_id = codec_id;
^
bmdcapture.cpp: In function ‘int main(int, char**)’:
bmdcapture.cpp:706:27: error: ‘AV_PIX_FMT_UYVY422’ was not declared in this scope
pix_fmt = AV_PIX_FMT_UYVY422;
^
bmdcapture.cpp:710:27: error: ‘AV_PIX_FMT_YUV422P10’ was not declared in this scope
pix_fmt = AV_PIX_FMT_YUV422P10;
^
bmdcapture.cpp:715:31: error: ‘AV_PIX_FMT_RGB48’ was not declared in this scope
pix_fmt = AV_PIX_FMT_RGB48;
^
bmdcapture.cpp:760:64: error: ‘av_dict_parse_string’ was not declared in this scope
if (av_dict_parse_string(&opts, optarg, "=", ":", 0) < 0) {
^
bmdcapture.cpp:931:28: error: ‘AV_CODEC_ID_RAWVIDEO’ was not declared in this scope
fmt->video_codec = AV_CODEC_ID_RAWVIDEO;
^
bmdcapture.cpp:934:28: error: ‘AV_CODEC_ID_V210’ was not declared in this scope
fmt->video_codec = AV_CODEC_ID_V210;
^
bmdcapture.cpp:937:28: error: ‘AV_CODEC_ID_R210’ was not declared in this scope
fmt->video_codec = AV_CODEC_ID_R210;
^
bmdcapture.cpp:941:59: error: ‘AV_CODEC_ID_PCM_S16LE’ was not declared in this scope
fmt->audio_codec = (sample_fmt == AV_SAMPLE_FMT_S16 ? AV_CODEC_ID_PCM_S16LE : AV_CODEC_ID_PCM_S32LE);
^
bmdcapture.cpp:941:83: error: ‘AV_CODEC_ID_PCM_S32LE’ was not declared in this scope
fmt->audio_codec = (sample_fmt == AV_SAMPLE_FMT_S16 ? AV_CODEC_ID_PCM_S16LE : AV_CODEC_ID_PCM_S32LE);
^
bmdcapture.cpp:947:39: error: ‘AV_CODEC_ID_TEXT’ was not declared in this scope
data_st = add_data_stream(oc, AV_CODEC_ID_TEXT);
^
make: *** [bmdcapture] Error 1

Check that avformat exists
ls /usr/include/libavformat/avformat.h
head /usr/include/libavformat/avformat.h

I have this :
horus-ekla@horusekla-ProLiant-DL320e-Gen8-v2:~/Downloads/sdk/SDK/Linux/Samples/bmdtools-master$ ls /usr/include/libavformat/avformat.h
/usr/include/libavformat/avformat.h
horus-ekla@horusekla-ProLiant-DL320e-Gen8-v2:~/Downloads/sdk/SDK/Linux/Samples/bmdtools-master$ head /usr/include/libavformat/avformat.h
/*

copyright (c) 2001 Fabrice Bellard

This file is part of Libav.

Libav is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

pkg-config --libs libavcodec libavformat libswscale libavutil

it says :
-pthread -L/usr/local/lib -lavformat -lavcodec -lva -lasound -lSDL -lx264 -lz -lswscale -lavutil -lm

-L/usr/local/lib
You are using something you manually installed. wipe /usr/local/lib and /usr/local/include out of it and you should be fine.

Now i have new errors :
horus-ekla@horusekla-ProLiant-DL320e-Gen8-v2:~/Downloads/sdk/SDK/Linux/Samples/bmdtools-master$ make
g++ -o bmdcapture bmdcapture.cpp modes.cpp ../../include/DeckLinkAPIDispatch.cpp pkg-config --cflags libavcodec libavformat libswscale libavutil -D__STDC_CONSTANT_MACROS -Wno-multichar -I ../../include -fno-rtti -g pkg-config --libs libavcodec libavformat libswscale libavutil -lm -ldl -lpthread
Package libswscale was not found in the pkg-config search path.
Perhaps you should add the directory containing libswscale.pc' to the PKG_CONFIG_PATH environment variable No package 'libswscale' found Package libswscale was not found in the pkg-config search path. Perhaps you should add the directory containing libswscale.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libswscale' found
bmdcapture.cpp: In function ‘int main(int, char**)’:
bmdcapture.cpp:778:42: warning: too many arguments for format [-Wformat-extra-args]
"Please disable either\n");
^
/tmp/cc2oGovU.o: In function avpacket_queue_flush': /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:92: undefined reference to av_free_packet'
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:93: undefined reference to av_freep' /tmp/cc2oGovU.o: In function avpacket_queue_put':
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:114: undefined reference to av_dup_packet' /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:118: undefined reference to av_malloc'
/tmp/cc2oGovU.o: In function avpacket_queue_get': /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:164: undefined reference to av_free'
/tmp/cc2oGovU.o: In function add_audio_stream': /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:198: undefined reference to avformat_new_stream'
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:218: undefined reference to avcodec_find_encoder' /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:224: undefined reference to avcodec_open2'
/tmp/cc2oGovU.o: In function add_video_stream': /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:238: undefined reference to avformat_new_stream'
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:265: undefined reference to avcodec_pix_fmt_to_codec_tag' /tmp/cc2oGovU.o: In function add_data_stream':
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:293: undefined reference to avformat_new_stream' /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:312: undefined reference to av_malloc'
/tmp/cc2oGovU.o: In function write_data_packet(char*, int, long)': /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:363: undefined reference to av_init_packet'
/tmp/cc2oGovU.o: In function DeckLinkCaptureDelegate::VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*)': /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:390: undefined reference to av_init_packet'
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:467: undefined reference to av_init_packet' /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:509: undefined reference to av_gettime'
/tmp/cc2oGovU.o: In function push_packet': /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:620: undefined reference to av_interleaved_write_frame'
/tmp/cc2oGovU.o: In function main': /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:657: undefined reference to av_register_all'
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:745: undefined reference to av_guess_format' /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:760: undefined reference to av_dict_parse_string'
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:876: undefined reference to av_guess_format' /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:923: undefined reference to avformat_alloc_context'
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:950: undefined reference to avio_open' /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:956: undefined reference to avformat_write_header'
/home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:999: undefined reference to av_write_trailer' /home/horus-ekla/Downloads/sdk/SDK/Linux/Samples/bmdtools-master/bmdcapture.cpp:1002: undefined reference to avio_close'
collect2: error: ld returned 1 exit status
make: *** [bmdcapture] Error 1
i'm confused to disturb you with that.
Thanks

apt-get install libswscale-dev

wWOOWw you rock ! it works !
Just to know, what was the main problem, because i have only ffmbc installed and avconv on a fresh "rusty" (14;04) ubuntu ?
for next time i need to install bmdtool, what you recommand, install ffmpeg only ? or avconv ?
do you have a donate paypal ?
Thanks, many many thanks

The only supported configuration is using the most current libav release or even better using libav master.
Virtual drinks are always welcome at<EMAIL_ADDRESS>=)

with pleasure,       santé !
i work in broadcast industry so if you need help in your project, please advise me. If i can do something, i will do it.

If you want, please contact on my email address, I have plenty of maybe interesting plans that might be useful to you =)

Sorry for that question lu-zero but i'm a bit struggle with understanding of "how to correct compile and install libav". I learned a lot during my problem you solved and i want to go further to understand clearly how to compile and install the latest libav with the latests librairies. And don't just apt-get install .
Finally i post this question here because after a long long search on the net i found nothing.
When i go to the libav project site you explain how to install the latest libav from git :
So i clone the git > git://git.libav.org/libav.git
And when i do a ./configure i don't have x264 encoders and many others. I know that when i do a ./configure --help there are a lot of options i can add but to be honnest i don't understand clearly what i have to do.
So what is the correct way to add library ?
How to add new encoders, do i have to uninstall libav an re-install it ?
And i can't use both ffmbc and libav. Is is a way to share the librairies ?
I'm sorry for that, maybe you can help me by giving me a link where i can find a solution somewhere.
Thanks lu-zero

I'll write down detailed instructions soon, today I'm too tired.

Thanks luka. Realy thanks to you. I wrote an email this morning to you to
<EMAIL_ADDRESS>is that the correct one or do you prefer the gmail one
(i seen it on libav)?
Btw, for my problem ''how to compile correctly'' i'm confused to disturb
you about that. If i can do something for your project in exhange of you
helping me, it's with pleasure.  Or i can pay you as a ''consultant'' :).
Sorry if you find that to polite.
Thanks,
Cheers
Alexandre Licinio - EKLA INGENIERIE
Le 16 avr. 2015 21:27, "Luca Barbato"<EMAIL_ADDRESS>a écrit :

I'll write down detailed instructions soon, today I'm too tired.
—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93820883.

Strange, I didn't get it...
On 16 Apr 2015 21:55, "AlexandreLicinio"<EMAIL_ADDRESS>wrote:

Thanks luka. Realy thanks to you. I wrote an email this morning to you to
<EMAIL_ADDRESS>is that the correct one or do you prefer the gmail one
(i seen it on libav)?
Btw, for my problem ''how to compile correctly'' i'm confused to disturb
you about that. If i can do something for your project in exhange of you
helping me, it's with pleasure. Or i can pay you as a ''consultant'' :).
Sorry if you find that to polite.
Thanks,
Cheers
Alexandre Licinio - EKLA INGENIERIE
Le 16 avr. 2015 21:27, "Luca Barbato"<EMAIL_ADDRESS>a écrit :

I'll write down detailed instructions soon, today I'm too tired.
—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93820883.

—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93826032.

You want i use the gmail one ? The gentoo ?
Alexandre Licinio - EKLA INGENIERIE
Le 16 avr. 2015 21:57, "Luca Barbato"<EMAIL_ADDRESS>a écrit :

Strange, I didn't get it...
On 16 Apr 2015 21:55, "AlexandreLicinio"<EMAIL_ADDRESS>wrote:

Thanks luka. Realy thanks to you. I wrote an email this morning to you to
<EMAIL_ADDRESS>is that the correct one or do you prefer the gmail
one
(i seen it on libav)?
Btw, for my problem ''how to compile correctly'' i'm confused to disturb
you about that. If i can do something for your project in exhange of you
helping me, it's with pleasure. Or i can pay you as a ''consultant'' :).
Sorry if you find that to polite.
Thanks,
Cheers
Alexandre Licinio - EKLA INGENIERIE
Le 16 avr. 2015 21:27, "Luca Barbato"<EMAIL_ADDRESS>a
écrit :

I'll write down detailed instructions soon, today I'm too tired.
—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93820883.

—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93826032.

—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93826347.

Both should be fine
On 16 Apr 2015 21:58, "AlexandreLicinio"<EMAIL_ADDRESS>wrote:

You want i use the gmail one ? The gentoo ?
Alexandre Licinio - EKLA INGENIERIE
Le 16 avr. 2015 21:57, "Luca Barbato"<EMAIL_ADDRESS>a écrit :

Strange, I didn't get it...
On 16 Apr 2015 21:55, "AlexandreLicinio"<EMAIL_ADDRESS>wrote:

Thanks luka. Realy thanks to you. I wrote an email this morning to you
to
<EMAIL_ADDRESS>is that the correct one or do you prefer the gmail
one
(i seen it on libav)?
Btw, for my problem ''how to compile correctly'' i'm confused to
disturb
you about that. If i can do something for your project in exhange of
you
helping me, it's with pleasure. Or i can pay you as a ''consultant''
:).
Sorry if you find that to polite.
Thanks,
Cheers
Alexandre Licinio - EKLA INGENIERIE
Le 16 avr. 2015 21:27, "Luca Barbato"<EMAIL_ADDRESS>a
écrit :

I'll write down detailed instructions soon, today I'm too tired.
—
Reply to this email directly or view it on GitHub
<https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93820883
.

—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93826032.

—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93826347.

—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93826559.

I wrote down this. Hopefully covers everything.

Luca, thanks a lot, grazie mille.
Everything is clear now.
If i want to update libav or add new encoders, decoders, do i have to
remove and purge it and re-do the ./configure ? Or something else ?
Again, grazie.
Did you receive my email on your gmail @ ?
Cheers,
2015-04-17 15:54 GMT+02:00 Luca Barbato<EMAIL_ADDRESS>
I wrote down this https://github.com/lu-zero/bmdtools/wiki. Hopefully
covers everything.
—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-93990596.

--
Alexandre Licinio
Gérant
E**KL*A INGENIERIE *
Broadcast engineering
RF . IPTV . IT . LAN . WAN
Hardware & Software R&D
*.yes, we are open-source.  *
<EMAIL_ADDRESS>+33 (0)6 76 10 28 41
50 Avenue Lacassagne
69003 Lyon - France

it is suggested to remove it and re-run configure with the new options, I received your email, but today I had been busy and I wanted to get you a better reply =)

BIG thanks for your wiki. I had some problems with some steps (maybe it's my fault).
I wanted to change some lines in the wiki but first i prefer discuss with you about.
So i did (on a fresh 14.04 install) :

sudo apt-get install git cmake g++ autoconf pkg-config unzip nasm qt-sdk
sudo add-apt-repository ppa:motumedia/libav-daily
apt-get update
apt-get upgrade
apt-get install libavresample-dev libavscale-dev

No succes when ./configure Yasm from git so i did :

wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install

For x264, libfdk-aac and opus, when i did ./configure --enable-lib-x264 (and opus and aac), x264, aac and opus were "not found", but were in /usr/local !!
So i did :

apt-get install libfdk-aac-dev
sudo apt-get install libmp3lame-dev
sudo apt-get install libfreetype6-dev
apt-get install libx264-dev

git clone git://git.videolan.org/x265
cd x265/build
cmake ../source
make
make install

wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz
tar xzvf opus-1.1.tar.gz
cd opus-1.1
./configure
make
make install
make distclean

git clone git://github.com/libav/libav
cd libav
./configure --enable-gpl --enable-nonfree --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libopus --enable-libmp3lame --enable-libfreetype
make
make install

avconv -codecs : everything sounds good =)
Blackmagic desktop video (for drivers, we don’t need gui)

tar -xvf Blackmagic_Desktop_Video_Linux_10.4.tar.gz
cd Blackmagic_Desktop_Video_Linux_10.4/deb/amd64
dpkg -i desktopvideo_10.4a17_amd64.deb
sudo apt-get install -f

BlackmagicFirmwareUpdater status (if needed)

Blackmagic SDK

unzip Blackmagic_DeckLink_SDK_10.4.zip
cd Blackmagic DeckLink SDK 10.4/SDK/Linux/Samples

I noticed that it was impossible to "make" because  some build.sh were not executables.

cd SignalGenerator/
chmod +x build.sh

cd OpenGLOutput/
chmod +x build.sh

cd LoopThroughWithOpenGLCompositing/
chmod +x build.sh

cd .. (we are in /samples)
make

(we are in /Downloads)

cp -r bmdtools/ Blackmagic\ DeckLink\ SDK\ 10.4/SDK/Linux/Samples/
cd Blackmagic\ DeckLink\ SDK\ 10.4/SDK/Linux/Samples/bmdtools
make

cp bmdcapture bmdplay /usr/local/bin

to test it :

bmdcapture -M 2 -C 0 -m 7 -A 2 -V 4 -F nut -o strict=experimental:syncpoints=none -f pipe:1 | avconv -y -i - -vsync passthrough -vcodec mpeg2video -s 1920x1080 -vf yadif -r 25 -pix_fmt "yuv420p" -b:v 8500k -g 12  -acodec mp2 -ab 320k -ac 2 -ar 48000 input1.nut

avconv -vsync 1 -i input1.nut -c:v rawvideo -pix_fmt uyvy422 -r 25 -s 1920x1080 -c:a pcm_s16le -ar 48000 -f nut -f_strict experimental -syncpoints none - | bmdplay -m 7 -C 0 -O 4 -b 200  -f pipe:0

:) everything is working well

libx264-dev and libfdk-aac-dev (from apt-get) are the same than x264 and aac from git ? or less quality encoders ?

I seen in most "web tuto" --prefix=/usr/local after ./configure, what does it means ? It means everything goes in /usr/local ? Or every libs are there ? And what doeas it means --enabled-shared ?

Many Thanks

In general you can use everything from the distribution repository.
apt-get build-dep libav-tools should get you all the dependencies you need in an easy way if you just need a recent libav and the dependencies aren't too old.
apt-get install libavformat-dev libswscale-dev should be all you need, ibavresample-dev and libavscale-dev are not needed yet =)
If you want something custom you can install it in /usr/local (that's the default) and then you need to make sure /usr/local/lib and /usr/local/include are in the right priority (and make sure PKG_CONFIG_PATH is set correctly).

Ok, thanks Luca. I understand better now.
I do lot of tests with bmdtools and avconv to capture with 2 decklink cards
and play simultaneous one of the feed recorded.
Can i open a new issue about it ? Because when i launch the playout, memory
increases a lot and playout crashes.
I can only record twice in MPEG2 with nut container without crashes because
in x264 it crashes all the time (memory increases too).
Do you think it's possible to do a instant replay solution with bmdtools ?
Cheers,
2015-04-19 13:55 GMT+02:00 Luca Barbato<EMAIL_ADDRESS>
In general you can use everything from the distribution repository.
apt-get build-dep libav-tools should get you all the dependencies you
need in an easy way if you just need a recent libav and the
dependencies aren't too old.
apt-get install libavformat-dev libswscale-dev should be all you need,
ibavresample-dev and libavscale-dev are not needed yet =)
If you want something custom you can install it in /usr/local (that's the
default) and then you need to make sure /usr/local/lib and
/usr/local/include are in the right priority (and make sure
PKG_CONFIG_PATH is set correctly).
—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-94269922.

--
Alexandre Licinio
Gérant
E**KL*A INGENIERIE *
Broadcast engineering
RF . IPTV . IT . LAN . WAN
Hardware & Software R&D
*.yes, we are open-source.  *
<EMAIL_ADDRESS>+33 (0)6 76 10 28 41
50 Avenue Lacassagne
69003 Lyon - France

On Mon, Apr 20, 2015 at 12:08 PM, AlexandreLicinio<EMAIL_ADDRESS>
wrote:

Ok, thanks Luca. I understand better now.
I do lot of tests with bmdtools and avconv to capture with 2 decklink cards
and play simultaneous one of the feed recorded.
Can i open a new issue about it ? Because when i launch the playout, memory
increases a lot and playout crashes.

That means you do not have enough CPU to do it. I know of people capturing
from 4 different cards at the same time.
Do you think it's possible to do a instant replay solution with bmdtools ?

What do you have in mind?
lu

But why memory is increasing (viewing with htop) when i'm playing a feed through bmdplay (x264 or mpeg2) with no recording.

avconv -vsync 1 -i udp://@<IP_ADDRESS>:5000 -c:v rawvideo -pix_fmt uyvy422 -r 25 -s 1920x1080 -c:a pcm_s16le -ar 48000 -f nut -f_strict experimental -syncpoints none - | bmdplay -m 7 -C 0 -O 4 -b 200  -f pipe:0

i have 16gb ram and e3 xeon 1220v3 (3ghz)
for the instant replay, it could be nice to record one feed or multiple feeds, and instant replay (while recording) one of them with seek (pause, rewind) controled (by usb remote) through bmdplay. To do an evs LSM "like".
i did a test :
bmdcapture feed 1 Card 1 record mpeg2 to output1.nut
bmdcapture feed 2 Card 2 record mpeg2 to output2.nut
through samba server, macos, vlc opens output1.nut or output2.nut (while recording) and can plays it with time control to pause, play, forxward and rewind instantly. It's working good.

I see at least 1 problem in doing that, try to use mkv instead and tell me
if it works better.
On Mon, Apr 20, 2015 at 1:07 PM, AlexandreLicinio<EMAIL_ADDRESS>wrote:

But why memory is increasing (viewing with htop) when i'm playing a feed
through bmdplay (x264 or mpeg2) with no recording.
avconv -vsync 1 -i udp://@<IP_ADDRESS>:5000 -c:v rawvideo -pix_fmt uyvy422
-r 25 -s 1920x1080 -c:a pcm_s16le -ar 48000 -f nut -f_strict experimental
-syncpoints none - | bmdplay -m 7 -C 0 -O 4 -b 200 -f pipe:0
i have 16gb ram and e3 xeon 1220v3 (3ghz)
for the instant replay, it could be nice to record one feed or multiple
feeds, and instant replay (while recording) one of them with seek (pause,
rewind) controled (by usb remote) through bmdplay. To do an evs LSM "like".
i did a test :
bmdcapture feed 1 Card 1 record mpeg2 to output1.nut
bmdcapture feed 2 Card 2 record mpeg2 to output2.nut
through samba server, macos, vlc opens output1.nut or output2.nut (while
recording) and can plays it with time control to pause, play, forxward and
rewind instantly. It's working good.
—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-94424628.

Memory still increasing when bmdplay plays even bmdcapture is off. (fails also when bmdcapture is on).
here the commands lines :

bmdcapture -M 2 -C 0 -m 7 -A 2 -V 4 -F nut -o strict=experimental:syncpoints=none -f pipe:1 | avconv -y -i - -vsync passthrough -vcodec mpeg2video -s 1920x1080 -vf yadif -r 25 -pix_fmt "yuv420p" -b:v 18500k -g 12  -acodec mp2 -ab 320k -ac 2 -ar 48000 input1.mkv

bmdcapture -M 2 -C 1 -m 7 -A 2 -V 4 -F nut -o strict=experimental:syncpoints=none -f pipe:1 | avconv -y -i - -vsync passthrough -vcodec mpeg2video -s 1920x1080 -vf yadif -r 25 -pix_fmt "yuv420p" -b:v 8500k -g 12  -acodec mp2 -ab 320k -ac 2 -ar 48000 input2.mkv

avconv -vsync 1 -i inawvideo -pix_fmt uyvy422 -r 25 -s 1920x1080 -c:a pcm_s16le -ar 48000 -f nut -f_strict experimental -syncpoints none - | bmdplay -m 7 -C 0 -O 4 -b 200  -f pipe:0

Hello Lu, i'm not lucky with mkv too. And i tried a lot of differents config, formats but still getting memory increasing and bmdplay crashes.
Do you want i test other settings ?
Also, what do you advise to me in cpu / ram config for a nice server. I want to buy new one and install many decklink to do some tests. Bi Xeon e5 ? at least 64gb ram ?
Thanks,

Make sure that the video frame rate matches the output frame rate.
On Fri, Apr 24, 2015 at 3:29 PM, AlexandreLicinio<EMAIL_ADDRESS>wrote:

Hello Lu, i'm not lucky with mkv too. And i tried a lot of differents
config, formats but still getting memory increasing and bmdplay crashes.
Do you want i test other settings ?
Also, what do you advise to me in cpu / ram config for a nice server. I
want to buy new one and install many decklink to do some tests. Bi Xeon e5
? at least 64gb ram ?
Thanks,
—
Reply to this email directly or view it on GitHub
https://github.com/lu-zero/bmdtools/issues/52#issuecomment-95932324.

Hi @lu-zero Thanks to publish bmdtools.
I note that missed x264 "library".

# git clone git://github.com/videolan/x264.git
# cd x264
# ./configure
# make
# make install

This way generate x264 binary only.

# ./configure --enable-static --enable-shared
# make
# make install

CompilationGuide/Quick/libx264 – FFmpeg

It generates libx264 and fix libx264 not found when libav configure enabled libx264 flag.

Thank you for your contribution, but it doesn't seem related to this issue though...

Hi I've a problem and i can't install bmdtools correctly can you help me with this?
emilito@emilito-VirtualBox:~/Desktop/bmdtools-master$ sudo make SDK_PATH=/home/emilito/Desktop/bmdtools-master/includeg++ -o bmdcapture bmdcapture.cpp modes.cpp /home/emilito/Desktop/bmdtools-master/include/DeckLinkAPIDispatch.cpp  pkg-config --cflags libavcodec libavformat libswscale libavutil -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -Wno-multichar -I /home/emilito/Desktop/bmdtools-master/include -fno-rtti -g  pkg-config --libs libavcodec libavformat libswscale libavutil -lm -ldl -lpthread
bmdcapture.cpp: In function ‘AVStream* add_audio_stream(AVFormatContext*, AVCodecID)’:
bmdcapture.cpp:197:5: error: ‘AVCodecParameters’ was not declared in this scope
AVCodecParameters par;
^
bmdcapture.cpp:197:24: error: ‘par’ was not declared in this scope
AVCodecParameters par;
^
bmdcapture.cpp:206:27: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
par             = st->codecpar;
^
bmdcapture.cpp: In function ‘AVStream add_video_stream(AVFormatContext, AVCodecID)’:
bmdcapture.cpp:220:5: error: ‘AVCodecParameters’ was not declared in this scope
AVCodecParameters par;
^
bmdcapture.cpp:220:24: error: ‘par’ was not declared in this scope
AVCodecParameters par;
^
bmdcapture.cpp:229:27: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
par             = st->codecpar;
^
bmdcapture.cpp: In function ‘AVStream add_data_stream(AVFormatContext, AVCodecID)’:
bmdcapture.cpp:254:5: error: ‘AVCodecParameters’ was not declared in this scope
AVCodecParameters *par;
^
bmdcapture.cpp:254:24: error: ‘par’ was not declared in this scope
AVCodecParameters *par;
^
bmdcapture.cpp:263:15: error: ‘AVStream {aka struct AVStream}’ has no member named ‘codecpar’
par = st->codecpar;
^
Makefile:58: recipe for target 'bmdcapture' failed
make: *** [bmdcapture] Error 1
emilito@emilito-VirtualBox:~/Desktop/bmdtools-master$
And.....
emilito@emilito-VirtualBox:~/Desktop/bmdtools-master$ pkg-config --libs libavcodec libavformat libswscale libavutil
-lavcodec-ffmpeg -lavformat-ffmpeg -lswscale-ffmpeg  -lavutil-ffmpeg
And...
head /usr/include/libavformat/avformat.h
/*

copyright (c) 2001 Fabrice Bellard

This file is part of FFmpeg.

FFmpeg is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

And last....
emilito@emilito-VirtualBox:~/Desktop/bmdtools-master$ sudo apt-get install libavformat-dev libswscale-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libavformat-dev is already the newest version (7:2.8.11-0ubuntu<IP_ADDRESS>).
libswscale-dev is already the newest version (7:2.8.11-0ubuntu<IP_ADDRESS>).
0 upgraded, 0 newly installed, 0 to remove and 192 not upgraded.
What happens??


Little typo

Merged with 7e32ade.
Thanks @gsans for effort to create PR and sorry for take long to check in changes. Changes are checked in with amending commit messages bit to conform current commit message guidelines (https://github.com/ReactiveX/RxJS/blob/master/CONTRIBUTING.md#commit-message-format) which  current repo uses it for automating some of jobs such as creating changelog.
Appreciate for effort again, and hope to see you with another PR in further!


Import tensorflow module in PTVS is very slow

It takes about 10 seconds to finish "Step Over" to this line
"import tensorflow as if"
It take even longer to execute
"from tensorflow.contrib import learn"
My script behaves normally when executed in command line. Version of tensorflow is 1.2.1.
PTVS 2.2.2 Visual studio Ultimate 2013.

It's because you are running under the python debugger, which has significant overhead.
We are tracking general debugger performance improvements in https://github.com/Microsoft/PTVS/issues/749
One alternative would be to run without debugging (use CTRL-F5 instead of F5) and then later debug->attach to process when you need the debugger.
I tried the mixed-mode debugger (native code debugging option in project settings/debug) to see how it compares to the python debugger, and it turns out that for those tensorflow import statements, it's much slower.

Shouldn't the debugger be comparable in performance to pdb? Running a module that has just import keras without debugging takes 2 seconds. Running the same module using python -m pdb test_module.py also takes about 2 seconds. Debugging the module via PTVS indeed takes about 10 seconds.

To clarify, are you using pure Python debugging, or mixed native/Python? Symbols are only relevant if you're using mixed-mode, as Python itself doesn't have that concept.

Just bad use of terminology on my side then..
Native debugging is turned off.

tf import is one order slower with python debugger, and 2 orders slower with mixed-mode debugger. PTVS 2017, python 3.5, 64-bit with debug symbols and debug binaries from python.org. i think this is a big deal.

We have performance work to do, we're fully aware of that. Imports are particularly bad because we currently trace the entire process, and they are the slowest part of Python in many programs already. However, it's not as big a deal as the issues we have been fixing, which interrupt or block actions completely, rather than simply slowing them down.
This is a duplicate of #749.

Disabling tracing while importing stdlib (as in, everything in lib and site-packages) gives a ~4x improvement on tensorflow, and is a fairly minor change.

I have installed ptvs 2.2.6 on vs 2015. Import tensor flow in Debug is slow(up to 5 mins). I see it fixed. How do I get this fix on my local machine? Should I wait for next update? If so when is it planned?

The fix will be in VS 2017 15.4. Sorry but we are not updating VS 2015 anymore.

I had this problem (with a very different set of code). Starting execution with debugging was very slow. The Ready indicator blinked many times. Turning off 'Enable native code debugging' fixed the problem for me.


Using kubeflow-tfjob to deploy TFJob

/kind feature
Describe the solution you'd like
The kubeflow-tfjob SDK has been implemented and published: https://pypi.org/project/kubeflow-tfjob/
We need to enhance kubeflow-fairing to use kubeflow-tfjob to deploy TFJob.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

/assign


Update pom.xml

Updating maven-surefire version from 2.20.1 to 2.21.0.
Reason: maven-surefire 2.20.1 throws NPE when running tests on JDK 10 or higher.
Official solved issue
Project issue #100
Compiling project with maven-surefire 2.20.1 log:

Reactor Summary for camunda-bpm-reactor-root 2.11.0-SNAPSHOT:
[INFO]
[INFO] camunda-bpm-reactor-root ........................... SUCCESS [  0.265 s]
[INFO] camunda-bpm-reactor-extension-root ................. SUCCESS [  0.014 s]
[INFO] camunda-bpm-reactor-eventbus ....................... FAILURE [  7.985 s]
[INFO] camunda-bpm-reactor-core ........................... SKIPPED
[INFO] camunda-bpm-reactor-spring ......................... SKIPPED
[INFO] camunda-bpm-reactor-spring-starter ................. SKIPPED
[INFO] camunda-bpm-reactor-example-root ................... SKIPPED
[INFO] camunda-bpm-reactor-example-bpmn-task-listener ..... SKIPPED
[INFO] camunda-bpm-reactor-example-cmmn-task-listener ..... SKIPPED
[INFO] camunda-bpm-reactor-example-bpmn-execution-listener  SKIPPED
[INFO] camunda-bpm-reactor-example-spring-plugin .......... SKIPPED
[INFO] camunda-bpm-reactor-example-spring-starter ......... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  9.877 s
[INFO] Finished at: 2020-12-04T12:27:30-03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.20.1:test (default-test) on project camunda-bpm-reactor-eventbus: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.20.1:test failed. NullPointerException -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn  -rf :camunda-bpm-reactor-eventbus

Compiling project with maven-surefire 2.21.0 log:

[INFO] Reactor Summary for camunda-bpm-reactor-root 2.11.0-SNAPSHOT:
[INFO]
[INFO] camunda-bpm-reactor-root ........................... SUCCESS [  0.172 s]
[INFO] camunda-bpm-reactor-extension-root ................. SUCCESS [  0.004 s]
[INFO] camunda-bpm-reactor-eventbus ....................... SUCCESS [  0.490 s]
[INFO] camunda-bpm-reactor-core ........................... SUCCESS [  0.162 s]
[INFO] camunda-bpm-reactor-spring ......................... SUCCESS [  0.072 s]
[INFO] camunda-bpm-reactor-spring-starter ................. SUCCESS [  0.045 s]
[INFO] camunda-bpm-reactor-example-root ................... SUCCESS [  0.006 s]
[INFO] camunda-bpm-reactor-example-bpmn-task-listener ..... SUCCESS [  0.069 s]
[INFO] camunda-bpm-reactor-example-cmmn-task-listener ..... SUCCESS [  0.085 s]
[INFO] camunda-bpm-reactor-example-bpmn-execution-listener  SUCCESS [  0.090 s]
[INFO] camunda-bpm-reactor-example-spring-plugin .......... SUCCESS [  0.077 s]
[INFO] camunda-bpm-reactor-example-spring-starter ......... SUCCESS [  0.066 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.158 s
[INFO] Finished at: 2020-12-04T11:17:57-03:00
[INFO] ------------------------------------------------------------------------

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

thanks!


reloading init.fnl on save

Hello,
I've been playing with fennel and aniseed for a little while and I'm trying to get it
to reload my config when I make save changes to the init.fnl file. How would I go about
that these days? I was using :AniseedEvalFile before but that doesn't seem like a thing now .
Thanks :)

So if you're using Conjure you could map post file save to <localleader>ef (I recommend all Aniseed interactions go through Conjure since Aniseed is more of a toolkit now and Conjure is the UX that you use to interact with it).
However, if you don't want to use Conjure I'd recommend you do one of these things:

Write some Fennel/Lua that requires aniseed.eval and then run the entire buffer contents through it.
Alternatively, use aniseed.compile's file function to compile the init.fnl file into Lua somewhere then execute that with :luafile ... or similar.

Does this help at all? I know it's not a specific command for it but it's definitely only a couple of lines of code, I highly recommend hooking into internals of Conjure and Aniseed like this since I don't plan on changing them much now (and if I did it'd be a major version bump and well telegraphed).
On the other hand, if you REALLY want a command for this in Aniseed it could totally be added, :AniseedEvalFile could be risen from the dead and end up being quite useful, I just went down the route of making Aniseed a Fennel toolkit of Lua functions and Conjure hooks into. I'd lean towards just writing your own little things that hook into Aniseed personally.

I'm going to close this for now but happy to reopen if required. I think it's easy enough to map "on fennel file save" to a compile script or a call through to the aniseed.compile module in Lua space, I'd rather not add a bunch of commands since the primary interactive way to talking to Aniseed/Fennel is Conjure. All of the wiring that Conjure pokes to compile things is exposed in Aniseed as public functions that can be called anyway, like setting up a mapping to some#viml#autoload#fn() for example.
I hope this makes sense and you can work out a solution that suits your needs! If you have more questions or disagree with my stance on this please do let me know.


Node-driver based provisioning does not respect proxy variables HTTP_PROXY and HTTPS_PROXY

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Create an environment that does not allow direct public access to the internet
Create a proxy that does allow access to the internet in that environment (tinyproxy is a good one for testing)
Start rancher server with the HTTP_PROXY and HTTPS_PROXY environment variables set so that it uses these settings for reaching the external internet (https://rancher.com/docs/rancher/v2.x/en/installation/single-node/proxy/)
Try to provision nodes using one of Rancher's node drivers (https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/)

Result:
Nodes cannot be provisioned because docker-machine is not using the required proxies

Nodes get stuck in "Provisioning" state for a long time and then gets to following error state:

rancher server logs:
2019/06/07 02:54:53 [INFO] Creating jail for c-mf9dz
2019/06/07 02:54:53 [INFO] Provisioning node sangeetestme1
2019/06/07 02:54:53 [INFO] stdout: Creating CA: /management-state/node/nodes/sangeetestme1/certs/ca.pem
2019/06/07 02:54:53 [INFO] Creating CA: /management-state/node/nodes/sangeetestme1/certs/ca.pem
2019/06/07 02:54:53 [INFO] stdout: Creating client certificate: /management-state/node/nodes/sangeetestme1/certs/cert.pem
2019/06/07 02:54:53 [INFO] Creating client certificate: /management-state/node/nodes/sangeetestme1/certs/cert.pem
2019/06/07 02:54:53 [INFO] stdout: Running pre-create checks...
2019/06/07 02:54:53 [INFO] Running pre-create checks...

2019/06/07 02:57:57 [INFO] stdout: The default lines below are for a sh/bash shell, you can specify the shell you're using, with the --shell flag.
2019/06/07 02:57:57 [INFO] The default lines below are for a sh/bash shell, you can specify the shell you're using, with the --shell flag.
2019/06/07 02:57:57 [INFO] stdout:
2019/06/07 02:57:57 [INFO]
2019/06/07 02:58:27 [INFO] Generating and uploading node config sangeetestme1
2019/06/07 02:58:42 [ERROR] NodeController c-mf9dz/m-vmctf [node-controller] failed with : Error with pre-create check: "RequestError: send request failed\ncaused by: Post https://ec2.us-west-2.amazonaws.com/: dial tcp <IP_ADDRESS>:443: i/o timeout"
2019/06/07 02:58:42 [INFO] Creating jail for c-mf9dz
2019/06/07 02:58:42 [INFO] Generating and uploading node config
2019/06/07 03:00:57 [INFO] Creating jail for c-mf9dz
2019/06/07 03:00:57 [INFO] Provisioning node sangeetestme1
2019/06/07 03:00:57 [INFO] stdout: Creating CA: /management-state/node/nodes/sangeetestme1/certs/ca.pem
2019/06/07 03:00:57 [INFO] Creating CA: /management-state/node/nodes/sangeetestme1/certs/ca.pem
2019/06/07 03:00:57 [INFO] stdout: Creating client certificate: /management-state/node/nodes/sangeetestme1/certs/cert.pem
2019/06/07 03:00:57 [INFO] Creating client certificate: /management-state/node/nodes/sangeetestme1/certs/cert.pem
2019/06/07 03:00:57 [INFO] stdout: Running pre-create checks...
2019/06/07 03:00:57 [INFO] Running pre-create checks...

rancher/rancher:master-head 7e82f85f

Deploy Rancher server behind proxy with HTTP_PROXY and HTTPS_PROXY set
Create RKE cluster
Cluster provisions successfully


Linux Mint 20 [Ulyana]: Installation utterly broken under NPM, all attempts to solve issues have failed, Percollate rendered unusable

Environment

Operating System: Linux Mint (MATE) 20 Ulyana // Ubuntu Linux 20 derivative distro
node --version: multiple, including recommended 10.0.0
npm --version: corresponding
yarn --version, if using Yarn:
percollate --version: 0.8.0

Description
The installation of Percollate via NPM on Linux Mint (MATE DE) 20 Ulyana (recommended version installed via NVM, as well as generic latest) does not work. It states that multiple dependencies have deprecated and that the installation has failed. I have reinstalled the OS, reinstalled only the recommended v10.0.0 of node.js via NVM and the issues have not been resolved.

Hi @captainmalarky, thank you for the bug report. I have reproduced the installation failure using 10.0.0.
I specified 10.0.0 because it's the earliest Node.js version that supports all the JavaScript syntax used in percollate. However, in the process of upgrading the puppeteer package, I missed the fact that their installer now required Node.js 10.18.1, so in<EMAIL_ADDRESS>I have bumped the Node.js requirement accordingly.
Please note that this is not the recommended version, but the minimum version in which percollate is expected to work.
With Node.js 10.18.1 installed with nvm on Linux Mint 20, I am able to install and use percollate.
Please let me know if that fixes the issue for you!

Thank you very much for your response. I will attempt to reinstall node and
try the installation. I am, however, unsure of how to best manage node
versions. Would you advise using NVM?
On Sun, 23 Aug 2020, 20:51 Dan Burzo<EMAIL_ADDRESS>wrote:

Hi @captainmalarky https://github.com/captainmalarky, thank you for the
bug report. I have reproduced the installation failure using 10.0.0.
I specified 10.0.0 because it's the earliest Node.js version that supports
all the JavaScript syntax used in percollate. However, in the process of
upgrading the puppeteer package, I missed the fact that their installer
now required Node.js 10.18.1, so in<EMAIL_ADDRESS>https://github.com/danburzo/percollate/releases/tag/v0.8.1 I have
bumped the Node.js requirement accordingly.
Please note that this is not the recommended version, but the minimum
version in which percollate is expected to work.
With Node.js 10.18.1 installed with nvm on Linux Mint 20, I am able to
install and use percollate.
Please let me know if that fixes the issue for you!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/danburzo/percollate/issues/101#issuecomment-678810466,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQWZPCGCRKXS4XTVOK4J35TSCFQKRANCNFSM4QIT42YA
.

Unfortunately I haven't used Node.js on Linux extensively enough to suggest the best approach, but in my tests (installing, and running, Linux Mint 20 in a VirtualBox environment) it seems that nvm works well for managing node versions, installing percollate, and using it.
One small disadvantage to nvm is, however, that you'll need to install percollate for each node version you use since it stores globally-installed packages in separate folders for each version. (Use npm bin -g to find out where the global binaries are kept).

Node 10.18.1 didn't work, but when I removed npm and node.js with sudo
apt-get and installed v10.22.0 with NVM percollate installed and worked
without issue. I would recommend a clean NVM installation with Node 10.22.0
for everyone running Linux Mint Mate Ulyana.
I would also recommend Percollate to everyone who wants to download web
pages as PDFs. It's simply the easiest and most well-formatted way to get
the job done that I have found. Thanks so much for the help.
On Sun, 23 Aug 2020, 21:04 Dan Burzo<EMAIL_ADDRESS>wrote:

Unfortunately I haven't used Node.js on Linux extensively enough to
suggest the best approach, but in my tests (installing, and running,
Linux Mint 20 in a VirtualBox environment) it seems that nvm works well
for managing node versions, installing percollate, and using it.
One small disadvantage to nvm is, however, that you'll need to install
percollate for each node version you use since it stores globally-installed
packages in separate folders for each version. (Use npm bin -g to find
out where the global binaries are kept).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/danburzo/percollate/issues/101#issuecomment-678811835,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQWZPCDVAQL4AW4JTD4EQHDSCFR3TANCNFSM4QIT42YA
.

I'm glad you got percollate working, and thank you for the kind words!
I've now bumped the minimum Node version to 10.22.0 for good measure, but I'll only publish a new version on npm with the next batch of updates.


Travis builds do lengthy operations that aren't needed for ObjC

It clones to a depth of 50 commits (fix: https://docs.travis-ci.com/user/customizing-the-build/#Git-Clone-Depth ). ~1min
It inits all submodules (fix: https://gist.github.com/petrbel/c3bf7e0f59c22a52f534 ) ~1min
Make might or might not be doing more than what's needed to compile protoc and the plugin? (This is the longest operation). ~10min
The C++ interop server might not be the fastest to compile, and now plenty of other languages should work correctly on macOS. Try others? ~4min
make interop_server compiles all gRPC protoc plugins. (part of the above ~4min)

From Travis' documentation, setting the depth to 1 will apparently make Travis only test the latest commit of every PR, which is great to reduce the time tests are just waiting queued.

@makdharma FYI - compiling the interop server is ~ 4min for each Travis task.

pod install takes about 7min, which will probably be much less for the RxLibrary unit tests if we don't make it depend on all pods out there (it only needs to depend on gRPC-RxLibrary). We can check ENV['SCHEME'] in the tests Podfile: If it's set, we know that (a) we're in Travis and (b) we can skip all targets that aren't called like ENV['SCHEME'] (because we aren't going to build nor run them).

Also, ideally, the ObjC tests would run only for changes that affect the ObjC library. Ideally Bazel would give us its magic incremental builds and tests. But without Bazel, it shouldn't be hard to keep a blacklist of files that we know don't affect us: *.md, *.py, etc. etc. Then query git diff for the list of modified files, filter it with the blacklist, and only test if anything's left.

Makarand, Muxi; some of these things might be specific to Travis, but some might help speed up Jenkins too.

That is very helpful. I'm gonna make some heavy cleanup of Jenkins next week as it has been really messy these days.


Change catalog to datasource

Signed-off-by: Peng Huo<EMAIL_ADDRESS>Concepts

DataSourceService: manage DataSource.

DataSourceService is constructued by the list of DataSourceFactory at OpenSearch servcie bootstrap time. The list of DataSourceFactory is immutable.
Client could add DataSource defined by DataSourceMetaData at any time. DataSourceService use DataSourceFactory to create DataSource.

DataSourceFactory: Each DataSource MUST define DataSourceFactory and register to DataSourceService. one instance per JVM.
DataSource: Each user configed datasource mapping to one instance of DataSource per JVM.
DataSourceType: Pre-defined datasource type. Currently, PROMETHEUS and OPENSEARCH are supported.

Description

In  https://github.com/opensearch-project/sql/pull/1027, we change the catalog to datasource in doc. In this PR. we change the major class name from catalog to datasource to make it sync with doc.
Move DataSourceServiceImpl from Plugin module to Core module. And refactor the interface.

replace registerDefaultOpenSearchCatalog() with void addDataSource(DataSourceMetadata dataSourceMetadata);
add clear() interface.

To Reviewrs

You can ignore most of files which only change names. and focus on

DataSourceServiceImpl and DataSourceServiceImplTest
SQLPlugin
DataSourceFactory

Check List

[x] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[x] New functionality has been documented.

[x] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1084 (738020f) into 2.x (0504c71) will decrease coverage by 35.51%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##                2.x    #1084       +/-   ##
=============================================
- Coverage     98.28%   62.76%   -35.52%
=============================================
  Files           344       10      -334
  Lines          8560      658     -7902
  Branches        544      119      -425
=============================================
- Hits           8413      413     -8000
- Misses          142      192       +50
- Partials          5       53       +48

Flag
Coverage Δ

query-workbench
62.76% <ø> (?)

sql-engine
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ain/java/org/opensearch/sql/analysis/Analyzer.java

...alysis/DataSourceSchemaIdentifierNameResolver.java

...l/planner/physical/datasource/DataSourceTable.java

...anner/physical/datasource/DataSourceTableScan.java

...ner/physical/datasource/DataSourceTableSchema.java

...ql/prometheus/storage/PrometheusStorageEngine.java

...l/prometheus/storage/PrometheusStorageFactory.java

.../opensearch/sql/planner/logical/LogicalDedupe.java

...pensearch/sql/planner/physical/RenameOperator.java

...ensearch/sql/expression/function/FunctionName.java

... and 344 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I have also made some changes in local for this. Have you removed all the references? Should I stop working on this?

@penghuo I have also made some changes in local for this PR. Have you removed all the references? Should I stop working on this?

you can continue your work. I will merge this PR base on your code change.


Some code organization changes in ShapeLine::layout

I was reading through this code (to get a better understanding of how alignment is applied and potential avenues for reusing layout work done for width measurement when performing the final layout) and noticed a few things that could be easily de-duplicated or adjusted to improve clarity (IMO).

Some variables declared at the top of ShapeLine::layout weren't used until the second phase which is much farther down, so I moved them down to be at the start of that phase.
Replaced the push_line bool with checking layout_lines.is_empty() which is effectively equivalent.
Some variables defined outside the loop over visual_lines were reset with each loop iteration, so I moved their definitions down into the loop.
Added a separate justification_expansion instead of reusing the alignment_correction variable (which just shifts the line in all other modes, but was used to hold how much each space should be expanded when justifying). This is more clear to the reader and avoids several later checks of whether the alignment is Align::Justified in spots where alignment_correction is used. (I may have gone overboard with the other changes but I think at least this one is pretty useful)
I was able to factor out the common code during iterating visual line ranges for LTR/RTL text into a process_range closure as well as combine several cases of iterating over glyphs during this.
Removed unnecessary mem::swap(&mut glyphs, &mut glyphs_swap);  (glyphs is not used later and can just be directly moved out of)

None of these changes should affect the behavior (If I didn't make any mistakes!).

This now conflicts after #175, please rebase.


fix(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/base-ocp-vpc/ibm (source)
module
minor
3.16.1 -> 3.18.1

terraform-ibm-modules/key-protect-all-inclusive/ibm (source)
module
minor
4.4.2 -> 4.7.0

terraform-ibm-modules/landing-zone-vpc/ibm (source)
module
minor
7.15.0 -> 7.16.2

terraform-ibm-modules/observability-agents/ibm (source)
module
minor
1.19.0 -> 1.21.0

Release Notes

terraform-ibm-modules/terraform-ibm-base-ocp-vpc (terraform-ibm-modules/base-ocp-vpc/ibm)
v3.18.1
Compare Source
Bug Fixes

deps: update terraform-ibm-modules/cos/ibm to 7.1.5 (#338) (33b9720)

v3.18.0
Compare Source
Features

exposed the following outputs in the fscloud submodule: master_url, operating_system and master_status (#370) (1b08dce)

v3.17.1
Compare Source
Bug Fixes

locked down required provider versions in order to ensure no new major versions are allowed (#368) (0295160)

v3.17.0
Compare Source
Features

Introduce additional outputs: master_url, operating_system, master_status (#366) (eb76bb0)
Remove the dependencies on the oc binary in the script. All scripts now only depend on kubectl.

Fixes

Fix a typo in variable name in documentation

v3.16.2
Compare Source
Fix

Exposed the variable cluster_config_endpoint_type in the fscloud submodule (ae6e7d4).

terraform-ibm-modules/terraform-ibm-kms-all-inclusive (terraform-ibm-modules/key-protect-all-inclusive/ibm)
v4.7.0
Compare Source
Features

key_protect_endpoint_type variable has been renamed to key_protect_allowed_network and only supports the following values: public-and-private (default value) and private-only (#413) (5841fb0)

v4.6.0
Compare Source
Features

added kp_private_endpoint and kp_public_endpoint outputs  (#404) (258bda5)
updated Key Protect module to version v2.5.1. This version will cause an expected update in place on the Key Protect instance if you have one provisioned. See v2.5.1 release notes for details. (#404) (258bda5)

v4.5.0
Compare Source
Features (#400) (0148340)

The following variables have been removed force_delete, force_delete_key_ring, existing_key_map, as its now possible to pass them as part of a new input variable list called keys. This has replaced the old variables key_map and existing_key_map as it supports creating key in existing and new key rings using a boolean. See updated usage on how to consume module.
Current infrastructure will not be impacted when updating to this version if migration to new usage is done correctly. For example:
In previous versions:
key_map = {
  "key-ring-name-1" = ["key-1", "key-2"]
}

existing_key_map = {
  "key-ring-name-2" = ["key-3", "key-4"]
}

In this version:
keys = [
  {
    key_ring_name = "key-ring-name-1"
    keys = [
      {
        key_name = "key-1"
      },
      {
        key_name = "key-2"
      }
    ]
  },
  {
    key_ring_name = "key-ring-name-2"
    existing_key_ring = true
    keys = [
      {
        key_name = "key-3"
      },
      {
        key_name = "key-4"
      }
    ]
  }
]

In addition, the output of the module has changed to now only have one "keys" output. below is an example of how the output has changed:
Older versions:
module.kms_all_inclusive.keys["key-ring-name-1.key-1"]
module.kms_all_inclusive.keys["key-ring-name-1.key-2"]
module.kms_all_inclusive.existing_key_ring_keys["existing-key-ring.key-3"]
module.kms_all_inclusive.existing_key_ring_keys["existing-key-ring.key-4"]
module.kms_all_inclusive.key_protect_guid

This version:
module.kms_all_inclusive.keys["key-ring-name-1.key-1"]
module.kms_all_inclusive.keys["key-ring-name-1.key-2"]
module.kms_all_inclusive.keys["existing-key-ring.key-3"]
module.kms_all_inclusive.keys["existing-key-ring.key-4"]
module.kms_all_inclusive.kms_guid

terraform-ibm-modules/terraform-ibm-landing-zone-vpc (terraform-ibm-modules/landing-zone-vpc/ibm)
v7.16.2
Compare Source
Bug Fixes

updates required provider version constraints to prevent major updates (#733) (da75636)

v7.16.1
Compare Source
Bug Fixes

change acl for_each conditional to fix bug (#725) (60867f4)

v7.16.0
Compare Source
Features

moved the management-vpc and workload-vpc submodule from the submodules directory to the modules directory to confirm with Hashicorp practises. See updated usage blocks on how to consume. (#694) (f583bbb)

terraform-ibm-modules/terraform-ibm-observability-agents (terraform-ibm-modules/observability-agents/ibm)
v1.21.0
Compare Source
Features

updated cluster role to match community defaults. (#288) (858a6cb)
Enabled creation of Pod Security Policy to allow the agent run with the required permissions (#288) (858a6cb)

v1.20.0
Compare Source
Features

deps: update icr.io/ext/sysdig/agent docker tag to v12.20.0 (#283) (fca1d57)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.

@jor2 since you pushed a commit to this PR, you are now responsible to see it to completion since renovate can now longer manage it. I suggest you create fresh PR with the changes since it seems a code change is needed to consume the new modules

/run pipeline

/run pipeline

/run pipeline

/run pipeline

@jor2 I suggest you create a new PR please - the versions in the PR are stale since renovate stopped managing it

@jor2 If manually closing a renovate PR, its very important that you delete the branch, otherwise renovate will not be able to create new PRs since it will detect a branch already exists in the repo.


NH-76081 Drop Python 3.7 support (lambda only)

Drops Python 3.7 support because Otel Python 1.23.0/0.44b0 drops Python 3.7 support. Updates some comments around pylint deprecated-typing-alias warnings because Python 3.8 still needs to use the deprecated module for type checks.

Tests will not pass because of some custom build settings. See also ticket comment.


Cliff styling differences from v1

Description
Cliff lines have a thicker stroke than they do in Rapid v1. Also, it looks like the directionality indicator arrows are offset from the center of the way, leaving gaps:

Compare this with v1 cliffs, which are thinner and gapless:

Version
2.0.0-beta.0
What browser are you seeing the problem on? What version are you running?
Chrome v110.0
The OS you're using
No response
Steps to reproduce
Simple create a line and assign it the 'cliff' attribute to see the difference in style.
The browser URL at the time you encountered the bug
https://mapwith.ai/rapid-v2-beta#background=Bing&datasets=fbRoads,msBuildings&disable_features=boundaries&map=18.70/36.01815/-114.73878
The auto-detected useragent string for your browser (leave blank if you're manually filling this form out)
No response

Does this matter much?

@bhousel I don't think it's a huge issue. And I say that as an occasional ridge mapper.

going to close this, I think the new one looks better actually


ScrollView/Draggable that allows scrolling in both directions (x, y) with overscroll physics

Use cases: tables, calendars, images.
It's quite difficult to do this with the current classes, as classes like ScrollPosition, Scrollable and ScrollContext only support one scroll direction.
The biggest problem I hit so far is that ScrollPosition stores it state directly in ScrollContext.storageContext, without a key. So when you have two ScrollPositions in a single widget (one for each axis), those will override each other when the scroll offset is saved.

Spent the better part of a day trying to get this setup and it feels like this is too far upstream in Flutter to make this a simple task for a layman. Requesting suggestions from team members for a strategy for making a PR against this issue.

My plan was to take the GestureTransformable widget from that 2D Transformations gallery demo and move it into the main widgets/ directory with a few improvements and tests.
I tried to write it in a way that it could easily be made into a first party widget, but there was more work I wanted to do to split it up to make it more reusable and generic.  I started working on that in this branch but haven't had time to finish it.  Ideally I wanted to split out a core public widget that accepted a Matrix4 as a parameter and reported gestures on the transformed child, but didn't modify the matrix itself.  Then I wanted a higher level public widget that used the core one internally and worked more or less like GestureTransformable does in that demo.
I won't get to this myself for awhile, so if you want to take that code and turn it into a first party widget yourself, please do!

came here while searching for something similar what OP asked for:
I have a PageView and want to be able to transform its children while scrolling according to the dx (on horizontal scroll) movements.
I tried using a RawGestureDetector with a custom PanGestureRecognizer, but that comes of the price of no longer having the BouncingScrollPhysics and the need to manually implement fling gestures etc...
@justinmc I looked at your GestureTransformable widget but it bugs me if there isn't a more simple solution than that for my specific use case... maybe you have an idea?:
It seems to me the easiest solution would be - while keeping all benefits of ListView/PageView and Physics - if ListView and PageView would register the user input movements (the drag) along their cross-axis.

@apptum, this might be helpful for extracting DX for a single page inside a pageview
final thing = NotificationListener<ScrollNotification>(
  onNotification: (notification) {
    /// Our immediate PageView
    if (notification.depth == 0) {
      final PageMetrics metrics = notification.metrics;
      page = (metrics.page);

      /// page /

      return true;
    }

    /// Default to passing thru
    return false;
  },

  /// Row page view that builds individual cells
  child: PageView.whatever(),
);

/// Here's how to get dx
double get dx => (page - pageIndex).clamp(-1, 1).toDouble();

hey @lukepighetti & thanks! But on your answer I see that I misdescribed the problem: I want the cross-axis value of a scrollable! On a PageView that'd be the dy (when in default Axis.horizontal) ...

Has anybody been able to make progress on this? I want to make an EPG (electronic/television programme guide) style layout but there doesn't seem to be anything out there that do it.

That's great news @justinmc - I've been hoping for something like this for some time (see 23457).
My use case is similar to @l-k22 's: I need to put lots of custom sized boxes on the display, and be able to scroll about and zoom. The number and sizes of boxes will be dynamic.
I see your PR is nearly there, so I'll wait for it and give it a try out. :)

I'd like something similar for ListView. I have a list of items, but they can overflow the width so I want the list to be horizontally scrollable too. I did try wrapping the entire list in a horizontal ScrollView but it gave me errors about unbounded sizes. Maybe it works with a few more widgets but I feel like you should just be able to tell ListView to make the cross-axis scrollable.

@muirandy I'm glad this will be useful!  I'm interested to see how the dynamic size of the boxes will work with this.  Let me know once it's merged and you try it out.

@Timmmm Currently ListView can't scroll both axes.  This seems like something that should be doable with InteractiveViewer though.  I'll try to specifically try it out.  See this table example I made:

The InteractiveViewer widget should now handle this, but it still has some missing features:

No on-demand rendering: https://github.com/flutter/flutter/issues/58603
Direction locking: https://github.com/flutter/flutter/issues/58043
Overscroll: https://github.com/flutter/flutter/issues/58042

is there anyway this could be added to a datatable widget? -->Interactive viewer dataTable widget

can zoom in and out
scroll in both directions even in diagonal
fixed title row

@justinmc is there anyway in which in the computer i could say that the scroll wheel is for scrolling and then to zoom I have to press control + scroll wheel?


Xcode 7 BugSnag 4.0.9

After upgrading to Xcode 7, I pulled the latest BugSnag library into my project.  Now, I'm running into many warnings from Xcode (please see attached screen).  Has anyone else ran into this issue?

I'm having this as well- looks like it's happening with a good bit of frameworks released by other people too. The fix is easily google-able


Using Pusher Notify does not work

Hi,
First, thank you for making this package - it's great.
Second, I'm trying to use your package with Pusher's notify function for Push Notifications, but when I try
Pusher::notify(['channel'],
  ['apns' => [
    'aps' => [
      'alert' => [
        'body' =>'message'
      ],
    ],
  ]
]);

Nothing happens and I'm wondering if you can help guide me to the correct way, if I'm doing something wrong.
thanks

Hi,
I ended up solving my own issue. There's seems to be that I did not have the channel name correct.
My apologies


:bug: fix some concurrent problems

Summary
fix some concurrent problems

Ensure the user properties are independent for each event (see https://github.com/cloudevents/sdk-go/pull/935)
Ensure parallel writes are thread-Safe for mqtt client

/assign @qiujian16

ha, this is tricky
/approve
/lgtm


place a longer routing (place the clb far away from io)?

I am able to place the io pins from vpr.
but not able to place the clbs freely.
Is there a way to purposely place a longer routing (place the clb far away from io)?
Thanks!

there is a command called "vpr_place_clb_pin_remap"
How can I properly use it?
Thanks!


Merge remote-tracking branch 'origin/master' into api-rebase

Signed-off-by: Andrey Vagin<EMAIL_ADDRESS>

Thanks for doing this! I took a quick look and looks fine. I will test it out, too.

Basic testing worked for me.

LGTM
Thanks! Beat me to the rebase :)

LGTM


SRC-2338: cleanup desk.com source

Proposed changes

Removed all references of Desk.com due to them shutting down their product
Merge timing
Once approved
Related issues (optional)

@connor-marchand did you have a chance to test this out locally to make sure it works fine?


Update to new autoupdate-version

that fixes the xadd bug
see #16
@peb-adr This should fix the xadd-bug. Could you test this? I have currently the problem, that I can not start the full system, so it is hard to test this feature.

on it

Hm so the error no longer pops up in the log, but the live vote count is still not increasing.
Might this be missing in the client still, though?

The problem with this feature is, that it needs the interaction of a lot of services. I will merge this for now since it is an improvement and then try do debug it.


VSTS Release does not recognize Azure cmdlet: 'Stop-AzureRMWebAppSlot'

When trying to stop a slot hosted in azure during a release step, the cmdlet 'Stop-AzureRMWebAppSlot' is not recognized.
This occurs when trying to use this cmdlet from a VSTS release step using an 'Azure Resource Manager' Connection Type
This cmdlet is supported under Azure PowerShell 1.0 and the corresponding documentation can be found here.
2016-03-04T17:01:59.4819707Z ##[error]The term 'Stop-AzureRMWebAppSlot' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
I believe this cmdlet should be recognized, since it works fine on my machine with Azure Powershell. I'm currently using Azure.Websites Version 1.0.5. Maybe this module is out of date on the VSTS release servers?

Likely, because  hosted VSO agents use the following pretty OLD versions
2016-03-08T20:19:34.2847757Z Name Azure  Version 0.9.10
2016-03-08T20:19:34.2847757Z Name Azure.Storage Version 0.10.1
2016-03-08T20:19:34.2847757Z Name AzureRM Version 1.0.0
2016-03-08T20:19:34.2857766Z Name AzureRM.ApiManagement Version 0.10.0
2016-03-08T20:19:34.2867747Z Name AzureRM.Automation Version 0.10.0
2016-03-08T20:19:34.2877759Z Name AzureRM.Backup Version 0.10.0
2016-03-08T20:19:34.2877759Z Name AzureRM.Batch Version 0.10.0
2016-03-08T20:19:34.2887767Z Name AzureRM.Compute Version 0.10.0
2016-03-08T20:19:34.2898250Z Name AzureRM.DataFactories Version 0.10.0
2016-03-08T20:19:34.2907888Z Name AzureRM.Dns Version 0.10.0
2016-03-08T20:19:34.2917759Z Name AzureRM.HDInsight Version 0.10.1
2016-03-08T20:19:34.2917759Z Name AzureRM.Insights Version 0.10.0
2016-03-08T20:19:34.2927983Z Name AzureRM.KeyVault Version 0.10.0
2016-03-08T20:19:34.2937760Z Name AzureRM.Network Version 0.10.1
2016-03-08T20:19:34.2937760Z Name AzureRM.OperationalInsights Version 0.10.0
2016-03-08T20:19:34.2957758Z Name AzureRM.profile Version 0.10.0
2016-03-08T20:19:34.2957758Z Name AzureRM.RedisCache Version 0.10.0
2016-03-08T20:19:34.2967749Z Name AzureRM.Resources Version 0.10.0
2016-03-08T20:19:34.2978062Z Name AzureRM.SiteRecovery Version 0.10.0
2016-03-08T20:19:34.2987758Z Name AzureRM.Sql Version 0.10.0
2016-03-08T20:19:34.2997758Z Name AzureRM.Storage Version 0.10.1
2016-03-08T20:19:34.2997758Z Name AzureRM.StreamAnalytics Version 0.10.0
2016-03-08T20:19:34.3017904Z Name AzureRM.Tags Version 0.10.0
2016-03-08T20:19:34.3017904Z Name AzureRM.TrafficManager Version 0.10.0
2016-03-08T20:19:34.3027758Z Name AzureRM.UsageAggregates Version 0.10.0
2016-03-08T20:19:34.3037752Z Name AzureRM.Websites Version 0.10.0

There are many breaking changes from 0.10.0 to 1.0.5... I struggling with this as well and looking for solution.
Any way to update Azure PS on VSO hosted agents?

Sorry for the late response are you still facing this issue?

Can't say right now we have moved to private host agent...

Yes we fixed this issue with hosted agent in sprint 97 and hence you should not hit this. So I am going ahead and closing this issue. If you still face any issue mail to RM_Customer_Queries at Microsoft dot com


Documentation should mention how to inject fluent theming

I want to get SSR working on a site which uses Fluent controls.
I went to the Griffel doc site and followed the weback extraction instructions. I got extraction working but none of the fluent controls seemed to be styled.
This was because there was no theme rendered. To get that working, I had to follow the instructions here: https://github.com/microsoft/fluentui/pull/29052
I really am not totally sure if Griffel docs should mention Fluent, or if Fluent docs should replicate all the Griffel docs, but it's very tricky for mere mortals to figure everything out without deep communication with the team or really digging into past PRs and issues. I would love a basic "got a webpack app? Here's how you get the extraction working so that Fluent controls render." FWIW everything so far in the docsite is great and got me far enough, just that the theming step was not mentioned.
I think just a note in the docs about Fluent and theming would go pretty far here. We don't need a full on comprehensive walkthrough, just perhaps a mention that if you're working with Fluent controls, go to this other place for more related docs on supporting themes in SSR.

@dzearing to be Griffel is a part of Fluent, not vice versa. That's why as you mentioned it should in Fluent docs.
I am going to work on improvements to SSR setup (support for RSC) both for Griffel and Fluent, I will ensure that new docs that explain the proper setup end to end would be in place.
Thx for heads up.


Removed a description of curried functions

Curried functions were removed in 2016 in 983a674e0.

There is still something in SIL type lowering which flattens a method's function type, like (Self) -> (Args...) -> Result into (Args..., Self) -> Result, so that should be mentioned somewhere.

@swift-ci please smoke test

@swift-ci smoke test Linux

⛵


Apply black formatting on course-management branch

See #79. @aalmanza1998 Do you think the code still looks good?

Could you fix the merge conflict? Thank you for the formatting!

@aalmanza1998 You can just close this PR and run black -S -l 80 . on your branch.

Closing the PR. I will apply the formatting on my branch. Re-open if you have an issue with this.


[AAP Plugin] QE for AAP plugin

Description:
Test AAP plugin and update the test plan
Acceptance Criteria:

[ ]  Test Plan

Hi @invincibleJai
Please review e2e test case. Thanks,
AAP (Ansible® Automation Platform) backstage provider plugin install and verification (readme/instruction)
Prereqs:

setup instance of AAP
1.a) Get an Openshift Container Platform (OCP) Cluster
1.b) Search for the AAP operator in operatorHub and install it
1.c) Create a Custom Resource for AutomationController with default values
1.d) Go to the "aap" namespace and go to the Topology View
1.e) Click on the workload "XXX-web", open the public route. This will take you to the AAP instance, where you get the subscription for it
1.f) Once subscription is obtained, go to the AAP dashboard, click on Templates under resources and add a new template
1.g) Get the token: click on user details on right and then on the token. Generate a token

AAP plugin install and verification:

install AAP plugin and enable it
start backstage and verify AAP plugin populated the software catalog with job templates from the configured AAP ins

Hi @invincibleJai Please review e2e test case. Thanks,
AAP (Ansible® Automation Platform) backstage provider plugin install and verification (readme/instruction)
Prereqs:

setup instance of AAP
1.a) Get an Openshift Container Platform (OCP) Cluster
1.b) Search for the AAP operator in operatorHub and install it
1.c) Create a Custom Resource for AutomationController with default values
1.d) Go to the "aap" namespace and go to the Topology View
1.e) Click on the workload "XXX-web", open the public route. This will take you to the AAP instance, where you get the subscription for it
1.f) Once subscription is obtained, go to the AAP dashboard, click on Templates under resources and add a new template
1.g) Get the token: click on user details on right and then on the token. Generate a token

AAP plugin install and verification:

install AAP plugin and enable it
start backstage and verify AAP plugin populated the software catalog with job templates from the configured AAP ins

Thanks @josephca, yeah this looks good to me.


FEATURE REQUEST: Ability to adjust file path and name

Can you update the source so we can adjust xml file name or at least the path it will be saved in?

Didn't notice its available by passing "options" object.


Error upon injection

The following error occurs upon injection. How do I fix this?
warning: Could not load shared library symbols for bin/linux64/launcher_client.so.
Do you need "set solib-search-path" or "set sysroot"?
No symbol "__libc_dlopen_mode" in current context.

Try this:
gdb -n -q -batch-silent
-ex "set logging file /dev/null"
-ex "set logging redirect on"
-ex "set logging on"
-ex "attach $(pidof csgo_linux64)"
-ex "call ((void*()(const char, int))dlopen)("libOsiris.so", 1)"
-ex "detach"
-ex "quit"

Not working. Tried it

Try this:
sudo gdb -n -q -batch-silent \
        -ex "set logging file /dev/null" \
        -ex "set logging redirect on" \
        -ex "set logging on" \
        -ex "attach $(pidof csgo_linux64)" \
        -ex "call ((void*(*)(const char*, int))dlopen)(\"libOsiris.so\", 1)"   \
        -ex "detach" \
        -ex "quit"

not working

Try this:
sudo gdb -n -q -batch-silent \
        -ex "set logging file /dev/null" \
        -ex "set logging redirect on" \
        -ex "set logging on" \
        -ex "attach $(pidof csgo_linux64)" \
        -ex "call ((void*(*)(const char*, int))dlopen)(\"libOsiris.so\", 1)"   \
        -ex "detach" \
        -ex "quit"

This works.


No MethodClassAnalysis created in some cases

In some cases, it can happen that no MethodClassAnalysis is created.
This is the case, if the method does not use any other method/class/str/field and is also never called.
An example is an empty onXXX method which is used as a placeholder.
usually it is not a problem, but it is probably better to create MethodClassAnalysis for all methods.
This is also related to #407 and #647 and #412

should be fixed, now that we merged it


PermissionsBoundary for DynamoDBCrudPolicy does not allow read access to index/*

My SAM function, simplified to it's policy essence, is:
PermissionsBoundary: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:policy/CodeStar_${ProjectId}_PermissionsBoundary"
Policies:
  - DynamoDBCrudPolicy:
    TableName: !Ref AuthTable

which translates to the following iam policy for the function role
{
  "PolicyName": "FunctionRolePolicy4",
  "PolicyDocument": {
  "Statement": [
    {
      "Action": [
        "dynamodb:GetItem",
        "dynamodb:DeleteItem",
        "dynamodb:PutItem",
        "dynamodb:Scan",
        "dynamodb:Query",
        "dynamodb:UpdateItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:BatchGetItem",
        "dynamodb:DescribeTable",
        "dynamodb:ConditionCheckItem"
      ],
      "Resource": [
        {
          "Fn::Sub": [
            "arn: ... :table/${tableName}",
            {
              "tableName": {
                "Ref": "AuthTable"
              }
            }
          ]
        },
        {
          "Fn::Sub": [
            "arn: ... :table/${tableName}/index/*",
            {
              "tableName": {
                "Ref": "AuthTable"
              }
            }
          ]
        }
      ],
      "Effect": "Allow"
    }
  ]
}

And causes (by some magic I can't find documented anywhere), the PermissionsBoundary inline policy to include an additional line
{
  "Sid": "3",
  "Effect": "Allow",
  "Action": [
      "*"
  ],
  "Resource": [
      ...
      "arn: ... :table/awscodestar-codestar-arcdev-infrastructure-AuthTable-KIL9TI93XXXX", <<<
      ...
  ]
}

While the intent is commendable, this is causing any read access to the table's indexes to fail due to the permission boundary being too restrictive... It does not include <table-name>/index/*.
At least that is my assessment Can anyone confirm?

Replacing my Crud policy with AmazonDynamoDBFullAccess makes no difference, one  permission boundary line (instead of the needed two) seems to be generated for each dynamodb table present in the template.  So I updated the issue title to be more accurate.


distinct enhancement suggestion

Hi! Please consider next distinct  extension enhancement:
  Iterable<T> distinct([dynamic Function(T element)? keySelector]) sync* {
    keySelector ??= (v) => v;
    final set = <dynamic>{};

    for (final t in this) {
      if (set.add(keySelector(t))) yield t;
    }
  }

As you see, I removed a generic type TKey at all, because it's redundant for my opinion. And this approach allows us to use distinct extension without type arguments. Often we need to use distinct without a selector at all and it's inconvenient to specify a generic type all times (like ints.distinct<int>()).
It's a breaking change, but since you release v1.0.0 and it's already breaking, I think it's a good time to apply this enhancement.

I haven't yet run into a case where the generic type parameter of distinct has had to be specified as the type inference has always been good enough in my experience without manually passing a generic type. For example, in my code, final dist = [1, 2, 2].distinct(); results in dist having a static type of Iterable<int>.
I really want to avoid having to use dynamic whenever possible as, IMO, clear type transparency is better than convenience.

That being said, it is true that there is no benefit to either Intellisense or to distinct's implementation to have an explicit type parameter for the key that gets stored in the Set. My only concern, then, would be if the removal of static type safety would result in a performance hit from the runtime having to dynamically reference foo.hashCode on each key object.

I haven't yet run into a case where the generic type parameter of distinct has had to be specified as the type inference has always been good enough in my experience without manually passing a generic type. For example, in my code, final dist = [1, 2, 2].distinct(); results in dist having a static type of Iterable<int>.

Wow, it's so strange. You're right that distinct really works fine inside darq project. But for some reason the analyzer shows an error in my project: error: Missing type arguments for generic method 'distinct<TKey>'. (implicit_dynamic_method at [memorizer] lib\memorizer.dart:26)

I didn't catch the reason yet, but the program works fine at runtime.

What does it say if you run dart analyze from the terminal in your project?

What does it say if you run dart analyze from the terminal in your project?

  error • lib\memorizer.dart:26:10 • Missing type arguments for generic method 'distinct<TKey>'. Try adding an explicit type, or remove implicit-dynamic from your analysis options file.
          • implicit_dynamic_method

So, it's because of implicit-dynamic: false in my analysis_options.yml.

It makes sense for the type to default to dynamic when the parameter is omitted since there's nothing which the type analysis can use to infer a type. It works in the darq project as that project uses the options from pedantic which doesn't enforce the implicit-dynamic option.

I've enabled strong-mode in the analyzer with implicit-dynamic: false and implicit-casts: false to try and make the generic type interfaces cleaner. It's revealed ~400 warnings and/or problems. 1.1.0 might take a little bit. :P

Hi! I saw your updates in distinct, it used dynamic as I suggested, but I was wrong. It should be Object instead of dynamic. Because a dynamic type allows us to put void function into keySelector - this is a mistake. So, for a compiler this code is fine: list.distinct((a) => {a = a;}), but it's an error.
Please consider this update:
  Iterable<T> distinct([Object Function(T element)? keySelector]) sync* {
    keySelector ??= (v) => v as Object;
    final set = <Object>{};

    for (final t in this) {
      if (set.add(keySelector(t))) yield t;
    }
  }

And it's great that's you decided to upgrade your code with a more strict rules :)

That's a good catch, I'll make that change and release a 1.1.1.

Thanks @Abion47 ! Btw, what about performance? Is something changed compare with a generic type extensions? Did you measure it?

I haven't measured it, but with the switch to using Object rather than dynamic, I wouldn't bother other than out of idle interest. dynamic involves the dynamic type checking which (implementation depending) could incur additional overhead in order to handle. Object, on the other hand, is just using basic inheritance, so I'm not worried about its performance implications.


Can we include a link in the mdinclude directive

In place of the relative file path to the md in the .. mdinclude:: file directive, is there a way we can provide a link to the md and render the md in the rst.

@SavvyOsive can you elaborate with an example?

m2r2 converter only renders the md which is provided to it as a file in the mdinclude directive like this


Refactor pod config generation in tests

Add SandboxConfigOpt func type, which enables pluggable configuration
of PodSandboxConfig.
Signed-off-by: Maksim An<EMAIL_ADDRESS>

This is sweet! I'll give another check later on

@ambarve , @katiewasnothere PTAL


[6.5.x] kie-server-tests: allow external configuration of excluded groups

Needed for cases when external environment doesn't support specific functionality.

+1 to merge


Won't merge custom heights

if there's h-portrait-card-height and h-landscape-card-height, it will keep both and cause conflicts
both show up in the list of classes after merge on the latest tailwind-merge v1.13.1

@dcastil how is this tailwind-merge configuration used?
is the customTwMerge function used in place of the default twMerge or do we set up a twMerge.config.js file with:
import { createTailwindMerge } from 'tailwind-merge'

const customTwMerge = createTailwindMerge(() => ({
    cacheSize: 500,
    theme: {},
    classGroups: {
        foo: ['foo', 'foo-2', { 'bar-baz': ['', '1', '2'] }],
        bar: [{ qux: ['auto', (value) => Number(value) >= 1000] }],
        baz: ['baz-sm', 'baz-md', 'baz-lg'],
    },
    conflictingClassGroups: {
        foo: ['bar'],
    },
    conflictingClassGroupModifiers: {
        baz: ['bar'],
    },
}))

Do you have those values under spacing or height in your Tailwind config? If it's under height, you need to add it to tailwind-merge like this:
import { extendTailwindMerge } from 'tailwind-merge'

export twMerge = extendTailwindMerge({
    classGroups: {
        h: [{ h: ['portrait-card-height', 'landscape-card-height'] }]
    }
})

Then you need to use the exported twMerge function from this code example everywhere in your project instead of the default twMerge function exported from tailwind-merge.


fix(query-engine): Rename N-API to Node API and link to it from preview features page

@janpio tested this and link works fine - is this ready to merge or are we waiting for a rename announcement?

We decided to go with Node-API but that should not be fixed, so ready to merge.


Cannot cancel a donation of over 1 mil

If someone feels really generous and wants to donate > 1 mil and changes their mind halfway through, a bug occurs:

Go to https://beta.flathub.org/donate
Enter amount, in my case 1.5 mil
Press 'Make Donation'
Whoops! Error: Failed to load Stripe.js - happens for every attempt so I guess it's expected
Press 'Go to User Wallet'
Press 'Cancel Transaction' next to the generous donation

Current behavior:
400 response: {"status":"error","error":"stripe-payment-intent-build-failed"}
Expected behavior
We need some input validation on the frontend I think. Do not allow proceeding with bonkers values. When one is even more generous, then other bugs occur:

$22000000000000.00 yields 500 response Internal Server Error without any message
$999999999999999999999999 converts the input to scientific notation 1e+24 and the only way to delete it is by selecting predefined amount
If there is a minimal value then it should be validated as well or it is unclear to the user what happens:
https://user-images.githubusercontent.com/105132988/170796432-3b13654f-eed4-458b-871e-aac401e396c6.mov

Thanks for testing this out and providing excellent feedback :smiley:

The Stripe.js error looks like we need to update frontend CSP to allow that script to load. I'll open an issue for that now.
The payment intent failed error is interesting, we'll need to investigate what's going on with the backend there. Unseen in development so could be something about the staging environment causing this (incorrect Stripe set up perhaps).
The current $5 minimum there is somewhat arbitrary until we establish desired constraints on donations/payment which is why not much thought went into validation. Let's track that in a new issue too.

The errors hit sentry seem to suggest, that the database insert on our side fails. As the test value is bigger then the integer size https://www.postgresql.org/docs/current/datatype-numeric.html

I'm now no longer getting the "Failed to load Stipe.js" error and can successfully donate. Thanks for fixing.

This is partially addressed in that the backend will now deny creation of transactions above 999,999.99 (the maximum Stripe can handle)
For now the frontend will just give a generic error message when that is encountered. In future once #353 is merged it will be trivial to add a limit to the input component which will prevent submission and give feedback if exceeded (making that error unreachable under normal circumstances).
As for these already existing transactions, they might just exist in an invalid state until the staging environment is reset. Though we may also want to update the transaction cancellation endpoint to consume those intent failed errors (they can occur for a few other reasons too) and just perform the cancellation.


[Webview2] Calling smartview.close() in exposed callback triggers assertion failed

✍ Bug Description
I'm creating my application with borderless window, so I need a api to close the window. the window.close() not works.
And I exposed smartview.close() to the javascript, calling it results this issue
NOTE: use PostMessage to close the window with WM_CLOSE in module works without issue
The console shows
Assertion failed: "Failed to execute script" && false, file E:\test\build\_deps\saucer-src\src\webview.webview2.cpp, line 329

🔁 Steps to reproduce
saucer::smartview webview;

webview.set_title("Hello World!");
webview.set_size(500, 600);

webview.set_min_size(400, 500);
webview.set_max_size(1000, 1200);

webview.expose("close", [&webview] { webview.close(); });

webview.set_url("about:blank");
webview.set_dev_tools(true);

webview.show();
webview.run();

then in dev console type:
saucer.call('close', [])

❔ Expected behavior
the assertion should not be triggered
👀 Screenshots
No response
🛸 Saucer Version
f0a8d22
🖥 Operating System
Windows 10
🖥 Distribution
No response
✅ I confirm that...

[X] I have collected all the required information and read all the comments in this document
[X] I searched for an existing bug report for this issue
[X] the problem does occur with the reproduction steps I provided
[X] what I described is indeed a problem

Good catch! Thanks for reporting, I'm currently refactoring the windows backend a little and will address this and will issue the fix with the next release :)

Good catch! Thanks for reporting, I'm currently refactoring the windows backend a little and will address this and will issue the fix with the next release :)

Thanks for your work, This library is pretty handy for me and your response for issue is very quick

This is now fixed on very-experimental and should reach master quite soon :)

Will close this as it's fixed in very-experimental. The release will be a little delayed to ensure good compiler support :)


IGNITE-17464 Minor fixes in NetworkMessage annotation processor

Fix an issue when multiple interfaces define the same getter
Move non-integration tests to the unit tests folder

https://issues.apache.org/jira/browse/IGNITE-17464

@sashapolo , please return the classes to the internal package.