From b27cac393b148dbfe3f729495f712dd12e8895ec Mon Sep 17 00:00:00 2001 From: Urban Modig Date: Sun, 20 Apr 2025 17:14:30 +0200 Subject: [PATCH] initial commit --- .gradle/8.13/checksums/checksums.lock | Bin 0 -> 17 bytes .gradle/8.13/checksums/md5-checksums.bin | Bin 0 -> 33297 bytes .gradle/8.13/checksums/sha1-checksums.bin | Bin 0 -> 78107 bytes .../executionHistory/executionHistory.bin | Bin 0 -> 185022 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .gradle/8.13/fileChanges/last-build.bin | Bin 0 -> 1 bytes .gradle/8.13/fileHashes/fileHashes.bin | Bin 0 -> 27047 bytes .gradle/8.13/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .../8.13/fileHashes/resourceHashesCache.bin | Bin 0 -> 18565 bytes .gradle/8.13/gc.properties | 0 .../buildOutputCleanup.lock | Bin 0 -> 17 bytes .gradle/buildOutputCleanup/cache.properties | 2 + .gradle/buildOutputCleanup/outputFiles.bin | Bin 0 -> 19019 bytes .gradle/file-system.probe | Bin 0 -> 8 bytes .gradle/vcs-1/gc.properties | 0 .idea/compiler.xml | 10 + .idea/gradle.xml | 17 ++ .idea/kotlinc.xml | 6 + .idea/misc.xml | 4 + .idea/workspace.xml | 106 ++++++++ HELP.md | 27 ++ build.gradle.kts | 41 +++ .../main/META-INF/oauth2test.kotlin_module | Bin 0 -> 71 bytes .../META-INF/oauth2test_test.kotlin_module | Bin 0 -> 24 bytes .../caches-jvm/inputs/source-to-output.tab | Bin 0 -> 4096 bytes .../inputs/source-to-output.tab.keystream | Bin 0 -> 4096 bytes .../inputs/source-to-output.tab.keystream.len | Bin 0 -> 8 bytes .../inputs/source-to-output.tab.len | Bin 0 -> 8 bytes .../inputs/source-to-output.tab.values.at | Bin 0 -> 241 bytes .../caches-jvm/inputs/source-to-output.tab_i | Bin 0 -> 32768 bytes .../inputs/source-to-output.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab | Bin 0 -> 4096 bytes .../jvm/kotlin/class-attributes.tab.keystream | Bin 0 -> 4096 bytes .../kotlin/class-attributes.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab.values.at | Bin 0 -> 52 bytes .../jvm/kotlin/class-attributes.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/class-attributes.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-fq-name-to-source.tab | Bin 0 -> 4096 bytes .../class-fq-name-to-source.tab.keystream | Bin 0 -> 4096 bytes .../class-fq-name-to-source.tab.keystream.len | Bin 0 -> 8 bytes .../kotlin/class-fq-name-to-source.tab.len | Bin 0 -> 8 bytes .../class-fq-name-to-source.tab.values.at | Bin 0 -> 111 bytes .../jvm/kotlin/class-fq-name-to-source.tab_i | Bin 0 -> 32768 bytes .../kotlin/class-fq-name-to-source.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/internal-name-to-source.tab | Bin 0 -> 4096 bytes .../internal-name-to-source.tab.keystream | Bin 0 -> 4096 bytes .../internal-name-to-source.tab.keystream.len | Bin 0 -> 8 bytes .../kotlin/internal-name-to-source.tab.len | Bin 0 -> 8 bytes .../internal-name-to-source.tab.values.at | Bin 0 -> 173 bytes .../jvm/kotlin/internal-name-to-source.tab_i | Bin 0 -> 32768 bytes .../kotlin/internal-name-to-source.tab_i.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/package-parts.tab | Bin 0 -> 4096 bytes .../jvm/kotlin/package-parts.tab.keystream | Bin 0 -> 4096 bytes .../kotlin/package-parts.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/package-parts.tab.len | Bin 0 -> 8 bytes .../jvm/kotlin/package-parts.tab.values.at | Bin 0 -> 52 bytes .../caches-jvm/jvm/kotlin/package-parts.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/package-parts.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/jvm/kotlin/proto.tab | Bin 0 -> 4096 bytes .../caches-jvm/jvm/kotlin/proto.tab.keystream | Bin 0 -> 4096 bytes .../jvm/kotlin/proto.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/proto.tab.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/proto.tab.values.at | Bin 0 -> 352 bytes .../caches-jvm/jvm/kotlin/proto.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/jvm/kotlin/proto.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/source-to-classes.tab | Bin 0 -> 4096 bytes .../kotlin/source-to-classes.tab.keystream | Bin 0 -> 4096 bytes .../source-to-classes.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/source-to-classes.tab.len | Bin 0 -> 8 bytes .../kotlin/source-to-classes.tab.values.at | Bin 0 -> 150 bytes .../jvm/kotlin/source-to-classes.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/source-to-classes.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/lookups/counters.tab | 2 + .../caches-jvm/lookups/file-to-id.tab | Bin 0 -> 4096 bytes .../lookups/file-to-id.tab.keystream | Bin 0 -> 4096 bytes .../lookups/file-to-id.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/file-to-id.tab.len | Bin 0 -> 8 bytes .../lookups/file-to-id.tab.values.at | Bin 0 -> 55 bytes .../caches-jvm/lookups/file-to-id.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/file-to-id.tab_i.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/id-to-file.tab | Bin 0 -> 4096 bytes .../lookups/id-to-file.tab.keystream | Bin 0 -> 4096 bytes .../lookups/id-to-file.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/id-to-file.tab.len | Bin 0 -> 8 bytes .../lookups/id-to-file.tab.values.at | Bin 0 -> 111 bytes .../caches-jvm/lookups/id-to-file.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/lookups/lookups.tab | Bin 0 -> 4096 bytes .../caches-jvm/lookups/lookups.tab.keystream | Bin 0 -> 4096 bytes .../lookups/lookups.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/lookups.tab.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/lookups.tab.values.at | Bin 0 -> 103 bytes .../caches-jvm/lookups/lookups.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/lookups.tab_i.len | Bin 0 -> 8 bytes .../compileKotlin/cacheable/last-build.bin | Bin 0 -> 18 bytes .../shrunk-classpath-snapshot.bin | Bin 0 -> 3290 bytes .../local-state/build-history.bin | Bin 0 -> 31 bytes .../caches-jvm/inputs/source-to-output.tab | Bin 0 -> 4096 bytes .../inputs/source-to-output.tab.keystream | Bin 0 -> 4096 bytes .../inputs/source-to-output.tab.keystream.len | Bin 0 -> 8 bytes .../inputs/source-to-output.tab.len | Bin 0 -> 8 bytes .../inputs/source-to-output.tab.values.at | Bin 0 -> 182 bytes .../caches-jvm/inputs/source-to-output.tab_i | Bin 0 -> 32768 bytes .../inputs/source-to-output.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab | Bin 0 -> 4096 bytes .../jvm/kotlin/class-attributes.tab.keystream | Bin 0 -> 4096 bytes .../kotlin/class-attributes.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-attributes.tab.values.at | Bin 0 -> 52 bytes .../jvm/kotlin/class-attributes.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/class-attributes.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/class-fq-name-to-source.tab | Bin 0 -> 4096 bytes .../class-fq-name-to-source.tab.keystream | Bin 0 -> 4096 bytes .../class-fq-name-to-source.tab.keystream.len | Bin 0 -> 8 bytes .../kotlin/class-fq-name-to-source.tab.len | Bin 0 -> 8 bytes .../class-fq-name-to-source.tab.values.at | Bin 0 -> 116 bytes .../jvm/kotlin/class-fq-name-to-source.tab_i | Bin 0 -> 32768 bytes .../kotlin/class-fq-name-to-source.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/internal-name-to-source.tab | Bin 0 -> 4096 bytes .../internal-name-to-source.tab.keystream | Bin 0 -> 4096 bytes .../internal-name-to-source.tab.keystream.len | Bin 0 -> 8 bytes .../kotlin/internal-name-to-source.tab.len | Bin 0 -> 8 bytes .../internal-name-to-source.tab.values.at | Bin 0 -> 116 bytes .../jvm/kotlin/internal-name-to-source.tab_i | Bin 0 -> 32768 bytes .../kotlin/internal-name-to-source.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/jvm/kotlin/proto.tab | Bin 0 -> 4096 bytes .../caches-jvm/jvm/kotlin/proto.tab.keystream | Bin 0 -> 4096 bytes .../jvm/kotlin/proto.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/proto.tab.len | Bin 0 -> 8 bytes .../caches-jvm/jvm/kotlin/proto.tab.values.at | Bin 0 -> 231 bytes .../caches-jvm/jvm/kotlin/proto.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/jvm/kotlin/proto.tab_i.len | Bin 0 -> 8 bytes .../jvm/kotlin/source-to-classes.tab | Bin 0 -> 4096 bytes .../kotlin/source-to-classes.tab.keystream | Bin 0 -> 4096 bytes .../source-to-classes.tab.keystream.len | Bin 0 -> 8 bytes .../jvm/kotlin/source-to-classes.tab.len | Bin 0 -> 8 bytes .../kotlin/source-to-classes.tab.values.at | Bin 0 -> 112 bytes .../jvm/kotlin/source-to-classes.tab_i | Bin 0 -> 32768 bytes .../jvm/kotlin/source-to-classes.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/lookups/counters.tab | 2 + .../caches-jvm/lookups/file-to-id.tab | Bin 0 -> 4096 bytes .../lookups/file-to-id.tab.keystream | Bin 0 -> 4096 bytes .../lookups/file-to-id.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/file-to-id.tab.len | Bin 0 -> 8 bytes .../lookups/file-to-id.tab.values.at | Bin 0 -> 55 bytes .../caches-jvm/lookups/file-to-id.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/file-to-id.tab_i.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/id-to-file.tab | Bin 0 -> 4096 bytes .../lookups/id-to-file.tab.keystream | Bin 0 -> 4096 bytes .../lookups/id-to-file.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/id-to-file.tab.len | Bin 0 -> 8 bytes .../lookups/id-to-file.tab.values.at | Bin 0 -> 116 bytes .../caches-jvm/lookups/id-to-file.tab_i.len | Bin 0 -> 8 bytes .../cacheable/caches-jvm/lookups/lookups.tab | Bin 0 -> 4096 bytes .../caches-jvm/lookups/lookups.tab.keystream | Bin 0 -> 4096 bytes .../lookups/lookups.tab.keystream.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/lookups.tab.len | Bin 0 -> 8 bytes .../caches-jvm/lookups/lookups.tab.values.at | Bin 0 -> 73 bytes .../caches-jvm/lookups/lookups.tab_i | Bin 0 -> 32768 bytes .../caches-jvm/lookups/lookups.tab_i.len | Bin 0 -> 8 bytes .../cacheable/last-build.bin | Bin 0 -> 18 bytes .../shrunk-classpath-snapshot.bin | Bin 0 -> 406 bytes .../local-state/build-history.bin | Bin 0 -> 31 bytes ...oauth2test.Oauth2testApplicationTests.html | 134 ++++++++++ build/reports/tests/test/css/base-style.css | 174 ++++++++++++ build/reports/tests/test/css/style.css | 84 ++++++ build/reports/tests/test/index.html | 133 ++++++++++ build/reports/tests/test/js/report.js | 218 +++++++++++++++ .../test/packages/se.urmo.oauth2test.html | 103 +++++++ build/resolvedMainClassName | 1 + build/resources/main/application.properties | 1 + ....oauth2test.Oauth2testApplicationTests.xml | 27 ++ build/test-results/test/binary/output.bin | Bin 0 -> 2420 bytes build/test-results/test/binary/output.bin.idx | Bin 0 -> 69 bytes build/test-results/test/binary/results.bin | Bin 0 -> 128 bytes build/tmp/bootJar/MANIFEST.MF | 12 + build/tmp/jar/MANIFEST.MF | 2 + gradle/.DS_Store | Bin 0 -> 6148 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 251 ++++++++++++++++++ gradlew.bat | 94 +++++++ settings.gradle.kts | 1 + .../urmo/oauth2test/Oauth2testApplication.kt | 11 + src/main/resources/application.properties | 1 + .../oauth2test/Oauth2testApplicationTests.kt | 13 + 185 files changed, 1484 insertions(+) create mode 100644 .gradle/8.13/checksums/checksums.lock create mode 100644 .gradle/8.13/checksums/md5-checksums.bin create mode 100644 .gradle/8.13/checksums/sha1-checksums.bin create mode 100644 .gradle/8.13/executionHistory/executionHistory.bin create mode 100644 .gradle/8.13/executionHistory/executionHistory.lock create mode 100644 .gradle/8.13/fileChanges/last-build.bin create mode 100644 .gradle/8.13/fileHashes/fileHashes.bin create mode 100644 .gradle/8.13/fileHashes/fileHashes.lock create mode 100644 .gradle/8.13/fileHashes/resourceHashesCache.bin create mode 100644 .gradle/8.13/gc.properties create mode 100644 .gradle/buildOutputCleanup/buildOutputCleanup.lock create mode 100644 .gradle/buildOutputCleanup/cache.properties create mode 100644 .gradle/buildOutputCleanup/outputFiles.bin create mode 100644 .gradle/file-system.probe create mode 100644 .gradle/vcs-1/gc.properties create mode 100644 .idea/compiler.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/workspace.xml create mode 100644 HELP.md create mode 100644 build.gradle.kts create mode 100644 build/classes/kotlin/main/META-INF/oauth2test.kotlin_module create mode 100644 build/classes/kotlin/test/META-INF/oauth2test_test.kotlin_module create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i create mode 100644 build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len create mode 100644 build/kotlin/compileKotlin/cacheable/last-build.bin create mode 100644 build/kotlin/compileKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin create mode 100644 build/kotlin/compileKotlin/local-state/build-history.bin create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/counters.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i create mode 100644 build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len create mode 100644 build/kotlin/compileTestKotlin/cacheable/last-build.bin create mode 100644 build/kotlin/compileTestKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin create mode 100644 build/kotlin/compileTestKotlin/local-state/build-history.bin create mode 100644 build/reports/tests/test/classes/se.urmo.oauth2test.Oauth2testApplicationTests.html create mode 100644 build/reports/tests/test/css/base-style.css create mode 100644 build/reports/tests/test/css/style.css create mode 100644 build/reports/tests/test/index.html create mode 100644 build/reports/tests/test/js/report.js create mode 100644 build/reports/tests/test/packages/se.urmo.oauth2test.html create mode 100644 build/resolvedMainClassName create mode 100644 build/resources/main/application.properties create mode 100644 build/test-results/test/TEST-se.urmo.oauth2test.Oauth2testApplicationTests.xml create mode 100644 build/test-results/test/binary/output.bin create mode 100644 build/test-results/test/binary/output.bin.idx create mode 100644 build/test-results/test/binary/results.bin create mode 100644 build/tmp/bootJar/MANIFEST.MF create mode 100644 build/tmp/jar/MANIFEST.MF create mode 100644 gradle/.DS_Store create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts create mode 100644 src/main/kotlin/se/urmo/oauth2test/Oauth2testApplication.kt create mode 100644 src/main/resources/application.properties create mode 100644 src/test/kotlin/se/urmo/oauth2test/Oauth2testApplicationTests.kt diff --git a/.gradle/8.13/checksums/checksums.lock b/.gradle/8.13/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..313e6ab397cef2666d0cc5afd48b2365f9bab987 GIT binary patch literal 17 VcmZSn_;6nK0;Y+K3}C>#0{}Rk1kL~e literal 0 HcmV?d00001 diff --git a/.gradle/8.13/checksums/md5-checksums.bin b/.gradle/8.13/checksums/md5-checksums.bin new file mode 100644 index 0000000000000000000000000000000000000000..fc7dff71f562a688cfda8ee68609fcffbde82a41 GIT binary patch literal 33297 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 literal 0 HcmV?d00001 diff --git a/.gradle/8.13/checksums/sha1-checksums.bin b/.gradle/8.13/checksums/sha1-checksums.bin new file mode 100644 index 0000000000000000000000000000000000000000..8535f5a8d6dd6fd66086db3356f55fdf3d981002 GIT binary patch literal 78107 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 `)CGyvw85-GqU}o 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 KS}kY)JM~{lluKd& literal 0 HcmV?d00001 diff --git a/.gradle/8.13/executionHistory/executionHistory.bin b/.gradle/8.13/executionHistory/executionHistory.bin new file mode 100644 index 0000000000000000000000000000000000000000..5deaca5778e069731ca13de0088dc4bead0e6aff GIT binary patch literal 185022 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 literal 0 HcmV?d00001 diff --git a/.gradle/8.13/executionHistory/executionHistory.lock b/.gradle/8.13/executionHistory/executionHistory.lock new file mode 100644 index 0000000000000000000000000000000000000000..6c8f08469d5b927ebc736c345cfe0c450215d88d GIT binary patch literal 17 UcmZQx!D;YgrcQq_0|f8@04yK_kN^Mx literal 0 HcmV?d00001 diff --git a/.gradle/8.13/fileChanges/last-build.bin b/.gradle/8.13/fileChanges/last-build.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.gradle/8.13/fileHashes/fileHashes.bin b/.gradle/8.13/fileHashes/fileHashes.bin new file mode 100644 index 0000000000000000000000000000000000000000..412f22c4a5e97312d1a450c7884202c0f0087997 GIT binary patch literal 27047 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 HGU@mMt8Y3V literal 0 HcmV?d00001 diff --git a/.gradle/8.13/gc.properties b/.gradle/8.13/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000000000000000000000000000000000000..bbc5963a70d9886d0e3c9a9765d2b6efa84a7128 GIT binary patch literal 17 TcmZR+(=5-%@U`E70Rj{ODW3yf literal 0 HcmV?d00001 diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..1dd9a85 --- /dev/null +++ b/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Sun Apr 20 17:05:13 CEST 2025 +gradle.version=8.13 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000000000000000000000000000000000000..56fda31115e187d1f96013613c0ef29343487904 GIT binary patch literal 19019 zcmeI%Z%7ky9LMpW8ZI?$Jy5jNS!7e3W{sRm5|Y)qz#d2{3Q0IIs68{JzRkh zvBvN85KE8fr9&J+00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##An>mU>{o9jT)UZA zOYp+MYNrsHtJH&p^CxWEOm`D)+UY_+|9^0?-CFj3XGfpbrEA>XJ+0Hm%Ss*1r*R*c zxpSyH)sar~PVV<#wj0L$mg8Ethj4#dyWz^W9k=6Y&q40K2)ifr=wvYN9>e+ynBKlou;UleBJ+<{q>?t7UKHm$$U1nR~c+l3&pE>@4jW z=Dt?h0E!~O~=(0G{28~jknd`kbcraeVqG|>Wp&vwADm=rnuJ{-&JJ + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..70a7c38 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..4cb7457 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6ed36dd --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..1ee9e77 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +Generated by +Gradle 8.13 at Apr 20, 2025, 5:07:23 PM

