NX01: Added nether tone kode gen and java module thus changed version

This commit is contained in:
Willem Cazander 2026-01-22 13:08:16 +01:00
parent 6659889ca8
commit babb2cf188
47 changed files with 860 additions and 60 deletions

View file

@ -22,4 +22,3 @@ OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTE
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View file

@ -4,10 +4,14 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-jpp-base</artifactId>
<dependencies>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-jpp-klass-nether</artifactId>
</dependency>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-x4o-fc18</artifactId>

View file

@ -38,9 +38,11 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class BabelTest {
// ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.xxx
// ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ
// ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᒼᑋᐤᣗᑊᐣ
// ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᒃᐤᣕᓫ.ᣖᑊᣗᣔᐪᓫ.ᒃᐤᣔᐪ
// ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ(8 times 2^6+2^6+2^6+2^9+2^6+2^6+2^6+2^6+2^6+2^6+2^9 = 12800 interface + mutex + etc)
// ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᒼᑋᐤᣗᑊᐣ (SKIP-JAVA4?: REDO 8 times 3 chords of 2^18 tree slug size + file groupings)
// = 8*3*(2^18) = 6_291_456 is above default jvm max class limit
// implement as group marker interface to readout relative distance to marker root
// ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᒃᐤᣕᓫ.ᣖᑊᣗᣔᐪᓫ.ᒃᐤᣔᐪs
// ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᒃᐤᣕᓫ.ᣘᒻᓫᔆᑋ.ᣔᔿᔿᐤ
// ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᒼᣔᑊᑉᓫ.ᐪᣔᔆᐪᓫ
// ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᒻᐤᣔᑊᐣᓫᣗ
@ -53,6 +55,11 @@ public class BabelTest {
// ᒢᐩᐩ.ᐪᓫᕽᐪ.ᔆᐪᣗᑊᣕᕐ.ᓑᣕᣳᒼᐤᒄᓫ
// ᒢᐩᐩ.ᐪᓫᕽᐪ.ᒄᓫᣕᐪᣔᒻ.ᒻᑊᣕᕐᓑᣔ (#interfaces; ~31K + file groupings)
// ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᙆᓫᣗᒄᑊᣕᣔᒻ.ᒃᣔᔆᓫᑊᐣ (#interfaces; 2304 + 2_655_360 + file groupings)
// - real enum terminator set is from FC18 (FCFlameNumberGram.java)
// - bone based terminators up to PIG size 2304 (after 99% of JPP code comes from nether generate on use)
// - virtual terminator from nether chord group selector slug path is 2^18 bit pie part values
// - extended virtual pie slice terminators of nether is thus 8 times 2^18
// ^^ for java3, in java4 100% of runtime+libs is generated per method, so only code which is used.
// ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᙆᓫᣗᒄᑊᣕᣔᒻ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.ᕐᓑᣕᔆ
// ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᒻᓫᕐᐤ.ᒢᓫᑊᐣᑊ (+JediTempleBase256InfinityZero redo generics-tree from LegoᐧBrickᐧTapeᐧRecorderᐧχ3 ?)
// ᒢᐩᐩ.ᣕᓑᔿᒃᓫᣗ.ᒻᓫᕐᐤ.ᒼᓑᣗᘁᓫ.ᐪᣗᓫᕁ

View file

@ -27,6 +27,7 @@
package ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ;
import java.lang.module.ModuleDescriptor;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;
@ -45,6 +46,16 @@ import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAu
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class EclipseTest {
@Test
public void testChinaDotModVersion() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException {
ModuleDescriptor.Version.parse("1.2.3-SNAPSHOT");
Assertions.assertThrows(IllegalArgumentException.class, () -> {
ModuleDescriptor.Version.parse("〇一。壬寅。一〄-SNAPSHOT");
});
ModuleDescriptor.Version v = ModuleDescriptor.Version.parse("5786.SHEVAT〄.1-SNAPSHOT");
System.out.println("version=" + v);
}
// =======================================================
// Case X: Add @Deprecated on String::codePointAt(int idx)

View file

@ -0,0 +1,85 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-jpp-klass-nether</artifactId>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-kode-gen</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>process-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>nx01-jpp-klass-nether-generate</id>
<activation>
<file>
<!-- NOTE: this only works when clean is run seperate of compile -->
<missing>target/generated-sources.hash</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>nx01-generate-nether</id>
<goals>
<goal>run</goal>
</goals>
<phase>process-resources</phase>
<configuration>
<target>
<echo>NX01: Generating nether tones</echo>
<java classname="love.distributedrebirth.nx01.kode.generator.GenerateNetherTone" fork="true"
failonerror="true">
<!-- using test CP so local module gets resolved correctly -->
<classpath refid="maven.test.classpath" />
<arg line="generate" />
<arg line="based" />
</java>
<echo>NX01: Done nether</echo>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View file

@ -0,0 +1,33 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/// The nether tone tree slug index.
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
module jpp.klass.nether {
}

View file

@ -0,0 +1,126 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ;
import java.util.ArrayList;
import java.util.List;
/// Nether tone slug view record.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public record NetherToneSlugView(
int ag1,
int ag2,
int ag3,
int bl0w,
int cr1,
int cr2,
int cr3,
int db1,
int db2,
int db3,
int er0w
) {
public List<Class<?>> toNetherTones(int idx) {
Class<?> qClass = qClass(idx);
List<Class<?>> result = new ArrayList<>(11);
for (int i = 0; i < 11; i++) {
Class<?> subClass = qClass.getPermittedSubclasses()[i];
Class<?>[] valueClasses = subClass.getPermittedSubclasses();
result.add(switch (i) {
case 0: yield valueClasses[ag1];
case 1: yield valueClasses[ag2];
case 2: yield valueClasses[ag3];
case 3: yield valueClasses[bl0w];
case 4: yield valueClasses[cr1];
case 5: yield valueClasses[cr2];
case 6: yield valueClasses[cr3];
case 7: yield valueClasses[db1];
case 8: yield valueClasses[db2];
case 9: yield valueClasses[db3];
case 10: yield valueClasses[er0w];
default:
throw new IllegalArgumentException("Unexpected value: " + i);
});
}
return result;
}
// TODO: idx = 0 = Q1 = maybe enum
static private Class<?> qClass(int idx) {
if (idx < 0) {
throw new IllegalArgumentException("Negative Q index: " + idx);
}
if (idx >= 8) {
throw new IllegalArgumentException("Outside octal Q space boundry: " + idx);
}
return NetherTone.class.getPermittedSubclasses()[idx];
}
static NetherToneSlugView ofQSluq(int idx, Class<? extends NetherTone> q) {
Class<?> qClass = qClass(idx);
int[] d = new int[11];
int dataIdx = 0;
for (Class<?> subClass : qClass.getPermittedSubclasses()) {
boolean hasValue = false;
Class<?>[] valueClasses = subClass.getPermittedSubclasses();
for (int i = 0; i < valueClasses.length; i++) {
Class<?> valueClass = valueClasses[i];
if (valueClass.isAssignableFrom(q)) {
hasValue = true;
d[dataIdx] = i;
dataIdx++;
break;
}
}
if (!hasValue) {
throw new IllegalArgumentException("missing Q value in nether space of: " + subClass);
}
}
return new NetherToneSlugView(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8], d[9], d[10]);
}
static boolean slugPresent(int idx, Class<? extends NetherTone> q) {
Class<?> qClass = qClass(idx);
for (Class<?> subClass : qClass.getPermittedSubclasses()) {
boolean hasValue = false;
for (Class<?> valueClass : subClass.getPermittedSubclasses()) {
if (valueClass.isAssignableFrom(q)) {
hasValue = true;
break;
}
}
if (!hasValue) {
return false;
}
}
return true;
}
}

View file

@ -0,0 +1,97 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ;
import java.util.List;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1AG1;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1AG2;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1AG3;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1BL0W;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1CR1;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1CR2;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1CR3;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1DB1;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1DB2;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1DB3;
import ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ.ᐧᐧᐧ.ᐊQ1ER0W;
public class NetherToneSlugViewTest {
private interface Q1SlugExample extends
ᐊQ1AG1.ᐅ001,
ᐊQ1AG2.ᐅ002,
ᐊQ1AG3.ᐅ003,
ᐊQ1BL0W.ᐅ004,
ᐊQ1CR1.ᐅ005,
ᐊQ1CR2.ᐅ006,
ᐊQ1CR3.ᐅ007,
ᐊQ1DB1.ᐅ008,
ᐊQ1DB2.ᐅ009,
ᐊQ1DB3.ᐅ010,
ᐊQ1ER0W.ᐅ011
{
}
private interface Q1SlugExampleErr extends
ᐊQ1AG1.ᐅ001,
ᐊQ1AG2.ᐅ002
{
}
@Test
public void testSlugViewErr() {
Assertions.assertThrows(IllegalArgumentException.class, () -> {
NetherToneSlugView.ofQSluq(0, Q1SlugExampleErr.class);
});
Assertions.assertFalse(NetherToneSlugView.slugPresent(0, Q1SlugExampleErr.class));
}
@Test
public void testSlugViewParse() {
NetherToneSlugView slug = NetherToneSlugView.ofQSluq(0, Q1SlugExample.class);
Assertions.assertNotNull(slug);
Assertions.assertEquals(0, slug.ag1());
Assertions.assertEquals(1, slug.ag2());
Assertions.assertEquals(2, slug.ag3());
}
@Test
public void testSlugViewDecompose() {
NetherToneSlugView slug = NetherToneSlugView.ofQSluq(0, Q1SlugExample.class);
Assertions.assertNotNull(slug);
List<Class<?>> result = slug.toNetherTones(0);
Assertions.assertNotNull(result);
Assertions.assertEquals(ᐊQ1AG1.ᐅ001.class, result.get(0));
Assertions.assertEquals(ᐊQ1AG2.ᐅ002.class, result.get(1));
Assertions.assertEquals(ᐊQ1AG3.ᐅ003.class, result.get(2));
}
}

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-king-java3</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-king-java3c</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-king-java3do</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-king-java3doc</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-king-java3seed</artifactId>
<dependencies>

10
nx01-kode-gen/pom.xml Normal file
View file

@ -0,0 +1,10 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-kode-gen</artifactId>
</project>

View file

@ -0,0 +1,180 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package love.distributedrebirth.nx01.kode.generator;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Stream;
import love.distributedrebirth.nx01.kode.generator.klass.ModelKlass;
import love.distributedrebirth.nx01.kode.generator.klass.ModelKlassWriter;
/// Generated the nether tone interface tree forest.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public class GenerateNetherTone {
private final static String SERIAL_VERSON_ID = "11";
public static void main(String[] args) throws IOException {
List<String> argu = Arrays.asList(args);
GenerateNetherTone gen = new GenerateNetherTone();
boolean writeToFile = argu.contains("generate");
if (argu.contains("based")) {
gen.updateBased(writeToFile);
} else {
System.err.println("No command given.");
}
}
private void updateBased(boolean writeToFile) throws IOException {
Path hashFile = new File("target/generated-sources.hash").toPath();
if (hashFile.toFile().exists()) {
String hash = Files.readString(hashFile);
if (SERIAL_VERSON_ID.equals(hash)) {
System.out.println("SKIPPED: Generated source are up to date");
return;
}
}
Files.writeString(hashFile, SERIAL_VERSON_ID);
ModelKlassWriter writer = new ModelKlassWriter("target/generated-sources");
writer.setProlog(new File("../licence.txt"));
buildQuadrants(writer, 1, "ᐧᐧᐧ");
buildQuadrants(writer, 2, "ᐧᐧᣟ");
buildQuadrants(writer, 3, "ᐧᣟᐧ");
buildQuadrants(writer, 4, "ᐧᣟᣟ");
buildQuadrants(writer, 5, "ᣟᐧᐧ");
buildQuadrants(writer, 6, "ᣟᐧᣟ");
buildQuadrants(writer, 7, "ᣟᣟᐧ");
buildQuadrants(writer, 8, "ᣟᣟᣟ");
createNetherQuadrant(writer, "NetherTone", "NetherToneQ", false);
// write all sources to files or stdout
writer.write(writeToFile);
}
private void buildQuadrants(ModelKlassWriter writer, int quadrant, String s) {
String q = "ᐊQ" + quadrant;
String e = "NetherToneQ" + quadrant;
writer.addModelKlass(buildNetherTreeSlug(s, q + "AG1", "", 64, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "AG1"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "AG2", "", 64, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "AG2"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "AG3", "", 64, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "AG3"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "BL0W", "", 512, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "BL0W"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "CR1", "", 64, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "CR1"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "CR2", "", 64, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "CR2"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "CR3", "", 64, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "CR3"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "DB1", "", 64, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "DB1"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "DB2", "", 64, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "DB2"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "DB3", "", 64, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "DB3"));
writer.addModelKlass(buildNetherTreeSlug(s, q + "ER0W", "", 512, e));
writer.addModelKlass(buildNetherTreeMutex(s, q + "ER0W"));
createNetherQuadrant(writer, e, q, true); // permits all above
}
private ModelKlass buildNetherTreeMutex(String subPackage, String javaName) {
ModelKlass klass = new ModelKlass("ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ." + subPackage, javaName + "Mutex");
StringBuilder buf = klass.getBody();
buf.append("interface ");
buf.append(klass.getJavaName());
buf.append("<T> {\n");
buf.append("}\n");
return klass;
}
private ModelKlass buildNetherTreeSlug(String subPackage, String javaName, String slugName, int slugSize, String quadrant) {
ModelKlass klass = new ModelKlass("ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ." + subPackage, javaName);
klass.addJavaImport("ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ."+quadrant);
StringBuilder buf = klass.getBody();
buf.append("public sealed interface ");
buf.append(klass.getJavaName());
buf.append(" extends ");
buf.append(quadrant);
buf.append(" {\n");
for (int i = 1 ; i <= slugSize; i++) {
String partCode = String.format("%03d", i);
String clsBase = slugName + partCode + " extends " + klass.getJavaName();
String clsMutexExt = ", " + javaName + "Mutex<" + slugName + partCode + ">";
buf.append("\tnon-sealed interface "+clsBase+clsMutexExt+" {}\n");
}
buf.append("}\n");
return klass;
}
private void createNetherQuadrant(ModelKlassWriter writer, String javaName, String javaSearch, boolean child) {
ModelKlass klass = new ModelKlass("ᒢᐩᐩ.ᑊᑉᒻᣔᔆᔆ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ", javaName);
StringBuilder buf = klass.getBody();
buf.append("public sealed interface ");
buf.append(klass.getJavaName());
if (child) {
buf.append(" extends NetherTone");
}
buf.append(" permits\n");
Stream<ModelKlass> f = writer.getModelKlasses().stream().filter(v -> !v.getJavaName().contains("Mutex")).filter(v -> v.getJavaName().contains(javaSearch));
for (Iterator<ModelKlass> i = f.iterator(); i.hasNext() ;) {
ModelKlass mk = i.next();
if (child) {
klass.addJavaImport(mk.getJavaPackage() + "." + mk.getJavaName());
}
buf.append("\t");
buf.append(mk.getJavaName());
if (i.hasNext()) {
buf.append(",\n");
} else {
buf.append("\n");
}
}
buf.append("\t{\n");
buf.append("}\n");
writer.addModelKlass(klass);
}
}

