weitere änderungen an der Oberfläche, timelock hinzugefügt
This commit is contained in:
@@ -26,7 +26,17 @@
|
|||||||
"Bash(ls:*)",
|
"Bash(ls:*)",
|
||||||
"Bash(./gradlew compileJava)",
|
"Bash(./gradlew compileJava)",
|
||||||
"Bash(./gradlew build:*)",
|
"Bash(./gradlew build:*)",
|
||||||
"Bash(find /home/mario/Workspaces/xxx-thegame -type f \\\\\\(-name *bdsm* -o -name *BDSM* \\\\\\))"
|
"Bash(find /home/mario/Workspaces/xxx-thegame -type f \\\\\\(-name *bdsm* -o -name *BDSM* \\\\\\))",
|
||||||
|
"Bash(xargs -I {} basename {})",
|
||||||
|
"Bash(./gradlew compileJava --info)",
|
||||||
|
"Bash(./gradlew compileJava --stacktrace)",
|
||||||
|
"Bash(JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 ./gradlew compileJava)",
|
||||||
|
"Bash(do echo:*)",
|
||||||
|
"Bash(__NEW_LINE_20ef1f88f3630ae7__ grep:*)",
|
||||||
|
"Bash(__NEW_LINE_20ef1f88f3630ae7__ done:*)",
|
||||||
|
"Bash(__NEW_LINE_1bd3b9012681f121__ grep:*)",
|
||||||
|
"Bash(__NEW_LINE_1bd3b9012681f121__ done:*)",
|
||||||
|
"Bash(head -15 grep -n -B5 -A2 \"max-width: 480px\\\\|max-width:480px\" /home/mario/Workspaces/xxx-thegame/xxxthegame/src/main/resources/static/joinlock.html)"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#Sun Mar 22 19:48:43 CET 2026
|
#Mon Mar 23 15:59:12 CET 2026
|
||||||
display=\:0
|
display=\:0
|
||||||
host=Mario-Linux
|
host=Mario-Linux
|
||||||
process-id=106706
|
process-id=144468
|
||||||
user=mario
|
user=mario
|
||||||
|
|||||||
11944
.metadata/.log
11944
.metadata/.log
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,4 +1,21 @@
|
|||||||
[ {
|
[ {
|
||||||
|
"version" : "9.6.0-20260323005019+0000",
|
||||||
|
"buildTime" : "20260323005019+0000",
|
||||||
|
"commitId" : "d20e3feb4da17c82d2df8774ea838cdd230628ce",
|
||||||
|
"current" : false,
|
||||||
|
"snapshot" : true,
|
||||||
|
"nightly" : true,
|
||||||
|
"releaseNightly" : false,
|
||||||
|
"activeRc" : false,
|
||||||
|
"rcFor" : "",
|
||||||
|
"milestoneFor" : "",
|
||||||
|
"broken" : false,
|
||||||
|
"downloadUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.6.0-20260323005019+0000-bin.zip",
|
||||||
|
"checksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.6.0-20260323005019+0000-bin.zip.sha256",
|
||||||
|
"checksum" : "22865868bc4c8aa1f3cffb398397d3d6058246129490e168ecbbaaed24cd9fa1",
|
||||||
|
"wrapperChecksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.6.0-20260323005019+0000-wrapper.jar.sha256",
|
||||||
|
"wrapperChecksum" : "f307680272dffdb8e636f1169adfbf693513005c80aa06e8d381f20390a06e6a"
|
||||||
|
}, {
|
||||||
"version" : "9.5.0-20260322013634+0000",
|
"version" : "9.5.0-20260322013634+0000",
|
||||||
"buildTime" : "20260322013634+0000",
|
"buildTime" : "20260322013634+0000",
|
||||||
"commitId" : "01db0eb99f616dd415a084ffcce4cb2c185d5a2a",
|
"commitId" : "01db0eb99f616dd415a084ffcce4cb2c185d5a2a",
|
||||||
@@ -15,23 +32,6 @@
|
|||||||
"checksum" : "3e8a6689594399f81087ad962b1c489e0ae57201af0c6c00ea63d9d07e48506e",
|
"checksum" : "3e8a6689594399f81087ad962b1c489e0ae57201af0c6c00ea63d9d07e48506e",
|
||||||
"wrapperChecksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.5.0-20260322013634+0000-wrapper.jar.sha256",
|
"wrapperChecksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.5.0-20260322013634+0000-wrapper.jar.sha256",
|
||||||
"wrapperChecksum" : "f307680272dffdb8e636f1169adfbf693513005c80aa06e8d381f20390a06e6a"
|
"wrapperChecksum" : "f307680272dffdb8e636f1169adfbf693513005c80aa06e8d381f20390a06e6a"
|
||||||
}, {
|
|
||||||
"version" : "9.6.0-20260322000231+0000",
|
|
||||||
"buildTime" : "20260322000231+0000",
|
|
||||||
"commitId" : "d63be1b9cd4d937f4a9f5cf7ee78eec20fe5354e",
|
|
||||||
"current" : false,
|
|
||||||
"snapshot" : true,
|
|
||||||
"nightly" : true,
|
|
||||||
"releaseNightly" : false,
|
|
||||||
"activeRc" : false,
|
|
||||||
"rcFor" : "",
|
|
||||||
"milestoneFor" : "",
|
|
||||||
"broken" : false,
|
|
||||||
"downloadUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.6.0-20260322000231+0000-bin.zip",
|
|
||||||
"checksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.6.0-20260322000231+0000-bin.zip.sha256",
|
|
||||||
"checksum" : "80f3af587bc824675e2a5617c7f30a3b8e4888746d486bc8b3517ebf84f028a9",
|
|
||||||
"wrapperChecksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.6.0-20260322000231+0000-wrapper.jar.sha256",
|
|
||||||
"wrapperChecksum" : "f307680272dffdb8e636f1169adfbf693513005c80aa06e8d381f20390a06e6a"
|
|
||||||
}, {
|
}, {
|
||||||
"version" : "9.4.1",
|
"version" : "9.4.1",
|
||||||
"buildTime" : "20260319084628+0000",
|
"buildTime" : "20260319084628+0000",
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
/*******************************************************************************
|
|
||||||
* Copyright (c) 2023 Gradle Inc. and others
|
|
||||||
*
|
|
||||||
* This program and the accompanying materials are made
|
|
||||||
* available under the terms of the Eclipse Public License 2.0
|
|
||||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: EPL-2.0
|
|
||||||
******************************************************************************/
|
|
||||||
initscript {
|
|
||||||
allprojects {
|
|
||||||
apply plugin: "eclipse"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section name="Workbench">
|
|
||||||
<section name="org.eclipse.buildship.ui.wizard.project.creation">
|
|
||||||
<item key="project_location" value="/home/mario/Workspaces/xxx-thegame/xxxthegame"/>
|
|
||||||
<item key="use_default_location" value="true"/>
|
|
||||||
<section name="ProjectCreationWizard.dialogBounds">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="0"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="0"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="613"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="796"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
<section name="org.eclipse.buildship.ui.wizard.project.import">
|
|
||||||
<item key="project_location" value="/home/mario/Workspaces/xxx-thegame/xxxthegame"/>
|
|
||||||
<section name="ProjectImportWizard.dialogBounds">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="613"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="550"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,23 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section name="Workbench">
|
|
||||||
<item key="org.eclipse.jdt.internal.debug.ui.actions.PopupInspectAction$2DIALOG_WIDTH" value="979"/>
|
|
||||||
<item key="org.eclipse.jdt.internal.debug.ui.actions.PopupInspectAction$2DIALOG_HEIGHT" value="690"/>
|
|
||||||
<section name="org.eclipse.debug.ui.LAUNCH_CONFIGURATIONS_DIALOG_SECTION">
|
|
||||||
<item key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_1" value="237"/>
|
|
||||||
<item key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_2" value="762"/>
|
|
||||||
<item key="org.eclipse.debug.ui.EXPANDED_NODES" value=""/>
|
|
||||||
<item key="DIALOG_WIDTH" value="800"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="640"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
<section name="org.eclipse.debug.ui.SELECT_LAUNCH_SHORTCUT_DIALOG">
|
|
||||||
<item key="DIALOG_WIDTH" value="295"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="419"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
<section name="org.eclipse.debug.ui.SCOPED_SAVE_SELECTION_DIALOG">
|
|
||||||
<item key="DIALOG_WIDTH" value="833"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="370"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section name="Workbench">
|
|
||||||
<section name="org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceWizardDialog_dialogBounds.absolute">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="26"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="23"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="791"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="890"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section name="Workbench">
|
|
||||||
<section name="org.eclipse.equinox.internal.p2.ui.dialogs.InstallWizard.WizardSettings">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="937"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="754"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
<section name="AvailableIUsPage">
|
|
||||||
<item key="AvailableViewType" value="1"/>
|
|
||||||
<item key="ShowLatestVersionsOnly" value="true"/>
|
|
||||||
<item key="HideInstalledContent" value="true"/>
|
|
||||||
<item key="ResolveInstallWithAllSites" value="true"/>
|
|
||||||
<item key="FilterOnEnv" value="false"/>
|
|
||||||
<item key="AvailableNameColumnWidth" value="525"/>
|
|
||||||
<item key="AvailableVersionColumnWidth" value="280"/>
|
|
||||||
<item key="AvailableListSashWeight" value="800"/>
|
|
||||||
<item key="AvailableDetailsSashWeight" value="200"/>
|
|
||||||
</section>
|
|
||||||
<section name="org.eclipse.equinox.internal.p2.ui.dialogs.InstallWizard.SelectableIUsPage">
|
|
||||||
<item key="NameColumnWidth" value="420"/>
|
|
||||||
<item key="VersionColumnWidth" value="140"/>
|
|
||||||
<item key="IDColumnWidth" value="365"/>
|
|
||||||
<item key="ListSashWeight" value="800"/>
|
|
||||||
<item key="DetailsSashWeight" value="200"/>
|
|
||||||
</section>
|
|
||||||
<section name="org.eclipse.equinox.internal.p2.ui.dialogs.InstallWizard.ResolutionResultsPage">
|
|
||||||
<item key="NameColumnWidth" value="400"/>
|
|
||||||
<item key="VersionColumnWidth" value="200"/>
|
|
||||||
<item key="IDColumnWidth" value="200"/>
|
|
||||||
<item key="ListSashWeight" value="800"/>
|
|
||||||
<item key="DetailsSashWeight" value="200"/>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,107 +0,0 @@
|
|||||||
INDEX VERSION 1.134+/home/mario/Workspaces/xxx-thegame/.metadata/.plugins/org.eclipse.jdt.core
|
|
||||||
794464160.index
|
|
||||||
2655170954.index
|
|
||||||
176453541.index
|
|
||||||
677104696.index
|
|
||||||
341080888.index
|
|
||||||
774576701.index
|
|
||||||
4134502745.index
|
|
||||||
41199409.index
|
|
||||||
2217896880.index
|
|
||||||
134995224.index
|
|
||||||
4025319337.index
|
|
||||||
900586112.index
|
|
||||||
9341915.index
|
|
||||||
2929476459.index
|
|
||||||
2065500052.index
|
|
||||||
3051047092.index
|
|
||||||
815902026.index
|
|
||||||
3718169413.index
|
|
||||||
721517855.index
|
|
||||||
369020172.index
|
|
||||||
3899935016.index
|
|
||||||
2157310342.index
|
|
||||||
2488355463.index
|
|
||||||
3572667491.index
|
|
||||||
2799433906.index
|
|
||||||
675283020.index
|
|
||||||
2032345814.index
|
|
||||||
3839581777.index
|
|
||||||
2466743981.index
|
|
||||||
13999064.index
|
|
||||||
673436610.index
|
|
||||||
3972616808.index
|
|
||||||
1914043487.index
|
|
||||||
3154281632.index
|
|
||||||
766461225.index
|
|
||||||
983587063.index
|
|
||||||
1117161889.index
|
|
||||||
286641703.index
|
|
||||||
3371017197.index
|
|
||||||
4080887926.index
|
|
||||||
2941512597.index
|
|
||||||
1730373086.index
|
|
||||||
3882180612.index
|
|
||||||
4020783879.index
|
|
||||||
2900482015.index
|
|
||||||
3059431983.index
|
|
||||||
833027591.index
|
|
||||||
13156219.index
|
|
||||||
37241354.index
|
|
||||||
4088356365.index
|
|
||||||
1295630681.index
|
|
||||||
2701419231.index
|
|
||||||
3939420913.index
|
|
||||||
1067882983.index
|
|
||||||
1318022262.index
|
|
||||||
773718761.index
|
|
||||||
2311226047.index
|
|
||||||
3539841425.index
|
|
||||||
1865797976.index
|
|
||||||
2455962971.index
|
|
||||||
2576972120.index
|
|
||||||
2389383899.index
|
|
||||||
2226615777.index
|
|
||||||
3515611559.index
|
|
||||||
2899155238.index
|
|
||||||
836138551.index
|
|
||||||
2138052223.index
|
|
||||||
3763224039.index
|
|
||||||
3728851734.index
|
|
||||||
2236377038.index
|
|
||||||
3547251881.index
|
|
||||||
1138623861.index
|
|
||||||
2376429633.index
|
|
||||||
2519831052.index
|
|
||||||
371677185.index
|
|
||||||
2874180664.index
|
|
||||||
1090991043.index
|
|
||||||
2826242951.index
|
|
||||||
2127778675.index
|
|
||||||
2628068441.index
|
|
||||||
1063231598.index
|
|
||||||
2939623059.index
|
|
||||||
1223891870.index
|
|
||||||
3769604005.index
|
|
||||||
2237645717.index
|
|
||||||
3158780236.index
|
|
||||||
2852275968.index
|
|
||||||
2403041570.index
|
|
||||||
1704193220.index
|
|
||||||
2004806901.index
|
|
||||||
3952767374.index
|
|
||||||
3416862923.index
|
|
||||||
3912907421.index
|
|
||||||
781064456.index
|
|
||||||
352173590.index
|
|
||||||
766439048.index
|
|
||||||
3424266581.index
|
|
||||||
1765772496.index
|
|
||||||
2494834982.index
|
|
||||||
3514351073.index
|
|
||||||
2247053514.index
|
|
||||||
1938594271.index
|
|
||||||
3892622621.index
|
|
||||||
1022297761.index
|
|
||||||
1780956574.index
|
|
||||||
1256436118.index
|
|
||||||
Binary file not shown.
@@ -1,4 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<dirs>
|
<dirs>
|
||||||
<entry loc="/usr/lib/jvm/java-21-openjdk-amd64" stamp="1773694107630"/>
|
<entry loc="/usr/lib/jvm/java-21-openjdk-amd64" stamp="1774248231673"/>
|
||||||
|
<entry loc="/usr/lib/jvm/java-26-openjdk-amd64" stamp="1774247449025"/>
|
||||||
|
<entry loc="/home/mario/Programme/jdk-21" stamp="1774248849578"/>
|
||||||
</dirs>
|
</dirs>
|
||||||
|
|||||||
@@ -1,27 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<libraryInfos>
|
<libraryInfos>
|
||||||
<libraryInfo home="C:\Users\mario\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_21.0.10.v20260205-0638\jre" version="21.0.10"/>
|
|
||||||
<libraryInfo home="C:\Users\mario\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_21.0.10.v20260205-0638" version="21.0.10">
|
|
||||||
<bootpath>
|
|
||||||
<entry path="null"/>
|
|
||||||
</bootpath>
|
|
||||||
<extensionDirs>
|
|
||||||
<entry path="null"/>
|
|
||||||
</extensionDirs>
|
|
||||||
<endorsedDirs>
|
|
||||||
<entry path="null"/>
|
|
||||||
</endorsedDirs>
|
|
||||||
</libraryInfo>
|
|
||||||
<libraryInfo home="/usr/lib/jvm/java-21-openjdk-amd64" version="21.0.10"/>
|
<libraryInfo home="/usr/lib/jvm/java-21-openjdk-amd64" version="21.0.10"/>
|
||||||
<libraryInfo home="/snap/eclipse/131/usr/lib/eclipse/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.linux.x86_64_21.0.9.v20251105-0741" version="21.0.9">
|
<libraryInfo home="/usr/lib/jvm/java-26-openjdk-amd64" version="26"/>
|
||||||
<bootpath>
|
<libraryInfo home="/home/mario/Programme/jdk-21" version="21.0.6"/>
|
||||||
<entry path="null"/>
|
|
||||||
</bootpath>
|
|
||||||
<extensionDirs>
|
|
||||||
<entry path="null"/>
|
|
||||||
</extensionDirs>
|
|
||||||
<endorsedDirs>
|
|
||||||
<entry path="null"/>
|
|
||||||
</endorsedDirs>
|
|
||||||
</libraryInfo>
|
|
||||||
</libraryInfos>
|
</libraryInfos>
|
||||||
|
|||||||
@@ -1,16 +1,2 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<typeInfoHistroy>
|
<typeInfoHistroy/>
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.aufgaben.controller{AboController.java[AboController" modifiers="1" timestamp="1773400404000"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.history{GameHistoryEntity.java[GameHistoryEntity" modifiers="1" timestamp="1773860770365"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.bdsm.controller{BdsmGameController.java[BdsmGameController" modifiers="1" timestamp="1774017499554"/>
|
|
||||||
<typeInfo handle="=xxxthegame/\/usr\/lib\/jvm\/java-21-openjdk-amd64\/lib\/jrt-fs.jar`java.base=/javadoc_location=/https:\/\/docs.oracle.com\/en\/java\/javase\/21\/docs\/api\/=/<java.util(UUID.class[UUID" modifiers="49" timestamp="1769125611000"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.chastity.cardlock{CardLockController.java[CardLockController" modifiers="1" timestamp="1774198561526"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.chastity.cardlock{CardLockEntity.java[CardLockEntity" modifiers="1" timestamp="1774171624571"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.chastity.timelock{TimeLockEntity.java[TimeLockEntity" modifiers="1" timestamp="1774174304909"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.chastity.timelock{TimeLockTemplateEntity.java[TimeLockTemplateEntity" modifiers="1" timestamp="1774174437363"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.chastity.tasks{Task.java[Task" modifiers="1" timestamp="1774181757140"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.chastity.keyholder{KeyholderVerificationRepository.java[KeyholderVerificationRepository" modifiers="513" timestamp="1774197695163"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.chastity.keyholder{KeyholderVerificationEntity.java[KeyholderVerificationEntity" modifiers="1" timestamp="1774198252535"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.chastity.community{CommunityVerificationEntity.java[CommunityVerificationEntity" modifiers="1" timestamp="1774198326209"/>
|
|
||||||
<typeInfo handle="=xxxthegame/src\/main\/java=/gradle_scope=/main=/=/gradle_used_by_scope=/main,test=/<de.oaa.xxx.games.chastity.common{Verification.java[Verification" modifiers="513" timestamp="1774198235758"/>
|
|
||||||
</typeInfoHistroy>
|
|
||||||
|
|||||||
@@ -1,63 +1,2 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<qualifiedTypeNameHistroy>
|
<qualifiedTypeNameHistroy/>
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.lockcontroll.LockControl"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.lockcontroll.TTLockControl"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.lockcontroll.TrustLockControl"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.lockcontroll.UnlockcodeLockControl"/>
|
|
||||||
<fullyQualifiedTypeName name="java.util.Random"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.cardlock.TempOpeningReason"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.keyholder.KeyholderNotificationRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.cardlock.UnlockCodeHistoryService"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.timelock.TimeLockEntity"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.timelock.TimeLockRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="jakarta.persistence.Entity"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.pillory.PilloryEntity"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.pillory.PilloryReason"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.pillory.PilloryRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.timelock.TimeLockService"/>
|
|
||||||
<fullyQualifiedTypeName name="jakarta.persistence.Table"/>
|
|
||||||
<fullyQualifiedTypeName name="jakarta.persistence.Inheritance"/>
|
|
||||||
<fullyQualifiedTypeName name="jakarta.persistence.DiscriminatorColumn"/>
|
|
||||||
<fullyQualifiedTypeName name="jakarta.persistence.DiscriminatorType"/>
|
|
||||||
<fullyQualifiedTypeName name="jakarta.persistence.EnumType"/>
|
|
||||||
<fullyQualifiedTypeName name="org.springframework.stereotype.Controller"/>
|
|
||||||
<fullyQualifiedTypeName name="java.util.UUID"/>
|
|
||||||
<fullyQualifiedTypeName name="com.fasterxml.jackson.core.sym.Name3"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.tasks.TaskMode"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.common.BaseLockTemplateEntity"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.BaseCommunityDisplayDTO"/>
|
|
||||||
<fullyQualifiedTypeName name="org.springframework.data.domain.Page"/>
|
|
||||||
<fullyQualifiedTypeName name="org.springframework.data.domain.Sort.Direction"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityPilloryReason"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.BaseCommunityDisplayEntity"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityPilloryDTO"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityPilloryRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="org.springframework.web.bind.annotation.RestController"/>
|
|
||||||
<fullyQualifiedTypeName name="org.springframework.web.bind.annotation.RequestMapping"/>
|
|
||||||
<fullyQualifiedTypeName name="org.springframework.web.bind.annotation.GetMapping"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.user.UserRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityTaskVoteRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityTaskVoteEntryRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="org.springframework.web.bind.annotation.PathVariable"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityTaskVoteDTO"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityTaskVoteEntryDTO"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.common.BaseLockTemplateRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="org.springframework.data.jpa.repository.JpaRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.common.BaseLockEntity"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.common.BaseLockRepository"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.tasks.Task"/>
|
|
||||||
<fullyQualifiedTypeName name="java.util.ArrayList"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityTaskVoteDisplayEntryDTO"/>
|
|
||||||
<fullyQualifiedTypeName name="org.springframework.http.ResponseEntity"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityTaskVoteDisplayDTO"/>
|
|
||||||
<fullyQualifiedTypeName name="jakarta.persistence.Column"/>
|
|
||||||
<fullyQualifiedTypeName name="java.util.List"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.common.Verification"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.keyholder.KeyholderVerificationEntity"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.common.VerificationDTO"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.common.CodeCreator"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.common.VerificationCommonDTO"/>
|
|
||||||
<fullyQualifiedTypeName name="de.oaa.xxx.games.chastity.community.CommunityVerificationEntity"/>
|
|
||||||
<fullyQualifiedTypeName name="java.time.LocalDate"/>
|
|
||||||
<fullyQualifiedTypeName name="java.time.LocalDateTime"/>
|
|
||||||
</qualifiedTypeNameHistroy>
|
|
||||||
|
|||||||
@@ -1,110 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<section name="Workbench">
|
<section name="Workbench">
|
||||||
<item key="filters_last_used" value="filter_imports;"/>
|
|
||||||
<section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">
|
<section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">
|
||||||
<item key="group_libraries" value="true"/>
|
<item key="group_libraries" value="true"/>
|
||||||
<item key="layout" value="1"/>
|
<item key="layout" value="2"/>
|
||||||
<item key="rootMode" value="1"/>
|
<item key="rootMode" value="1"/>
|
||||||
<item key="linkWithEditor" value="true"/>
|
<item key="linkWithEditor" value="false"/>
|
||||||
<item key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<packageExplorer group_libraries="1" layout="1" linkWithEditor="1" rootMode="1" workingSetName="Aggregate for window 1773600542055">
<customFilters userDefinedPatternsEnabled="false">
<xmlDefinedFilters>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.StaticsFilter" isEnabled="false"/>
<child filterId="org.eclipse.buildship.ui.packageexplorer.filter.gradle.buildfolder" isEnabled="true"/>
<child filterId="org.eclipse.mylyn.java.ui.MembersFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter" isEnabled="true"/>
<child filterId="org.eclipse.m2e.MavenModuleFilter" isEnabled="false"/>
<child filterId="org.eclipse.buildship.ui.packageexplorer.filter.gradle.subProject" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.DeprecatedMembersFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.LibraryFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.FieldsFilter" isEnabled="false"/>
</xmlDefinedFilters>
</customFilters>
</packageExplorer>"/>
|
<item key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<packageExplorer group_libraries="1" layout="2" linkWithEditor="0" rootMode="1" workingSetName="Aggregate for window 1774277926242">
<customFilters userDefinedPatternsEnabled="false">
<xmlDefinedFilters>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.StaticsFilter" isEnabled="false"/>
<child filterId="org.eclipse.buildship.ui.packageexplorer.filter.gradle.buildfolder" isEnabled="true"/>
<child filterId="org.eclipse.mylyn.java.ui.MembersFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter" isEnabled="true"/>
<child filterId="org.eclipse.m2e.MavenModuleFilter" isEnabled="false"/>
<child filterId="org.eclipse.buildship.ui.packageexplorer.filter.gradle.subProject" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.DeprecatedMembersFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter" isEnabled="true"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.LibraryFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.FieldsFilter" isEnabled="false"/>
</xmlDefinedFilters>
</customFilters>
</packageExplorer>"/>
|
||||||
</section>
|
|
||||||
<section name="JavaElementSearchActions">
|
|
||||||
</section>
|
|
||||||
<section name="completion_proposal_size">
|
|
||||||
</section>
|
|
||||||
<section name="quick_assist_proposal_size">
|
|
||||||
</section>
|
|
||||||
<section name="RefactoringWizard.preview">
|
|
||||||
<item key="width" value="600"/>
|
|
||||||
<item key="height" value="400"/>
|
|
||||||
</section>
|
|
||||||
<section name="SelfEncapsulateFieldWizard">
|
|
||||||
<item key="GenerateJavadoc" value="false"/>
|
|
||||||
</section>
|
|
||||||
<section name="RenameInformationPopup">
|
|
||||||
</section>
|
|
||||||
<section name="org.eclipse.ltk.ui.refactoring.settings">
|
|
||||||
<item key="renameSubpackages" value="false"/>
|
|
||||||
<item key="updateTextualMatches" value="false"/>
|
|
||||||
<item key="updateQualifiedNames" value="false"/>
|
|
||||||
<item key="patterns" value="*"/>
|
|
||||||
<item key="updateSimilarElements" value="false"/>
|
|
||||||
<item key="updateSimilarElementsMatchStrategy" value="1"/>
|
|
||||||
</section>
|
|
||||||
<section name="org.eclipse.jdt.internal.ui.dialogs.OpenTypeSelectionDialog2">
|
|
||||||
<item key="ShowStatusLine" value="true"/>
|
|
||||||
<item key="History" value="<?xml version="1.0" encoding="UTF-8"?>
<History/>"/>
|
|
||||||
<item key="WorkingSet" value="<?xml version="1.0" encoding="UTF-8"?>
<workingSet workingSetName=""/>"/>
|
|
||||||
<section name="DialogBoundsSettings">
|
|
||||||
<item key="DIALOG_HEIGHT" value="500"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="600"/>
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
<section name="OptionalMessageDialog.hide.">
|
|
||||||
<item key="org.eclipse.jdt.ui.typecomment.deprecated" value="true"/>
|
|
||||||
</section>
|
|
||||||
<section name="NewClassCreationWizard.dialogBounds">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="641"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="739"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
<section name="NewClassWizardPage">
|
|
||||||
<item key="create_constructor" value="false"/>
|
|
||||||
<item key="create_unimplemented" value="true"/>
|
|
||||||
</section>
|
|
||||||
<section name="org.eclipse.jdt.internal.ui.text.QuickOutline">
|
|
||||||
<item key="GoIntoTopLevelTypeAction.isChecked" value="false"/>
|
|
||||||
<item key="org.eclipse.jdt.internal.ui.text.JavaOutlineInformationControlDIALOG_WIDTH" value="400"/>
|
|
||||||
<item key="org.eclipse.jdt.internal.ui.text.JavaOutlineInformationControlDIALOG_HEIGHT" value="340"/>
|
|
||||||
<item key="org.eclipse.jdt.internal.ui.text.JavaOutlineInformationControlDIALOG_USE_PERSISTED_SIZE" value="true"/>
|
|
||||||
<item key="org.eclipse.jdt.internal.ui.text.JavaOutlineInformationControlDIALOG_USE_PERSISTED_LOCATION" value="false"/>
|
|
||||||
</section>
|
|
||||||
<section name="NewPackageCreationWizard.dialogBounds">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="613"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="500"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
<section name="BuildPathsPropertyPage">
|
|
||||||
<item key="pageIndex" value="3"/>
|
|
||||||
</section>
|
|
||||||
<section name="org.eclipse.jdt.internal.ui.typehierarchy.QuickHierarchy">
|
|
||||||
<item key="org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControlDIALOG_WIDTH" value="400"/>
|
|
||||||
<item key="org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControlDIALOG_HEIGHT" value="346"/>
|
|
||||||
<item key="org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControlDIALOG_USE_PERSISTED_SIZE" value="true"/>
|
|
||||||
<item key="org.eclipse.jdt.internal.ui.typehierarchy.HierarchyInformationControlDIALOG_USE_PERSISTED_LOCATION" value="false"/>
|
|
||||||
</section>
|
|
||||||
<section name="NewPackageWizardPage">
|
|
||||||
<item key="create_package_info_java" value="false"/>
|
|
||||||
</section>
|
|
||||||
<section name="NewEnumCreationWizard.dialogBounds">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="631"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="577"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
<section name="NewInterfaceCreationWizard.dialogBounds">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="948"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="274"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="665"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="605"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
<section name="NewRecordCreationWizard.dialogBounds">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="965"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="247"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="631"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="646"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
<section name="NewRecordWizardPage">
|
|
||||||
<item key="create_unimplemented" value="false"/>
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<session version="1.0">
|
|
||||||
<refactoring comment="Delete resource 'lib'" deleteContents="true" description="Delete resource 'lib'" element1="/lib" flags="7" id="org.eclipse.ltk.core.refactoring.delete.resources" resources="1" stamp="1772390182080"/>
|
|
||||||
</session>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
1772390182080 Delete resource 'lib'
|
|
||||||
@@ -1,42 +1,2 @@
|
|||||||
2026-03-01 17:27:17,460 [Worker-2: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is not available. Remote download required.
|
2026-03-23 15:58:46,968 [Worker-6: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is not available. Remote download required.
|
||||||
2026-03-01 18:42:13,387 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
2026-03-23 15:59:14,530 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
||||||
2026-03-01 19:35:44,100 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-02 07:06:13,818 [Worker-6: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-02 18:52:34,442 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-03 07:39:38,191 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-04 06:34:40,255 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-05 07:45:55,167 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-05 17:19:02,412 [Worker-2: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-05 17:24:45,367 [Worker-2: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-06 08:05:01,430 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-13 14:17:49,980 [Worker-2: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-13 14:48:13,882 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-13 14:54:28,765 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-15 20:44:40,067 [Worker-6: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-15 23:07:59,028 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-16 08:15:37,891 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-16 19:25:54,797 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-16 20:07:45,547 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-17 07:10:24,915 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-17 19:39:55,931 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-17 19:49:51,508 [Worker-2: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-17 19:55:53,050 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-18 15:29:01,371 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-19 06:23:24,675 [Worker-2: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-19 17:57:52,683 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-19 18:15:12,369 [Worker-5: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-19 21:54:37,068 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-19 23:00:56,635 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-20 07:44:45,034 [Worker-2: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-20 10:34:17,517 [Worker-5: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-20 12:08:01,037 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-20 15:47:08,644 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-20 16:26:08,485 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-21 08:03:15,921 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-21 08:10:51,183 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-21 08:14:27,502 [Worker-8: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-22 08:51:09,620 [Worker-8: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
|
|
||||||
2026-03-22 08:53:24,304 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-22 08:53:52,098 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-22 08:56:13,330 [Worker-5: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
2026-03-22 19:48:46,352 [Worker-8: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
|
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section name="Workbench">
|
|
||||||
<section name="quick_assist_proposal_size">
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
@@ -1,26 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<section name="Workbench">
|
<section name="Workbench">
|
||||||
<section name="NewWizardAction">
|
|
||||||
<item key="NewWizardSelectionPage.STORE_SELECTED_ID" value="org.eclipse.buildship.ui.wizard.project.creation"/>
|
|
||||||
<list key="NewWizardSelectionPage.STORE_EXPANDED_CATEGORIES_ID">
|
|
||||||
<item value="org.eclipse.buildship.ui.creationwizards"/>
|
|
||||||
</list>
|
|
||||||
<section name="NewWizard.dialogBounds">
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
<section name="WorkbenchPreferenceDialog.dialogBounds">
|
|
||||||
<item key="DIALOG_X_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_Y_ORIGIN" value="20"/>
|
|
||||||
<item key="DIALOG_WIDTH" value="874"/>
|
|
||||||
<item key="DIALOG_HEIGHT" value="1050"/>
|
|
||||||
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
|
||||||
</section>
|
|
||||||
<section name="ImportExportAction">
|
<section name="ImportExportAction">
|
||||||
<item key="ImportExportPage.STORE_SELECTED_IMPORT_WIZARD_ID" value="org.eclipse.buildship.ui.wizards.project.import"/>
|
|
||||||
<list key="ImportExportPage.STORE_EXPANDED_IMPORT_CATEGORIES">
|
|
||||||
<item value="org.eclipse.buildship.ui.importwizards"/>
|
|
||||||
</list>
|
|
||||||
<section name="ImportExportWizard.dialogBounds">
|
<section name="ImportExportWizard.dialogBounds">
|
||||||
|
<item key="DIALOG_X_ORIGIN" value="974"/>
|
||||||
|
<item key="DIALOG_Y_ORIGIN" value="343"/>
|
||||||
|
<item key="DIALOG_WIDTH" value="613"/>
|
||||||
|
<item key="DIALOG_HEIGHT" value="550"/>
|
||||||
|
<item key="DIALOG_FONT_NAME" value="1|Ubuntu Sans|11.0|0|GTK|1|"/>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<workingSetManager>
|
<workingSetManager>
|
||||||
<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1772382436423_0" label="Java Main Sources" name="Java Main Sources"/>
|
<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1774277925549_0" label="Java Main Sources" name="Java Main Sources"/>
|
||||||
<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1772382436431_1" label="Java Test Sources" name="Java Test Sources"/>
|
<workingSet editPageId="org.eclipse.jdt.internal.ui.DynamicSourcesWorkingSet" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1774277925560_1" label="Java Test Sources" name="Java Test Sources"/>
|
||||||
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1772382437048_2" label="Window Working Set" name="Aggregate for window 1772382437048"/>
|
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1774277926242_2" label="Window Working Set" name="Aggregate for window 1774277926242"/>
|
||||||
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1772786688998_3" label="Window Working Set" name="Aggregate for window 1772786688997"/>
|
|
||||||
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1772792014092_4" label="Window Working Set" name="Aggregate for window 1772792014092"/>
|
|
||||||
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1773603878078_5" label="Window Working Set" name="Aggregate for window 1773600542055"/>
|
|
||||||
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1774020460693_6" label="Window Working Set" name="Aggregate for window 1774020460693"/>
|
|
||||||
</workingSetManager>
|
</workingSetManager>
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
#Sun Mar 22 19:48:43 CET 2026
|
#Mon Mar 23 15:59:12 CET 2026
|
||||||
org.eclipse.core.runtime=2
|
org.eclipse.core.runtime=2
|
||||||
org.eclipse.platform=4.39.0.v20260226-0420
|
org.eclipse.platform=4.39.0.v20260226-0420
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 120 KiB |
BIN
bilder/wip/FLUX-2026-03-20-15-11-55.jpeg
Normal file
BIN
bilder/wip/FLUX-2026-03-20-15-11-55.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 462 KiB |
BIN
bilder/wip/FLUX-2026-03-20-15-12-25.jpeg
Normal file
BIN
bilder/wip/FLUX-2026-03-20-15-12-25.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 462 KiB |
BIN
bilder/wip/Gemini_Generated_Image_2rhs282rhs282rhs.png
Normal file
BIN
bilder/wip/Gemini_Generated_Image_2rhs282rhs282rhs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 601 KiB |
BIN
bilder/wip/Gemini_Generated_Image_cxouxccxouxccxou.png
Normal file
BIN
bilder/wip/Gemini_Generated_Image_cxouxccxouxccxou.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1023 KiB |
BIN
bilder/wip/Gemini_Generated_Image_qa979mqa979mqa97.png
Normal file
BIN
bilder/wip/Gemini_Generated_Image_qa979mqa979mqa97.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
3
xxxthegame/.idea/.gitignore
generated
vendored
3
xxxthegame/.idea/.gitignore
generated
vendored
@@ -1,3 +0,0 @@
|
|||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
6
xxxthegame/.idea/AndroidProjectSystem.xml
generated
6
xxxthegame/.idea/AndroidProjectSystem.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="AndroidProjectSystem">
|
|
||||||
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
1462
xxxthegame/.idea/caches/deviceStreaming.xml
generated
1462
xxxthegame/.idea/caches/deviceStreaming.xml
generated
File diff suppressed because it is too large
Load Diff
9
xxxthegame/.idea/compiler.xml
generated
9
xxxthegame/.idea/compiler.xml
generated
@@ -1,9 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="CompilerConfiguration">
|
|
||||||
<bytecodeTargetLevel target="21" />
|
|
||||||
</component>
|
|
||||||
<component name="JavacSettings">
|
|
||||||
<option name="ADDITIONAL_OPTIONS_STRING" value="-parameters -parameters" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
18
xxxthegame/.idea/gradle.xml
generated
18
xxxthegame/.idea/gradle.xml
generated
@@ -1,18 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
|
||||||
<component name="GradleSettings">
|
|
||||||
<option name="linkedExternalProjectsSettings">
|
|
||||||
<GradleProjectSettings>
|
|
||||||
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
||||||
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
|
||||||
<option name="modules">
|
|
||||||
<set>
|
|
||||||
<option value="$PROJECT_DIR$" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
</GradleProjectSettings>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
10
xxxthegame/.idea/migrations.xml
generated
10
xxxthegame/.idea/migrations.xml
generated
@@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectMigrations">
|
|
||||||
<option name="MigrateToGradleLocalJavaHome">
|
|
||||||
<set>
|
|
||||||
<option value="$PROJECT_DIR$" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
10
xxxthegame/.idea/misc.xml
generated
10
xxxthegame/.idea/misc.xml
generated
@@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
||||||
</component>
|
|
||||||
<component name="ProjectType">
|
|
||||||
<option name="id" value="Android" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
17
xxxthegame/.idea/runConfigurations.xml
generated
17
xxxthegame/.idea/runConfigurations.xml
generated
@@ -1,17 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="RunConfigurationProducerService">
|
|
||||||
<option name="ignoredProducers">
|
|
||||||
<set>
|
|
||||||
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
|
|
||||||
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
|
|
||||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
|
|
||||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
6
xxxthegame/.idea/vcs.xml
generated
6
xxxthegame/.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
plugins {
|
plugins {
|
||||||
java
|
java
|
||||||
|
eclipse
|
||||||
id("org.springframework.boot") version "3.5.12"
|
id("org.springframework.boot") version "3.5.12"
|
||||||
id("io.spring.dependency-management") version "1.1.7"
|
id("io.spring.dependency-management") version "1.1.7"
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
xxxthegame/gradle/wrapper/gradle-wrapper.jar
vendored
BIN
xxxthegame/gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
@@ -1,7 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip
|
||||||
networkTimeout=10000
|
|
||||||
validateDistributionUrl=true
|
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
312
xxxthegame/gradlew
vendored
312
xxxthegame/gradlew
vendored
@@ -1,130 +1,78 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
#
|
|
||||||
# Copyright © 2015-2021 the original authors.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# https://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
##
|
||||||
# Gradle start up script for POSIX generated by Gradle.
|
## Gradle start up script for UN*X
|
||||||
#
|
##
|
||||||
# Important for running:
|
|
||||||
#
|
|
||||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
|
||||||
# noncompliant, but you have some other compliant shell such as ksh or
|
|
||||||
# bash, then to run this script, type that shell name before the whole
|
|
||||||
# command line, like:
|
|
||||||
#
|
|
||||||
# ksh Gradle
|
|
||||||
#
|
|
||||||
# Busybox and similar reduced shells will NOT work, because this script
|
|
||||||
# requires all of these POSIX shell features:
|
|
||||||
# * functions;
|
|
||||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
|
||||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
|
||||||
# * compound commands having a testable exit status, especially «case»;
|
|
||||||
# * various built-in commands including «command», «set», and «ulimit».
|
|
||||||
#
|
|
||||||
# Important for patching:
|
|
||||||
#
|
|
||||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
|
||||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
|
||||||
#
|
|
||||||
# The "traditional" practice of packing multiple parameters into a
|
|
||||||
# space-separated string is a well documented source of bugs and security
|
|
||||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
|
||||||
# options in "$@", and eventually passing that to Java.
|
|
||||||
#
|
|
||||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
|
||||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
|
||||||
# see the in-line comments for details.
|
|
||||||
#
|
|
||||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
|
||||||
# Darwin, MinGW, and NonStop.
|
|
||||||
#
|
|
||||||
# (3) This script is generated from the Groovy template
|
|
||||||
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
|
||||||
# within the Gradle project.
|
|
||||||
#
|
|
||||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
|
||||||
#
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Attempt to set APP_HOME
|
# Attempt to set APP_HOME
|
||||||
|
|
||||||
# Resolve links: $0 may be a link
|
# Resolve links: $0 may be a link
|
||||||
app_path=$0
|
PRG="$0"
|
||||||
|
# Need this for relative symlinks.
|
||||||
# Need this for daisy-chained symlinks.
|
while [ -h "$PRG" ] ; do
|
||||||
while
|
ls=`ls -ld "$PRG"`
|
||||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
[ -h "$app_path" ]
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
do
|
PRG="$link"
|
||||||
ls=$( ls -ld "$app_path" )
|
else
|
||||||
link=${ls#*' -> '}
|
PRG=`dirname "$PRG"`"/$link"
|
||||||
case $link in #(
|
fi
|
||||||
/*) app_path=$link ;; #(
|
|
||||||
*) app_path=$APP_HOME$link ;;
|
|
||||||
esac
|
|
||||||
done
|
done
|
||||||
|
SAVED="`pwd`"
|
||||||
|
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||||
|
APP_HOME="`pwd -P`"
|
||||||
|
cd "$SAVED" >/dev/null
|
||||||
|
|
||||||
# This is normally unused
|
APP_NAME="Gradle"
|
||||||
# shellcheck disable=SC2034
|
APP_BASE_NAME=`basename "$0"`
|
||||||
APP_BASE_NAME=${0##*/}
|
|
||||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
|
DEFAULT_JVM_OPTS=""
|
||||||
' "$PWD" ) || exit
|
|
||||||
|
|
||||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
MAX_FD=maximum
|
MAX_FD="maximum"
|
||||||
|
|
||||||
warn () {
|
warn () {
|
||||||
echo "$*"
|
echo "$*"
|
||||||
} >&2
|
}
|
||||||
|
|
||||||
die () {
|
die () {
|
||||||
echo
|
echo
|
||||||
echo "$*"
|
echo "$*"
|
||||||
echo
|
echo
|
||||||
exit 1
|
exit 1
|
||||||
} >&2
|
}
|
||||||
|
|
||||||
# OS specific support (must be 'true' or 'false').
|
# OS specific support (must be 'true' or 'false').
|
||||||
cygwin=false
|
cygwin=false
|
||||||
msys=false
|
msys=false
|
||||||
darwin=false
|
darwin=false
|
||||||
nonstop=false
|
nonstop=false
|
||||||
case "$( uname )" in #(
|
case "`uname`" in
|
||||||
CYGWIN* ) cygwin=true ;; #(
|
CYGWIN* )
|
||||||
Darwin* ) darwin=true ;; #(
|
cygwin=true
|
||||||
MSYS* | MINGW* ) msys=true ;; #(
|
;;
|
||||||
NONSTOP* ) nonstop=true ;;
|
Darwin* )
|
||||||
|
darwin=true
|
||||||
|
;;
|
||||||
|
MINGW* )
|
||||||
|
msys=true
|
||||||
|
;;
|
||||||
|
NONSTOP* )
|
||||||
|
nonstop=true
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||||
|
|
||||||
|
|
||||||
# Determine the Java command to use to start the JVM.
|
# Determine the Java command to use to start the JVM.
|
||||||
if [ -n "$JAVA_HOME" ] ; then
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
# IBM's JDK on AIX uses strange locations for the executables
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||||
else
|
else
|
||||||
JAVACMD=$JAVA_HOME/bin/java
|
JAVACMD="$JAVA_HOME/bin/java"
|
||||||
fi
|
fi
|
||||||
if [ ! -x "$JAVACMD" ] ; then
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||||
@@ -133,120 +81,96 @@ Please set the JAVA_HOME variable in your environment to match the
|
|||||||
location of your Java installation."
|
location of your Java installation."
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
JAVACMD=java
|
JAVACMD="java"
|
||||||
if ! command -v java >/dev/null 2>&1
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
then
|
|
||||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
|
||||||
|
|
||||||
Please set the JAVA_HOME variable in your environment to match the
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
location of your Java installation."
|
location of your Java installation."
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Increase the maximum file descriptors if we can.
|
# Increase the maximum file descriptors if we can.
|
||||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||||
case $MAX_FD in #(
|
MAX_FD_LIMIT=`ulimit -H -n`
|
||||||
max*)
|
if [ $? -eq 0 ] ; then
|
||||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||||
# shellcheck disable=SC2039,SC3045
|
MAX_FD="$MAX_FD_LIMIT"
|
||||||
MAX_FD=$( ulimit -H -n ) ||
|
|
||||||
warn "Could not query maximum file descriptor limit"
|
|
||||||
esac
|
|
||||||
case $MAX_FD in #(
|
|
||||||
'' | soft) :;; #(
|
|
||||||
*)
|
|
||||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
|
||||||
# shellcheck disable=SC2039,SC3045
|
|
||||||
ulimit -n "$MAX_FD" ||
|
|
||||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Collect all arguments for the java command, stacking in reverse order:
|
|
||||||
# * args from the command line
|
|
||||||
# * the main class name
|
|
||||||
# * -classpath
|
|
||||||
# * -D...appname settings
|
|
||||||
# * --module-path (only if needed)
|
|
||||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
|
||||||
|
|
||||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
|
||||||
if "$cygwin" || "$msys" ; then
|
|
||||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
|
||||||
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
|
||||||
|
|
||||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
|
||||||
|
|
||||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
|
||||||
for arg do
|
|
||||||
if
|
|
||||||
case $arg in #(
|
|
||||||
-*) false ;; # don't mess with options #(
|
|
||||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
|
||||||
[ -e "$t" ] ;; #(
|
|
||||||
*) false ;;
|
|
||||||
esac
|
|
||||||
then
|
|
||||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
|
||||||
fi
|
fi
|
||||||
# Roll the args list around exactly as many times as the number of
|
ulimit -n $MAX_FD
|
||||||
# args, so each arg winds up back in the position where it started, but
|
if [ $? -ne 0 ] ; then
|
||||||
# possibly modified.
|
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||||
#
|
fi
|
||||||
# NB: a `for` loop captures its iteration list before it begins, so
|
else
|
||||||
# changing the positional parameters here affects neither the number of
|
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||||
# iterations, nor the values presented in `arg`.
|
fi
|
||||||
shift # remove old arg
|
fi
|
||||||
set -- "$@" "$arg" # push replacement arg
|
|
||||||
|
# For Darwin, add options to specify how the application appears in the dock
|
||||||
|
if $darwin; then
|
||||||
|
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, switch paths to Windows format before running java
|
||||||
|
if $cygwin ; then
|
||||||
|
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||||
|
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||||
|
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||||
|
|
||||||
|
# We build the pattern for arguments to be converted via cygpath
|
||||||
|
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||||
|
SEP=""
|
||||||
|
for dir in $ROOTDIRSRAW ; do
|
||||||
|
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||||
|
SEP="|"
|
||||||
done
|
done
|
||||||
|
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||||
|
# Add a user-defined pattern to the cygpath arguments
|
||||||
|
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||||
|
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||||
|
fi
|
||||||
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||||
|
i=0
|
||||||
|
for arg in "$@" ; do
|
||||||
|
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||||
|
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||||
|
|
||||||
|
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||||
|
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||||
|
else
|
||||||
|
eval `echo args$i`="\"$arg\""
|
||||||
|
fi
|
||||||
|
i=$((i+1))
|
||||||
|
done
|
||||||
|
case $i in
|
||||||
|
(0) set -- ;;
|
||||||
|
(1) set -- "$args0" ;;
|
||||||
|
(2) set -- "$args0" "$args1" ;;
|
||||||
|
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||||
|
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||||
|
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||||
|
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||||
|
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||||
|
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||||
|
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Escape application args
|
||||||
|
save () {
|
||||||
|
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||||
|
echo " "
|
||||||
|
}
|
||||||
|
APP_ARGS=$(save "$@")
|
||||||
|
|
||||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
if $JAVACMD --add-opens java.base/java.lang=ALL-UNNAMED -version ; then
|
||||||
|
DEFAULT_JVM_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED $DEFAULT_JVM_OPTS"
|
||||||
# Collect all arguments for the java command:
|
|
||||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
|
||||||
# and any embedded shellness will be escaped.
|
|
||||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
|
||||||
# treated as '${Hostname}' itself on the command line.
|
|
||||||
|
|
||||||
set -- \
|
|
||||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
|
||||||
-classpath "$CLASSPATH" \
|
|
||||||
org.gradle.wrapper.GradleWrapperMain \
|
|
||||||
"$@"
|
|
||||||
|
|
||||||
# Stop when "xargs" is not available.
|
|
||||||
if ! command -v xargs >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
die "xargs is not available"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use "xargs" to parse quoted args.
|
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||||
#
|
|
||||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
|
||||||
#
|
|
||||||
# In Bash we could simply go:
|
|
||||||
#
|
|
||||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
|
||||||
# set -- "${ARGS[@]}" "$@"
|
|
||||||
#
|
|
||||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
|
||||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
|
||||||
# character that might be a shell metacharacter, then use eval to reverse
|
|
||||||
# that process (while maintaining the separation between arguments), and wrap
|
|
||||||
# the whole thing up as a single "set" statement.
|
|
||||||
#
|
|
||||||
# This will of course break if any of these variables contains a newline or
|
|
||||||
# an unmatched quote.
|
|
||||||
#
|
|
||||||
|
|
||||||
eval "set -- $(
|
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||||
xargs -n1 |
|
cd "$(dirname "$0")"
|
||||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
fi
|
||||||
tr '\n' ' '
|
|
||||||
)" '"$@"'
|
|
||||||
|
|
||||||
exec "$JAVACMD" "$@"
|
exec "$JAVACMD" "$@"
|
||||||
|
|||||||
78
xxxthegame/gradlew.bat
vendored
78
xxxthegame/gradlew.bat
vendored
@@ -1,22 +1,4 @@
|
|||||||
@rem
|
@if "%DEBUG%" == "" @echo off
|
||||||
@rem Copyright 2015 the original author or authors.
|
|
||||||
@rem
|
|
||||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
@rem you may not use this file except in compliance with the License.
|
|
||||||
@rem You may obtain a copy of the License at
|
|
||||||
@rem
|
|
||||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
@rem
|
|
||||||
@rem Unless required by applicable law or agreed to in writing, software
|
|
||||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
@rem See the License for the specific language governing permissions and
|
|
||||||
@rem limitations under the License.
|
|
||||||
@rem
|
|
||||||
@rem SPDX-License-Identifier: Apache-2.0
|
|
||||||
@rem
|
|
||||||
|
|
||||||
@if "%DEBUG%"=="" @echo off
|
|
||||||
@rem ##########################################################################
|
@rem ##########################################################################
|
||||||
@rem
|
@rem
|
||||||
@rem Gradle startup script for Windows
|
@rem Gradle startup script for Windows
|
||||||
@@ -27,29 +9,25 @@
|
|||||||
if "%OS%"=="Windows_NT" setlocal
|
if "%OS%"=="Windows_NT" setlocal
|
||||||
|
|
||||||
set DIRNAME=%~dp0
|
set DIRNAME=%~dp0
|
||||||
if "%DIRNAME%"=="" set DIRNAME=.
|
if "%DIRNAME%" == "" set DIRNAME=.
|
||||||
@rem This is normally unused
|
|
||||||
set APP_BASE_NAME=%~n0
|
set APP_BASE_NAME=%~n0
|
||||||
set APP_HOME=%DIRNAME%
|
set APP_HOME=%DIRNAME%
|
||||||
|
|
||||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
|
||||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
|
||||||
|
|
||||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
set DEFAULT_JVM_OPTS=
|
||||||
|
|
||||||
@rem Find java.exe
|
@rem Find java.exe
|
||||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||||
|
|
||||||
set JAVA_EXE=java.exe
|
set JAVA_EXE=java.exe
|
||||||
%JAVA_EXE% -version >NUL 2>&1
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
if %ERRORLEVEL% equ 0 goto execute
|
if "%ERRORLEVEL%" == "0" goto init
|
||||||
|
|
||||||
echo. 1>&2
|
echo.
|
||||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
echo. 1>&2
|
echo.
|
||||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
echo location of your Java installation. 1>&2
|
echo location of your Java installation.
|
||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
@@ -57,36 +35,48 @@ goto fail
|
|||||||
set JAVA_HOME=%JAVA_HOME:"=%
|
set JAVA_HOME=%JAVA_HOME:"=%
|
||||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||||
|
|
||||||
if exist "%JAVA_EXE%" goto execute
|
if exist "%JAVA_EXE%" goto init
|
||||||
|
|
||||||
echo. 1>&2
|
echo.
|
||||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||||
echo. 1>&2
|
echo.
|
||||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
echo location of your Java installation. 1>&2
|
echo location of your Java installation.
|
||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
|
:init
|
||||||
|
@rem Get command-line arguments, handling Windows variants
|
||||||
|
|
||||||
|
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||||
|
|
||||||
|
:win9xME_args
|
||||||
|
@rem Slurp the command line arguments.
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
set _SKIP=2
|
||||||
|
|
||||||
|
:win9xME_args_slurp
|
||||||
|
if "x%~1" == "x" goto execute
|
||||||
|
|
||||||
|
set CMD_LINE_ARGS=%*
|
||||||
|
|
||||||
:execute
|
:execute
|
||||||
@rem Setup the command line
|
@rem Setup the command line
|
||||||
|
|
||||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||||
|
|
||||||
|
|
||||||
@rem Execute Gradle
|
@rem Execute Gradle
|
||||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||||
|
|
||||||
:end
|
:end
|
||||||
@rem End local scope for the variables with windows NT shell
|
@rem End local scope for the variables with windows NT shell
|
||||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||||
|
|
||||||
:fail
|
:fail
|
||||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||||
rem the _cmd.exe /c_ return code!
|
rem the _cmd.exe /c_ return code!
|
||||||
set EXIT_CODE=%ERRORLEVEL%
|
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
exit /b 1
|
||||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
|
||||||
exit /b %EXIT_CODE%
|
|
||||||
|
|
||||||
:mainEnd
|
:mainEnd
|
||||||
if "%OS%"=="Windows_NT" endlocal
|
if "%OS%"=="Windows_NT" endlocal
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import de.oaa.xxx.aufgaben.entity.ToyEntity;
|
|||||||
import de.oaa.xxx.aufgaben.repository.AufgabeRepository;
|
import de.oaa.xxx.aufgaben.repository.AufgabeRepository;
|
||||||
import de.oaa.xxx.aufgaben.repository.AufgabenGruppeRepository;
|
import de.oaa.xxx.aufgaben.repository.AufgabenGruppeRepository;
|
||||||
import de.oaa.xxx.aufgaben.repository.ToyRepository;
|
import de.oaa.xxx.aufgaben.repository.ToyRepository;
|
||||||
|
import de.oaa.xxx.subscription.SubscriptionLimitService;
|
||||||
|
import de.oaa.xxx.user.UserRepository;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
@@ -22,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
|
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
|
||||||
|
|
||||||
|
import java.security.Principal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@@ -36,13 +39,19 @@ public class AufgabeController {
|
|||||||
private final AufgabeRepository aufgabeRepository;
|
private final AufgabeRepository aufgabeRepository;
|
||||||
private final AufgabenGruppeRepository gruppeRepository;
|
private final AufgabenGruppeRepository gruppeRepository;
|
||||||
private final ToyRepository toyRepository;
|
private final ToyRepository toyRepository;
|
||||||
|
private final UserRepository userRepository;
|
||||||
|
private final SubscriptionLimitService limitService;
|
||||||
|
|
||||||
public AufgabeController(AufgabeRepository aufgabeRepository,
|
public AufgabeController(AufgabeRepository aufgabeRepository,
|
||||||
AufgabenGruppeRepository gruppeRepository,
|
AufgabenGruppeRepository gruppeRepository,
|
||||||
ToyRepository toyRepository) {
|
ToyRepository toyRepository,
|
||||||
|
UserRepository userRepository,
|
||||||
|
SubscriptionLimitService limitService) {
|
||||||
this.aufgabeRepository = aufgabeRepository;
|
this.aufgabeRepository = aufgabeRepository;
|
||||||
this.gruppeRepository = gruppeRepository;
|
this.gruppeRepository = gruppeRepository;
|
||||||
this.toyRepository = toyRepository;
|
this.toyRepository = toyRepository;
|
||||||
|
this.userRepository = userRepository;
|
||||||
|
this.limitService = limitService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/{aufgabeId}")
|
@GetMapping("/{aufgabeId}")
|
||||||
@@ -53,7 +62,7 @@ public class AufgabeController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public ResponseEntity<Void> create(@RequestBody Aufgabe aufgabe) {
|
public ResponseEntity<Void> create(@RequestBody Aufgabe aufgabe, Principal principal) {
|
||||||
if (aufgabe.getKurzText() == null || aufgabe.getText() == null || aufgabe.getLevel() == null || aufgabe.getGruppeId() == null) {
|
if (aufgabe.getKurzText() == null || aufgabe.getText() == null || aufgabe.getLevel() == null || aufgabe.getGruppeId() == null) {
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
@@ -61,7 +70,10 @@ public class AufgabeController {
|
|||||||
if (gruppeEntity == null) {
|
if (gruppeEntity == null) {
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
if (gruppeEntity.getAufgaben().size() >= 100) {
|
var ownerOpt = userRepository.findByEmail(principal.getName());
|
||||||
|
int limit = ownerOpt.map(u -> limitService.maxTasksPerGroup(u.getUserId()))
|
||||||
|
.orElse(SubscriptionLimitService.STANDARD_MAX_TASKS_PER_GROUP);
|
||||||
|
if (gruppeEntity.getAufgaben().size() >= limit) {
|
||||||
return ResponseEntity.status(409).build();
|
return ResponseEntity.status(409).build();
|
||||||
}
|
}
|
||||||
List<ToyEntity> toys = resolveToys(aufgabe.getBenoetigteToys());
|
List<ToyEntity> toys = resolveToys(aufgabe.getBenoetigteToys());
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import de.oaa.xxx.aufgaben.repository.FinisherRepository;
|
|||||||
import de.oaa.xxx.aufgaben.repository.GruppenAboRepository;
|
import de.oaa.xxx.aufgaben.repository.GruppenAboRepository;
|
||||||
import de.oaa.xxx.aufgaben.repository.SperreRepository;
|
import de.oaa.xxx.aufgaben.repository.SperreRepository;
|
||||||
import de.oaa.xxx.aufgaben.repository.StrafeRepository;
|
import de.oaa.xxx.aufgaben.repository.StrafeRepository;
|
||||||
|
import de.oaa.xxx.subscription.SubscriptionLimitService;
|
||||||
import de.oaa.xxx.user.UserEntity;
|
import de.oaa.xxx.user.UserEntity;
|
||||||
import de.oaa.xxx.user.UserRepository;
|
import de.oaa.xxx.user.UserRepository;
|
||||||
|
|
||||||
@@ -53,6 +54,7 @@ public class AufgabenGruppeController {
|
|||||||
private final UserRepository userRepository;
|
private final UserRepository userRepository;
|
||||||
private final GruppenAboRepository aboRepository;
|
private final GruppenAboRepository aboRepository;
|
||||||
private final AufgabenGruppeService aufgabenGruppeService;
|
private final AufgabenGruppeService aufgabenGruppeService;
|
||||||
|
private final SubscriptionLimitService limitService;
|
||||||
|
|
||||||
public AufgabenGruppeController(AufgabenGruppeRepository gruppeRepository,
|
public AufgabenGruppeController(AufgabenGruppeRepository gruppeRepository,
|
||||||
AufgabeRepository aufgabeRepository,
|
AufgabeRepository aufgabeRepository,
|
||||||
@@ -61,7 +63,8 @@ public class AufgabenGruppeController {
|
|||||||
FinisherRepository finisherRepository,
|
FinisherRepository finisherRepository,
|
||||||
UserRepository userRepository,
|
UserRepository userRepository,
|
||||||
GruppenAboRepository aboRepository,
|
GruppenAboRepository aboRepository,
|
||||||
AufgabenGruppeService aufgabenGruppeService) {
|
AufgabenGruppeService aufgabenGruppeService,
|
||||||
|
SubscriptionLimitService limitService) {
|
||||||
this.gruppeRepository = gruppeRepository;
|
this.gruppeRepository = gruppeRepository;
|
||||||
this.aufgabeRepository = aufgabeRepository;
|
this.aufgabeRepository = aufgabeRepository;
|
||||||
this.strafeRepository = strafeRepository;
|
this.strafeRepository = strafeRepository;
|
||||||
@@ -70,6 +73,7 @@ public class AufgabenGruppeController {
|
|||||||
this.userRepository = userRepository;
|
this.userRepository = userRepository;
|
||||||
this.aboRepository = aboRepository;
|
this.aboRepository = aboRepository;
|
||||||
this.aufgabenGruppeService = aufgabenGruppeService;
|
this.aufgabenGruppeService = aufgabenGruppeService;
|
||||||
|
this.limitService = limitService;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ── Paginierte Listen ──
|
// ── Paginierte Listen ──
|
||||||
@@ -132,7 +136,7 @@ public class AufgabenGruppeController {
|
|||||||
UserEntity user = resolveUser(principal);
|
UserEntity user = resolveUser(principal);
|
||||||
if (user == null) return ResponseEntity.status(401).build();
|
if (user == null) return ResponseEntity.status(401).build();
|
||||||
|
|
||||||
if (gruppeRepository.countByUserId(user.getUserId()) >= 10) {
|
if (gruppeRepository.countByUserId(user.getUserId()) >= limitService.maxTaskGroups(user.getUserId())) {
|
||||||
return ResponseEntity.status(409).build();
|
return ResponseEntity.status(409).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import de.oaa.xxx.aufgaben.entity.AufgabenGruppeEntity;
|
|||||||
import de.oaa.xxx.aufgaben.entity.ToyEntity;
|
import de.oaa.xxx.aufgaben.entity.ToyEntity;
|
||||||
import de.oaa.xxx.aufgaben.repository.GruppenAboRepository;
|
import de.oaa.xxx.aufgaben.repository.GruppenAboRepository;
|
||||||
import de.oaa.xxx.aufgaben.repository.ToyRepository;
|
import de.oaa.xxx.aufgaben.repository.ToyRepository;
|
||||||
|
import de.oaa.xxx.subscription.SubscriptionLimitService;
|
||||||
import de.oaa.xxx.user.UserEntity;
|
import de.oaa.xxx.user.UserEntity;
|
||||||
import de.oaa.xxx.user.UserRepository;
|
import de.oaa.xxx.user.UserRepository;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -46,13 +47,16 @@ public class ToyController {
|
|||||||
private final ToyRepository toyRepository;
|
private final ToyRepository toyRepository;
|
||||||
private final UserRepository userRepository;
|
private final UserRepository userRepository;
|
||||||
private final GruppenAboRepository aboRepository;
|
private final GruppenAboRepository aboRepository;
|
||||||
|
private final SubscriptionLimitService limitService;
|
||||||
|
|
||||||
public ToyController(ToyRepository toyRepository,
|
public ToyController(ToyRepository toyRepository,
|
||||||
UserRepository userRepository,
|
UserRepository userRepository,
|
||||||
GruppenAboRepository aboRepository) {
|
GruppenAboRepository aboRepository,
|
||||||
|
SubscriptionLimitService limitService) {
|
||||||
this.toyRepository = toyRepository;
|
this.toyRepository = toyRepository;
|
||||||
this.userRepository = userRepository;
|
this.userRepository = userRepository;
|
||||||
this.aboRepository = aboRepository;
|
this.aboRepository = aboRepository;
|
||||||
|
this.limitService = limitService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/list/user")
|
@GetMapping("/list/user")
|
||||||
@@ -142,6 +146,11 @@ public class ToyController {
|
|||||||
.header("X-Error", "duplicate-name")
|
.header("X-Error", "duplicate-name")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
if (toyRepository.countByUserId(user.getUserId()) >= limitService.maxToys(user.getUserId())) {
|
||||||
|
return ResponseEntity.status(409)
|
||||||
|
.header("X-Error", "limit-reached")
|
||||||
|
.build();
|
||||||
|
}
|
||||||
ToyEntity entity = ToyEntity.create(toy);
|
ToyEntity entity = ToyEntity.create(toy);
|
||||||
entity.setUserId(user.getUserId());
|
entity.setUserId(user.getUserId());
|
||||||
toyRepository.save(entity);
|
toyRepository.save(entity);
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ public interface ToyRepository extends JpaRepository<ToyEntity, UUID> {
|
|||||||
Page<ToyEntity> findByUserIdIsNull(Pageable pageable);
|
Page<ToyEntity> findByUserIdIsNull(Pageable pageable);
|
||||||
|
|
||||||
Page<ToyEntity> findByUserId(UUID userId, Pageable pageable);
|
Page<ToyEntity> findByUserId(UUID userId, Pageable pageable);
|
||||||
|
long countByUserId(UUID userId);
|
||||||
|
|
||||||
List<ToyEntity> findByUserId(UUID userId);
|
List<ToyEntity> findByUserId(UUID userId);
|
||||||
|
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ public class SecurityConfig {
|
|||||||
.requestMatchers("/einladungen.html").authenticated()
|
.requestMatchers("/einladungen.html").authenticated()
|
||||||
.requestMatchers("/joinlock.html").authenticated()
|
.requestMatchers("/joinlock.html").authenticated()
|
||||||
.requestMatchers("/benachrichtigungen.html").authenticated()
|
.requestMatchers("/benachrichtigungen.html").authenticated()
|
||||||
|
.requestMatchers("/abonnements.html").authenticated()
|
||||||
.requestMatchers("/gruppen/**").authenticated()
|
.requestMatchers("/gruppen/**").authenticated()
|
||||||
.requestMatchers("/feed/**").authenticated()
|
.requestMatchers("/feed/**").authenticated()
|
||||||
.requestMatchers("/notifications/**").authenticated()
|
.requestMatchers("/notifications/**").authenticated()
|
||||||
|
|||||||
@@ -2,10 +2,13 @@ package de.oaa.xxx.games.chastity.cardlock;
|
|||||||
|
|
||||||
import de.oaa.xxx.games.chastity.tasks.Task;
|
import de.oaa.xxx.games.chastity.tasks.Task;
|
||||||
import de.oaa.xxx.games.chastity.tasks.TaskMode;
|
import de.oaa.xxx.games.chastity.tasks.TaskMode;
|
||||||
|
import de.oaa.xxx.subscription.SubscriptionLimitService;
|
||||||
import de.oaa.xxx.user.UserRepository;
|
import de.oaa.xxx.user.UserRepository;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import de.oaa.xxx.games.chastity.timelock.TimeLockTemplateRepository;
|
||||||
|
|
||||||
import java.security.Principal;
|
import java.security.Principal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -16,11 +19,17 @@ public class CardlockTemplateController {
|
|||||||
|
|
||||||
private final CardlockTemplateRepository templateRepository;
|
private final CardlockTemplateRepository templateRepository;
|
||||||
private final UserRepository userRepository;
|
private final UserRepository userRepository;
|
||||||
|
private final TimeLockTemplateRepository timeLockTemplateRepository;
|
||||||
|
private final SubscriptionLimitService limitService;
|
||||||
|
|
||||||
public CardlockTemplateController(CardlockTemplateRepository templateRepository,
|
public CardlockTemplateController(CardlockTemplateRepository templateRepository,
|
||||||
UserRepository userRepository) {
|
UserRepository userRepository,
|
||||||
|
TimeLockTemplateRepository timeLockTemplateRepository,
|
||||||
|
SubscriptionLimitService limitService) {
|
||||||
this.templateRepository = templateRepository;
|
this.templateRepository = templateRepository;
|
||||||
this.userRepository = userRepository;
|
this.userRepository = userRepository;
|
||||||
|
this.timeLockTemplateRepository = timeLockTemplateRepository;
|
||||||
|
this.limitService = limitService;
|
||||||
}
|
}
|
||||||
|
|
||||||
record TemplateRequest(
|
record TemplateRequest(
|
||||||
@@ -75,6 +84,11 @@ public class CardlockTemplateController {
|
|||||||
if (req.cardCountsMin() == null || req.cardCountsMin().isEmpty())
|
if (req.cardCountsMin() == null || req.cardCountsMin().isEmpty())
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
|
|
||||||
|
long totalTemplates = templateRepository.countByOwner(myId)
|
||||||
|
+ timeLockTemplateRepository.countByOwner(myId);
|
||||||
|
if (totalTemplates >= limitService.maxLockTemplates(myId))
|
||||||
|
return ResponseEntity.status(409).header("X-Error", "limit-reached").build();
|
||||||
|
|
||||||
CardlockTemplateEntity t = new CardlockTemplateEntity();
|
CardlockTemplateEntity t = new CardlockTemplateEntity();
|
||||||
t.setOwner(myId);
|
t.setOwner(myId);
|
||||||
applyRequest(t, req);
|
applyRequest(t, req);
|
||||||
|
|||||||
@@ -7,4 +7,5 @@ import java.util.UUID;
|
|||||||
|
|
||||||
public interface CardlockTemplateRepository extends JpaRepository<CardlockTemplateEntity, UUID> {
|
public interface CardlockTemplateRepository extends JpaRepository<CardlockTemplateEntity, UUID> {
|
||||||
List<CardlockTemplateEntity> findByOwner(UUID owner);
|
List<CardlockTemplateEntity> findByOwner(UUID owner);
|
||||||
|
long countByOwner(UUID owner);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package de.oaa.xxx.games.chastity.timelock;
|
package de.oaa.xxx.games.chastity.timelock;
|
||||||
|
|
||||||
|
import de.oaa.xxx.games.chastity.cardlock.CardlockTemplateRepository;
|
||||||
import de.oaa.xxx.games.chastity.common.PenaltyType;
|
import de.oaa.xxx.games.chastity.common.PenaltyType;
|
||||||
import de.oaa.xxx.games.chastity.spinningwheel.SpinningWheelEntry;
|
import de.oaa.xxx.games.chastity.spinningwheel.SpinningWheelEntry;
|
||||||
import de.oaa.xxx.games.chastity.tasks.Task;
|
import de.oaa.xxx.games.chastity.tasks.Task;
|
||||||
import de.oaa.xxx.games.chastity.tasks.TaskMode;
|
import de.oaa.xxx.games.chastity.tasks.TaskMode;
|
||||||
|
import de.oaa.xxx.subscription.SubscriptionLimitService;
|
||||||
import de.oaa.xxx.user.UserRepository;
|
import de.oaa.xxx.user.UserRepository;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@@ -18,11 +20,17 @@ public class TimeLockTemplateController {
|
|||||||
|
|
||||||
private final TimeLockTemplateRepository templateRepository;
|
private final TimeLockTemplateRepository templateRepository;
|
||||||
private final UserRepository userRepository;
|
private final UserRepository userRepository;
|
||||||
|
private final CardlockTemplateRepository cardlockTemplateRepository;
|
||||||
|
private final SubscriptionLimitService limitService;
|
||||||
|
|
||||||
public TimeLockTemplateController(TimeLockTemplateRepository templateRepository,
|
public TimeLockTemplateController(TimeLockTemplateRepository templateRepository,
|
||||||
UserRepository userRepository) {
|
UserRepository userRepository,
|
||||||
|
CardlockTemplateRepository cardlockTemplateRepository,
|
||||||
|
SubscriptionLimitService limitService) {
|
||||||
this.templateRepository = templateRepository;
|
this.templateRepository = templateRepository;
|
||||||
this.userRepository = userRepository;
|
this.userRepository = userRepository;
|
||||||
|
this.cardlockTemplateRepository = cardlockTemplateRepository;
|
||||||
|
this.limitService = limitService;
|
||||||
}
|
}
|
||||||
|
|
||||||
record TemplateRequest(
|
record TemplateRequest(
|
||||||
@@ -85,6 +93,11 @@ public class TimeLockTemplateController {
|
|||||||
if (req.name() == null || req.name().isBlank()) return ResponseEntity.badRequest().build();
|
if (req.name() == null || req.name().isBlank()) return ResponseEntity.badRequest().build();
|
||||||
if (req.maxTimeInMinutes() == null || req.maxTimeInMinutes() < 1) return ResponseEntity.badRequest().build();
|
if (req.maxTimeInMinutes() == null || req.maxTimeInMinutes() < 1) return ResponseEntity.badRequest().build();
|
||||||
|
|
||||||
|
long totalTemplates = templateRepository.countByOwner(myId)
|
||||||
|
+ cardlockTemplateRepository.countByOwner(myId);
|
||||||
|
if (totalTemplates >= limitService.maxLockTemplates(myId))
|
||||||
|
return ResponseEntity.status(409).header("X-Error", "limit-reached").build();
|
||||||
|
|
||||||
TimeLockTemplateEntity t = new TimeLockTemplateEntity();
|
TimeLockTemplateEntity t = new TimeLockTemplateEntity();
|
||||||
t.setOwner(myId);
|
t.setOwner(myId);
|
||||||
applyRequest(t, req);
|
applyRequest(t, req);
|
||||||
|
|||||||
@@ -7,4 +7,5 @@ import java.util.UUID;
|
|||||||
|
|
||||||
public interface TimeLockTemplateRepository extends JpaRepository<TimeLockTemplateEntity, UUID> {
|
public interface TimeLockTemplateRepository extends JpaRepository<TimeLockTemplateEntity, UUID> {
|
||||||
List<TimeLockTemplateEntity> findByOwner(UUID owner);
|
List<TimeLockTemplateEntity> findByOwner(UUID owner);
|
||||||
|
long countByOwner(UUID owner);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,6 +87,9 @@ public class SocialController {
|
|||||||
if (meOpt.isEmpty()) return ResponseEntity.status(401).build();
|
if (meOpt.isEmpty()) return ResponseEntity.status(401).build();
|
||||||
UUID myId = meOpt.get().getUserId();
|
UUID myId = meOpt.get().getUserId();
|
||||||
|
|
||||||
|
if (myId.equals(body.receiverId())) {
|
||||||
|
return ResponseEntity.badRequest().build();
|
||||||
|
}
|
||||||
if (friendshipRepository.findExisting(myId, body.receiverId()).isPresent()) {
|
if (friendshipRepository.findExisting(myId, body.receiverId()).isPresent()) {
|
||||||
return ResponseEntity.status(409).build();
|
return ResponseEntity.status(409).build();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package de.oaa.xxx.subscription;
|
||||||
|
|
||||||
|
import de.oaa.xxx.user.UserRepository;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.security.Principal;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/subscription")
|
||||||
|
public class SubscriptionController {
|
||||||
|
|
||||||
|
private final UserRepository userRepository;
|
||||||
|
private final SubscriptionLimitService limitService;
|
||||||
|
|
||||||
|
public SubscriptionController(UserRepository userRepository,
|
||||||
|
SubscriptionLimitService limitService) {
|
||||||
|
this.userRepository = userRepository;
|
||||||
|
this.limitService = limitService;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/me")
|
||||||
|
public ResponseEntity<Map<String, Object>> getMySubscription(Principal principal) {
|
||||||
|
var meOpt = userRepository.findByEmail(principal.getName());
|
||||||
|
if (meOpt.isEmpty()) return ResponseEntity.status(401).build();
|
||||||
|
UUID userId = meOpt.get().getUserId();
|
||||||
|
|
||||||
|
Map<String, Object> result = new LinkedHashMap<>();
|
||||||
|
limitService.getActiveSubscription(userId).ifPresentOrElse(sub -> {
|
||||||
|
result.put("subscriptionType", sub.getSubscriptionType());
|
||||||
|
result.put("subscribedAt", sub.getSubscribedAt());
|
||||||
|
result.put("validUntil", sub.getValidUntil());
|
||||||
|
result.put("cancellableFrom", sub.getCancellableFrom());
|
||||||
|
}, () -> {
|
||||||
|
result.put("subscriptionType", SubscriptionType.STANDARD);
|
||||||
|
result.put("subscribedAt", null);
|
||||||
|
result.put("validUntil", null);
|
||||||
|
result.put("cancellableFrom", null);
|
||||||
|
});
|
||||||
|
|
||||||
|
result.put("limits", Map.of(
|
||||||
|
"maxLockTemplates", limitService.maxLockTemplates(userId),
|
||||||
|
"maxTaskGroups", limitService.maxTaskGroups(userId),
|
||||||
|
"maxTasksPerGroup", limitService.maxTasksPerGroup(userId),
|
||||||
|
"maxToys", limitService.maxToys(userId)
|
||||||
|
));
|
||||||
|
|
||||||
|
return ResponseEntity.ok(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package de.oaa.xxx.subscription;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Central service for subscription-based feature limits.
|
||||||
|
* All limit constants are defined here – add new resource types as needed.
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SubscriptionLimitService {
|
||||||
|
|
||||||
|
// ── Limits for STANDARD (no active subscription) ──
|
||||||
|
public static final int STANDARD_MAX_LOCK_TEMPLATES = 6;
|
||||||
|
public static final int STANDARD_MAX_TASK_GROUPS = 6;
|
||||||
|
public static final int STANDARD_MAX_TASKS_PER_GROUP = 50;
|
||||||
|
public static final int STANDARD_MAX_TOYS = 10;
|
||||||
|
|
||||||
|
private final UserSubscriptionRepository subscriptionRepository;
|
||||||
|
|
||||||
|
public SubscriptionLimitService(UserSubscriptionRepository subscriptionRepository) {
|
||||||
|
this.subscriptionRepository = subscriptionRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Returns the active subscription for the user, or empty if none. */
|
||||||
|
public Optional<UserSubscriptionEntity> getActiveSubscription(UUID userId) {
|
||||||
|
return subscriptionRepository
|
||||||
|
.findTopByUserIdAndValidUntilGreaterThanEqualOrderByValidUntilDesc(userId, LocalDate.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
/** True if the user has an active (non-STANDARD) subscription. */
|
||||||
|
public boolean hasActivePaidSubscription(UUID userId) {
|
||||||
|
return getActiveSubscription(userId)
|
||||||
|
.filter(s -> s.getSubscriptionType() != SubscriptionType.STANDARD)
|
||||||
|
.isPresent();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Max total lock templates (cardlock + timelock combined) allowed for this user. */
|
||||||
|
public int maxLockTemplates(UUID userId) {
|
||||||
|
if (hasActivePaidSubscription(userId)) return Integer.MAX_VALUE;
|
||||||
|
return STANDARD_MAX_LOCK_TEMPLATES;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Max task groups the user may own. */
|
||||||
|
public int maxTaskGroups(UUID userId) {
|
||||||
|
if (hasActivePaidSubscription(userId)) return Integer.MAX_VALUE;
|
||||||
|
return STANDARD_MAX_TASK_GROUPS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Max tasks per task group. */
|
||||||
|
public int maxTasksPerGroup(UUID userId) {
|
||||||
|
if (hasActivePaidSubscription(userId)) return Integer.MAX_VALUE;
|
||||||
|
return STANDARD_MAX_TASKS_PER_GROUP;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Max individual toys the user may create. */
|
||||||
|
public int maxToys(UUID userId) {
|
||||||
|
if (hasActivePaidSubscription(userId)) return Integer.MAX_VALUE;
|
||||||
|
return STANDARD_MAX_TOYS;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package de.oaa.xxx.subscription;
|
||||||
|
|
||||||
|
public enum SubscriptionType {
|
||||||
|
STANDARD,
|
||||||
|
PREMIUM
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package de.oaa.xxx.subscription;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity
|
||||||
|
@Table(name = "user_subscription")
|
||||||
|
public class UserSubscriptionEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.UUID)
|
||||||
|
@Column(name = "subscription_id")
|
||||||
|
private UUID subscriptionId;
|
||||||
|
|
||||||
|
@Column(name = "user_id", nullable = false)
|
||||||
|
private UUID userId;
|
||||||
|
|
||||||
|
@Column(name = "subscribed_at", nullable = false)
|
||||||
|
private LocalDate subscribedAt;
|
||||||
|
|
||||||
|
@Column(name = "valid_until", nullable = false)
|
||||||
|
private LocalDate validUntil;
|
||||||
|
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "subscription_type", nullable = false, length = 30)
|
||||||
|
private SubscriptionType subscriptionType;
|
||||||
|
|
||||||
|
@Column(name = "cancellable_from")
|
||||||
|
private LocalDate cancellableFrom;
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package de.oaa.xxx.subscription;
|
||||||
|
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public interface UserSubscriptionRepository extends JpaRepository<UserSubscriptionEntity, UUID> {
|
||||||
|
|
||||||
|
Optional<UserSubscriptionEntity> findTopByUserIdAndValidUntilGreaterThanEqualOrderByValidUntilDesc(
|
||||||
|
UUID userId, LocalDate today);
|
||||||
|
}
|
||||||
38
xxxthegame/src/main/resources/static/abonnements.html
Normal file
38
xxxthegame/src/main/resources/static/abonnements.html
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<link rel="icon" href="/img/icon.png" type="image/png">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Abonnements – XXX The Game</title>
|
||||||
|
<link rel="stylesheet" href="/css/variables.css">
|
||||||
|
<link rel="stylesheet" href="/css/style.css">
|
||||||
|
<style>
|
||||||
|
.page-hint { font-size:0.85rem; color:var(--color-muted); margin:0.25rem 0 1.5rem; }
|
||||||
|
.coming-soon {
|
||||||
|
display:flex; flex-direction:column; align-items:center; justify-content:center;
|
||||||
|
gap:1rem; padding:3rem 1rem; color:var(--color-muted); text-align:center;
|
||||||
|
}
|
||||||
|
.coming-soon .icon { font-size:3rem; }
|
||||||
|
.coming-soon h2 { font-size:1.2rem; font-weight:600; color:var(--color-text); margin:0; }
|
||||||
|
.coming-soon p { font-size:0.9rem; max-width:360px; margin:0; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body class="app">
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<h1 style="margin:0 0 0.25rem;">⭐ Abonnements</h1>
|
||||||
|
<p class="page-hint">Übersicht der verfügbaren Abo-Modelle</p>
|
||||||
|
|
||||||
|
<div class="coming-soon">
|
||||||
|
<span class="icon">🚧</span>
|
||||||
|
<h2>Demnächst verfügbar</h2>
|
||||||
|
<p>Hier werden bald die verschiedenen Abo-Modelle beschrieben und abschließbar sein.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="/js/icons.js"></script>
|
||||||
|
<script src="/js/sidebar.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -762,7 +762,8 @@
|
|||||||
<script src="/js/shared.js"></script>
|
<script src="/js/shared.js"></script>
|
||||||
<script src="/js/card-defs.js"></script>
|
<script src="/js/card-defs.js"></script>
|
||||||
<script src="/js/card-display.js"></script>
|
<script src="/js/card-display.js"></script>
|
||||||
<script src="/js/sidebar.js"></script>
|
<script src="/js/icons.js"></script>
|
||||||
|
<script src="/js/sidebar.js"></script>
|
||||||
<script src="/js/social-sidebar.js"></script>
|
<script src="/js/social-sidebar.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
|||||||
@@ -431,7 +431,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/js/shared.js"></script>
|
<script src="/js/shared.js"></script>
|
||||||
<script src="/js/sidebar.js"></script>
|
<script src="/js/icons.js"></script>
|
||||||
|
<script src="/js/sidebar.js"></script>
|
||||||
<script src="/js/social-sidebar.js"></script>
|
<script src="/js/social-sidebar.js"></script>
|
||||||
<script>
|
<script>
|
||||||
const params = new URLSearchParams(window.location.search);
|
const params = new URLSearchParams(window.location.search);
|
||||||
|
|||||||
@@ -1603,6 +1603,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<script src="/js/sidebar.js"></script>
|
<script src="/js/icons.js"></script>
|
||||||
|
<script src="/js/sidebar.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -14,8 +14,7 @@
|
|||||||
border-radius: 14px;
|
border-radius: 14px;
|
||||||
padding: 2rem;
|
padding: 2rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
max-width: 420px;
|
width: 100%;
|
||||||
margin: 0 auto;
|
|
||||||
}
|
}
|
||||||
.invite-icon { font-size: 2.5rem; margin-bottom: 1rem; }
|
.invite-icon { font-size: 2.5rem; margin-bottom: 1rem; }
|
||||||
.invite-title { font-size: 1.2rem; font-weight: 700; margin-bottom: 0.5rem; }
|
.invite-title { font-size: 1.2rem; font-weight: 700; margin-bottom: 0.5rem; }
|
||||||
@@ -47,7 +46,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="/js/sidebar.js"></script>
|
<script src="/js/icons.js"></script>
|
||||||
|
<script src="/js/sidebar.js"></script>
|
||||||
<script>
|
<script>
|
||||||
const params = new URLSearchParams(location.search);
|
const params = new URLSearchParams(location.search);
|
||||||
const einladungId = params.get('id');
|
const einladungId = params.get('id');
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<link rel="stylesheet" href="/css/variables.css">
|
<link rel="stylesheet" href="/css/variables.css">
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel="stylesheet" href="/css/style.css">
|
||||||
<style>
|
<style>
|
||||||
.game-overview { max-width: 700px; }
|
.game-overview { }
|
||||||
|
|
||||||
.overview-section { margin-bottom: 2rem; }
|
.overview-section { margin-bottom: 2rem; }
|
||||||
.overview-section h2 {
|
.overview-section h2 {
|
||||||
@@ -331,7 +331,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/js/sidebar.js"></script>
|
<script src="/js/icons.js"></script>
|
||||||
|
<script src="/js/sidebar.js"></script>
|
||||||
<script>
|
<script>
|
||||||
const game = JSON.parse(sessionStorage.getItem('bdsm-session-game') || 'null');
|
const game = JSON.parse(sessionStorage.getItem('bdsm-session-game') || 'null');
|
||||||
const setup = JSON.parse(sessionStorage.getItem('bdsm-session-setup') || 'null');
|
const setup = JSON.parse(sessionStorage.getItem('bdsm-session-setup') || 'null');
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
max-width: 680px;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notif-item {
|
.notif-item {
|
||||||
@@ -108,7 +108,6 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 1.25rem;
|
margin-bottom: 1.25rem;
|
||||||
max-width: 680px;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
@@ -130,7 +129,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/js/sidebar.js"></script>
|
<script src="/js/icons.js"></script>
|
||||||
|
<script src="/js/sidebar.js"></script>
|
||||||
<script src="/js/social-sidebar.js"></script>
|
<script src="/js/social-sidebar.js"></script>
|
||||||
<script>
|
<script>
|
||||||
function fmtRelTime(isoStr) {
|
function fmtRelTime(isoStr) {
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user