From d0d7d2fc352652314cdd7f69cc5a231eda512246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Banno-Cloutier?= <leo.banno-cloutier@savoirfairelinux.com> Date: Fri, 28 Jul 2023 10:31:51 -0400 Subject: [PATCH] README.md: add documentation about google-java-format Change-Id: Ic23158eddf6b0497a3243408a3413ae0a8ceb929 --- README.md | 31 ++++++++++++++++++++++++++++--- extras/scripts/pre-commit | 2 ++ 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5db4eb58..7a7e49d7 100644 --- a/README.md +++ b/README.md @@ -30,14 +30,39 @@ Where the `pem` and `key` files are a pem encoded certificate and key. ## How to generate server.pem and server.key pair -In order to generate a pair of pem and key use the following command using openssl +In order to generate a pair of pem and key use the following command using openssl. `openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout server.key -out server.pem` +Note that a self signed certificate will be rejected from opendht, +QNetworkAccessManager and other curl-like program by default. The following +changes should disable those checks. + +```diff +// opendht/src/http.cpp void Request::connect +- conn_->set_ssl_verification(get_url().host, asio::ssl::verify_peer | asio::ssl::verify_fail_if_no_peer_cert); ++ conn_->set_ssl_verification(get_url().host, asio::ssl::verify_none); +``` + +```cpp +// jami-client-qt/src/app/networkmanager.cpp NetworkManager::NetworkManager +QSslConfiguration sslConfig = QSslConfiguration::defaultConfiguration(); +sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone); +QSslConfiguration::setDefaultConfiguration(sslConfig); +``` + ## Run with the debugger enabled `java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=localhost:35000 -jar jams-server.jar 8080` +## Format java file + +The code was formatted using +[google-java-format](https://github.com/google/google-java-format) +using the following command: + +`google-java-format -i -a --skip-reflowing-long-strings --skip-javadoc-formatting **/*.java ` + ## Generate documentation To generate the documentation you will need `apidoc` installed on your system. @@ -53,8 +78,8 @@ You can then open `doc/index.html`. Click on 1.0.0 in the top right corner if th ## Pre-commit hook -The `extras` folder contains a pre-commit hook that formats every js file in -`jams-react-client`. To enable it, run: +The `extras` folder contains a pre-commit hook that formats every js and java +file. To enable it, run: ```sh cp extras/scripts/pre-commit .git/hooks chmod +x .git/hooks/pre-commit diff --git a/extras/scripts/pre-commit b/extras/scripts/pre-commit index 6bdbea50..26fe0fc6 100755 --- a/extras/scripts/pre-commit +++ b/extras/scripts/pre-commit @@ -2,3 +2,5 @@ cd jams-react-client npm run format + +google-java-format -i -a **/*.java -- GitLab