Updated Pull Request Template and Contribute documents

* 📝 Update Installation instruction from the Wiki
* 📝 Update PR template with emojis 🎉
* 📝 Update CONTRIBUTING.md with CodeStyle
This commit is contained in:
TheZ3ro 2016-10-26 14:19:28 +02:00 committed by Jonathan White
parent fdad028e73
commit 6c7c5443d4
4 changed files with 166 additions and 67 deletions

View File

@ -108,7 +108,59 @@ Please join an existing language team or request a new one if there is none.
This project follows the [Qt Coding Style](https://wiki.qt.io/Qt_Coding_Style). All submissions are expected to follow this style.
Addendum- Class member variables must start with ```m_```
In particular Code must follow the following specific rules:
#### Naming Convention
`lowerCamelCase`
For names made of only one word, the fist letter is lowercase.
For names made of multiple concatenated words, the first letter is lowercase and each subsequent concatenated word is capitalized.
#### Indention
For C++ files (.cpp .h): 4 spaces
For Qt-UI files (.ui): 2 spaces
#### Pointers
```c
int* count;
```
#### Braces
```c
if (condition) {
doSomething();
}
void ExampleClass::exampleFunction()
{
doSomething();
}
```
#### Switch statement
```c
switch (a) {
case 1:
doSomething();
break;
default:
doSomethingElse();
break;
}
```
#### Member variables
Use prefix: `m_*`
Example: `m_variable`
#### GUI Widget names
Widget names must be related to the desired program behaviour.
Preferably end the name with the Widget Classname
Example: `<widget class="QCheckBox" name="rememberCheckBox">`
[beginner]:https://github.com/keepassxreboot/keepassx/issues?q=is%3Aopen+is%3Aissue+label%3Abeginner+label%3A%22help+wanted%22+sort%3Acomments-desc

View File

@ -15,17 +15,21 @@
## Screenshots (if appropriate):
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
<!--- What types of changes does your code introduce? If it apply to your pull request, -->
<!--- replace all the `:negative_squared_cross_mark:` with `:white_check_mark:` -->
<!--- Everybody loves emoji -->
- :negative_squared_cross_mark: Bug fix (non-breaking change which fixes an issue)
- :negative_squared_cross_mark: New feature (non-breaking change which adds functionality)
- :negative_squared_cross_mark: Breaking change (fix or feature that would cause existing functionality to change)
## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- Go over all the following points, if it apply to your pull request, -->
<!--- replace all the `:negative_squared_cross_mark:` with `:white_check_mark:`. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the **CONTRIBUTING** document.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
<!--- Pull Requests that fail the [REQUIRED] field will likely be sent back for corrections or rejected -->
- :negative_squared_cross_mark: I have read the **CONTRIBUTING** document. [REQUIRED]
- :negative_squared_cross_mark: My code follows the code style of this project. [REQUIRED]
- :negative_squared_cross_mark: All new and existing tests passed. [REQUIRED]
- :negative_squared_cross_mark: My change requires a change to the documentation.
- :negative_squared_cross_mark: I have updated the documentation accordingly.
- :negative_squared_cross_mark: I have added tests to cover my changes.

105
INSTALL
View File

@ -1,28 +1,101 @@
Building:
=========
Install KeePassXR
=================
This document will guide you across the steps to install KeePassXR.
You can visit the online version of this document a the following link
https://github.com/keepassxreboot/keepassx/wiki/Install-Instruction-from-Source
Build Dependencies
==================
The following tools must exist within your PATH:
* make
* cmake (>= 2.8.12)
* g++ (>= 4.7) or clang++ (>= 3.0)
The following libraries are required:
* Qt 5 (>= 5.2): qtbase and qttools5
* libgcrypt (>= 1.6)
* zlib
* libmicrohttpd
* libxi, libxtst, qtx11extras (optional for auto-type on X11)
Prepare the Building Environment
================================
Building Environment on Linux ==> https://github.com/keepassxreboot/keepassx/wiki/Building-Environment-on-Linux
Building Environment on Windows ==> https://github.com/keepassxreboot/keepassx/wiki/Building-Environment-on-Windows
Building Environment on MacOS ==> https://github.com/keepassxreboot/keepassx/wiki/Building-Environment-on-MacOS
Build Steps
===========
To compile from source, open a **Terminal (on Linux/MacOS)** or a **MSYS2-MinGW shell (on Windows)**<br/>
**Note:** on Windows make sure you are using a **MINGW shell** by checking the label before the current path
Navigate to the path you have downloaded KeePassXR and type these commands:
```
mkdir build
cd build
cmake [CMAKE PARAMETERS] ..
make [-jX]
cmake -DWITH_TESTS=OFF
make
```
Common cmake parameters:
========================
**Note:** If you are on MacOS you must add this parameter to **Cmake**, with the Qt version you have installed<br/> `-DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.6.2/lib/cmake/`
You will have the compiled KeePassXR binary inside the `./build/src/` directory.
Common cmake parameters
```
-DCMAKE_INSTALL_PREFIX=/usr/local
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_BUILD_TYPE=<RelWithDebInfo/Debug/Release>
-DWITH_GUI_TESTS=ON
```
Installing:
===========
make install [DESTDIR=X]
Create a bundle on Mac:
Installation
============
To install this binary execute the following:
```bash
sudo make install
```
You can specify the destination dir with
```
DESTDIR=X
```
Packaging
=========
You can create a package to redistribute KeePassXR (zip, deb, rpm, dmg, etc..)
```
make package
```
Run tests:
==========
make test [CTEST_OUTPUT_ON_FAILURE=1] [ARGS+=-jX] [ARGS+="-E testgui"]
OS specific instructions:
=========================
https://www.keepassx.org/dev/projects/keepassx/wiki/Install_instructions
Testing
=======
You can perform test on the executable
```
make test
```
Common parameters:
```
CTEST_OUTPUT_ON_FAILURE=1
ARGS+=-jX
ARGS+="-E testgui"
```

View File

@ -15,54 +15,24 @@ KeePassHttp implementation has been forked from jdachtera's repository, which in
This is a rebuild from [denk-mal's keepasshttp](https://github.com/denk-mal/keepassx.git) that brings it forward to Qt5 and KeePassX v2.x.
#### Build Dependencies
### Installation
The following tools must exist within your PATH:
Right now KeePassXR does not have a precompiled executable or an installation package.<br/>
So you must install it from its source code.
* make
* cmake (>= 2.8.12)
* g++ (>= 4.7) or clang++ (>= 3.0)
**More detailed instructions are available in the INSTALL file or at the [Wiki page](https://github.com/keepassxreboot/keepassx/wiki/Install-Instruction-from-Source).**
The following libraries are required:
First you must download the KeePassXR source code as ZIP file or with Git.
* Qt 5 (>= 5.2): qtbase and qttools5
* libgcrypt (>= 1.6)
* zlib
* libmicrohttpd
* libxi, libxtst, qtx11extras (optional for auto-type on X11)
On Debian/Ubuntu you can install them with:
```bash
sudo apt-get install build-essential cmake libmicrohttpd-dev libxi-dev libxtst-dev qtbase5-dev libqt5x11extras5-dev qttools5-dev qttools5-dev-tools libgcrypt20-dev zlib1g-dev
Generally you can build and install KeePassXR with the following commands from a Terminal in the KeePassXR folder
```
On Fedora/RHEL/CentOS you can install them with:
```bash
sudo dnf install make automake gcc gcc-c++ cmake libmicrohttpd-devel libXi-devel libXtst-devel qt5-qtbase-devel qt5-qtx11extras qt5-qttools libgcrypt-devel zlib-devel
```
#### Build Steps
To compile from source:
```bash
mkdir build
cd build
cmake -DWITH_TESTS=OFF ..
make [-jX]
```
You will have the compiled KeePassX binary inside the `./build/src/` directory.
To install this binary execute the following:
```bash
cmake -DWITH_TESTS=OFF
make
sudo make install
```
More detailed instructions available in the INSTALL file.
### Clone Repository
@ -80,10 +50,10 @@ To update the project from within the project's folder you can run the following
git pull
```
### Contributing
We're always looking for suggestions to improve our application. If you have a suggestion for improving an existing feature,
or would like to suggest a completely new feature for KeePassX Reboot, please use the [Issues](https://github.com/keepassxreboot/keepassx/issues) section or our [Google Groups](https://groups.google.com/forum/#!forum/keepassx-reboot) forum.
Please review the [CONTRIBUTING](.github/CONTRIBUTING.md) document for further information.