Set-up CaosDB.jl
Installation
CaosDB.jl uses CaosDB's C interface which is accessed via ccall. So to us CaosDB.jl, you must first build and install caosdb-cpplib as explained in its documentation. After building the path to the shared library libccaosdb has to be made known to Julia's ccall, e.g., by adding its path to the LD_LIBRARY_PATH. Then, the CaosDB.jl package can be accessed by
julia> ]add "path/to/caosdb-julialib"
julia> using CaosDB
julia> connection = CaosDB.Connection.connect() # Enter host, port, path to SSL certificate, and credentials hereTroubleshooting
On MacOS, if you encounter errors like
could not load library "libccaosdb"
dlopen(libccaosdb.dylib, 1): Library not loaded: libcaosdb.dylib
Referenced from ~/.local/lib/libccaosdb.dylib
Reason: image not found(note that the library that couldn't be loaded is libcaosdb, i.e., the wrapped cpp library couldn't be loaded from the c interface) make sure you have the location of libcaosdb.dylib and libccaosdb.dylib in both, your LD_LIBRARY_PATH and your DYLD_LIBRARY_PATH.
Configuration
The configuration is done the same way as the C++ client would do it. See caosdb-cpplib.
Tests
After installing, the unit tests can be executed by
julia> ]activate "/path/to/caosdb-julialib"
julia> ]testNote that you must have a CaosDB client configuration (see above) with a valid "default" configuration for all tests to succeed.
Code styling
We use JuliaFormatter.jl for automatic code formatting. Simply install JuliaFormatter by
julia> ]add JuliaFormatterand execute
julia -e 'using JuliaFormatter; format(".", verbose=true)'in the root directory of caosdb-julialib. You may leave out the verbose=true option if you do not wish to see which files were formatted.
Documentation
The documentation can be built locally using Documenter.jl by executing
julia --color=yes docs/make.jlAfterwards the built html files can be found in docs/build.