Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,28 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2

[*.swift]
indent_size = 4

[*.{rs,go}]
indent_size = 4

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab

# Kotlin / ktlint rules (repo-specific)
[*.{kt,kts}]
indent_size = 4
ktlint_code_style = intellij_idea
ktlint_standard_no_semi = disabled
ktlint_standard_trailing-comma-on-call-site = disabled
Expand Down
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# style: auto-fix markdown formatting across the repo
# Mass formatting. No logic changes.
944ec6b760030aa27f3023c4da8c637943a7c86a
46 changes: 46 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Normalize all text files to LF
* text=auto eol=lf

# Scripts -- must be LF (executed in Docker/Linux)
*.sh text eol=lf
*.bash text eol=lf

# Data/config
*.sql text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.json text eol=lf
*.toml text eol=lf
*.properties text eol=lf

# Source code
*.scala text eol=lf
*.kt text eol=lf
*.kts text eol=lf
*.java text eol=lf
*.swift text eol=lf
*.ts text eol=lf
*.js text eol=lf
*.rs text eol=lf
*.go text eol=lf

# Docs
*.md text eol=lf
*.txt text eol=lf

# Docker
Dockerfile text eol=lf
docker-compose*.yml text eol=lf

# Binary -- never touch
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.jar binary
*.zip binary
*.tar.gz binary
*.woff binary
*.woff2 binary
*.ttf binary
9 changes: 6 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
### Description:
### Description

Summarize the changes you're submitting in a few sentences, including Jira ticket ATL-xxxx if applicable. Link to any discussion, related issues and bug reports to give the context to help the reviewer understand the PR.

### Alternatives Considered (optional):
### Alternatives Considered (optional)

Link to existing ADR (Architecture Decision Record), if any. If relevant, describe other approaches explored and the selected approach. Documenting why the methods were not selected will create a knowledge base for future reference, helping prevent others from revisiting less optimal ideas.

### Checklist:
### Checklist

