Commit graph

416 commits

Author SHA1 Message Date
dedcdad002
Fix Javadoc generation warnings and errors 2024-08-31 22:35:02 +02:00
483afa1e45
Rename and nuke a few exceptions 2024-08-31 22:24:22 +02:00
cfb52106dc
Rename LoggerImplementation and rename mainClass vars 2024-08-31 22:06:40 +02:00
794f8bb471
Nuke StackTraceParser 2024-08-31 19:32:00 +02:00
f25dd19e98
Rename pkg base.type.vectors -> base.type.vector 2024-08-31 19:20:49 +02:00
07614d4519
Rename and move packages 2024-08-31 14:02:05 +02:00
db10965c69
Rename name-conflicting NoAccessExceptions
Some checks failed
build-and-test / build (push) Failing after 36s
build-and-test / generate-javadoc (push) Failing after 38s
build-and-test / test (push) Failing after 42s
2024-08-31 13:53:39 +02:00
6e7d660d70
Rename packages
Some checks failed
build-and-test / test (push) Failing after 1m3s
build-and-test / generate-javadoc (push) Failing after 1m9s
build-and-test / build (push) Failing after 1m12s
2024-08-31 13:15:31 +02:00
a3ca81498e
Replace Thread#sleep calls with Thread#onSpinWait 2024-08-30 03:06:36 +02:00
b974ce22b0
Add licensing and copyright information to init message 2024-08-21 21:45:43 +02:00
34be192d5b
[no ci] Update copyright notice 2024-08-21 21:41:28 +02:00
d1fa759d0a
Ensure engine shutdown after running tests 2024-08-21 21:26:25 +02:00
6a2a18095b
Fix Javadoc warnings 2024-08-21 21:19:22 +02:00
b4f5829375
Add PrintStreamService (implements #5) 2024-08-21 19:35:05 +02:00
b3968d8469
Fix typo Notifiying -> Notifying 2024-08-21 13:53:57 +02:00
d06f8a3dc3
Move ShutdownHandler code into EngineInternals 2024-08-21 13:51:21 +02:00
5284dfe17b
Remove 1s thread sleep 2024-08-21 01:51:13 +02:00
8ea4594e6f
Revert "Removed safety shutdown hook again"
Found a fix.
This reverts commit f880122add.
2024-08-21 01:50:49 +02:00
f880122add
Removed safety shutdown hook again 2024-08-21 01:43:08 +02:00
2fedc981af
Add shutdown hook functionality (broken, #6)
Doesn't really work right now, will likely be removed
2024-08-21 01:40:45 +02:00
5718f33d88
Fix PlaceholderEngine usage in Logger.java 2024-08-20 22:32:21 +02:00
ae790dbd18
Flush logs before printing crash report 2024-08-20 21:45:41 +02:00
ca3bf94a48
Prevent allocation in loops 2024-08-20 20:25:46 +02:00
ad7b3568cf
Add config setting for toggling newline support 2024-08-19 20:28:40 +02:00
48c326ad71
[no ci] Remove breakpoint instruction 2024-08-19 20:28:13 +02:00
fb82c9c4b0
Rework logger placeholder replacement, add newline support
This commit reworks how placeholders work in Logger.java and adds support for printing multiple lines.
2024-08-19 20:17:55 +02:00
54cde09be3
Update test configuration in other build.gradle files 2024-08-19 02:59:11 +02:00
43e038d3ec
Add correct @since tag to ListFormatter 2024-08-19 02:49:46 +02:00
9ff4f96814
Remove many unused warning supressions
Why did I add this to every single class file in the first place...?
2024-08-19 02:49:00 +02:00
ed9c94f17c
Added hacky way for controlling the execution of tests 2024-08-19 02:06:26 +02:00
03d53fc997
Fix Javadoc issues 2024-08-18 19:47:41 +02:00
eb108495ea
Add option to fail doc when Javadoc throws a warning 2024-08-18 19:34:15 +02:00
736dbed1f3
Remove weird @author and @since tags from base package-info.java 2024-08-18 18:29:22 +02:00
99e0f77fd1
How THE FUCK does this not have @since in it's jd?!?! 2024-08-18 13:03:42 +02:00
05b9644eba
Set java source and target versions
This commit also introduces a warning when running the engine on a Java version higher than the engine source is on
2024-08-18 10:49:46 +02:00
081ac106f4
DependencyResolver rewrite, likely broken
This seems to work, but it probably has lots of bugs as I can't really test it efficiently. Need to write unit tests for this, aw man...

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
So we back in the mine
Got our pickaxe swinging from side to side
Side-side to side
This task, a grueling one
Hope to find some diamonds tonight, night, night
Diamonds tonight

Heads up
You hear a sound, turn around and look up
Total shock fills your body
Oh, no, it's you again
I can never forget those eyes, eyes, eyes
Eyes-eye-eyes

'Cause, baby, tonight
The creeper's tryna steal all our stuff again
'Cause, baby, tonight
You grab your pick, shoval and bolt again (Bolt again-gain)
And run, run until it's done, done
Until the sun comes up in the morn'
'Cause, baby, tonight
The creeper's tryna steal all our stuff again (Stuff again-gain)

Just when you think you're safe
Overhear some hissing from right behind
Right-right behind
THat's a nice life you have
Shame it's gotta end at this time, time, time
Time-time-time-time

Then your health bar drops and you could use a one-up
Get inside, don't be tardy
So, now you're stuck in there
Half a heart is left, but don't die, die, die
Die-die-die

'Cause, baby, tonight
The creeper's tryna steal all our stuff again
'Cause, baby, tonight
You grab your pick, shovel and bolt again (Bolt again-gain)

(Creepers, you're mine, haha)
Dig up diamonds and craft those diamonds
And make some armor, get it, baby
Go and forge that like you so MLG pro
The sword's made of diamonds, so come at me, bro, huh
Training in your room under the torchlight
Hone that form to get you ready for the big fight
Every single day and the whole night
Creeper's out prowlin', hoo, alright
Look at me, look at you
Take my revenge, that's what I'm gonna do
I'm a warrior, baby, what else is new?
And my blade's gonna tear through you, bring it

'Cause, baby, tonight
The creeper's tryna steal all our stuff again
(Gather your stuff, yeah, let's take back the world)
Yeah, baby, tonight (Haha)
Grab your sword, armor and go (It's on)
Take your revenge (Woo), oh-oh, oh-oh
So fight, fight, like it's the last, last night
Of your life, life, show them your bite (Woo)

'Cause, baby, tonight
The creeper's tryna steal all our stuff again
'Cause, baby, tonight
You grab your pick, shovel and bolt again (Bolt again-gain, woo)
And run, run until it's done, done
Until the sun comes up in the morn'
'Cause, baby, tonight (Come on, swing your sword up high)
The creeper's tryna steal all our stuff again (Come on, jab your sword down low)
(Woo)
2024-08-17 21:57:10 +02:00
72b40613b8
Escape crash message and stacktrace placeholders
This prevents warnings about '<init>' "tags" found in call stacks, or because of unescaped messages.
2024-08-17 21:37:45 +02:00
db52346168
Add check for invalid version strings 2024-08-17 14:09:27 +02:00
e8ec0ed530
Fix EngineInformation#versioningString being invalid 2024-08-17 14:09:03 +02:00
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