Compare commits

12 Commits

Author SHA256 Message Date
7897d38412 NoIssue: Rename interface 2026-01-30 23:01:22 +01:00
db2335c259 NoIssue: Add some default interface implementations. 2026-01-28 12:04:31 +01:00
3e053480ed NoIssue: Add NotNull annotations 2026-01-27 12:49:46 +01:00
6d021c06be NoIssue: Remove incorrect interface 2026-01-27 11:15:51 +01:00
7999175590 NoIssue: Add NenjimContext 2026-01-26 15:28:25 +01:00
a00f8d9449 NoIssue: Upgrade build gradle-9.3.0 2026-01-26 15:05:19 +01:00
cb4e1e607b NoIssue: Upgrade build for Java 25 2026-01-26 14:53:45 +01:00
4e9da9c530 NoIssue: Update docs 2026-01-26 13:38:37 +01:00
b971d50175 NoIssue: Update docs 2026-01-26 13:36:14 +01:00
a10117f686 NoIssue: Add some interfaces 2026-01-24 19:26:11 +01:00
8451aae083 NoIssue: Clean-up 2026-01-24 14:41:16 +01:00
c157c80036 NoIssue: Build improvements 2026-01-24 13:25:49 +01:00
10 changed files with 60 additions and 12 deletions

View File

@@ -28,15 +28,16 @@ repositories {
} }
dependencies { dependencies {
implementation("org.jetbrains:annotations:26.0.1") compileOnly("org.jetbrains:annotations:26.0.2-1")
implementation("com.r35157.nenjim:hubd-api:0.1-dev")
} }
java { java {
toolchain { languageVersion.set(JavaLanguageVersion.of(24)) } toolchain { languageVersion.set(JavaLanguageVersion.of(25)) }
} }
tasks.withType<JavaCompile> { tasks.withType<JavaCompile>().configureEach {
options.release.set(24) options.release.set(25)
} }
publishing { publishing {

View File

@@ -1,3 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail
export VERSION=$(git describe --tags --exact-match 2>/dev/null \ export VERSION=$(git describe --tags --exact-match 2>/dev/null \
|| git symbolic-ref --short -q HEAD \ || git symbolic-ref --short -q HEAD \
|| git rev-parse --short HEAD) || git rev-parse --short HEAD)

View File

@@ -1 +1,4 @@
#!/usr/bin/env bash
set -euo pipefail
./gradlew clean ; rm -rf build ./gradlew clean ; rm -rf build

View File

@@ -1,5 +1,5 @@
org.gradle.java.installations.auto-detect=true org.gradle.java.installations.auto-detect=true
org.gradle.java.installations.fromEnv=JAVA_HOME org.gradle.java.installations.fromEnv=JAVA_HOME
org.gradle.java.installations.paths=/usr/local/software/java/jfx-24 org.gradle.java.installations.paths=/usr/local/software/java/jfx-25
org.gradle.java.installations.auto-download=false org.gradle.java.installations.auto-download=false
org.gradle.configuration-cache=true org.gradle.configuration-cache=true

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-all.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

View File

@@ -1,3 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail
export VERSION=$(git describe --tags --exact-match 2>/dev/null \ export VERSION=$(git describe --tags --exact-match 2>/dev/null \
|| git symbolic-ref --short -q HEAD \ || git symbolic-ref --short -q HEAD \
|| git rev-parse --short HEAD) || git rev-parse --short HEAD)

View File

@@ -1,3 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail
export VERSION=$(git describe --tags --exact-match 2>/dev/null \ export VERSION=$(git describe --tags --exact-match 2>/dev/null \
|| git symbolic-ref --short -q HEAD \ || git symbolic-ref --short -q HEAD \
|| git rev-parse --short HEAD) || git rev-parse --short HEAD)

View File

@@ -0,0 +1,27 @@
package com.r35157.nenjim.kicker;
import org.jetbrains.annotations.NotNull;
import java.util.HashMap;
public interface NenjimKicker {
/**
* Starts a process based on the provided fully qualified interface name.
* The actual implementation that is run is bound according to the Context.
*
* @param fqInterfaceName the fully qualified interface name for the actual class to start as a process. The interface must extend the {@code NenjimProcess} interface.
*/
void startProcess(@NotNull String fqInterfaceName);
/**
* Provides a map of all running processes managed by the NenjimHub, keyed by the processId.
*
* @return a map of {@code NenjimProcess} running processes
*/
@NotNull HashMap<Integer, NenjimProcess> getRunningProcesses();
/**
* A no-operation (noop). This method does nothing.
*/
void noop();
}

View File

@@ -0,0 +1,14 @@
package com.r35157.nenjim.kicker;
import com.r35157.nenjim.hubd.Context;
import com.r35157.nenjim.hubd.NenjimHub;
import org.jetbrains.annotations.NotNull;
public interface NenjimProcess {
void run() throws Exception;
default void setContext(@NotNull Context context) {};
default void setHub(@NotNull NenjimHub hub) {};
@NotNull String getName();
}

View File

@@ -1,6 +0,0 @@
package com.r35157.nenjim.kicker;
public interface SomeInterface {
String concat(String x, String y);
void divideByZero() throws ArithmeticException;
}