Skip to content

Commit d50fff8

Browse files
committed
Merge branch 'develop'
2 parents 1c9dc32 + bb59a96 commit d50fff8

5 files changed

Lines changed: 46 additions & 24 deletions

File tree

_config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ relative_links:
77
theme: minimal-mistakes-jekyll
88
minimal_mistakes_skin: "air"
99
title: Cryptimeleon
10-
subtitle: Prototyping of Cryptographic Construction
10+
subtitle: Prototyping of Cryptographic Constructions
1111
logo: /assets/logo.png
1212
repository: cryptimeleon/cryptimeleon.github.io
1313
locale: en

_data/navigation.yaml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ docs:
3131
url: /docs/faq.html
3232
- title: For Contributors
3333
children:
34-
- title: "Project Setup"
35-
url: /contributors/setup.html
36-
- title: "Snapshot Builds"
34+
- title: "How to Contribute"
35+
url: /contributors/how-to-contribute.html
36+
- title: "Composite Builds"
3737
url: /contributors/composite-builds.html
38-
- title: "Contributing"
39-
url: /contributors/contributing.html

contributors/contributing.md

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,37 @@
11
---
2-
title: Setting Up The Project
2+
title: How to contribute to the Cryptimeleon libraries
33
toc: true
44
---
55

6-
# Project Setup
6+
We are glad you are interested in contributing to Cryptimeleon.
7+
This page will give you an overview of our contribution/developer guidelines and will point you to further information.
78

9+
## Overview
10+
11+
The Cryptimeleon libraries consist of a number of related cryptographic libraries united under the Cryptimeleon name.
12+
If you want to contribute, you therefore first need to decide on a specific library.
13+
Then you can check out that library's issue tracker (we use the Github issue tracker) to find something to work on.
14+
15+
Cryptimeleon's [Github page](https://github.com/cryptimeleon) contains a list of those libraries.
16+
17+
## Project setup
18+
19+
Once you have decided on a library, you will need to clone it and create a project in your favourite IDE.
820
All the Cryptimeleon libraries use the [Gradle](https://gradle.org/) build tool.
921
In this guide, we show you how to set up a project in your integrated development environment of choice.
1022
This guide is intended for development of the library itself.
1123

1224
If you have problems with building any of the projects, make sure you use the newest version of the Java SDK 8.
1325
Not all versions of Java 8 are supported.
1426

15-
## Cloning the Repo
27+
### Forking the repo
1628

17-
Naturally, the first thing to do is to clone the repository containing the library you need.
18-
If you are reading this, you probably know how to do this.
29+
If you don't have write access to the repository, you will need to [fork](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/working-with-forks) the repository of the library you want to modify.
30+
Then you can apply your changes to that repository.
1931

2032
After this is done, we continue by creating a new project in your favorite IDE.
2133

22-
## Setting up a project in IntelliJ IDEA
34+
### Setting up a project in IntelliJ IDEA
2335

2436
*Note: This was written for IntelliJ IDEA Version 2019.2.4*
2537

@@ -31,7 +43,7 @@ Now browse to the path where you cloned the library repository.
3143
The repository contains a ``build.gradle`` file.
3244
Select it and click **OK**. Once the import process is done, the project is ready for use.
3345

34-
## Setting up a project in Eclipse
46+
### Setting up a project in Eclipse
3547

3648
*Note: This was written for Eclipse 2020-03 (4.15.0).*
3749

@@ -43,23 +55,35 @@ Browse to the location where you cloned the repository to and select the reposit
4355
For example, ``/home/username/code/craco``.
4456
Click **Finish** to finish setup. You can also click **Next** if you want to, for example, select a specific Java SDK.
4557

46-
## Testing Changes
58+
### Testing changes
4759

4860
Once you have done some changes to a library, you might want to test the effect of these changes on the other libraries.
49-
For example, as Craco relies on Math, changes to the math library should be followed by testing the craco library with the new changes.
61+
For example, as Craco relies on Math, changes to the Math library should be followed by testing the craco library with the new changes.
5062

5163
To do this, there are two options: Local installation and composite builds.
5264

53-
### Composite Builds
65+
#### Composite builds
5466

5567
Composite builds have the advantage of not requiring you to manually install the project each time you want to test its changes.
5668
Instead, the dependencies will automatically be newly built when required.
5769
Furthermore, IDEs such as IntelliJ IDEA have special support for composite builds, allowing you to view the sources for any dependencies included in the composite build.
5870

5971
We recommend using composite builds over the local installation approach. More info on this [here]({% link contributors/composite-builds.md %}).
6072

61-
### Local Installation
73+
#### Local installation
6274

6375
For any of the libraries you can use the command ``publishToMavenLocal`` in the project root directory to install the library to the local repository (remember to build the newest version via ``gradle build`` before this).
6476
To make sure that other libraries actually use local builds and not remote, you need to make sure that local builds are preferred compared to remote builds.
6577
Hence, `mavenLocal()` should be listed at the top of the `repositories` section in the `build.gradle` file.
78+
79+
## Making changes
80+
81+
When making changes to the code, remember the following things:
82+
- Stick to the existing code style
83+
- Add Javadoc whenever necessary
84+
- Add your changes to the `CHANGELOG.md` file in the root directory
85+
86+
## Contributing your changes
87+
88+
Once you have tested your changes locally, you will want to integrate them into the upstream repository.
89+
You can do this by [creating a pull request from your fork](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork).

docs/javadoc.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,10 @@ The Javadoc for the latest version of Cryptimeleon Math can be found [here](http
1010

1111
## Craco
1212

13-
The Javadoc for the latest version of Cryptimeleon Craco can be found [here](https://javadoc.io/doc/org.cryptimeleon/craco/latest/index.html).
13+
The Javadoc for the latest version of Cryptimeleon Craco can be found [here](https://javadoc.io/doc/org.cryptimeleon/craco/latest/index.html).
14+
15+
## Predenc
16+
The Javadoc for the latest version of Cryptimeleon Predenc can be found [here](https://javadoc.io/doc/org.cryptimeleon/predenc/latest/index.html)
17+
18+
## Mclwrap
19+
The Javadoc for the latest version of Cryptimeleon Predenc can be found [here](https://javadoc.io/doc/org.cryptimeleon/mclwrap/latest/index.html)

0 commit comments

Comments
 (0)