diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 303029d7d0620b6dd020670deb5aa6c69baacafe..2370f80dc8595d6828bb661edc6c4bc14322daf5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -159,7 +159,11 @@ trigger_inttest: ## Determine the juliainttest branch... # ... use an f-branch if posible... - if echo "$CI_COMMIT_REF_NAME" | grep -c "^f-" ; then - JULIAINT_REF=$CI_COMMIT_REF_NAME ; + if curl -o /dev/null -s -w "%{http_code}" $JULIAINTTEST_BRANCHES/$CI_COMMIT_REF_NAME | grep "404"; then + JULIAINT_REF=dev ; + else + JULIAINT_REF=$CI_COMMIT_REF_NAME; + fi fi; # ... or use main if possible... - if [[ "$CI_COMMIT_REF_NAME" == "main" ]] ; then diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bbc22bba66dfe6cf699b689e3342f91f0101858..485e806bd957d5cc8b8a314c3661e707c5ca6378 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Basic functionality to establish connection to a CaosDB server and retrieve its version (using the Extern C interface of caosdb-cpplib) +* Support for Windows ### Changed diff --git a/src/CaosDB.jl b/src/CaosDB.jl index 254a566c6995ed7ac3079925476b6bee930547e2..f9e84e6ff20da4efae2ccd168702105bf7fec018 100644 --- a/src/CaosDB.jl +++ b/src/CaosDB.jl @@ -23,6 +23,11 @@ module CaosDB +""" +Chose the name of the library according to the OS you're running. +""" +library_name = (@static Sys.iswindows() ? "ccaosdb" : "libccaosdb") + module Info """ @@ -47,6 +52,8 @@ end # Info module Utility +using ..CaosDB + """ get_env_var(var[, default]) @@ -57,7 +64,7 @@ instead. function get_env_var(var::AbstractString, default::AbstractString = "") ret = ccall( - (:caosdb_utility_get_env_var, "libccaosdb"), + (:caosdb_utility_get_env_var, CaosDB.library_name), Cstring, (Cstring, Cstring), var, @@ -72,6 +79,8 @@ end # Utility module Authentication +using ..CaosDB + """ Struct containing a pointer to the wrapped cpp authenticator class. Meant for internal use; call a @@ -89,7 +98,7 @@ mutable struct _Authenticator # internally by libcaosdb. function f(t) ccall( - (:caosdb_authentication_delete_authenticator, "libccaosdb"), + (:caosdb_authentication_delete_authenticator, CaosDB.library_name), Cint, (Ref{_Authenticator},), Ref{_Authenticator}(t), @@ -119,7 +128,7 @@ function create_plain_password_authenticator( auth = Ref{_Authenticator}(_Authenticator(true)) err_code = ccall( - (:caosdb_authentication_create_plain_password_authenticator, "libccaosdb"), + (:caosdb_authentication_create_plain_password_authenticator, CaosDB.library_name), Cint, (Ref{_Authenticator}, Cstring, Cstring), auth, diff --git a/src/Connection.jl b/src/Connection.jl index 138cd524e2483ac851e0001cd98fba90a1952f56..0b581265098360a4c473699d958f39d4c18ff956 100644 --- a/src/Connection.jl +++ b/src/Connection.jl @@ -43,7 +43,7 @@ mutable struct _Connection # internally by libcaosdb. function f(t) ccall( - (:caosdb_connection_delete_connection, "libccaosdb"), + (:caosdb_connection_delete_connection, CaosDB.library_name), Cint, (Ref{_Connection},), Ref{_Connection}(t), @@ -72,7 +72,7 @@ mutable struct _CertificateProvider # internally by libcaosdb. function f(t) ccall( - (:caosdb_connection_delete_certificate_provider, "libccaosdb"), + (:caosdb_connection_delete_certificate_provider, CaosDB.library_name), Cint, (Ref{_CertificateProvider},), Ref{_CertificateProvider}(t), @@ -101,7 +101,7 @@ mutable struct _Configuration # internally by libcaosdb. function f(t) ccall( - (:caosdb_connection_delete_connection_configuration, "libccaosdb"), + (:caosdb_connection_delete_connection_configuration, CaosDB.library_name), Cint, (Ref{_Configuration},), Ref{_Configuration}(t), @@ -124,7 +124,7 @@ function create_pem_file_certificate_provider(path::AbstractString) cert_provider = Ref{_CertificateProvider}(_CertificateProvider(true)) err_code = ccall( - (:caosdb_connection_create_pem_file_certificate_provider, "libccaosdb"), + (:caosdb_connection_create_pem_file_certificate_provider, CaosDB.library_name), Cint, (Ref{_CertificateProvider}, Cstring), cert_provider, @@ -161,7 +161,7 @@ function create_tls_connection_configuration( config = Ref{_Configuration}(_Configuration(true)) err_code = ccall( - (:caosdb_connection_create_tls_connection_configuration, "libccaosdb"), + (:caosdb_connection_create_tls_connection_configuration, CaosDB.library_name), Cint, ( Ref{_Configuration}, @@ -192,7 +192,7 @@ function create_insecure_connection_configuration(host::AbstractString, port::Ci config = Ref{_Configuration}(_Configuration(true)) err_code = ccall( - (:caosdb_connection_create_insecure_connection_configuration, "libccaosdb"), + (:caosdb_connection_create_insecure_connection_configuration, CaosDB.library_name), Cint, (Ref{_Configuration}, Cstring, Cint), config, @@ -219,7 +219,7 @@ function create_connection(config::Ref{_Configuration}) connection = Ref{_Connection}(_Connection(true)) err_code = ccall( - (:caosdb_connection_create_connection, "libccaosdb"), + (:caosdb_connection_create_connection, CaosDB.library_name), Cint, (Ref{_Connection}, Ref{_Configuration}), connection, @@ -243,14 +243,14 @@ function get_connection(name::AbstractString = "default") if name == "default" err_code = ccall( - (:caosdb_connection_connection_manager_get_default_connection, "libccaosdb"), + (:caosdb_connection_connection_manager_get_default_connection, CaosDB.library_name), Cint, (Ref{_Connection},), connection, ) else err_code = ccall( - (:caosdb_connection_connection_manager_get_connection, "libccaosdb"), + (:caosdb_connection_connection_manager_get_connection, CaosDB.library_name), Cint, (Ref{_Connection}, Cstring), connection, @@ -280,7 +280,7 @@ function get_version_info(con::Ref{_Connection}) info = Ref{CaosDB.Info._VersionInfo}(CaosDB.Info._VersionInfo()) err_code = ccall( - (:caosdb_connection_get_version_info, "libccaosdb"), + (:caosdb_connection_get_version_info, CaosDB.library_name), Cint, (Ref{CaosDB.Info._VersionInfo}, Ref{_Connection}), info,