keboola/php-csv

View on GitHub
Merge pull request #56 from keboola/CM-873-php-csv-may-detect-linebreak-incorrectly-in-edge-case #174
Ondřej Jodas authored a7e5828c
complete00:00:30
Your first build completed successfully!

Congratulations

Your first build completed successfully!

See the Results

1
git clone
2
codeclimate validate-config
View output
codeclimate validate-config
No errors or warnings found in .codeclimate.json.
3
codeclimate prepare
View output
codeclimate prepare
4
builder pull-engines
View output
determining required images
docker pull codeclimate/codeclimate-phpcodesniffer:b163
b163: Pulling from codeclimate/codeclimate-phpcodesniffer
a0710691c81a: Pulling fs layer
a3ed95caeb02: Pulling fs layer
f3c17b6c6935: Pulling fs layer
c3166a36a8d9: Pulling fs layer
83a051f0858f: Pulling fs layer
f0e9f15ec462: Pulling fs layer
034c114563b8: Pulling fs layer
5edc25e33d4e: Pulling fs layer
c3166a36a8d9: Waiting
83a051f0858f: Waiting
f0e9f15ec462: Waiting
034c114563b8: Waiting
5edc25e33d4e: Waiting
a3ed95caeb02: Verifying Checksum
a3ed95caeb02: Download complete
f3c17b6c6935: Verifying Checksum
f3c17b6c6935: Download complete
a0710691c81a: Verifying Checksum
83a051f0858f: Verifying Checksum
83a051f0858f: Download complete
c3166a36a8d9: Verifying Checksum
c3166a36a8d9: Download complete
a0710691c81a: Pull complete
f0e9f15ec462: Verifying Checksum
f0e9f15ec462: Download complete
034c114563b8: Verifying Checksum
034c114563b8: Download complete
a3ed95caeb02: Pull complete
5edc25e33d4e: Verifying Checksum
5edc25e33d4e: Download complete
f3c17b6c6935: Pull complete
c3166a36a8d9: Pull complete
83a051f0858f: Pull complete
f0e9f15ec462: Pull complete
034c114563b8: Pull complete
5edc25e33d4e: Pull complete
Digest: sha256:cab8fcc753b6ae0e309b899665b22b1b62c26c56dab9b3c6a938fa72ca7c0640
Status: Downloaded newer image for registry.prod.codeclimate.net/codeclimate/codeclimate-phpcodesniffer:b163
docker pull codeclimate/codeclimate-phpmd:b291
b291: Pulling from codeclimate/codeclimate-phpmd
41dcc117e123: Pulling fs layer
e7cb8c1bd7da: Pulling fs layer
382dd9e936d2: Pulling fs layer
01d3fd4ccf07: Pulling fs layer
d54cbc0233c4: Pulling fs layer
a01b3d804127: Pulling fs layer
02aaff91dfc2: Pulling fs layer
25d9a4b72163: Pulling fs layer
378b764b6ee5: Pulling fs layer
d8ae1ee899c7: Pulling fs layer
f11257bedacf: Pulling fs layer
40adf26d4529: Pulling fs layer
01d3fd4ccf07: Waiting
d54cbc0233c4: Waiting
a01b3d804127: Waiting
02aaff91dfc2: Waiting
25d9a4b72163: Waiting
378b764b6ee5: Waiting
d8ae1ee899c7: Waiting
f11257bedacf: Waiting
40adf26d4529: Waiting
e7cb8c1bd7da: Verifying Checksum
e7cb8c1bd7da: Download complete
382dd9e936d2: Verifying Checksum
382dd9e936d2: Download complete
41dcc117e123: Verifying Checksum
41dcc117e123: Download complete
d54cbc0233c4: Download complete
01d3fd4ccf07: Verifying Checksum
01d3fd4ccf07: Download complete
41dcc117e123: Pull complete
a01b3d804127: Verifying Checksum
a01b3d804127: Download complete
e7cb8c1bd7da: Pull complete
02aaff91dfc2: Verifying Checksum
02aaff91dfc2: Download complete
25d9a4b72163: Verifying Checksum
25d9a4b72163: Download complete
378b764b6ee5: Download complete
382dd9e936d2: Pull complete
d8ae1ee899c7: Verifying Checksum
d8ae1ee899c7: Download complete
40adf26d4529: Verifying Checksum
40adf26d4529: Download complete
f11257bedacf: Verifying Checksum
f11257bedacf: Download complete
01d3fd4ccf07: Pull complete
d54cbc0233c4: Pull complete
a01b3d804127: Pull complete
02aaff91dfc2: Pull complete
25d9a4b72163: Pull complete
378b764b6ee5: Pull complete
d8ae1ee899c7: Pull complete
f11257bedacf: Pull complete
40adf26d4529: Pull complete
Digest: sha256:100ad83154de1d7143edb4360753a5a3c2c35f8a0fd8f00352718003e2b63bfa
Status: Downloaded newer image for registry.prod.codeclimate.net/codeclimate/codeclimate-phpmd:b291
docker pull codeclimate/codeclimate-sonar-php:b23
b23: Pulling from codeclimate/codeclimate-sonar-php
97518928ae5f: Pulling fs layer
043df9f67e9a: Pulling fs layer
a42e650909d2: Pulling fs layer
0dff3d7a1a0e: Pulling fs layer
e109c25d106c: Pulling fs layer
b2fb00c172a9: Pulling fs layer
1519b1438731: Pulling fs layer
cfbd8af1af7a: Pulling fs layer
ea3b98fb78f4: Pulling fs layer
1c654bf89a09: Pulling fs layer
b2fb00c172a9: Waiting
cfbd8af1af7a: Waiting
1519b1438731: Waiting
ea3b98fb78f4: Waiting
1c654bf89a09: Waiting
0dff3d7a1a0e: Waiting
e109c25d106c: Waiting
a42e650909d2: Verifying Checksum
a42e650909d2: Download complete
97518928ae5f: Verifying Checksum
97518928ae5f: Download complete
e109c25d106c: Verifying Checksum
e109c25d106c: Download complete
97518928ae5f: Pull complete
b2fb00c172a9: Verifying Checksum
b2fb00c172a9: Download complete
0dff3d7a1a0e: Verifying Checksum
0dff3d7a1a0e: Download complete
043df9f67e9a: Download complete
cfbd8af1af7a: Download complete
1519b1438731: Verifying Checksum
1519b1438731: Download complete
1c654bf89a09: Verifying Checksum
1c654bf89a09: Download complete
ea3b98fb78f4: Verifying Checksum
ea3b98fb78f4: Download complete
043df9f67e9a: Pull complete
a42e650909d2: Pull complete
0dff3d7a1a0e: Pull complete
e109c25d106c: Pull complete
b2fb00c172a9: Pull complete
1519b1438731: Pull complete
cfbd8af1af7a: Pull complete
ea3b98fb78f4: Pull complete
1c654bf89a09: Pull complete
Digest: sha256:600639355d67f629857951762cd4d8d2bc9eb16a0496c67a3d6049830edcc87b
Status: Downloaded newer image for registry.prod.codeclimate.net/codeclimate/codeclimate-sonar-php:b23
5
structure
View output
12
Parser process id: 12
codeclimate-parser socket not present
waiting 1s...
6
duplication
View output
12
Parser process id: 12
codeclimate-parser socket not present
waiting 1s...
7
phpcodesniffer
phpcodesniffer engine documentation
8
phpmd
phpmd engine documentation
9
sonar-php
sonar-php engine documentation
View output
INFO: Java 1.8.0_322 Amazon.com Inc. (64-bit)
INFO: Linux 4.4.0-1128-aws amd64
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/src/app/build/libs/sonarlint-core-2.17.0.899.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/src/app/build/libs/sonarlint-cli-2.1.0.566.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
INFO: Index files
INFO: 25 files indexed
INFO: 9 source files to be analyzed
ERROR: Unable to parse file: /code/src/CsvReader.php
ERROR: Parse error at line 97 column 13:

 87:     /**
 88:      * @param integer $skipLines
 89:      * @throws InvalidArgumentException
 90:      */
 91:     protected function validateSkipLines($skipLines)
 92:     {
 93:         if (!is_int($skipLines) || $skipLines < 0) {
 94:             throw new InvalidArgumentException(
 95:                 "Number of lines to skip must be a positive integer. \"$skipLines\" received.",
 96:                 Exception::INVALID_PARAM,
 97:             );
                 ^
 98:         }
 99:     }