+ + + + diff --git a/build/reports/tests/test/css/base-style.css b/build/reports/tests/test/css/base-style.css new file mode 100644 index 0000000..3ae6c58 --- /dev/null +++ b/build/reports/tests/test/css/base-style.css @@ -0,0 +1,174 @@ + +body { + margin: 0; + padding: 0; + font-family: sans-serif; + font-size: 12pt; +} + +body, a, a:visited { + color: #303030; +} + +#content { + padding: 30px 50px; +} + +#content h1 { + font-size: 160%; + margin-bottom: 10px; +} + +#footer { + margin-top: 100px; + font-size: 80%; + white-space: nowrap; +} + +#footer, #footer a { + color: #a0a0a0; +} + +#line-wrapping-toggle { + vertical-align: middle; +} + +#label-for-line-wrapping-toggle { + vertical-align: middle; +} + +ul { + margin-left: 0; +} + +h1, h2, h3 { + white-space: nowrap; +} + +h2 { + font-size: 120%; +} + +.tab-container .tab-container { + margin-left: 8px; +} + +ul.tabLinks { + padding: 0; + margin-bottom: 0; + overflow: auto; + min-width: 800px; + width: auto; + border-bottom: solid 1px #aaa; +} + +ul.tabLinks li { + float: left; + height: 100%; + list-style: none; + padding: 5px 10px; + border-radius: 7px 7px 0 0; + border: solid 1px transparent; + border-bottom: none; + margin-right: 6px; + background-color: #f0f0f0; +} + +ul.tabLinks li.deselected > a { + color: #6d6d6d; +} + +ul.tabLinks li:hover { + background-color: #fafafa; +} + +ul.tabLinks li.selected { + background-color: #c5f0f5; + border-color: #aaa; +} + +ul.tabLinks a { + font-size: 120%; + display: block; + outline: none; + text-decoration: none; + margin: 0; + padding: 0; +} + +ul.tabLinks li h2 { + margin: 0; + padding: 0; +} + +div.tab { +} + +div.selected { + display: block; +} + +div.deselected { + display: none; +} + +div.tab table { + min-width: 350px; + width: auto; + border-collapse: collapse; +} + +div.tab th, div.tab table { + border-bottom: solid 1px #d0d0d0; +} + +div.tab th { + text-align: left; + white-space: nowrap; + padding-left: 6em; +} + +div.tab th:first-child { + padding-left: 0; +} + +div.tab td { + white-space: nowrap; + padding-left: 6em; + padding-top: 5px; + padding-bottom: 5px; +} + +div.tab td:first-child { + padding-left: 0; +} + +div.tab td.numeric, div.tab th.numeric { + text-align: right; +} + +span.code { + display: inline-block; + margin-top: 0; + margin-bottom: 1em; +} + +span.code pre { + font-size: 11pt; + padding: 10px; + margin: 0; + background-color: #f7f7f7; + border: solid 1px #d0d0d0; + min-width: 700px; + width: auto; +} + +span.wrapped pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: break-all; +} + +label.hidden { + display: none; +} diff --git a/build/reports/tests/test/css/style.css b/build/reports/tests/test/css/style.css new file mode 100644 index 0000000..3dc4913 --- /dev/null +++ b/build/reports/tests/test/css/style.css @@ -0,0 +1,84 @@ + +#summary { + margin-top: 30px; + margin-bottom: 40px; +} + +#summary table { + border-collapse: collapse; +} + +#summary td { + vertical-align: top; +} + +.breadcrumbs, .breadcrumbs a { + color: #606060; +} + +.infoBox { + width: 110px; + padding-top: 15px; + padding-bottom: 15px; + text-align: center; +} + +.infoBox p { + margin: 0; +} + +.counter, .percent { + font-size: 120%; + font-weight: bold; + margin-bottom: 8px; +} + +#duration { + width: 125px; +} + +#successRate, .summaryGroup { + border: solid 2px #d0d0d0; + -moz-border-radius: 10px; + border-radius: 10px; +} + +#successRate { + width: 140px; + margin-left: 35px; +} + +#successRate .percent { + font-size: 180%; +} + +.success, .success a { + color: #008000; +} + +div.success, #successRate.success { + background-color: #bbd9bb; + border-color: #008000; +} + +.failures, .failures a { + color: #b60808; +} + +.skipped, .skipped a { + color: #c09853; +} + +div.failures, #successRate.failures { + background-color: #ecdada; + border-color: #b60808; +} + +ul.linkList { + padding-left: 0; +} + +ul.linkList li { + list-style: none; + margin-bottom: 5px; +} diff --git a/build/reports/tests/test/index.html b/build/reports/tests/test/index.html new file mode 100644 index 0000000..79e049e --- /dev/null +++ b/build/reports/tests/test/index.html @@ -0,0 +1,133 @@ + + + + + +Test results - Test Summary + + + + + +
+

Test Summary

+
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.385s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Packages

+ + + + + + + + + + + + + + + + + + + + + +
PackageTestsFailuresIgnoredDurationSuccess rate
+se.urmo.oauth2test +1000.385s100%
+
+
+

Classes

+ + + + + + + + + + + + + + + + + + + + + +
ClassTestsFailuresIgnoredDurationSuccess rate
+se.urmo.oauth2test.Oauth2testApplicationTests +1000.385s100%
+
+
+ +
+ + diff --git a/build/reports/tests/test/js/report.js b/build/reports/tests/test/js/report.js new file mode 100644 index 0000000..e246eba --- /dev/null +++ b/build/reports/tests/test/js/report.js @@ -0,0 +1,218 @@ +(function (window, document) { + "use strict"; + + function changeElementClass(element, classValue) { + if (element.getAttribute("className")) { + element.setAttribute("className", classValue); + } else { + element.setAttribute("class", classValue); + } + } + + function getClassAttribute(element) { + if (element.getAttribute("className")) { + return element.getAttribute("className"); + } else { + return element.getAttribute("class"); + } + } + + function addClass(element, classValue) { + changeElementClass(element, getClassAttribute(element) + " " + classValue); + } + + function removeClass(element, classValue) { + changeElementClass(element, getClassAttribute(element).replace(classValue, "")); + } + + function getCheckBox() { + return document.getElementById("line-wrapping-toggle"); + } + + function getLabelForCheckBox() { + return document.getElementById("label-for-line-wrapping-toggle"); + } + + function findCodeBlocks() { + const codeBlocks = []; + const tabContainers = getTabContainers(); + for (let i = 0; i < tabContainers.length; i++) { + const spans = tabContainers[i].getElementsByTagName("span"); + for (let i = 0; i < spans.length; ++i) { + if (spans[i].className.indexOf("code") >= 0) { + codeBlocks.push(spans[i]); + } + } + } + return codeBlocks; + } + + function forAllCodeBlocks(operation) { + const codeBlocks = findCodeBlocks(); + + for (let i = 0; i < codeBlocks.length; ++i) { + operation(codeBlocks[i], "wrapped"); + } + } + + function toggleLineWrapping() { + const checkBox = getCheckBox(); + + if (checkBox.checked) { + forAllCodeBlocks(addClass); + } else { + forAllCodeBlocks(removeClass); + } + } + + function initControls() { + if (findCodeBlocks().length > 0) { + const checkBox = getCheckBox(); + const label = getLabelForCheckBox(); + + checkBox.onclick = toggleLineWrapping; + checkBox.checked = false; + + removeClass(label, "hidden"); + } + } + + class TabManager { + baseId; + tabs; + titles; + headers; + + constructor(baseId, tabs, titles, headers) { + this.baseId = baseId; + this.tabs = tabs; + this.titles = titles; + this.headers = headers; + } + + select(i) { + this.deselectAll(); + + changeElementClass(this.tabs[i], "tab selected"); + changeElementClass(this.headers[i], "selected"); + + while (this.headers[i].firstChild) { + this.headers[i].removeChild(this.headers[i].firstChild); + } + + const a = document.createElement("a"); + + a.appendChild(document.createTextNode(this.titles[i])); + this.headers[i].appendChild(a); + } + + deselectAll() { + for (let i = 0; i < this.tabs.length; i++) { + changeElementClass(this.tabs[i], "tab deselected"); + changeElementClass(this.headers[i], "deselected"); + + while (this.headers[i].firstChild) { + this.headers[i].removeChild(this.headers[i].firstChild); + } + + const a = document.createElement("a"); + + const id = this.baseId + "-tab" + i; + a.setAttribute("id", id); + a.setAttribute("href", "#tab" + i); + a.onclick = () => { + this.select(i); + return false; + }; + a.appendChild(document.createTextNode(this.titles[i])); + + this.headers[i].appendChild(a); + } + } + } + + function getTabContainers() { + const tabContainers = Array.from(document.getElementsByClassName("tab-container")); + + // Used by existing TabbedPageRenderer users, which have not adjusted to use TabsRenderer yet. + const legacyContainer = document.getElementById("tabs"); + if (legacyContainer) { + tabContainers.push(legacyContainer); + } + + return tabContainers; + } + + function initTabs() { + let tabGroups = 0; + + function createTab(num, container) { + const tabElems = findTabs(container); + const tabManager = new TabManager("tabs" + num, tabElems, findTitles(tabElems), findHeaders(container)); + tabManager.select(0); + } + + const tabContainers = getTabContainers(); + + for (let i = 0; i < tabContainers.length; i++) { + createTab(tabGroups, tabContainers[i]); + tabGroups++; + } + + return true; + } + + function findTabs(container) { + return findChildElements(container, "DIV", "tab"); + } + + function findHeaders(container) { + const owner = findChildElements(container, "UL", "tabLinks"); + return findChildElements(owner[0], "LI", null); + } + + function findTitles(tabs) { + const titles = []; + + for (let i = 0; i < tabs.length; i++) { + const tab = tabs[i]; + const header = findChildElements(tab, "H2", null)[0]; + + header.parentNode.removeChild(header); + + if (header.innerText) { + titles.push(header.innerText); + } else { + titles.push(header.textContent); + } + } + + return titles; + } + + function findChildElements(container, name, targetClass) { + const elements = []; + const children = container.childNodes; + + for (let i = 0; i < children.length; i++) { + const child = children.item(i); + + if (child.nodeType === 1 && child.nodeName === name) { + if (targetClass && child.className.indexOf(targetClass) < 0) { + continue; + } + + elements.push(child); + } + } + + return elements; + } + + // Entry point. + + window.onload = function() { + initTabs(); + initControls(); + }; +} (window, window.document)); diff --git a/build/reports/tests/test/packages/se.urmo.oauth2test.html b/build/reports/tests/test/packages/se.urmo.oauth2test.html new file mode 100644 index 0000000..7fee62f --- /dev/null +++ b/build/reports/tests/test/packages/se.urmo.oauth2test.html @@ -0,0 +1,103 @@ + + + + + +Test results - Package se.urmo.oauth2test + + + + + +
+

Package se.urmo.oauth2test

+ +
+ + + + + +
+
+ + + + + + + +
+
+
1
+

tests

+
+
+
+
0
+

failures

+
+
+
+
0
+

ignored

+
+
+
+
0.385s
+

duration

+
+
+
+
+
+
100%
+

successful

+
+
+
+
+ +
+

Classes

+ + + + + + + + + + + + + + + + + + + +
ClassTestsFailuresIgnoredDurationSuccess rate
+Oauth2testApplicationTests +1000.385s100%
+
+
+ +
+ + diff --git a/build/resolvedMainClassName b/build/resolvedMainClassName new file mode 100644 index 0000000..697adf9 --- /dev/null +++ b/build/resolvedMainClassName @@ -0,0 +1 @@ +se.urmo.oauth2test.Oauth2testApplicationKt \ No newline at end of file diff --git a/build/resources/main/application.properties b/build/resources/main/application.properties new file mode 100644 index 0000000..670c40f --- /dev/null +++ b/build/resources/main/application.properties @@ -0,0 +1 @@ +spring.application.name=oauth2test diff --git a/build/test-results/test/TEST-se.urmo.oauth2test.Oauth2testApplicationTests.xml b/build/test-results/test/TEST-se.urmo.oauth2test.Oauth2testApplicationTests.xml new file mode 100644 index 0000000..6ccbf02 --- /dev/null +++ b/build/test-results/test/TEST-se.urmo.oauth2test.Oauth2testApplicationTests.xml @@ -0,0 +1,27 @@ + + + + + + + diff --git a/build/test-results/test/binary/output.bin b/build/test-results/test/binary/output.bin new file mode 100644 index 0000000000000000000000000000000000000000..7569014c8ee2f487864fcb0fa65fe8f12f4e48fd GIT binary patch literal 2420 zcmcImU2fbq5cc}frx>IU-mNX_XMejufVgo|IBA`rwb1}x!=)r@mo`^aNy^RwK2nd+ z1N61;Jw$th&QRJ-?AC@~LINa34u|v2uR5KrzqaG?G#XEng!RWUoSg{k;6|G(Vb0;` z`1L!`X3lJ7WH~PkUkW;74yjnCOD8@$X6vfb#<7F4)Q&r;%a^(=h+LCFH`1jHZIu$^o*&OSSPFAXD60VWH3l=(T18&a7ayS!$+v?G}lbAHu!JDn$Ne%u(AV6F=A)1$SGYvJBHxI|8_c+K zBi#aCG{{>JY^T%N`n$7H@F40xRl%v&?yi=9@+SBe_X%37Tl%!l@TwAql>1uOWezVs z(cX~aNk@R4XnPROW)KqbE^hh#?nTcpo6i~e zPQ+h#p$okk@x28kr{T6)&XC0~xcrQI4`#SaoO?**2PE+Q7P|f-^qTIO1MC9QVY>x} z15vaiKDm!K!=^WKKVLT_S}&WKc!bZx3*U*@Yh@3nQ)mnXWIp=5*SgnzHeiF^=FUHz zBua)sGzgODWaCc5c(fNK(lVvtxZCTAUdn7W}@}QuO z8;7C)SRB=s2;T5(4oS=+Hfmzw{m~&bB6TsS3`I@4g4(3K1X)6OYK5_({|=3)bl36Je{s~u8hGa9wSda#LMnlg* z0F&{T2jIu&aNcF zmKL(w7*RTf`BJDN;Lh=EL3i+2lsrX^xrIP8qrOD2#EZd_V@Y9fvcT&%QYp-^pmaIM z#6=~AT%xF5jcM2jB{=1NU3e~U4&O3(@ArV`IjrU27Be>RISNAWu5@i6ttD2Mn+10y zW-e@IWQvMF?(MZ*+}2sW#9O{lOkv?%Wv5|yi5`qcOzIG)km?>uj*!E44l->-sIVqj zN9XJPu;tAbZmGVCSf3R3XXodGACHfYznj8A6CI7H3zRz*qD1sq7<0&1C0}CIQmD=D zov2`Q!*eCV43#S^K9<)?*dPhXC2?kPSPI9|l@n>5=c|xbfnNsxtuSWski~Jx`;#;t z^(R9y8I6nKH+(dR`~9eh`lCdoVmwI3lZnVD|KSj{9M~l{-VJ`;fI2FGqxsFX%mh!R zl5T}&(25j~>aHyo&Z@B*dQ_7Wf)5|2d#}8M95%2I$b9sR(0b28=Hxr%B;1f2k}A!U z9;H(L;KPTP`4y8T7E5n>hD9?Irxw-Z{d|dr#mngOOYar*>gndyR#tB@k`o=%>$mmf XR6s5*8c^RfNpAg1gVOMOUcK`#-&YB% literal 0 HcmV?d00001 diff --git a/build/test-results/test/binary/output.bin.idx b/build/test-results/test/binary/output.bin.idx new file mode 100644 index 0000000000000000000000000000000000000000..91c109fc1eb4445ba35beb0b33ac3c5b7f44cfb9 GIT binary patch literal 69 dcmZQ%WMV)CtTF%5023PjKSTqYCWPjc1^_aHAe#UH literal 0 HcmV?d00001 diff --git a/build/test-results/test/binary/results.bin b/build/test-results/test/binary/results.bin new file mode 100644 index 0000000000000000000000000000000000000000..cca1f4be6e86844bf7142fb79baffdc498e2a06f GIT binary patch literal 128 zcmZQ(WL#IAs#jW+o3EFjSXz={RFYa;qUR51Iu;b5gg5S?|LS|S8|NWn)zuOXGe5JE1Bn;d$rN_%L7D@7s|QM5+3tAjDz2kKZ^_K$#)~LwzAV^Hcd;D{WYDI#cUpi z-&AL>yZ@}`dES9{9e>tMJWu9}**K{`@Y!3f%XDog>ANCtCjFyVx|%0NmDi@A$a187 zd|yuf<`Ko}4PcAo*avUvx)KNXpQFdz*4VFq}8 z2%wCS!`7l%Ixv_P0N91w2yFgo '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + 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 +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + 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 + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_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 + +# Use "xargs" to parse quoted 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 -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..9b42019 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@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 Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +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. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..3833867 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "oauth2test" diff --git a/src/main/kotlin/se/urmo/oauth2test/Oauth2testApplication.kt b/src/main/kotlin/se/urmo/oauth2test/Oauth2testApplication.kt new file mode 100644 index 0000000..4dca2c7 --- /dev/null +++ b/src/main/kotlin/se/urmo/oauth2test/Oauth2testApplication.kt @@ -0,0 +1,11 @@ +package se.urmo.oauth2test + +import org.springframework.boot.autoconfigure.SpringBootApplication +import org.springframework.boot.runApplication + +@SpringBootApplication +class Oauth2testApplication + +fun main(args: Array) { + runApplication(*args) +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..670c40f --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.application.name=oauth2test diff --git a/src/test/kotlin/se/urmo/oauth2test/Oauth2testApplicationTests.kt b/src/test/kotlin/se/urmo/oauth2test/Oauth2testApplicationTests.kt new file mode 100644 index 0000000..09f2afc --- /dev/null +++ b/src/test/kotlin/se/urmo/oauth2test/Oauth2testApplicationTests.kt @@ -0,0 +1,13 @@ +package se.urmo.oauth2test + +import org.junit.jupiter.api.Test +import org.springframework.boot.test.context.SpringBootTest + +@SpringBootTest +class Oauth2testApplicationTests { + + @Test + fun contextLoads() { + } + +}