View file

@ -0,0 +1,93 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package love.distributedrebirth.nx01.kode.generator.klass;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/// Java model klass.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public class ModelKlass {
private final File javaFile;
private final String javaPackage;
private final String javaName;
private final List<String> javaDescriptions;
private final List<String> javaImports;
private final StringBuilder body;
public ModelKlass(String javaPackage, String javaName) {
this.javaPackage = Objects.requireNonNull(javaPackage);
this.javaName = Objects.requireNonNull(javaName);
this.javaDescriptions = new ArrayList<>();
String packageFolder = javaPackage.replaceAll("\\.", "/");
String filePath = packageFolder + "/" + javaName + ".java";
this.javaFile = new File(filePath);
this.javaImports = new ArrayList<>();
this.body = new StringBuilder();
}
public File getJavaFile() {
return javaFile;
}
public void addJavaImport(String javaKlass) {
if (javaImports.contains(javaKlass)) {
return;
}
javaImports.add(javaKlass);
}
public List<String> getJavaImports() {
return javaImports;
}
public String getJavaPackage() {
return javaPackage;
}
public String getJavaName() {
return javaName;
}
public void addJavaDescription(String javaDescription) {
javaDescriptions.add(javaDescription);
}
public List<String> getJavaDescriptions() {
return javaDescriptions;
}
public StringBuilder getBody() {
return body;
}
}