100: 
101:     /**
102:      * @param $fileName
103:      * @throws Exception
104:      */
105:     protected function openCsvFile($fileName)
106:     {
107:         if (!is_file($fileName)) {

ERROR: Unable to parse file: /code/src/CsvOptions.php
ERROR: Parse error at line 54 column 13:

44:     /**
45:      * @param  string $enclosure
46:      * @throws InvalidArgumentException
47:      */
48:     protected function validateEnclosure($enclosure)
49:     {
50:         if (strlen($enclosure) > 1) {
51:             throw new InvalidArgumentException(
52:                 'Enclosure must be a single character. ' . json_encode($enclosure) . ' received',
53:                 Exception::INVALID_PARAM,
54:             );
                ^
55:         }
56:     }
57: 
58:     /**
59:      * @param  string $delimiter
60:      * @throws InvalidArgumentException
61:      */
62:     protected function validateDelimiter($delimiter)
63:     {
64:         if (strlen($delimiter) > 1) {

ERROR: Unable to parse file: /code/src/CsvWriter.php
ERROR: Parse error at line 59 column 13:

49:         $allowedLineBreaks = [
50:             "\r\n", // win
51:             "\r", // mac
52:             "\n", // unix
53:         ];
54:         if (!in_array($lineBreak, $allowedLineBreaks)) {
55:             throw new Exception(
56:                 'Invalid line break: ' . json_encode($lineBreak) .
57:                 ' allowed line breaks: ' . json_encode($allowedLineBreaks),
58:                 Exception::INVALID_PARAM,
59:             );
                ^
60:         }
61:     }
62: 
63:     /**
64:      * @param string $fileName
65:      * @throws Exception
66:      */
67:     protected function openCsvFile($fileName)
68:     {
69:         try {

INFO: 9/9 source files have been analyzed
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 0.651s
INFO: Final Memory: 7M/96M
INFO: ------------------------------------------------------------------------