Skip to content

Commit

Permalink
Merge 162200f into 56343b4
Browse files Browse the repository at this point in the history
  • Loading branch information
oluiscabral authored Nov 13, 2024
2 parents 56343b4 + 162200f commit ba0c3da
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 47 deletions.
38 changes: 37 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,14 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly # nightly is required for fmt
toolchain: nightly
components: rustfmt, clippy
targets: aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android

- name: Set up Cargo Cache
uses: Swatinem/rust-cache@v2
with:
save-if: false

- name: Check
run: cargo check
Expand Down Expand Up @@ -55,6 +61,26 @@ jobs:
run: gradle test
working-directory: ./java

# Upload fs-storage JNI libs
- name: Install cargo-ndk
run: cargo install cargo-ndk

- name: Build fs-storage JNI libs
run: cargo ndk -o ./target/release/fs-storage/jniLibs --target aarch64-linux-android --target armv7-linux-androideabi --target i686-linux-android --target x86_64-linux-android build -p fs-storage --release

- name: Upload fs-storage JNI libs
uses: actions/upload-artifact@v4
with:
name: fs-storage-jni-libs
path: ./target/release/fs-storage/jniLibs
# ---

- name: Publish Java release
run: gradle publish
working-directory: ./java
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

windows:
name: Test on Windows
runs-on: windows-latest
Expand All @@ -65,6 +91,11 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Set up Cargo Cache
uses: Swatinem/rust-cache@v2
with:
save-if: false

- name: Build Release
run: cargo build --verbose --release

Expand Down Expand Up @@ -94,6 +125,11 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Set up Cargo Cache
uses: Swatinem/rust-cache@v2
with:
save-if: false

- name: Build Release
run: cargo build --verbose --release

Expand Down
27 changes: 0 additions & 27 deletions ark-cli/README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,5 @@
# Ark-CLI

### Installation

To compile you will need openssl libraries and headers:

```shell
# macOS (Homebrew)
$ brew install openssl@3

# macOS (MacPorts)
$ sudo port install openssl

# macOS (pkgsrc)
$ sudo pkgin install openssl

# Arch Linux
$ sudo pacman -S pkg-config openssl

# Debian and Ubuntu
$ sudo apt-get install pkg-config libssl-dev

# Fedora
$ sudo dnf install pkg-config perl-FindBin openssl-devel

# Alpine Linux
$ apk add pkgconfig openssl-dev
```

### Usage

```shell
Expand Down
2 changes: 1 addition & 1 deletion data-error/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ bench = false

[dependencies]
thiserror = "1"
reqwest = "0.11.11"
reqwest = { version = "0.11.11", features = [ "json", "rustls-tls" ], default-features = false }
serde_json = "1.0.82"
anyhow = "1"
url = { version = "2.2.2", features = ["serde"] }
2 changes: 1 addition & 1 deletion data-link/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ log = { version = "0.4.17", features = ["release_max_level_off"] }
serde_json = "1.0.82"
serde = { version = "1.0.138", features = ["derive"] }
url = { version = "2.2.2", features = ["serde"] }
reqwest = "0.11.11"
reqwest = { version = "0.11.11", features = [ "json", "rustls-tls" ], default-features = false }
scraper = "0.13.0"
tokio = { version = "1", features = ["full"] }

Expand Down
51 changes: 34 additions & 17 deletions java/lib/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,24 +1,20 @@
plugins {
// Apply the java-library plugin for API and implementation separation.
`java-library`
`maven-publish` // Apply the maven-publish plugin before java-library for publishing to GitHub Packages.
`java-library` // Apply the java-library plugin for API and implementation separation.
}

group = "dev.arkbuilders.core"
version = "1.0-SNAPSHOT"

repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
mavenCentral() // Use Maven Central for resolving dependencies.
}

dependencies {
// Use JUnit Jupiter for testing.
testImplementation(libs.junit.jupiter)

testImplementation(libs.junit.jupiter) // Use JUnit Jupiter for testing.
testRuntimeOnly("org.junit.platform:junit-platform-launcher")

// This dependency is exported to consumers, that is to say found on their compile classpath.
api(libs.commons.math3)

// This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation(libs.guava)
api(libs.commons.math3) // This dependency is exported to consumers, that is to say found on their compile classpath.
implementation(libs.guava) // This dependency is used internally, and not exposed to consumers on their own compile classpath.
}

// Apply a specific Java toolchain to ease working on different environments.
Expand All @@ -29,14 +25,35 @@ java {
}

tasks.named<Test>("test") {
// Use JUnit Platform for unit tests.
useJUnitPlatform()
// Set the JVM argument for the java.library.path (To import rust compiled library)
val rustLibPath = projectDir.resolve("../../target/release").absolutePath
val rustLibPath = projectDir.resolve("../../target/release").absolutePath // Set the JVM argument for the java.library.path (To import rust compiled library)
useJUnitPlatform() // Use JUnit Platform for unit tests.
jvmArgs = listOf("-Djava.library.path=$rustLibPath")
}

tasks.named<Javadoc>("javadoc") {
options.encoding = "UTF-8"
options.memberLevel = JavadocMemberLevel.PUBLIC
}

publishing {
// Define a Maven publication for the 'maven' repository
publications {
create<MavenPublication>("Maven") {
from(components["java"])
pom {
name.set("fs_storage")
description.set("File system storage bindings for writing key value pairs to disk.")
}
}
}
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/ARK-Builders/ark-core")
credentials {
username = System.getenv("GITHUB_ACTOR")
password = System.getenv("GITHUB_TOKEN")
}
}
}
}

0 comments on commit ba0c3da

Please sign in to comment.