View file

@ -0,0 +1,132 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package love.distributedrebirth.nx01.kode.generator.klass;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
/// Java klass model writer.
///
/// @author للَّٰهِilLצسُو
/// @version ©Δ 仙上主天
public class ModelKlassWriter {
private final List<ModelKlass> klasses = new ArrayList<>();
private File prolog;
private Path outputPath;
public ModelKlassWriter(String outputPath) {
this.outputPath = FileSystems.getDefault().getPath(Objects.requireNonNull(outputPath));
}
public void setProlog(File prolog) {
this.prolog = prolog;
}
public List<ModelKlass> getModelKlasses() {
return klasses;
}
public void addModelKlass(ModelKlass klass) {
klasses.add(Objects.requireNonNull(klass));
}
public void write(boolean writeFile) throws IOException {
if (writeFile) {
if (!outputPath.toFile().exists()) {
outputPath.toFile().mkdirs();
}
}
for (ModelKlass klass : klasses) {
String content = writeKlass(klass);
if (writeFile) {
Path outFile = outputPath.resolve(klass.getJavaFile().toPath());
outFile.toFile().getParentFile().mkdirs();
outFile.toFile().createNewFile();
Files.writeString(outFile, content);
System.out.println("Wrote file: " + klass.getJavaFile());
} else {
System.out.println("Debug file: " + klass.getJavaFile());
System.out.println(content);
}
}
}
private String writeKlass(ModelKlass klass) throws IOException {
StringBuilder buf = new StringBuilder();
writeKlassProlog(buf);
writeKlassHeader(buf, klass);
buf.append(klass.getBody());
return buf.toString();
}
private void writeKlassProlog(StringBuilder buf) throws IOException {
if (prolog == null) {
return;
}
if (!prolog.canRead()) {
return;
}
List<String> prologLines = Files.readAllLines(prolog.toPath());
buf.append("/*\n");
for (Iterator<String> i = prologLines.iterator(); i.hasNext() ;) {
buf.append(" * ");
buf.append(i.next());
buf.append("\n");
}
buf.append(" */\n");
buf.append("\n");
}
private void writeKlassHeader(StringBuilder buf, ModelKlass klass) throws IOException {
buf.append("package ");
buf.append(klass.getJavaPackage());
buf.append(";\n");
buf.append("\n");
for (String javaImport : klass.getJavaImports()) {
buf.append("import ");
buf.append(javaImport);
buf.append(";\n");
}
buf.append("\n");
for (String javaDescription : klass.getJavaDescriptions()) {
buf.append("/// ");
buf.append(javaDescription);
buf.append("\n");
}
buf.append("/// @author للَّٰهِilLצسُو\n");
buf.append("/// @version ©Δ∞ 仙上主天\n");
}
}

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-mushroom-mais-duytsdoc</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-mushroom-mais-fc18</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-mushroom-mais-mm</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-mushroom-mais</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-no2all-nostr</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-no2all-react-nostr</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-no2all-react-wire</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-no2all-wire-jetty</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-no2all-wire-jre</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-no2all-wire-ojw</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-no2all-wire</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-poop-scripts</artifactId>
<packaging>pom</packaging>
@ -131,7 +131,7 @@
<configuration>
<target>
<property name="coredir" value="${basedir}/../src/_schemas" />
<property name="selfiename" value="${artifactId}@x4o-generate-local-xsd" />
<property name="selfiename" value="${project.artifactId}@x4o-generate-local-xsd" />
<property name="selfiebreak" value="160" />
<property name="selfiecomment" value="@DuytsDocAuthor注(name = 'للَّٰهِilLצسُو', copyright = '©Δ∞ 仙上主天')" />
<taskdef name="x4oTask" classname="org.x4o.tool.ant.plugin.X4OTask" classpathref="maven.plugin.classpath" />
@ -142,42 +142,42 @@
<x4oTask languageName="cel" taskId="eld-xsd">
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/output/path" value="${coredir}/cel" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-by" value="${selfiename}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${version}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${project.version}" />
<x4oTaskProperty key="http://x4o.org/properties/content/prolog/user-comment" value="${selfiecomment}" />
<x4oTaskProperty key="http://x4o.org/properties/content/output/line-break-width" value="${selfiebreak}" />
</x4oTask>
<x4oTask languageName="eld" taskId="eld-xsd">
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/output/path" value="${coredir}/eld" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-by" value="${selfiename}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${version}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${project.version}" />
<x4oTaskProperty key="http://x4o.org/properties/content/prolog/user-comment" value="${selfiecomment}" />
<x4oTaskProperty key="http://x4o.org/properties/content/output/line-break-width" value="${selfiebreak}" />
</x4oTask>
<x4oTask languageName="test" taskId="eld-xsd">
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/output/path" value="${coredir}/junit-test" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-by" value="${selfiename}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${version}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${project.version}" />
<x4oTaskProperty key="http://x4o.org/properties/content/prolog/user-comment" value="${selfiecomment}" />
<x4oTaskProperty key="http://x4o.org/properties/content/output/line-break-width" value="${selfiebreak}" />
</x4oTask>
<x4oTask languageName="swixml" languageVersion="2.0" taskId="eld-xsd">
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/output/path" value="${coredir}/junit-swixml" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-by" value="${selfiename}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${version}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${project.version}" />
<x4oTaskProperty key="http://x4o.org/properties/content/prolog/user-comment" value="${selfiecomment}" />
<x4oTaskProperty key="http://x4o.org/properties/content/output/line-break-width" value="${selfiebreak}" />
</x4oTask>
<x4oTask languageName="swixml" languageVersion="3.0" taskId="eld-xsd">
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/output/path" value="${coredir}/junit-swixml" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-by" value="${selfiename}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${version}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${project.version}" />
<x4oTaskProperty key="http://x4o.org/properties/content/prolog/user-comment" value="${selfiecomment}" />
<x4oTaskProperty key="http://x4o.org/properties/content/output/line-break-width" value="${selfiebreak}" />
</x4oTask>
<x4oTask languageName="redsea-jdatstart" languageVersion="7.0" taskId="eld-xsd">
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/output/path" value="${coredir}/redsea-jdatstart" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-by" value="${selfiename}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${version}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${project.version}" />
<x4oTaskProperty key="http://x4o.org/properties/content/prolog/user-comment" value="${selfiecomment}" />
<x4oTaskProperty key="http://x4o.org/properties/content/output/line-break-width" value="${selfiebreak}" />
</x4oTask>
@ -185,7 +185,7 @@
<x4oTask languageName="redsea-wfs" taskId="eld-xsd">
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/output/path" value="${coredir}/redsea-wfs" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-by" value="${selfiename}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${version}" />
<x4oTaskProperty key="http://x4o.org/properties/eld-xsd/prolog/generated-version" value="${project.version}" />
<x4oTaskProperty key="http://x4o.org/properties/content/prolog/user-comment" value="${selfiecomment}" />
<x4oTaskProperty key="http://x4o.org/properties/content/output/line-break-width" value="${selfiebreak}" />
</x4oTask>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-redsea-hyper-local</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-redsea-hyper-nostr</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-redsea-hyper</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-redsea-jdatstart</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-redsea</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-warp-core</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-warp-fault</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-warp-manifestor</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-x4o-driver</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-x4o-fc18</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-x4o-maisdoc</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-x4o-sax3</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-x4o-tool-ant-plugin</artifactId>
<dependencies>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-x4o-tool-maven-plugin</artifactId>
<packaging>maven-plugin</packaging>

