diff --git a/build.gradle.kts b/build.gradle.kts index 9659488..3e05238 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,6 +30,7 @@ repositories { dependencies { compileOnly("org.jetbrains:annotations:26.0.2-1") implementation("com.r35157.libs:valuetypes-basic-api:0.1-dev") + implementation("com.r35157.nenjim:valuetypes-api:0.1-dev") } java { diff --git a/src/main/java/com/r35157/nenjim/hubd/Dependencies.java b/src/main/java/com/r35157/nenjim/hubd/Dependencies.java new file mode 100644 index 0000000..00db62d --- /dev/null +++ b/src/main/java/com/r35157/nenjim/hubd/Dependencies.java @@ -0,0 +1,4 @@ +package com.r35157.nenjim.hubd; + +public record Dependencies( +) {} diff --git a/src/main/java/com/r35157/nenjim/hubd/Id.java b/src/main/java/com/r35157/nenjim/hubd/Id.java deleted file mode 100644 index 04523c8..0000000 --- a/src/main/java/com/r35157/nenjim/hubd/Id.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.r35157.nenjim.hubd; - -/** - * Id is the super tag for all kinds of id value types. - */ -public interface Id {} diff --git a/src/main/java/com/r35157/nenjim/hubd/NenjimDependency.java b/src/main/java/com/r35157/nenjim/hubd/NenjimDependency.java index cb9a7e0..a792a50 100644 --- a/src/main/java/com/r35157/nenjim/hubd/NenjimDependency.java +++ b/src/main/java/com/r35157/nenjim/hubd/NenjimDependency.java @@ -1,6 +1,7 @@ package com.r35157.nenjim.hubd; import org.jetbrains.annotations.NotNull; +import com.r35157.nenjim.valuetypes.NenjimJournalId; public record NenjimDependency( @NotNull NenjimJournalId dependencyId diff --git a/src/main/java/com/r35157/nenjim/hubd/NenjimJournal.java b/src/main/java/com/r35157/nenjim/hubd/NenjimJournal.java index 7294b78..4a8f4d3 100644 --- a/src/main/java/com/r35157/nenjim/hubd/NenjimJournal.java +++ b/src/main/java/com/r35157/nenjim/hubd/NenjimJournal.java @@ -1,16 +1,14 @@ package com.r35157.nenjim.hubd; +import com.r35157.nenjim.valuetypes.NenjimJournalId; import org.jetbrains.annotations.NotNull; import java.util.Set; -/** - * A Nenjim Journal is a manifest that describes a Nenjim component and its dependencies. - * It lists the required dependent modules with version constraints and enough metadata (e.g. checksums/signatures) - * for Nenjim to resolve, verify, and cache the correct artifacts. - */ public record NenjimJournal ( @NotNull NenjimJournalId id, @NotNull String name, - @NotNull Set releases -) implements Id {} + @NotNull Set allReleases, + @NotNull Set recommentedReleases, + @NotNull Set blackListedReleases +) {} diff --git a/src/main/java/com/r35157/nenjim/hubd/NenjimJournalId.java b/src/main/java/com/r35157/nenjim/hubd/NenjimJournalId.java deleted file mode 100644 index 9706841..0000000 --- a/src/main/java/com/r35157/nenjim/hubd/NenjimJournalId.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.r35157.nenjim.hubd; - -import org.jetbrains.annotations.NotNull; - -public record NenjimJournalId( - @NotNull String value -) implements Id {} diff --git a/src/main/java/com/r35157/nenjim/hubd/NenjimRelease.java b/src/main/java/com/r35157/nenjim/hubd/NenjimRelease.java index b6cd279..fad85ac 100644 --- a/src/main/java/com/r35157/nenjim/hubd/NenjimRelease.java +++ b/src/main/java/com/r35157/nenjim/hubd/NenjimRelease.java @@ -1,8 +1,14 @@ package com.r35157.nenjim.hubd; +import com.r35157.libs.valuetypes.basic.Checksum; import com.r35157.libs.valuetypes.basic.SemanticVersion; import org.jetbrains.annotations.NotNull; +import java.util.Date; + public record NenjimRelease( - @NotNull SemanticVersion version + @NotNull SemanticVersion version, + @NotNull Date releaseDate, + @NotNull Checksum checksum, + @NotNull Dependencies dependencies ) {}