- [ ] My PR follows the [contribution guidelines](https://github.com/hyperledger-identus/apollo/blob/main/CONTRIBUTING.md) of this project
- [ ] My PR is free of third-party dependencies that don't comply with the [Allowlist](https://toc.hyperledger.org/governing-documents/allowed-third-party-license-policy.html#approved-licenses-for-allowlist)
- [ ] I have commented my code, particularly in hard-to-understand areas
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/file-hygiene.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: File Hygiene

on:
pull_request:
push:
branches: [main]

jobs:
lint:
uses: hyperledger-identus/.github/.github/workflows/lint-files.yml@f2c9e417fa46f69b015a9cdbaafdfb9e52e4ed60 # main
8 changes: 8 additions & 0 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
ignores:
- ".claude/**"
- "node_modules/**"
- "**/node_modules/**"
- "build/**"
- "**/build/**"
- "target/**"
- "secp256k1-kmp/native/secp256k1/**"
20 changes: 20 additions & 0 deletions .markdownlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# markdownlint configuration
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md

default: true

MD013: false
MD025: false
MD033: false
MD024:
siblings_only: true
MD041: false
MD029:
style: "ordered"
MD001: false
MD036: false
MD060: false
MD040: false
MD028: false
MD042: false
MD046: false
26 changes: 26 additions & 0 deletions .yamllint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
extends: default

rules:
line-length: disable
truthy:
allowed-values: ["true", "false", "yes", "no", "on"]
comments-indentation: disable
document-start: disable
brackets:
min-spaces-inside: 0
max-spaces-inside: 1
comments:
min-spaces-from-content: 1
indentation:
spaces: consistent
indent-sequences: whatever
empty-lines:
max-end: 1

ignore: |
build/
node_modules/
target/
.claude/
secp256k1-kmp/native/secp256k1/
30 changes: 21 additions & 9 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,53 +43,62 @@ In case of using macOS with M chip, make sure to install the arch64 version of J

### Install XCode (Mac Only)

Install XCode from App Store.
Install XCode from App Store.

Then approve xcodebuild license in your terminal. Like so:

```bash
$ sudo xcodebuild -license
sudo xcodebuild -license
```

### Install Android SDK

Install Android SDK from SDK Manager (via Android Studio).
Install Android SDK from SDK Manager (via Android Studio).

Then approve Android SDK license. Like so:

```bash
$ cd /Users/{{YOUR USER}}/Library/Android/sdk
$ tools/bin/sdkmanager --licenses
cd /Users/{{YOUR USER}}/Library/Android/sdk
tools/bin/sdkmanager --licenses
```

While there are many ways to install Android SDK this has proven to be the most reliable way. Standard IntelliJ with Android plugin may work. However, we've had several issues. Your mileage may vary.

For Ubuntu,
For Ubuntu,

```bash
sudo apt update && sudo apt install android-sdk
```

Leaving the SDK at `~/Android/Sdk`

### Create local.properties file

Create a file named `local.properties` in the root of Apollo.

Add your android sdk path to `local.properties file`. Like so:

```properties
sdk.dir = /Users/{{YOUR USER}}/Library/Android/sdk
```

This will indicate to your IDE which android SDK to use.

Alternatively, you can add the following environment variable into your shell profile file:

```bash
$ export ANDROID_HOME='/Users/{{YOUR USER}}/Library/Android/sdk
export ANDROID_HOME='/Users/{{YOUR USER}}/Library/Android/sdk
```

### Building the project

Install Rust packages:

```bash
$ ./scripts/install-rust-packages.sh
./scripts/install-rust-packages.sh
```

You should be able to import and build the project in IntelliJ IDEA now.
You should be able to import and build the project in IntelliJ IDEA now.

#### Troubleshooting

Expand All @@ -106,6 +115,7 @@ If you already added the environment variable to your CMD profile and still not
##### No binary for ChromeHeadless browser on your platform

If you get error:

```log
No binary for ChromeHeadless browser on your platform.
Please, set "CHROME_BIN" env variable.
Expand All @@ -126,9 +136,11 @@ java.lang.IllegalStateException: Errors occurred during launch of browser for te
##### Could not find JNA native support

if you get this error on macOS with M chip:

```log
Could not find JNA native support
```

**Solution**

* Make sure that you are using Java version that is arch64.
20 changes: 10 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ and feel free to propose changes to this document in a pull request.
### Identus

Identus platform is a self-sovereign identity (SSI) platform and service suite for verifiable data and digital identity.
Built on a distributed ledger, it offers core infrastructure for issuing DIDs (Decentralized identifiers) and
Built on a distributed ledger, it offers core infrastructure for issuing DIDs (Decentralized identifiers) and
verifiable credentials, alongside tools and frameworks to help expand your ecosystem.
The complete platform is separated in multiple repositories:

Expand All @@ -24,10 +24,10 @@ The complete platform is separated in multiple repositories:

A cryptography lib built with Kotlin Multiplatform with support for the following targets:

- JS
- iOS
- Android
- JVM
* JS
* iOS
* Android
* JVM

Future target might be supported in the future.

Expand All @@ -41,15 +41,15 @@ set up your environment.

The getProcess described here has several goals:

- Maintain the SDK quality
- Fix problems that are important to users
- Engage the community in working toward the best possible product
- Enable a sustainable system for the SDK maintainers to review contributions
* Maintain the SDK quality
* Fix problems that are important to users
* Engage the community in working toward the best possible product
* Enable a sustainable system for the SDK maintainers to review contributions

Please follow these steps to have your contribution considered by the maintainers:

1. Follow all instructions in [the template]()
2. Follow the [Styleguide](#Styleguide)
2. Follow the [Styleguide](#styleguide)
3. After you submit your pull request, verify that
all [status checks](https://help.github.com/articles/about-status-checks/) are passing <details><summary>What if the
status checks are failing?</summary>If a status check is failing, and you believe that the failure is unrelated to
Expand Down
6 changes: 3 additions & 3 deletions DCO.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Developer Certificate of Origin (DCO)
For information about sign-offs required for contributions to this repository, please refer to this Hyperledger Identus repository's [DCO.md](https://github.com/hyperledger/identus/blob/main/DCO.md) file.
# Developer Certificate of Origin (DCO)

For information about sign-offs required for contributions to this repository, please refer to this Hyperledger Identus repository's [DCO.md](https://github.com/hyperledger/identus/blob/main/DCO.md) file.
6 changes: 3 additions & 3 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Mainteiners
For information about the Maintainers of this repository, please see the Hyperledger Identus repository’s [MAINTAINERS.md](https://github.com/hyperledger/identus/blob/main/MAINTAINERS.md) file.
# Mainteiners

For information about the Maintainers of this repository, please see the Hyperledger Identus repository’s [MAINTAINERS.md](https://github.com/hyperledger/identus/blob/main/MAINTAINERS.md) file.
Loading
Loading