Improve the API of the expressions used in the listbuilder

The  idea was to remove the QueryBuilder from getStatement method of AbstractDoctrineExpression and move the method into the EpxressionInterface. The QueryBuildercould be passed as param in the constructor of each expression.
The problems lies within the DoctrineListBuilder. During the lifetime of an DoctrineListbuilder-Object three instances of the QueryBuilder will be created and two of them used to get the statements from the expressions. Furthermore none of these objects exist when the expressions are created.

@danrot ping


hadolint2junitxml.py throwing json.decoder.JSONDecodeError

I got hadolint result in a file having below data
[{"line":1,"code":"DL3006","message":"Always tag the version of an image explicitly","column":1,"file":"Dockerfile","level":"warning"},{"line":2,"code":"DL3015","message":"Avoid additional packages by specifying --no-install-recommends","column":1,"file":"Dockerfile","level":"info"},{"line":2,"code":"DL3009","message":"Delete the apt-get lists after installing something","column":1,"file":"Dockerfile","level":"info"},{"line":2,"code":"SC2154","message":"node_verion is referenced but not assigned (did you mean 'node_version'?).","column":1,"file":"Dockerfile","level":"warning"},{"line":4,"code":"DL3045","message":"COPY to a relative destination without WORKDIR set.","column":1,"file":"Dockerfile","level":"warning"},{"line":5,"code":"DL3003","message":"Use WORKDIR to switch to a directory","column":1,"file":"Dockerfile","level":"warning"},{"line":5,"code":"DL3016","message":"Pin versions in npm. Instead of npm install <package> use npm install <package>@<version>","column":1,"file":"Dockerfile","level":"warning"},{"line":8,"code":"DL3011","message":"Valid UNIX ports range from 0 to 65535","column":1,"file":"Dockerfile","level":"error"}]
The py function always thows error . I  guess there is a prblem with json.loads in hadolint2junitxml.py

I had to modify the  hadolint2junitxml.py the file to use json.load instead of reading from stndin and resolved the issue


add 2 in binary

Ignore PR title, it's 10. Not 2 in binary, that would be obviously incorrect and inappropriate for this base 10 list of numbers.

This is amazing work, thankyou @shanamatthews! I love the PR title, and in fact you raise a good point. I don't believe we've specified what base these integers are in, and that may cause some confusion!


Send mail on complete to become optional or more adaptable

Not all systems may have mail command or there may be different ways to perform mail delivery. This should be taken into account either by allowing more mail diversity in the most complex stance or simply by rendering mail sending as optional...

I agree. I think people developing tower are thinking about ut

don't all unix-systems have mail command?

Not all systems have it. I actually encountered this problem running the pipeline with AWS Batch. Of course, I could install mail in the actual nodes I used, but I think it's better not to presume it exists...

@toniher good to know it. thanks.


react-native bundle command fails with a custom project structure

I built an iOS app using react-native but I created the project myself (not with the react-native init command).
A few things are not working properly because my project structure is not like the one generated by the react-native init command).
My project structure is the following:

MyProjectRoot

MyProject.xcodeproj
MyProject.xcworkspace
AppDelegate.h
[...]
ReactComponent

I wanted to bundle the js into my app so I did the following:
> cd ReactComponent
> react-native bundle --minify

It failed with the following message:
Building package...
Build complete
Error saving bundle to disk
/Users/mmoizard-lanvin/Desktop/TestProject/node_modules/react-native/local-cli/bundle.js:32
          throw err;
                ^
Error: ENOENT, open 'iOS/main.jsbundle'
    at Error (native)

So without an 'iOS' folder, this command fails. I am not sure this is expected.

#1428 is a fix for this! Thanks for reporting!


Add spellchecker CLI for blog-data

https://github.com/tbroadley/spellchecker-cli

I got the basic functionality working. What do you want me to do with the current misspelled or technical words?

@zahiryahya1
I see that you have already created a dictionary file with a list of words. If you add "Inexor", "Sauerbraten", "CMake" and "GitHub" to it it's fine for the beginning. I will have a look at the upcoming mistakes afterwards then.
You also shouldn't let the job fail after a single file with mistakes. Please output all mistakes of all files before letting the job fail.
Good job so far!

I think it is alright to display them in the CI before erroring.
Then after seeing the PR's travis job failed, one would check in the log of travis why it fails, and see the errors listed together with the line and the row of the misspelled word:)

Done via https://github.com/inexorgame/blog-data/commit/5a9ff04e341623844fae4ac25f93ab7de052039c / https://github.com/inexorgame/blog-data/pull/9