View file

@ -4,7 +4,7 @@
<parent>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
</parent>
<artifactId>nx01-zerofungus-server</artifactId>
<dependencies>

25
pom.xml
View file

@ -4,10 +4,11 @@
<modelVersion>4.0.0</modelVersion>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01</artifactId>
<version>〇一。壬寅。一〄-SNAPSHOT</version>
<version>5786.SHEVAT〄.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>NX01</name>
<properties>
<maven.project.sourceRoots.warningsDisabled>true</maven.project.sourceRoots.warningsDisabled>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.sourceVersion>25</project.build.sourceVersion>
<jetty.version>11.0.24</jetty.version>
@ -55,6 +56,8 @@
<module>nx01-x4o-tool-ant-plugin</module>
<module>nx01-x4o-tool-maven-plugin</module>
<module>nx01-zerofungus-server</module>
<module>nx01-kode-gen</module>
<module>nx01-jpp-klass-nether</module>
</modules>
<dependencyManagement>
<dependencies>
@ -118,11 +121,6 @@
<artifactId>bcprov-jdk18on</artifactId>
<version>1.73</version>
</dependency>
<dependency>
<groupId>org.java-websocket</groupId>
<artifactId>Java-WebSocket</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
@ -259,6 +257,11 @@
<artifactId>nx01-jpp-base</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-jpp-klass-nether</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-king-java3</artifactId>
@ -284,6 +287,11 @@
<artifactId>nx01-king-java3seed</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-kode-gen</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>love.distributedrebirth.nx01</groupId>
<artifactId>nx01-mushroom-mais</artifactId>
@ -501,6 +509,11 @@
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.4</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.6.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>

