Commit graph

427 commits

Author SHA1 Message Date
58b9b268a1
Update DependencyVector
This commit introduces a "Builder" nested class, adds a way to specify which other vector a vector provides and includes a few smaller changes to DependencyVectors.
This commit does not work at the moment as I'm in the process of rewriting the DependencyResolver to work correctly, as it should.
2024-08-17 13:26:12 +02:00
468e206fab
Add QuietLoggerImplementation, which does nothing 2024-08-17 12:42:05 +02:00
8f12e8b0c8
Add InitLogger and startup logging 2024-08-17 12:41:53 +02:00
78b12dee67
Remove duplicate 2024-08-17 11:55:25 +02:00
1713c9c8a8
Finalize ListConverter
after two months, it finally works
2024-08-12 20:51:37 +02:00
747d08d354
Rename git and gradle properties files
Useful in case the application bundles it's own files to avoid engine crashes and file name conflicts
2024-08-03 17:13:01 +02:00
34f61211d3
Fix maven publishing 2024-08-01 03:17:22 +02:00
2fc0f53b5d
Update overview.html & add ANSI theme.css symlink 2024-08-01 03:01:37 +02:00
669be13dfa
Enable publishing for :graphics and :graphics:glfw 2024-08-01 03:00:56 +02:00
9db7f20c2e
Rename PropertyParser -> PropertiesReader 2024-07-31 21:05:09 +02:00
611d4b823e
Update crash content 2024-07-31 15:03:33 +02:00
1a56f42287
Document processCrashContent, add List support 2024-07-31 15:03:00 +02:00
c984974252
Implement logic for logging thread control
The logging thread now automatically starts or shuts down based on EngineConfiguration#optimizeLogging and Engine#state == EngineState.RUNNING
2024-07-31 15:02:29 +02:00
bd70b17236
Add engine state 2024-07-31 15:00:54 +02:00
f0c19010d9
Add ShutdownHandlers 2024-07-31 13:55:35 +02:00
a261d7914e
Update order of SuppressWarnings & other annotations 2024-07-31 04:20:05 +02:00
d406fa0e3d
Add additional newline to {@inheritDoc} multiliners 2024-07-31 04:07:51 +02:00
02001103d6
Align @throws and @param properly 2024-07-31 04:04:24 +02:00
8792813e34
Remove unecessary ReflectionField#invoke() method 2024-07-31 04:03:52 +02:00
5187b37e53
Add missing LogOrigin placeholder 2024-07-31 04:03:25 +02:00
6a821145a6
Fix log formatting 2024-07-31 04:03:01 +02:00
f383261ed9
MASSIVE CODE CHANGE
tl;dr I changed many Javadoc comments, some code, removed dumb or unused stuff and revamped the entire logging infrastructure by yeeting out LogIssuer and CodePart and much, much more
2024-07-31 03:53:44 +02:00
9dc0f549d4
Move ANSI-related stuff into 'ansi' module 2024-07-29 21:34:10 +02:00
2d61b027b3
Fix MiscellaneousTest engine crash 2024-07-29 21:21:38 +02:00
3c09713867
Remove Jetbrains Annotations and Lombok deps info 2024-07-29 19:59:03 +02:00
cbf434ed45
Fix unit tests 2024-07-29 19:58:41 +02:00
7f324090c1
Add some 'final's 2024-07-26 13:20:56 +02:00
e787680e8c
Create new Math utility class 2024-07-26 13:05:15 +02:00
e5f7b0e580
Migrate ShortcodeParserSkeleton to StringBuilder 2024-07-25 20:03:46 +02:00
b9d4196b8b
Add escape support to ShortcodeParserSkeleton 2024-07-25 20:00:32 +02:00
6dc0566fed
Add UNKNOWN_MOUSE, rename UNKNOWN -> UNKNOWN_KEY 2024-07-25 12:19:32 +02:00
6c0244053b
Add *friendly* crash message for users and devs 2024-07-25 04:10:30 +02:00
ef40c04877
Customize thread creation 2024-07-25 04:10:15 +02:00
ee40ac5826
Add %stacktrace_all% crashhandler placeholder 2024-07-25 04:00:31 +02:00
5909a948b5
Update init logic of base, graphics and glfw 2024-07-23 20:24:57 +02:00
a07dc6db84
Add hideFullTypePath engine setting 2024-07-23 20:19:49 +02:00
062b68a93b
Update setting order 2024-07-23 19:51:00 +02:00
86e85356ba
Optimize startup and fix shutdown logic 2024-07-23 19:32:37 +02:00
7b70cf8511
Fix typo
dum
2024-07-23 17:46:30 +02:00
2f963e86ef
Add clone method to vector data types 2024-07-23 17:45:37 +02:00
90b6dbcd31
Shrink down getSetting() size in configurations 2024-07-22 15:18:35 +02:00
260464d727
Make Miscellaneous#invokeGarbageCollector jd more verbose 2024-07-22 13:39:17 +02:00
a0a89d2f3c
Add boolean and integer conversion methods
This commit also reorganizes the method order inside Miscellaneous.java
2024-07-22 13:35:14 +02:00
67909e9cc3
Add Tristate#toBoolean method 2024-07-22 13:34:29 +02:00
fa8086f198
Fix vv1-alpha2 in startup message 2024-07-21 23:16:00 +02:00
4dbbee4efa
Add isClosureRequested() method 2024-07-21 22:41:41 +02:00
f3acca7456
Move logCall() invocation outside of Runnable
This ensures debug log messages are kept in order
2024-07-21 21:22:53 +02:00
aaa81e2f87
Disallow logCall() invocation on LogEvent 2024-07-21 21:19:10 +02:00
2469e124bd
Improve event system and reflection 2024-07-21 21:10:49 +02:00
5cb8350a41
Update stack trace placeholder 2024-07-21 17:37:42 +02:00
55091d3cd1
Override getString() method in vector types 2024-07-21 17:35:56 +02:00
09b244ef74
Update de.staropensource.sosengine.base.types jd 2024-07-21 16:45:58 +02:00
bf7a450be5
Add Miscellaneous#onMainThread method 2024-07-21 16:38:47 +02:00
3964512979
Mark throwable with @NotNull instead of @Nullable 2024-07-21 16:38:37 +02:00
9f638c486c
Rename exception IncompatibleTypeReflection
was i drunk?
2024-07-20 18:22:48 +02:00
85e6cd69de
Add ImmutableHashSet 2024-07-20 18:22:14 +02:00
be74555064
Fix typos in immutable types 2024-07-20 18:22:07 +02:00
bd6cc73a94
Add missing package info files 2024-07-20 18:21:40 +02:00
0c626cc995
Add ParserException 2024-07-20 18:07:58 +02:00
0ce24d677f
Fix jansi build dependency for all projects 2024-07-18 14:14:21 +02:00
ccc6c31cc9
Allow for placeholder configuration 2024-07-18 01:58:00 +02:00
10abe1d3f0
Enable javadoc and source jar upload 2024-07-18 01:25:23 +02:00
b17d354a9b
Add v character to output (%engine_version%) 2024-07-18 01:24:38 +02:00
4752dd6918
Update Engine#populateCrashContent() 2024-07-18 01:23:58 +02:00
38c5f0e5b9
Remove unimportant plugin version identifiers 2024-07-18 01:15:10 +02:00
050befbb73
Move ReflectionScanningHelper -> ClasspathAccess 2024-07-16 14:52:19 +02:00
97dcc5263b
Optimize DependencySubsystemVector 2024-07-16 14:51:21 +02:00
8470d37f37
Update visibility of fields in DependencyVector 2024-07-16 14:51:00 +02:00
bffe68c015
Add SubsystemMainClass#getName() & init time stat 2024-07-16 14:50:39 +02:00
481ce80535
Move some exceptions 2024-07-16 14:48:41 +02:00
31b1a2d199
Fix some stuff in ShortcodeParserSkeleton
This commit removes the <negative> tag, remove it from your sources.
2024-07-16 14:47:17 +02:00
0c77f50609
Fix UnresolvedDependenciesException 2024-07-16 14:45:35 +02:00
85bff3b14d
Allow for disabling automatic subsystem init 2024-07-16 14:44:32 +02:00
5697522641
Remove jOOR dependency, migrate tests 2024-07-15 13:13:55 +02:00
97a0218bf6
Add basic reflection support 2024-07-15 13:13:35 +02:00
dd7bc714b9
IncompatibleVersioningSystem can now be optional 2024-07-15 13:13:01 +02:00
4a8d58d6cc
Update message and javadoc in base tests 2024-07-13 00:08:16 +02:00
e65c3e2662
Prefix all @since values with 'v' 2024-07-12 02:30:20 +02:00
a02011816b
Mark experimental methods 2024-07-11 22:07:04 +02:00
7c553c24f0
Move data types and classes around 2024-07-11 14:38:00 +02:00
3a734ece70
Fix display names of versioning system tests 2024-07-11 14:32:20 +02:00
165855c122
Add n1 versioning system 2024-07-11 14:31:42 +02:00
ff7c559a39
Add & update package-info.java files 2024-07-11 14:31:32 +02:00
97d1c391bf
Add soft-crash functionality 2024-07-11 05:43:42 +02:00
7d8d277bc1
Add JvmInformation#getMemoryUsed method 2024-07-11 05:31:11 +02:00
d3b09848b6
Add synchronized keyword to various methods 2024-07-11 05:29:32 +02:00
76b2a08804
Add memory and processor metrics to JvmInformation 2024-07-11 05:29:21 +02:00
ae04896e76
Throw exception instead of returning 2024-07-11 05:28:59 +02:00
e376e36eb3
Rename message -> format for LoggerImpl 2024-07-11 05:28:34 +02:00
b7282d5c7d
Update gradle.properties not found message 2024-07-11 05:00:00 +02:00
c6b3af023f
Use copy task instead of symlinks for resources 2024-07-11 04:59:35 +02:00
9c1f5711a7
Update Javadoc and apply a few code fixes 2024-07-11 04:17:03 +02:00
fa3d2ec19d
Add comments and fix Javadoc generation 2024-07-11 04:03:08 +02:00
ab5e12876a
I'm embarrased 2024-07-08 19:04:18 +02:00
867304b568
Update subsystem initialization logic 2024-07-08 14:29:02 +02:00
ba2e6ebecd
Add not-yet-working getOrder method 2024-07-08 14:28:55 +02:00
c91a2151e9
Update addVectors methods 2024-07-08 14:28:15 +02:00
0afe18d857
DependencyReso...ctor -> DependencySubsystemVector 2024-07-08 14:27:49 +02:00
9aba2e6281
Fix ImmutableLinkedList constructor 2024-07-08 14:26:25 +02:00
4d462d65f4
Mark getDependencyVector with @NotNull 2024-07-08 14:26:07 +02:00
8d9e1db8f2
Fix some ugly shit 2024-07-08 14:25:42 +02:00
2230c4018a
Update DependencyResolver a bit 2024-07-08 13:57:25 +02:00
3f7edd0968
Add more Immutable* types 2024-07-08 13:46:30 +02:00
ab46a25911
Update DependencyVector constructor javadoc 2024-07-08 12:40:40 +02:00
541919c891
Update build.gradle syntax 2024-07-08 12:39:04 +02:00
1e5f48f413
Add module-info.java for all subsystems 2024-07-08 11:32:27 +02:00
fd6c8851ad
Update package structure 2024-07-08 11:32:08 +02:00
000a7d3aca
Update EngineConfiguration ShortcodeConverter refs 2024-07-08 11:29:40 +02:00
d35ae5535c
Rewrite ShortcodeConverter (now with modularity!) 2024-07-07 17:34:16 +02:00
ecf0f94784
Fix & complete automatic subsystem initialization 2024-07-07 12:55:56 +02:00
3e167ac260
Fix Map to ImmutableMap conversion 2024-07-07 12:54:52 +02:00
8ee805b2db
Update and extend JavaDoc for almost all classes 2024-07-07 12:52:36 +02:00
9add9330bb
Add completely broken automatic subsystem init 2024-06-29 22:18:09 +02:00
2cbac22792
Forgot to commit EngineSubsystem annotation :l 2024-06-29 22:17:44 +02:00
aa5b196fb3
Add annotation and new method for subsystems 2024-06-29 22:17:17 +02:00
4793d7aefe
Add probably broken dependency resolver 2024-06-29 22:16:18 +02:00
ef8cdb87cf
Add ImmutableMap 2024-06-29 22:15:56 +02:00
ae3075770d
Add EngineConfiguration#versioningString 2024-06-29 22:15:35 +02:00
87a7603c2e
Add versioning system support 2024-06-29 20:26:56 +02:00
5011fb8ae9
Add countOccurrences and getSeparator methods 2024-06-29 04:25:31 +02:00
e0db4be65a
mv base.data.placeholder -> base.data.placeholder 2024-06-28 23:34:39 +02:00
f5c986848c
Correct fake commit time 2024-06-28 18:31:42 +02:00
7c21503532
Fix even more EngineInformation startup exceptions 2024-06-28 18:31:28 +02:00
1a42e4bbc6
Fix exception in EngineInformation during startup 2024-06-28 18:22:19 +02:00
116bc4b0b9
Add git information to EngineInformation 2024-06-28 18:21:59 +02:00
0514329556
Update test javadoc 2024-06-28 02:17:53 +02:00
ef29a1f775
Add StackTraceParser unit test 2024-06-28 01:12:05 +02:00
bba645f69b
Add @since tag to classes in unittests package 2024-06-28 01:11:55 +02:00
f5075b9832
Plaster copyright notice over everything 2024-06-28 01:08:45 +02:00
20b6bbaf60
Correct order 2024-06-28 00:55:51 +02:00
8c566ad46d
Add clearInstance method 2024-06-27 22:27:21 +02:00
0d55b436da
Extend tests
... for Miscellaneous, PlaceholderEngine and PropertyParser
2024-06-27 22:27:11 +02:00
170f5fd372
Remove EngineTest 2024-06-27 22:26:52 +02:00
919edd3375
Rename Miscellaneous#getMapValue -> getMapValues 2024-06-27 21:14:49 +02:00
8c0ebacd2b
Fix EngineConfiguration unit test 2024-06-27 21:02:35 +02:00
2b689f8267
Fix a few javadoc issues 2024-06-27 20:43:05 +02:00
9cb5cbffd3
Update comments and javadoc 2024-06-27 20:29:08 +02:00
f39223b4da
Add READMEs to all subsystems 2024-06-27 20:25:32 +02:00
72a13adbcd
Add PropertyParser#getTristate 2024-06-27 20:10:15 +02:00
74d8978f20
Beautify Miscellaneous#getMapValue 2024-06-27 20:09:57 +02:00
5c1fba4ef6
JvmInformation#getJavaVersion may now crash 2024-06-27 20:09:43 +02:00
cc3cd52d22
Move interfaces, enums & classes around again 2024-06-27 20:08:34 +02:00
9202eaeb4a
Update javadoc for base.classes.helpers package 2024-06-27 19:28:29 +02:00
d9bf941cb9
Add Tristate type 2024-06-27 19:27:07 +02:00
79dbc65f63
Add log rules 2024-06-27 19:26:37 +02:00
9e4cfee89a
Fix codepart identification for logger instances 2024-06-27 19:26:25 +02:00
d40ba11266
Decrease default polling speed from 25 to 5 2024-06-27 19:25:53 +02:00
c812359e83
Clean up base.classes package 2024-06-27 19:25:28 +02:00
9de7f0f51d
Add ability to catch exceptions 2024-06-25 02:08:38 +02:00
994b71dbc4
Update javadocs overview pages 2024-06-25 02:08:07 +02:00
b45a8c9f9b
Update some comments and log messages 2024-06-25 02:07:46 +02:00
9bc1882de3
Add missing javadoc 2024-06-16 21:06:32 +02:00
ac3e1e1224
Fix out of order log messages 2024-06-16 15:53:26 +02:00
a26c8035c1
Add Engine#shuttingDown field 2024-06-16 15:52:14 +02:00
129537a60c
Add maven-publish plugin
Publishes to mvn.staropensource.de.
2024-06-16 13:36:06 +02:00
b59a38cb7c
Make events asynchronous + change configuration 2024-06-12 16:35:58 +02:00
4592fa0828
Update events javadoc again 2024-06-12 16:32:51 +02:00
147455cedd
Add WIP graphics subsystem 2024-06-11 23:08:03 +02:00
c5f6726ff8
'cached' is probably a much better word 2024-06-11 23:06:41 +02:00
6be1f7f2cf
Add event precomputation 2024-06-11 22:49:00 +02:00
832ed5cd5c
Rename RELEASECANDIDATE to RELEASE_CANDIDATE 2024-06-11 22:29:41 +02:00
1c658a8b94
Add getters to Vec*
The question now is... why did they not have these methods beforehand?
2024-06-11 22:29:20 +02:00
9533b3e086
Update a few comments 2024-06-11 22:28:51 +02:00
09dec9c023
Make even more null safe 2024-06-11 22:27:48 +02:00
2a5956276e
Why is JvmUptime placeholder not in here?? 2024-06-11 21:51:39 +02:00
b0d740cd65
Make logger (optionally) asynchronous!
Finally! Multithreading!
2024-06-11 21:49:48 +02:00
0a6ed79673
Add SLF4J Compatibility subsystem 2024-06-11 20:01:34 +02:00
f9d5a4e124
Make EngineConfiguration a bit safer 2024-06-11 20:00:23 +02:00
0031c4ef29
Extend event logging functionality 2024-06-11 19:59:32 +02:00
c11fc78b86
Add TODO ListFormatter 2024-06-11 19:58:45 +02:00
66670b6471
Switch to Throwable for stack trace handling 2024-06-11 19:58:29 +02:00
c369b164a5
Add Miscellaneous#getMapValue method 2024-06-11 16:35:26 +02:00
acbfd6b189
Add event logging 2024-06-11 16:35:01 +02:00
00268e4307
Add EngineInformation#dependencyReflections & more 2024-06-11 16:34:05 +02:00
446f84861c
Add Vec2, Vec2i, Vec3 and Vec3i classes 2024-06-10 21:56:26 +02:00
52e0f67bd2
Make CrashHandler use Engine#shutdown 2024-06-10 21:53:35 +02:00
e6fa60e287
Add SubsystemMainClass 2024-06-10 21:53:23 +02:00
78154962ef
Make javadoc happy 2024-06-10 21:51:10 +02:00
e9c44d903e
Change log messages in Engine#shutdown 2024-06-10 21:50:34 +02:00
8c697b8e58
Add log calls to Engine#shutdown 2024-06-10 19:26:00 +02:00
6481dea957
Update EventListener annotation 2024-06-10 19:25:41 +02:00
b24d7c5473
Add default event priority + update javadoc 2024-06-10 19:25:13 +02:00
d3f9f107a1
Make java copyright notices look much nicer 2024-06-10 19:24:39 +02:00
bd8b7818da
Add Engine#shutdown method and shutdown events 2024-06-10 18:55:27 +02:00
95446a2562
Add Miscellaneous#measureExecutionTime method 2024-06-10 18:55:01 +02:00
d39143d01a
WHY TF DO I KEEP FORGETTING THE COPYRIGHT NOTICE 2024-06-10 18:54:20 +02:00
d511cff252
Remove Nullable annotation from Engine#instance 2024-06-10 18:37:22 +02:00
9531f15435
Move class helpers into separate package 2024-06-10 18:37:02 +02:00
d3acaaf075
Fix crash handler content processing code 2024-06-10 18:36:31 +02:00
5d16c3b862
Add SubsystemConfiguration interface 2024-06-10 18:36:12 +02:00
7c391ecf8d
Update Event.java and LogEvent.java javadoc 2024-06-09 22:18:37 +02:00
7147ab3a5a
Fix bug 2024-06-09 22:16:18 +02:00
3256224329
Improve and fix events 2024-06-09 22:14:45 +02:00
5a98722520
Update Logger class javadoc 2024-06-09 21:21:03 +02:00
aa688a0ca4
Add LogEvent and EngineCrashEvent 2024-06-09 21:10:22 +02:00
b4cf8f81b1
Update 'final' class modifier 2024-06-09 19:57:12 +02:00
1201d5ce7d
Catch more exceptions 2024-06-09 19:36:44 +02:00
bee385b519
Add (in some files) missing copyright header 2024-06-09 19:36:31 +02:00
a19aad7038
Add event support 2024-06-09 19:05:30 +02:00
2144063a9a
Fix colors after crash 2024-06-09 19:03:45 +02:00
8a0c4f1f03
Move class initialization into new method 2024-06-09 19:03:17 +02:00
9d8b6a8e08
Make Engine#populateCrashContent protected 2024-06-09 19:02:43 +02:00
6ed40b216c
Fix Engine using old BuildInfo 2024-06-09 16:47:02 +02:00
2e76c30faf
Supress UnusedAssignment warning 2024-06-09 16:46:37 +02:00
b4eabae312
Rename BuildInfo to EngineInformation 2024-06-09 16:46:24 +02:00
fab03dd546
Move BuildInfo and JvmInformation into own package 2024-06-09 16:45:48 +02:00
4066bbdd3d
Update package-info.java 2024-06-09 16:36:36 +02:00
c8b2bd1f2c
Rename dependencies 2024-06-09 16:31:11 +02:00
3403a438a5
Remove version 2024-06-09 14:17:03 +02:00
bb3e2cb4eb
Add partial PropertyParser test 2024-06-09 13:44:25 +02:00
868709f356
Add assertEquals message 2024-06-09 13:44:15 +02:00
0a7a741d34
Fix CsvSource "identation?" 2024-06-09 13:44:04 +02:00
47c962738b
Make EngineConfiguration test better 2024-06-09 13:43:30 +02:00
9f646db94a
Print full class path for enums (UnitLogger) 2024-06-09 13:42:54 +02:00
c66a780b78
Add Miscellaneous#invokeGarbageCollector method 2024-06-09 13:42:26 +02:00
a6e83a25eb
Make CrashHandler#crashed public 2024-06-09 13:42:09 +02:00
4b5f9413c1
Add partial unit tests for some classes
Will continue creating unit tests tomorrow.
These classes are now tested against:
- base.Engine
- base.EngineConfiguation
- base.utility.Miscellaneous
- base.utility.PlaceholderEngine
2024-06-09 00:22:29 +02:00
1797be0037
Add unit testing dependencies 2024-06-09 00:21:01 +02:00
2c5fd57694
Add unit tests package 2024-06-09 00:20:33 +02:00
51348cdd92
Rename invalid class name JvmVersion -> JvmJava 2024-06-09 00:20:12 +02:00
56d273aa39
Add EngineConfiguration#getSetting() 2024-06-09 00:19:51 +02:00
db408d796d
Fix gradle error 2024-06-08 17:37:02 +02:00
92d424c3aa
Fix usage of ' and " 2024-06-08 17:35:41 +02:00
fe632d9287
Update annotations and fix javadoc warnings 2024-06-08 17:10:20 +02:00
2f0a3f5ab3
Add build.gradle for project : 2024-06-08 17:09:36 +02:00
d50210112e
Update javadoc overview 2024-06-08 17:07:58 +02:00
f47dd66d88
Initial commit 2024-06-08 15:33:03 +02:00