Using guide:
https://exakat.readthedocs.io/en/stable/Tutorial.html#docker-container-within-the-code-folder
On the code folder, the following command doesn't work:
docker run -it --rm -w /src -v $(pwd):/src exakat/exakat:latest exakat project
Nor:
docker run -it --rm -w /src -v $(pwd):/src exakat/exakat:2.1.9 exakat project
It outputs:
Error : This command requires a project name. Pass the -p option, or use .exakat.yaml config file.
Aborting
on file phar:///usr/src/exakat/exakat/library/Exakat/Tasks/Project.php
on line 60
There is a .exakat.yaml
file on the code dir with the following simple content as recommended in the guide:
project: "MyProject"
But it doesn't seem to be detected at all:
docker run -it --rm -w /src -v $(pwd):/src exakat/exakat:latest exakat doctor
returns:
Warning: mkdir(): File exists in phar:///usr/src/exakat/exakat/library/Exakat/Tasks/Doctor.php on line 232
exakat :
executable : /usr/src/exakat//exakat
version : 2.1.9
build : 1156
exakat.ini : /usr./exakat/config/exakat.ini,
environnment
graphdb : gsneo4j
reports :
rulesets : CompatibilityPHP53,
CompatibilityPHP54,
CompatibilityPHP55,
CompatibilityPHP56,
CompatibilityPHP70,
CompatibilityPHP71,
CompatibilityPHP72,
CompatibilityPHP73,
CompatibilityPHP74,
CompatibilityPHP80,
Analyze,
Preferences,
Appinfo,
Appcontent,
Dead code,
ClassReview,
Performances,
Security,
Custom,
Inventory,
Stats,
php-cs-fixable,
Rector
extra rulesets :
ignored rules :
tokenslimit : 100 000 000
stubs :
PHP :
binary : 7.4.11
memory_limit : -1
short_open_tags : Off
ext/curl : Yes
ext/hash : Yes
ext/phar : Yes
ext/sqlite3 : Yes
ext/tokenizer : Yes
ext/mbstring : Yes
ext/json : Yes
ext/xmlwriter : Yes
pcre.jit : On (Must be off on PHP 7.3 and OSX)
java :
installed : Yes
type : OpenJDK Runtime Environment (build 11.0.8+10-post-Debian-1deb10u1)
version : openjdk
$JAVA_HOME : <none>
$JAVA_OPTIONS :
tinkergraph :
configured : No tinkergraph configured in config/exakat.ini.
tinkergraphv3 :
configured : No tinkergraph configured in config/exakat.ini.
gsneo4j :
installed : Yes (folder : /usr/src/exakat/tinkergraph)
host : 127.0.0.1
port : 8182
gremlin version : 3.4.8
neo4j version : 3.2.3
gsneo4jv3 :
configured : No gsneo4jv3_folder configured in config/exakat.ini.
nogremlin :
installed : Always
project :
name :
url :
phpversion : 7.4
reports : "Ambassador"
rulesets : CompatibilityPHP53, CompatibilityPHP54, CompatibilityPHP55, CompatibilityPHP56, CompatibilityPHP70, CompatibilityPHP71, CompatibilityPHP72, CompatibilityPHP73, CompatibilityPHP74, CompatibilityPHP80, Analyze, Preferences, Appinfo, Appcontent, Dead code, ClassReview, Performances, Security, Custom, Inventory, Stats, php-cs-fixable, Rector
included dirs :
ignored dirs : /assets, /cache, /css, /data, /doc, /docker, /docs, /example, /examples, /images, /js, /lang, /spec, /sql, /test, /tests, /tmp, /version, /var
ignored rules :
file extensions : php, php3, inc, tpl, phtml, tmpl, phps, ctp, module
folders :
projects folder : Yes
php74 :
configured : Yes (/usr/local/bin/php)
actual version : 7.4.11
auditing : with this version
Specially this part:
project :
name :
url :
[...]
folders :
projects folder : Yes
And this dot in the exakat.ini
part seems suspicious:
exakat :
executable : /usr/src/exakat//exakat
version : 2.1.9
build : 1156
exakat.ini : /usr./exakat/config/exakat.ini,
environnment
It says: /usr./exakat/config/exakat.ini
.
But running the following command, changing the working dir, also changes the path, making it look as ir replaced the working dir with a dot:
Command:
docker run -it --rm -w / -v $(pwd):/src exakat/exakat:latest exakat doctor
Returns: (notice the multiple dots on exakat.ini
entry and the lack of the mkdir() error at the beginning).
exakat :
executable : /usr/src/exakat//exakat
version : 2.1.9
build : 1156
exakat.ini : .usr.src.exakat.config.exakat.ini,
environnment
(...)
Running on bare metal Linux Ubuntu 18.04.5.
Docker version 19.03.6, build 369ce74a3c.
Also tried the projects folder mode (with -p
and symlinking at the init command (with -R .... -symlink
) without results too, said it couldn't find code, but this in-code-directory setup fits much better my use case).
Thanks in advance!!