View file

@ -201,18 +201,26 @@ Four N2L binary tree slugs deep.
4 x 144 = 576 bit N2L Search request domain
QUADRANT 仙: red 666-9-666-666-9 + blue 666-9-666-666-9
QUADRANT 上: red 666-9-666-666-9 + blue 666-9-666-666-9
QUADRANT 主: red 666-9-666-666-9 + blue 666-9-666-666-9
QUADRANT 天: red 666-9-666-666-9 + blue 666-9-666-666-9
QUADRANT 仙: Q1=666-9-666-666-9 + Q2=666-9-666-666-9
QUADRANT 上: Q3=666-9-666-666-9 + Q4=666-9-666-666-9
QUADRANT 主: Q5=666-9-666-666-9 + Q6=666-9-666-666-9
QUADRANT 天: Q7=666-9-666-666-9 + Q8=666-9-666-666-9
Sea it as the simple variant of the 8D 7HFF pie hyper cube galactic
coordinate system, and we mentats count in trits;
QUADRANT 仙: red 222-3-222-222-3 + blue 222-3-222-222-3
QUADRANT 上: red 222-3-222-222-3 + blue 222-3-222-222-3
QUADRANT 主: red 222-3-222-222-3 + blue 222-3-222-222-3
QUADRANT 天: red 222-3-222-222-3 + blue 222-3-222-222-3
QUADRANT 仙: Q1=222-3-222-222-3 + Q2=222-3-222-222-3
QUADRANT 上: Q3=222-3-222-222-3 + Q4=222-3-222-222-3
QUADRANT 主: Q5=222-3-222-222-3 + Q6=222-3-222-222-3
QUADRANT 天: Q7=222-3-222-222-3 + Q8=222-3-222-222-3
Naming slug radicals;
old: <spaceId><subId><etherId>-<sectorId+zoneId>-<setId><chainId><netId>-<outerId><middleId><innerId>-<bitFlags>
becomes nether tone;
ag1,ag2,ag3,bl0w,cr1,cr2,cr3,db1,db2,db3,er0w
aliased nether chords;
<tri-green-18>-<bl0w-9>-<tri-red-18>-<tri-blue-18>-<er0w-9>
## N2L TreeKey Font

View file

@ -47,7 +47,9 @@ SNAPSHOT RELEASE = BIM BAM BOM POM POOP
## BimBamBoo
The chinees version of bipolar semver, with no zero;
The chinees version of bipolar semver, with no zero;
(note1: java9++ module version has hard check on digit for first char)
(note2: java mod and maven don't read the china dot(。) so use latin for now)
CYCLE_LUNICN_CNN_FORMAT = <borg-full-year-cn><lunar-mansion-hi-name-cn><BOO-cn><?〄DIN-info-CJK><?〄-SNAPSHOT>
CYCLE_LUNICN_CNC_FORMAT = <borg-full-year-cn><lunar-mansion-hi-cyfer-cn><BOO-cn><?〄DIN-info-CJK><?〄-SNAPSHOT>