diff --git a/.metadata/.lock b/.metadata/.lock deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.lock_info b/.metadata/.lock_info deleted file mode 100644 index 0ec633b..0000000 --- a/.metadata/.lock_info +++ /dev/null @@ -1,5 +0,0 @@ -#Tue Mar 03 07:39:34 CET 2026 -display=\:0 -host=Mario-Linux -process-id=8529 -user=mario diff --git a/.metadata/.log b/.metadata/.log deleted file mode 100644 index 90ec5c1..0000000 --- a/.metadata/.log +++ /dev/null @@ -1,727 +0,0 @@ -!SESSION 2026-03-01 17:26:52.316 ----------------------------------------------- -eclipse.buildId=4.38.0.20251204-0849 -java.version=21.0.9 -java.vendor=Eclipse Adoptium -BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE -Framework arguments: -product org.eclipse.epp.package.java.product -Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product - -!ENTRY ch.qos.logback.classic 1 0 2026-03-01 17:26:53.015 -!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized. - -!ENTRY ch.qos.logback.classic 1 0 2026-03-01 17:27:15.872 -!MESSAGE Logback config file: /home/mario/Workspaces/xxx-thegame/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.101.20251017-1242.xml - -!ENTRY org.eclipse.buildship.core 2 2 2026-03-01 17:27:54.195 -!MESSAGE Initialize project xxx-thegame, Update preview failed due to an error in the referenced Gradle build. -!STACK 0 -org.gradle.tooling.BuildException: Could not execute build using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-8.9-bin.zip'. - at org.gradle.tooling.internal.consumer.ConnectionExceptionTransformer.transform(ConnectionExceptionTransformer.java:53) - at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:42) - at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:68) - at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) - at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) - at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46) - at org.gradle.tooling.internal.consumer.DefaultBuildLauncher.run(DefaultBuildLauncher.java:82) - at org.eclipse.buildship.core.internal.workspace.InitializeNewProjectOperation.initProjectIfNotExists(InitializeNewProjectOperation.java:65) - at org.eclipse.buildship.core.internal.workspace.InitializeNewProjectOperation.runInToolingApi(InitializeNewProjectOperation.java:51) - at org.eclipse.buildship.core.internal.operation.ToolingApiOperations$1.runInToolingApi(ToolingApiOperations.java:55) - at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager$WorkspaceRunnableAdapter.run(DefaultToolingApiOperationManager.java:58) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2505) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2533) - at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager.run(DefaultToolingApiOperationManager.java:39) - at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager.run(DefaultToolingApiOperationManager.java:33) - at org.eclipse.buildship.ui.internal.wizard.project.ProjectPreviewWizardPage$4.run(ProjectPreviewWizardPage.java:307) - at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:123) -Caused by: org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ':init'. - at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:97) - at org.gradle.initialization.exception.DefaultExceptionAnalyser.collectFailures(DefaultExceptionAnalyser.java:63) - at org.gradle.initialization.exception.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:55) - at org.gradle.initialization.exception.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:39) - at org.gradle.internal.buildtree.DefaultBuildTreeFinishExecutor.finishBuildTree(DefaultBuildTreeFinishExecutor.java:56) - at org.gradle.composite.internal.OperationFiringBuildTreeFinishExecutor$1.call(OperationFiringBuildTreeFinishExecutor.java:46) - at org.gradle.composite.internal.OperationFiringBuildTreeFinishExecutor$1.call(OperationFiringBuildTreeFinishExecutor.java:42) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) - at org.gradle.composite.internal.OperationFiringBuildTreeFinishExecutor.finishBuildTree(OperationFiringBuildTreeFinishExecutor.java:42) - at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:125) - at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:169) - at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266) - at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:169) - at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) - at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:169) - at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:117) - at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:77) - at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:72) - at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:53) - at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) - at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49) - at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:65) - at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:140) - at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41) - at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40) - at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:130) - at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40) - at org.gradle.internal.buildtree.InitDeprecationLoggingActionExecutor.execute(InitDeprecationLoggingActionExecutor.java:62) - at org.gradle.internal.buildtree.InitProblems.execute(InitProblems.java:36) - at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40) - at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:71) - at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:60) - at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:71) - at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61) - at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) - at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57) - at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36) - at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:267) - at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:131) - at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36) - at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:110) - at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64) - at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46) - at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor$ActionImpl.apply(BuildSessionLifecycleBuildActionExecutor.java:92) - at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor$ActionImpl.apply(BuildSessionLifecycleBuildActionExecutor.java:80) - at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:71) - at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor.execute(BuildSessionLifecycleBuildActionExecutor.java:62) - at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor.execute(BuildSessionLifecycleBuildActionExecutor.java:41) - at org.gradle.internal.buildprocess.execution.StartParamsValidatingActionExecutor.execute(StartParamsValidatingActionExecutor.java:64) - at org.gradle.internal.buildprocess.execution.StartParamsValidatingActionExecutor.execute(StartParamsValidatingActionExecutor.java:32) - at org.gradle.internal.buildprocess.execution.SessionFailureReportingActionExecutor.execute(SessionFailureReportingActionExecutor.java:51) - at org.gradle.internal.buildprocess.execution.SessionFailureReportingActionExecutor.execute(SessionFailureReportingActionExecutor.java:39) - at org.gradle.internal.buildprocess.execution.SetupLoggingActionExecutor.execute(SetupLoggingActionExecutor.java:47) - at org.gradle.internal.buildprocess.execution.SetupLoggingActionExecutor.execute(SetupLoggingActionExecutor.java:31) - at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:70) - at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.ForwardClientInput.lambda$execute$0(ForwardClientInput.java:40) - at org.gradle.internal.daemon.clientinput.ClientInputForwarder.forwardInput(ClientInputForwarder.java:80) - at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:37) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:64) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63) - at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84) - at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) - at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) - at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52) - at org.gradle.launcher.daemon.server.DaemonStateCoordinator.lambda$runCommand$0(DaemonStateCoordinator.java:320) - at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) - at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) -Caused by: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':init'. - at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130) - at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:293) - at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:128) - at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116) - at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) - at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) - at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) - at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74) - at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) - at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) - at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) - at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) - at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) - at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42) - at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331) - at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318) - at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314) - at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85) - at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314) - at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303) - at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459) - at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376) - ... 2 more -Caused by: org.gradle.api.GradleException: Package name: '_xxx-thegame' is not valid - it may contain invalid characters or reserved words. - at org.gradle.buildinit.tasks.InitBuild.validatePackageName(InitBuild.java:399) - at org.gradle.buildinit.tasks.InitBuild.calculateGenerationSettings(InitBuild.java:307) - at org.gradle.api.internal.tasks.userinput.AbstractUserInputHandler$1.call(AbstractUserInputHandler.java:37) - at org.gradle.api.internal.provider.DefaultProvider.calculateOwnValue(DefaultProvider.java:72) - at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateOwnPresentValue(AbstractMinimalProvider.java:80) - at org.gradle.api.internal.provider.AbstractMinimalProvider.get(AbstractMinimalProvider.java:100) - at org.gradle.buildinit.tasks.InitBuild.setupProjectLayout(InitBuild.java:274) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125) - at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58) - at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51) - at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29) - at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:244) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) - at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) - at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:229) - at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:212) - at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:195) - at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:162) - at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105) - at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44) - at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59) - at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) - at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) - at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) - at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) - at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) - at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56) - at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44) - at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:42) - at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:75) - at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55) - at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:50) - at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:28) - at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:67) - at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:37) - at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:61) - at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:26) - at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:69) - at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:46) - at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:40) - at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:29) - at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:189) - at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:75) - at org.gradle.internal.Either$Right.fold(Either.java:175) - at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:62) - at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73) - at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48) - at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:46) - at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:35) - at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:75) - at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:53) - at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:53) - at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:35) - at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37) - at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27) - at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:49) - at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:27) - at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:71) - at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:39) - at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:65) - at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:36) - at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:105) - at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:54) - at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:64) - at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43) - at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.executeWithNonEmptySources(AbstractSkipEmptyWorkStep.java:125) - at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:56) - at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:36) - at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) - at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36) - at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23) - at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:75) - at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:41) - at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.lambda$execute$0(AssignMutableWorkspaceStep.java:35) - at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:289) - at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:31) - at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:22) - at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:40) - at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23) - at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:67) - at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:67) - at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:39) - at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:46) - at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:34) - at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:48) - at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:35) - at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:61) - at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:127) - ... 28 more -!SESSION 2026-03-01 18:42:10.624 ----------------------------------------------- -eclipse.buildId=4.38.0.20251204-0849 -java.version=21.0.9 -java.vendor=Eclipse Adoptium -BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE -Framework arguments: -product org.eclipse.epp.package.java.product -Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product -data /home/mario/Workspaces/xxx-thegame/ - -!ENTRY ch.qos.logback.classic 1 0 2026-03-01 18:42:11.339 -!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized. - -!ENTRY ch.qos.logback.classic 1 0 2026-03-01 18:42:11.793 -!MESSAGE Logback config file: /home/mario/Workspaces/xxx-thegame/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.101.20251017-1242.xml - -!ENTRY org.eclipse.equinox.p2.core 4 0 2026-03-01 19:33:56.546 -!MESSAGE Provisioning exception -!STACK 1 -org.eclipse.equinox.p2.core.ProvisionException: No repository found at https://download.eclipse.org/buildship/updates/e410/releases/3.x/3.1.10.v20250903-1508/. - at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:437) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:126) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.fail(CachingRepositoryManager.java:387) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:278) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.loadRepository(CachingRepositoryManager.java:586) - at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:128) - at org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager.loadRepository(IArtifactRepositoryManager.java:136) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.load(CompositeArtifactRepository.java:495) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.addChild(CompositeArtifactRepository.java:158) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.(CompositeArtifactRepository.java:79) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepositoryFactory.load(CompositeArtifactRepositoryFactory.java:127) - at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.factoryLoad(ArtifactRepositoryManager.java:94) - at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:853) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:126) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:447) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:230) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.loadRepository(CachingRepositoryManager.java:586) - at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:128) - at org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager.loadRepository(IArtifactRepositoryManager.java:136) - at org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog.lambda$10(MarketplaceCatalog.java:330) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -!SUBENTRY 1 org.eclipse.equinox.p2.artifact.repository 4 1000 2026-03-01 19:33:56.547 -!MESSAGE No repository found at https://download.eclipse.org/buildship/updates/e410/releases/3.x/3.1.10.v20250903-1508/. - -!ENTRY org.eclipse.epp.mpc.ui 1 2 2026-03-01 19:33:56.547 -!MESSAGE Skipping update check for repository 'https://download.eclipse.org/buildship/updates/e410/releases/3.x' - failed to read repository. Affected entries: -!STACK 1 -org.eclipse.equinox.p2.core.ProvisionException: Unable to read repository at https://download.eclipse.org/buildship/updates/e410/releases/3.x. - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.addChild(CompositeArtifactRepository.java:169) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.(CompositeArtifactRepository.java:79) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepositoryFactory.load(CompositeArtifactRepositoryFactory.java:127) - at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.factoryLoad(ArtifactRepositoryManager.java:94) - at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:853) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:126) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:447) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:230) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.loadRepository(CachingRepositoryManager.java:586) - at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:128) - at org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager.loadRepository(IArtifactRepositoryManager.java:136) - at org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog.lambda$10(MarketplaceCatalog.java:330) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -Caused by: org.eclipse.equinox.p2.core.ProvisionException: No repository found at https://download.eclipse.org/buildship/updates/e410/releases/3.x/3.1.10.v20250903-1508/. - at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:437) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:126) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.fail(CachingRepositoryManager.java:387) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:278) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.loadRepository(CachingRepositoryManager.java:586) - at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:128) - at org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager.loadRepository(IArtifactRepositoryManager.java:136) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.load(CompositeArtifactRepository.java:495) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.addChild(CompositeArtifactRepository.java:158) - ... 18 more -!SUBENTRY 1 org.eclipse.equinox.p2.artifact.repository 4 1002 2026-03-01 19:33:56.547 -!MESSAGE Unable to read repository at https://download.eclipse.org/buildship/updates/e410/releases/3.x. -!STACK 1 -org.eclipse.equinox.p2.core.ProvisionException: No repository found at https://download.eclipse.org/buildship/updates/e410/releases/3.x/3.1.10.v20250903-1508/. - at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:437) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:126) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.fail(CachingRepositoryManager.java:387) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:278) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.loadRepository(CachingRepositoryManager.java:586) - at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:128) - at org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager.loadRepository(IArtifactRepositoryManager.java:136) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.load(CompositeArtifactRepository.java:495) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.addChild(CompositeArtifactRepository.java:158) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository.(CompositeArtifactRepository.java:79) - at org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepositoryFactory.load(CompositeArtifactRepositoryFactory.java:127) - at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.factoryLoad(ArtifactRepositoryManager.java:94) - at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:853) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.eclipse.oomph.util.ReflectUtil.invokeMethod(ReflectUtil.java:126) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:447) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager.loadRepository(CachingRepositoryManager.java:230) - at org.eclipse.oomph.p2.internal.core.CachingRepositoryManager$Artifact.loadRepository(CachingRepositoryManager.java:586) - at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.loadRepository(ArtifactRepositoryManager.java:128) - at org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager.loadRepository(IArtifactRepositoryManager.java:136) - at org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog.lambda$10(MarketplaceCatalog.java:330) - at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) - at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) - at java.base/java.lang.Thread.run(Thread.java:1583) -!SUBENTRY 2 org.eclipse.equinox.p2.artifact.repository 4 1000 2026-03-01 19:33:56.547 -!MESSAGE No repository found at https://download.eclipse.org/buildship/updates/e410/releases/3.x/3.1.10.v20250903-1508/. -!SUBENTRY 1 org.eclipse.epp.mpc.ui 1 0 2026-03-01 19:33:56.547 -!MESSAGE Buildship Gradle Integration 3.0 - -!ENTRY org.eclipse.ui 4 0 2026-03-01 19:33:56.570 -!MESSAGE Unhandled event loop exception -!STACK 0 -java.lang.IllegalArgumentException: Argument not valid - at org.eclipse.swt.SWT.error(SWT.java:4931) - at org.eclipse.swt.SWT.error(SWT.java:4865) - at org.eclipse.swt.SWT.error(SWT.java:4836) - at org.eclipse.swt.graphics.Image.init(Image.java:1334) - at org.eclipse.swt.graphics.Image.(Image.java:219) - at org.eclipse.equinox.internal.p2.ui.discovery.util.GradientCanvas.onPaint(GradientCanvas.java:168) - at org.eclipse.equinox.internal.p2.ui.discovery.util.GradientCanvas.lambda$0(GradientCanvas.java:81) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) - at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5894) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1656) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1682) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1665) - at org.eclipse.swt.widgets.Control.gtk_draw(Control.java:3902) - at org.eclipse.swt.widgets.Scrollable.gtk_draw(Scrollable.java:394) - at org.eclipse.swt.widgets.Composite.gtk_draw(Composite.java:507) - at org.eclipse.swt.widgets.Canvas.gtk_draw(Canvas.java:173) - at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2614) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:6854) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:6201) - at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_do_event(Native Method) - at org.eclipse.swt.widgets.Display.eventProc(Display.java:1624) - at org.eclipse.swt.internal.gtk3.GTK3.gtk_main_iteration_do(Native Method) - at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.execAsyncAndWaitForReturn(WebKit.java:1397) - at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.runjavascript(WebKit.java:1084) - at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.evaluate(WebKit.java:1041) - at org.eclipse.swt.browser.WebKit.evaluate(WebKit.java:1414) - at org.eclipse.swt.browser.WebKit.close(WebKit.java:902) - at org.eclipse.swt.browser.WebKit.onDispose(WebKit.java:1907) - at org.eclipse.swt.browser.WebKit.lambda$5(WebKit.java:791) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) - at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5894) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1656) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1682) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1661) - at org.eclipse.swt.widgets.Widget.release(Widget.java:1400) - at org.eclipse.swt.widgets.Control.release(Control.java:4748) - at org.eclipse.swt.widgets.Widget.dispose(Widget.java:576) - at org.eclipse.epp.internal.mpc.ui.wizards.AbstractMarketplaceDiscoveryItem.computeBrowserAvailable(AbstractMarketplaceDiscoveryItem.java:521) - at org.eclipse.epp.internal.mpc.ui.wizards.AbstractMarketplaceDiscoveryItem.createInfoLink(AbstractMarketplaceDiscoveryItem.java:394) - at org.eclipse.epp.internal.mpc.ui.wizards.AbstractMarketplaceDiscoveryItem.createDescription(AbstractMarketplaceDiscoveryItem.java:341) - at org.eclipse.epp.internal.mpc.ui.wizards.AbstractMarketplaceDiscoveryItem.createContent(AbstractMarketplaceDiscoveryItem.java:241) - at org.eclipse.epp.internal.mpc.ui.wizards.AbstractMarketplaceDiscoveryItem.createContent(AbstractMarketplaceDiscoveryItem.java:203) - at org.eclipse.epp.internal.mpc.ui.wizards.AbstractMarketplaceDiscoveryItem.(AbstractMarketplaceDiscoveryItem.java:168) - at org.eclipse.epp.internal.mpc.ui.wizards.DiscoveryItem.(DiscoveryItem.java:86) - at org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceViewer.createDiscoveryItem(MarketplaceViewer.java:462) - at org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceViewer.doCreateViewerItem(MarketplaceViewer.java:412) - at org.eclipse.equinox.internal.p2.ui.discovery.wizards.CatalogViewer$3.doCreateItem(CatalogViewer.java:342) - at org.eclipse.equinox.internal.p2.ui.discovery.util.ControlListViewer.createNewItem(ControlListViewer.java:241) - at org.eclipse.equinox.internal.p2.ui.discovery.util.ControlListViewer.refreshAll(ControlListViewer.java:483) - at org.eclipse.equinox.internal.p2.ui.discovery.util.ControlListViewer.inputChanged(ControlListViewer.java:355) - at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:279) - at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1639) - at org.eclipse.equinox.internal.p2.ui.discovery.wizards.CatalogViewer.catalogUpdated(CatalogViewer.java:248) - at org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceViewer.access$3(MarketplaceViewer.java:1) - at org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceViewer.lambda$1(MarketplaceViewer.java:354) - at org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceViewer.runUpdate(MarketplaceViewer.java:712) - at org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceViewer.catalogUpdated(MarketplaceViewer.java:353) - at org.eclipse.equinox.internal.p2.ui.discovery.wizards.CatalogViewer.updateCatalog(CatalogViewer.java:588) - at org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceViewer.updateCatalog(MarketplaceViewer.java:989) - at org.eclipse.epp.internal.mpc.ui.wizards.MarketplacePage.safeUpdateCatalog(MarketplacePage.java:798) - at org.eclipse.epp.internal.mpc.ui.wizards.MarketplacePage.lambda$4(MarketplacePage.java:786) - at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) - at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132) - at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:5084) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4549) - at org.eclipse.jface.window.Window.runEventLoop(Window.java:824) - at org.eclipse.jface.window.Window.open(Window.java:804) - at org.eclipse.epp.internal.mpc.ui.commands.AbstractMarketplaceWizardCommand.openWizardDialog(AbstractMarketplaceWizardCommand.java:146) - at org.eclipse.epp.internal.mpc.ui.commands.AbstractMarketplaceWizardCommand.execute(AbstractMarketplaceWizardCommand.java:73) - at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:277) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:98) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:237) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:174) - at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:165) - at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488) - at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:484) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:204) - at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:446) - at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:471) - at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:493) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91) - at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5894) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1656) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5109) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4546) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1147) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1038) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) - at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:677) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:583) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:173) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:185) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298) - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) - at java.base/java.lang.reflect.Method.invoke(Method.java:580) - at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:615) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:563) - at org.eclipse.equinox.launcher.Main.run(Main.java:1415) - at org.eclipse.equinox.launcher.Main.main(Main.java:1387) -!SESSION 2026-03-01 19:35:39.848 ----------------------------------------------- -eclipse.buildId=4.38.0.20251204-0849 -java.version=21.0.9 -java.vendor=Eclipse Adoptium -BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE -Framework arguments: -product org.eclipse.epp.package.java.product -Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product -data file:/home/mario/Workspaces/xxx-thegame/ - -!ENTRY ch.qos.logback.classic 1 0 2026-03-01 19:35:41.034 -!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized. - -!ENTRY ch.qos.logback.classic 1 0 2026-03-01 19:35:41.838 -!MESSAGE Logback config file: /home/mario/Workspaces/xxx-thegame/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.101.20251017-1242.xml - -!ENTRY org.eclipse.ui 2 0 2026-03-01 19:35:41.959 -!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. -!SUBENTRY 1 org.eclipse.ui 2 0 2026-03-01 19:35:41.959 -!MESSAGE Commands should really have a category: plug-in='org.springframework.tooling.boot.ls', id='spring.initializr.addStarters', categoryId='org.eclipse.lsp4e.commandCategory' - -!ENTRY org.eclipse.ui 2 0 2026-03-01 19:35:42.071 -!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. -!SUBENTRY 1 org.eclipse.ui 2 0 2026-03-01 19:35:42.071 -!MESSAGE Commands should really have a category: plug-in='org.springframework.tooling.boot.ls', id='spring.initializr.addStarters', categoryId='org.eclipse.lsp4e.commandCategory' -!SESSION 2026-03-02 07:06:00.104 ----------------------------------------------- -eclipse.buildId=4.38.0.20251204-0849 -java.version=21.0.9 -java.vendor=Eclipse Adoptium -BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE -Framework arguments: -product org.eclipse.epp.package.java.product -Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product - -!ENTRY ch.qos.logback.classic 1 0 2026-03-02 07:06:04.976 -!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized. - -!ENTRY ch.qos.logback.classic 1 0 2026-03-02 07:06:09.939 -!MESSAGE Logback config file: /home/mario/Workspaces/xxx-thegame/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.101.20251017-1242.xml - -!ENTRY org.eclipse.ui 2 0 2026-03-02 07:06:10.126 -!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. -!SUBENTRY 1 org.eclipse.ui 2 0 2026-03-02 07:06:10.126 -!MESSAGE Commands should really have a category: plug-in='org.springframework.tooling.boot.ls', id='spring.initializr.addStarters', categoryId='org.eclipse.lsp4e.commandCategory' - -!ENTRY org.eclipse.ui 2 0 2026-03-02 07:06:10.280 -!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. -!SUBENTRY 1 org.eclipse.ui 2 0 2026-03-02 07:06:10.280 -!MESSAGE Commands should really have a category: plug-in='org.springframework.tooling.boot.ls', id='spring.initializr.addStarters', categoryId='org.eclipse.lsp4e.commandCategory' - -!ENTRY org.eclipse.jface 2 0 2026-03-02 07:17:32.622 -!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. -!SUBENTRY 1 org.eclipse.jface 2 0 2026-03-02 07:17:32.622 -!MESSAGE A conflict occurred for CTRL+SHIFT+T: -Binding(CTRL+SHIFT+T, - ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, - Open a type in a Java editor, - Category(org.eclipse.ui.category.navigate,Navigate,null,true), - WorkbenchHandlerServiceHandler("org.eclipse.jdt.ui.navigate.open.type"), - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.contexts.window,,,system) -Binding(CTRL+SHIFT+T, - ParameterizedCommand(Command(org.eclipse.lsp4e.symbolInWorkspace,Go to Symbol in Workspace, - , - Category(org.eclipse.lsp4e.category,Language Servers,null,true), - WorkbenchHandlerServiceHandler("org.eclipse.lsp4e.symbolInWorkspace"), - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.contexts.window,,,system) - -!ENTRY org.eclipse.debug.core 4 125 2026-03-02 07:17:32.817 -!MESSAGE Error logged from Debug Core: -!STACK 0 -java.io.IOException: Stream closed - at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:188) - at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:343) - at java.base/java.io.BufferedInputStream.implRead(BufferedInputStream.java:420) - at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:405) - at java.base/java.io.FilterInputStream.read(FilterInputStream.java:95) - at org.eclipse.debug.internal.core.OutputStreamMonitor.internalRead(OutputStreamMonitor.java:235) - at org.eclipse.debug.internal.core.OutputStreamMonitor.read(OutputStreamMonitor.java:211) - at java.base/java.lang.Thread.run(Thread.java:1583) - -!ENTRY org.eclipse.lsp4e 2 0 2026-03-02 11:04:28.836 -!MESSAGE Javadoc unavailable. Failed to obtain it. -!STACK 0 -java.lang.InterruptedException - at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386) - at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) - at org.eclipse.lsp4e.jdt.LSJavaHoverProvider.getHoverInfo2(LSJavaHoverProvider.java:66) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:165) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:131) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:89) - at org.eclipse.jface.text.TextViewerHoverManager$1.run(TextViewerHoverManager.java:155) -!SESSION 2026-03-02 18:52:12.395 ----------------------------------------------- -eclipse.buildId=4.38.0.20251204-0849 -java.version=21.0.9 -java.vendor=Eclipse Adoptium -BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE -Framework arguments: -product org.eclipse.epp.package.java.product -Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product - -!ENTRY ch.qos.logback.classic 1 0 2026-03-02 18:52:17.211 -!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized. - -!ENTRY ch.qos.logback.classic 1 0 2026-03-02 18:52:30.891 -!MESSAGE Logback config file: /home/mario/Workspaces/xxx-thegame/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.101.20251017-1242.xml - -!ENTRY org.eclipse.ui 2 0 2026-03-02 18:52:31.083 -!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. -!SUBENTRY 1 org.eclipse.ui 2 0 2026-03-02 18:52:31.083 -!MESSAGE Commands should really have a category: plug-in='org.springframework.tooling.boot.ls', id='spring.initializr.addStarters', categoryId='org.eclipse.lsp4e.commandCategory' - -!ENTRY org.eclipse.ui 2 0 2026-03-02 18:52:31.215 -!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. -!SUBENTRY 1 org.eclipse.ui 2 0 2026-03-02 18:52:31.215 -!MESSAGE Commands should really have a category: plug-in='org.springframework.tooling.boot.ls', id='spring.initializr.addStarters', categoryId='org.eclipse.lsp4e.commandCategory' - -!ENTRY org.eclipse.jface 2 0 2026-03-02 19:47:48.567 -!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. -!SUBENTRY 1 org.eclipse.jface 2 0 2026-03-02 19:47:48.567 -!MESSAGE A conflict occurred for CTRL+SHIFT+T: -Binding(CTRL+SHIFT+T, - ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, - Open a type in a Java editor, - Category(org.eclipse.ui.category.navigate,Navigate,null,true), - WorkbenchHandlerServiceHandler("org.eclipse.jdt.ui.navigate.open.type"), - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.contexts.window,,,system) -Binding(CTRL+SHIFT+T, - ParameterizedCommand(Command(org.eclipse.lsp4e.symbolInWorkspace,Go to Symbol in Workspace, - , - Category(org.eclipse.lsp4e.category,Language Servers,null,true), - WorkbenchHandlerServiceHandler("org.eclipse.lsp4e.symbolInWorkspace"), - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.contexts.window,,,system) - -!ENTRY org.eclipse.debug.core 4 125 2026-03-02 20:36:48.515 -!MESSAGE Error logged from Debug Core: -!STACK 0 -java.io.IOException: Stream closed - at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:188) - at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:343) - at java.base/java.io.BufferedInputStream.implRead(BufferedInputStream.java:420) - at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:405) - at java.base/java.io.FilterInputStream.read(FilterInputStream.java:95) - at org.eclipse.debug.internal.core.OutputStreamMonitor.internalRead(OutputStreamMonitor.java:235) - at org.eclipse.debug.internal.core.OutputStreamMonitor.read(OutputStreamMonitor.java:211) - at java.base/java.lang.Thread.run(Thread.java:1583) -!SESSION 2026-03-03 07:39:25.427 ----------------------------------------------- -eclipse.buildId=4.38.0.20251204-0849 -java.version=21.0.9 -java.vendor=Eclipse Adoptium -BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE -Framework arguments: -product org.eclipse.epp.package.java.product -Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product - -!ENTRY ch.qos.logback.classic 1 0 2026-03-03 07:39:30.215 -!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized. - -!ENTRY ch.qos.logback.classic 1 0 2026-03-03 07:39:35.273 -!MESSAGE Logback config file: /home/mario/Workspaces/xxx-thegame/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.101.20251017-1242.xml - -!ENTRY org.eclipse.ui 2 0 2026-03-03 07:39:35.456 -!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. -!SUBENTRY 1 org.eclipse.ui 2 0 2026-03-03 07:39:35.456 -!MESSAGE Commands should really have a category: plug-in='org.springframework.tooling.boot.ls', id='spring.initializr.addStarters', categoryId='org.eclipse.lsp4e.commandCategory' - -!ENTRY org.eclipse.ui 2 0 2026-03-03 07:39:35.586 -!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points. -!SUBENTRY 1 org.eclipse.ui 2 0 2026-03-03 07:39:35.586 -!MESSAGE Commands should really have a category: plug-in='org.springframework.tooling.boot.ls', id='spring.initializr.addStarters', categoryId='org.eclipse.lsp4e.commandCategory' - -!ENTRY org.eclipse.jface 2 0 2026-03-03 07:56:04.643 -!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. -!SUBENTRY 1 org.eclipse.jface 2 0 2026-03-03 07:56:04.643 -!MESSAGE A conflict occurred for CTRL+SHIFT+T: -Binding(CTRL+SHIFT+T, - ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, - Open a type in a Java editor, - Category(org.eclipse.ui.category.navigate,Navigate,null,true), - WorkbenchHandlerServiceHandler("org.eclipse.jdt.ui.navigate.open.type"), - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.contexts.window,,,system) -Binding(CTRL+SHIFT+T, - ParameterizedCommand(Command(org.eclipse.lsp4e.symbolInWorkspace,Go to Symbol in Workspace, - , - Category(org.eclipse.lsp4e.category,Language Servers,null,true), - WorkbenchHandlerServiceHandler("org.eclipse.lsp4e.symbolInWorkspace"), - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.contexts.window,,,system) - -!ENTRY org.eclipse.lsp4e 2 0 2026-03-03 15:57:21.578 -!MESSAGE Javadoc unavailable. Failed to obtain it. -!STACK 0 -java.lang.InterruptedException - at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386) - at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) - at org.eclipse.lsp4e.jdt.LSJavaHoverProvider.getHoverInfo2(LSJavaHoverProvider.java:66) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:165) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:131) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:89) - at org.eclipse.jface.text.TextViewerHoverManager$1.run(TextViewerHoverManager.java:155) - -!ENTRY org.eclipse.lsp4e 2 0 2026-03-03 15:59:16.948 -!MESSAGE Javadoc unavailable. Failed to obtain it. -!STACK 0 -java.lang.InterruptedException - at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386) - at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) - at org.eclipse.lsp4e.jdt.LSJavaHoverProvider.getHoverInfo2(LSJavaHoverProvider.java:66) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:165) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:131) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:89) - at org.eclipse.jface.text.TextViewerHoverManager$1.run(TextViewerHoverManager.java:155) - -!ENTRY org.eclipse.lsp4e 2 0 2026-03-03 16:03:19.413 -!MESSAGE Javadoc unavailable. Failed to obtain it. -!STACK 0 -java.lang.InterruptedException - at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386) - at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) - at org.eclipse.lsp4e.jdt.LSJavaHoverProvider.getHoverInfo2(LSJavaHoverProvider.java:66) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:165) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:131) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:89) - at org.eclipse.jface.text.TextViewerHoverManager$1.run(TextViewerHoverManager.java:155) diff --git a/.metadata/.mylyn/repositories.xml.zip b/.metadata/.mylyn/repositories.xml.zip deleted file mode 100644 index 28c94b4..0000000 Binary files a/.metadata/.mylyn/repositories.xml.zip and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.buildship.core/gradle/versions.json b/.metadata/.plugins/org.eclipse.buildship.core/gradle/versions.json deleted file mode 100644 index 67bd296..0000000 --- a/.metadata/.plugins/org.eclipse.buildship.core/gradle/versions.json +++ /dev/null @@ -1,8118 +0,0 @@ -[ { - "version" : "9.4.0-20260302013914+0000", - "buildTime" : "20260302013914+0000", - "commitId" : "3c885266535b1a7076dbecff4aac4830bd85a74b", - "current" : false, - "snapshot" : true, - "nightly" : false, - "releaseNightly" : true, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.4.0-20260302013914+0000-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.4.0-20260302013914+0000-bin.zip.sha256", - "checksum" : "1e225dd94668c5a4d5889c63d8a7e6d48b9750b68cc24d22afe407d56583fc5f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.4.0-20260302013914+0000-wrapper.jar.sha256", - "wrapperChecksum" : "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c" -}, { - "version" : "9.5.0-20260302000223+0000", - "buildTime" : "20260302000223+0000", - "commitId" : "95405f4d8f3894f368fd90697eebd275f3d9a22d", - "current" : false, - "snapshot" : true, - "nightly" : true, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.5.0-20260302000223+0000-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.5.0-20260302000223+0000-bin.zip.sha256", - "checksum" : "434486e384ac04fbe16ae2bda2f4c9373cfe9f620aff4f5cc9c51f06e6f001ab", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions-snapshots/gradle-9.5.0-20260302000223+0000-wrapper.jar.sha256", - "wrapperChecksum" : "7ef3d73bd95c047814d76ec8324f72deefb96593eb9ce87aa06ecdcdaba7ffe8" -}, { - "version" : "9.4.0-rc-2", - "buildTime" : "20260227092055+0000", - "commitId" : "b5fe9efed6cae7b9f2fbdb2d380fb69af16bb752", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : true, - "rcFor" : "9.4.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-rc-2-bin.zip.sha256", - "checksum" : "1386475e18bc4b8f885d9573b1194b44462e7ab2b9afb6d70ad9f39cdfaf2d6e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c" -}, { - "version" : "9.5.0-milestone-5", - "buildTime" : "20260227090120+0000", - "commitId" : "7928ff898563f1f324eb29a5b1d40d43798fe992", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.5.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-5-bin.zip.sha256", - "checksum" : "1bacc1c689e2c1e109208ce941a7695d2edeba5cbfc4bc2a99524147c02e6e35", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-5-wrapper.jar.sha256", - "wrapperChecksum" : "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c" -}, { - "version" : "9.5.0-milestone-4", - "buildTime" : "20260226092909+0000", - "commitId" : "84fcf1dafd5cd2c8502c58c2fdbbca9bb2468257", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.5.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-4-bin.zip.sha256", - "checksum" : "56d75507accf46250ab19d11eb222bcb72a2a8bc70a7abea23c4edbaa7f2b2ad", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-4-wrapper.jar.sha256", - "wrapperChecksum" : "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c" -}, { - "version" : "9.5.0-milestone-3", - "buildTime" : "20260216080935+0000", - "commitId" : "8e03e4fe12db77236cde88285c9fc04f4e89d0c1", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.5.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-3-bin.zip.sha256", - "checksum" : "3721d2a837d9836a104a5e47fcf644fafed81eb14f4405ecebf9044d6a44a2c4", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c" -}, { - "version" : "9.5.0-milestone-2", - "buildTime" : "20260211140745+0000", - "commitId" : "c6762aa64d21254851c842b7d89f9d08e33a5344", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.5.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-2-bin.zip.sha256", - "checksum" : "afcaf8f53216d213ffca406d913fd651678397ff1ff9a0e0cd165c55c35c1954", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c" -}, { - "version" : "9.4.0-rc-1", - "buildTime" : "20260208025655+0000", - "commitId" : "a2da7f311fe4699328dbcef381bc459c2f757e3e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.4.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-rc-1-bin.zip.sha256", - "checksum" : "2341e5f62ce4ce9d1f51395b47428a6d53e972bc0a3f9d2bf2da5a294610c703", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c" -}, { - "version" : "9.3.1", - "buildTime" : "20260129141501+0000", - "commitId" : "44f4e8d3122ee6e7cbf5a248d7e20b4ca666bda3", - "current" : true, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.3.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.1-bin.zip.sha256", - "checksum" : "b266d5ff6b90eada6dc3b20cb090e3731302e553a27c5d3e4df1f0d76beaff06", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.1-wrapper.jar.sha256", - "wrapperChecksum" : "b3a875ddc1f044746e1b1a55f645584505f4a10438c1afea9f15e92a7c42ec13" -}, { - "version" : "9.5.0-milestone-1", - "buildTime" : "20260129132921+0000", - "commitId" : "6e1fb6d39530a68fd3d52eb274324eab142baa5b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.5.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-1-bin.zip.sha256", - "checksum" : "aa937f5607d8729dbcd99cfb923c73cf7d54051cb1d73be41566e3865c876269", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.5.0-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c" -}, { - "version" : "8.14.4", - "buildTime" : "20260123163023+0000", - "commitId" : "ad5ff774b4b0e9a8a0cf1a14ca70d7230003c3ad", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14.4-bin.zip.sha256", - "checksum" : "f1771298a70f6db5a29daf62378c4e18a17fc33c9ba6b14362e0cdf40610380d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14.4-wrapper.jar.sha256", - "wrapperChecksum" : "7d3a4ac4de1c32b59bc6a4eb8ecb8e612ccd0cf1ae1e99f66902da64df296172" -}, { - "version" : "9.4.0-milestone-5", - "buildTime" : "20260123123336+0000", - "commitId" : "dd2cf7f3826b2da07d8d6de488a2d1bc5651ca7d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.4.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-5-bin.zip.sha256", - "checksum" : "9426691ebe1a0db4729a181d86b38234b44ed48a013b4f106fa090eacb13c2eb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-5-wrapper.jar.sha256", - "wrapperChecksum" : "55243ef57851f12b070ad14f7f5bb8302daceeebc5bce5ece5fa6edb23e1145c" -}, { - "version" : "9.3.0", - "buildTime" : "20260116111422+0000", - "commitId" : "701205ed2f78811508466c8e1952304c2ea869f5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-bin.zip.sha256", - "checksum" : "0d585f69da091fc5b2beced877feab55a3064d43b8a1d46aeb07996b0915e0e0", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-wrapper.jar.sha256", - "wrapperChecksum" : "b3a875ddc1f044746e1b1a55f645584505f4a10438c1afea9f15e92a7c42ec13" -}, { - "version" : "9.3.0-rc-3", - "buildTime" : "20260112110023+0000", - "commitId" : "8dd290bb13b269e80427d1c5ac5ba071dd77c211", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.3.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-rc-3-bin.zip.sha256", - "checksum" : "d18ae4e38c4572d1e1546d585110c807f13476223e063b40324f891bf7b5e39c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "b3a875ddc1f044746e1b1a55f645584505f4a10438c1afea9f15e92a7c42ec13" -}, { - "version" : "9.4.0-milestone-4", - "buildTime" : "20251226090225+0000", - "commitId" : "5478a4a62071a9f97660cb5f99abac82cb85eab7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.4.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-4-bin.zip.sha256", - "checksum" : "599f4cb180b3780ca83859e84b072b951156f0af4554d7d21654cc4429c47284", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-4-wrapper.jar.sha256", - "wrapperChecksum" : "08f6dc44dc11cd44fdf485274f3262acd459acbcbc3c1160da2d530cecc9d1ad" -}, { - "version" : "9.3.0-rc-2", - "buildTime" : "20251224090548+0000", - "commitId" : "02c7d66609684db888d7324300770ad59c295291", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.3.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-rc-2-bin.zip.sha256", - "checksum" : "a3c1f84c0519f57a3cf6b0c8f9e2a80ece6e75aadb554ead218a4c71d4f2a901", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "b3a875ddc1f044746e1b1a55f645584505f4a10438c1afea9f15e92a7c42ec13" -}, { - "version" : "9.4.0-milestone-3", - "buildTime" : "20251202075550+0000", - "commitId" : "8d9cbbb408ff3c4cd499ac46c358cff1fc490227", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.4.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-3-bin.zip.sha256", - "checksum" : "2c2402e0741735bf96742d834ccc236d1b6ebef8f3b249df059a0f19cce07efc", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "b3a875ddc1f044746e1b1a55f645584505f4a10438c1afea9f15e92a7c42ec13" -}, { - "version" : "9.3.0-rc-1", - "buildTime" : "20251128163838+0000", - "commitId" : "7103de78a66088931f83b1eea19b299af989c114", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.3.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-rc-1-bin.zip.sha256", - "checksum" : "e03f4a72f4fa7160823cf9d602c8e06f9be818c454536bdf13739fe96902c21c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "b3a875ddc1f044746e1b1a55f645584505f4a10438c1afea9f15e92a7c42ec13" -}, { - "version" : "9.3.0-milestone-2", - "buildTime" : "20251126100558+0000", - "commitId" : "590ab5b91ff01acdafce939cdf6a6c8a21c0760a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.3.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-milestone-2-bin.zip.sha256", - "checksum" : "aefd1d28321c1c5f700f11c697acfb7d0318ae88f3f1b71d0ecbdadfd7eadbb6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "b3a875ddc1f044746e1b1a55f645584505f4a10438c1afea9f15e92a7c42ec13" -}, { - "version" : "9.4.0-milestone-2", - "buildTime" : "20251121214025+0000", - "commitId" : "9fe2118fed52d1925a19acf16fed9be083cd449a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.4.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-2-bin.zip.sha256", - "checksum" : "279f47796403c4dc7660a4e126948ba9813fa0ae776762f1b28f32b4fce46625", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "b3a875ddc1f044746e1b1a55f645584505f4a10438c1afea9f15e92a7c42ec13" -}, { - "version" : "9.4.0-milestone-1", - "buildTime" : "20251119221522+0000", - "commitId" : "ad03b1c1840b420d7bd866835e399610c2f31510", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.4.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-1-bin.zip.sha256", - "checksum" : "12d4bad5c207a83f8a28a9939bafead9bf37225b3cb2a15c774422eaa5246419", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.4.0-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "b3a875ddc1f044746e1b1a55f645584505f4a10438c1afea9f15e92a7c42ec13" -}, { - "version" : "9.2.1", - "buildTime" : "20251117134048+0000", - "commitId" : "30ecdc708db275e8f8769ea0620f6dd919a58f76", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.2.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.1-bin.zip.sha256", - "checksum" : "72f44c9f8ebcb1af43838f45ee5c4aa9c5444898b3468ab3f4af7b6076c5bc3f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.1-wrapper.jar.sha256", - "wrapperChecksum" : "423cb469ccc0ecc31f0e4e1c309976198ccb734cdcbb7029d4bda0f18f57e8d9" -}, { - "version" : "9.3.0-milestone-1", - "buildTime" : "20251104131839+0000", - "commitId" : "d28b435db30c93c2501d0434266a9026fc4d2483", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.3.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-milestone-1-bin.zip.sha256", - "checksum" : "b53d70b79bc4652f66e7f85a50b8a12537171ddee64b3fdc761921bde7761c19", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.3.0-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "d652a0436e78e0cd4d00f52057fcf2179163762a71a02370ec7623ab8f84c334" -}, { - "version" : "9.2.0", - "buildTime" : "20251029135323+0000", - "commitId" : "d9d6bbce03b3d88c67ef5a0ff31f7ae5e332d6bf", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-bin.zip.sha256", - "checksum" : "df67a32e86e3276d011735facb1535f64d0d88df84fa87521e90becc2d735444", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-wrapper.jar.sha256", - "wrapperChecksum" : "423cb469ccc0ecc31f0e4e1c309976198ccb734cdcbb7029d4bda0f18f57e8d9" -}, { - "version" : "9.2.0-rc-3", - "buildTime" : "20251024101831+0000", - "commitId" : "8a6b6c9294de54f1eae1b62e4155ee02153f1f6c", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.2.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-rc-3-bin.zip.sha256", - "checksum" : "8f29578613e216bde733f1a160076ae7b889b46f9802c731e20f0c43c4586fae", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "423cb469ccc0ecc31f0e4e1c309976198ccb734cdcbb7029d4bda0f18f57e8d9" -}, { - "version" : "9.2.0-rc-2", - "buildTime" : "20251017103705+0000", - "commitId" : "2759e2f4d683d6d48b2da682aee1ed15d5242462", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.2.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-rc-2-bin.zip.sha256", - "checksum" : "054e3862d342ba9965127f80e1c56048bff2228e6d548ddd604b739c329893af", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "423cb469ccc0ecc31f0e4e1c309976198ccb734cdcbb7029d4bda0f18f57e8d9" -}, { - "version" : "9.2.0-rc-1", - "buildTime" : "20251003125514+0000", - "commitId" : "17156c692b5e460d4e68b0b4342c0c7872a4a6d9", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.2.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-rc-1-bin.zip.sha256", - "checksum" : "2fdde961d051e8fc4c9918aa40d3eee24fd9f1d32f705f517af9c89d758af3be", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "423cb469ccc0ecc31f0e4e1c309976198ccb734cdcbb7029d4bda0f18f57e8d9" -}, { - "version" : "9.1.0", - "buildTime" : "20250918130556+0000", - "commitId" : "e45a8dbf2470c2e2474ccc25be9f49331406a07e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-bin.zip.sha256", - "checksum" : "a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "9.2.0-milestone-2", - "buildTime" : "20250918081430+0000", - "commitId" : "136322a57afae21682616403597aeb7b900277a2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.2.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-milestone-2-bin.zip.sha256", - "checksum" : "264492cfe4471ed1290a23af27a94b45343bb548b40f6512a130f4e416ffdc1b", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "423cb469ccc0ecc31f0e4e1c309976198ccb734cdcbb7029d4bda0f18f57e8d9" -}, { - "version" : "9.2.0-milestone-1", - "buildTime" : "20250916093851+0000", - "commitId" : "fdecc3c95828bb9a1c1bb6114483fe5b16f9159d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.2.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-milestone-1-bin.zip.sha256", - "checksum" : "b4d2b27513235176e11a079aa8afa5a1d858c14a02130cc9754b20071d244fa7", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.2.0-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "423cb469ccc0ecc31f0e4e1c309976198ccb734cdcbb7029d4bda0f18f57e8d9" -}, { - "version" : "9.1.0-rc-4", - "buildTime" : "20250915153701+0000", - "commitId" : "769a0dee8eb81a087a64b7286b5e0ef3ca945723", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.1.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-4-bin.zip.sha256", - "checksum" : "91b3bb52f09bab37df8f922d47d7df6ba76c00a52494a75feafad956f4d2a360", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "9.1.0-rc-3", - "buildTime" : "20250908083750+0000", - "commitId" : "e8b16b23493d8480116e5cf66a06296794c3d1f5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.1.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-3-bin.zip.sha256", - "checksum" : "6f13d82a9943498b6651a1d8b9903a663dee9a752be8e3480b6c44f0c89d9dac", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "9.1.0-rc-2", - "buildTime" : "20250902143701+0000", - "commitId" : "80fea90a8e4c089ceb397f17f935538c00398324", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.1.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-2-bin.zip.sha256", - "checksum" : "366fb4c50aa898723a9d5f07a164d4134eb264c1749a07766819be8649792be9", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "9.1.0-rc-1", - "buildTime" : "20250813123732+0000", - "commitId" : "d99e08080200de174ff11b3a06689d996d338ad7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.1.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-1-bin.zip.sha256", - "checksum" : "f80a20ef870555c9aae51c4d1868b6a31608296a0fd4f8de69a2687243b90f6f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.1.0-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "9.0.0", - "buildTime" : "20250731163512+0000", - "commitId" : "328772c6bae126949610a8beb59cb227ee580241", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-bin.zip.sha256", - "checksum" : "8fad3d78296ca518113f3d29016617c7f9367dc005f932bd9d93bf45ba46072b", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "9.0.0-rc-4", - "buildTime" : "20250728151002+0000", - "commitId" : "a0a6deb6f9937f9e9894a4460f4158267a13ad03", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.0.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-4-bin.zip.sha256", - "checksum" : "f09991ce63e889bf8a5f579a467a82bdf7621bc93d59cd2f8fe5982f39f28e2a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "9.0.0-rc-3", - "buildTime" : "20250717124800+0000", - "commitId" : "2db9560bb68c367a265b10516c856c840f9bed8d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.0.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-3-bin.zip.sha256", - "checksum" : "19ce31d8a4f2e59a99931cc13834c70c0e502804851c0640f31a1af9a7d5b003", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "9.0.0-rc-2", - "buildTime" : "20250711152331+0000", - "commitId" : "2ae39f19925c59560b0b708b9eda586857cddb81", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.0.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-2-bin.zip.sha256", - "checksum" : "4223eafcc72c463e99bad60333a90c974a89aa359ee683e4f329330e513a3736", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "9.0.0-milestone-10", - "buildTime" : "20250708052607+0000", - "commitId" : "fd90cd1f4415bd77322abacfd66147724c432cde", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-milestone-10-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-milestone-10-bin.zip.sha256", - "checksum" : "0e2ac1877ee872cf65c2d8aa6a6aefcfd57226421d54c29937d21f492fdbde86", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-milestone-10-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "8.14.3", - "buildTime" : "20250704131544+0000", - "commitId" : "e5ee1df3d88b8ca3a8074787a94f373e3090e1db", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14.3-bin.zip.sha256", - "checksum" : "bd71102213493060956ec229d946beee57158dbd89d0e62b91bca0fa2c5f3531", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14.3-wrapper.jar.sha256", - "wrapperChecksum" : "7d3a4ac4de1c32b59bc6a4eb8ecb8e612ccd0cf1ae1e99f66902da64df296172" -}, { - "version" : "7.6.6", - "buildTime" : "20250704103426+0000", - "commitId" : "c0be2570bd17666c8955ca5b66363f671f50bbd7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6.6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.6-bin.zip.sha256", - "checksum" : "673d9776f303bc7048fc3329d232d6ebf1051b07893bd9d11616fad9a8673be0", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.6-wrapper.jar.sha256", - "wrapperChecksum" : "14dfa961b6704bb3decdea06502781edaa796a82e6da41cd2e1962b14fbe21a3" -}, { - "version" : "9.0.0-rc-1", - "buildTime" : "20250618075324+0000", - "commitId" : "8493ac58b4a7baddb64080d415b11659be78dbea", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "9.0.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-1-bin.zip.sha256", - "checksum" : "5086034b0656a79fee07a04cfadc103984b075ac85d3a20748649671283be1bb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "8.14.2", - "buildTime" : "20250605133201+0000", - "commitId" : "30db2a3bdfffa9f8b40e798095675f9dab990a9a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14.2-bin.zip.sha256", - "checksum" : "7197a12f450794931532469d4ff21a59ea2c1cd59a3ec3f89c035c3c420a6999", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14.2-wrapper.jar.sha256", - "wrapperChecksum" : "7d3a4ac4de1c32b59bc6a4eb8ecb8e612ccd0cf1ae1e99f66902da64df296172" -}, { - "version" : "7.6.5", - "buildTime" : "20250604130222+0000", - "commitId" : "13a09d0cc61025596acd4acf05d1980a79838906", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6.5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.5-bin.zip.sha256", - "checksum" : "b812fec0edb7d27e0ae35955887bb2954536fa3e44edaf481150da058e154d9a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.5-wrapper.jar.sha256", - "wrapperChecksum" : "14dfa961b6704bb3decdea06502781edaa796a82e6da41cd2e1962b14fbe21a3" -}, { - "version" : "9.0.0-milestone-9", - "buildTime" : "20250526083131+0000", - "commitId" : "1ceb6a55a8b9f772540ea2655f7ec71cf71e773d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-milestone-9-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-milestone-9-bin.zip.sha256", - "checksum" : "f682abba2db33587373c58f558c9387b25f7ea592298b57defbf33fc5488c43d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-milestone-9-wrapper.jar.sha256", - "wrapperChecksum" : "76805e32c009c0cf0dd5d206bddc9fb22ea42e84db904b764f3047de095493f3" -}, { - "version" : "8.14.1", - "buildTime" : "20250522134409+0000", - "commitId" : "c174b82566a79e3575bac8c7648c7b36cd815e94", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14.1-bin.zip.sha256", - "checksum" : "845952a9d6afa783db70bb3b0effaae45ae5542ca2bb7929619e8af49cb634cf", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14.1-wrapper.jar.sha256", - "wrapperChecksum" : "7d3a4ac4de1c32b59bc6a4eb8ecb8e612ccd0cf1ae1e99f66902da64df296172" -}, { - "version" : "9.0.0-milestone-8", - "buildTime" : "20250516073511+0000", - "commitId" : "2de7d5ba412c2a9e33f43076dfc4560488359ad2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-milestone-8-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-milestone-8-bin.zip.sha256", - "checksum" : "9a69d11f90bb8b689b171889437d99a5925d17e7507413472ab45fbbc3949ef9", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0.0-milestone-8-wrapper.jar.sha256", - "wrapperChecksum" : "f98ed44dd3f067fa699b5c34661be67c7f0097ea58b0017255141a08d2eb5f87" -}, { - "version" : "9.0-milestone-7", - "buildTime" : "20250513065613+0000", - "commitId" : "3c890746756262d3778e12eaa5155d661d7cbdf2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-7-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-7-bin.zip.sha256", - "checksum" : "8e8fc68b78a272aa8da4e6fd608502874f7b9d29257fe1345c7209b725cb7565", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-7-wrapper.jar.sha256", - "wrapperChecksum" : "f98ed44dd3f067fa699b5c34661be67c7f0097ea58b0017255141a08d2eb5f87" -}, { - "version" : "9.0-milestone-6", - "buildTime" : "20250508062448+0000", - "commitId" : "0436db0122ff0c2c8f9ae3db45371f2c067ebfbd", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-6-bin.zip.sha256", - "checksum" : "47177c00fc3574e3557902ed9f4bab073597d22c6d9a3fcde8bf8bbc8286f220", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-6-wrapper.jar.sha256", - "wrapperChecksum" : "f98ed44dd3f067fa699b5c34661be67c7f0097ea58b0017255141a08d2eb5f87" -}, { - "version" : "9.0-milestone-5", - "buildTime" : "20250429093659+0000", - "commitId" : "34d31f8f53af29e93357bc88a9a47a1a8001a4ef", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-5-bin.zip.sha256", - "checksum" : "d9f0549d640c07389b2d83717a9ae4ca9a49ed2120f95d14015da227ecba16fc", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-5-wrapper.jar.sha256", - "wrapperChecksum" : "c605ee1b011c0da3bc468735530c1d43ea3ede0fb8ce978b5479c7f688343ef5" -}, { - "version" : "9.0-milestone-4", - "buildTime" : "20250428144937+0000", - "commitId" : "ad8b92fc649c0f2efe95287bc43e61a5c0cf618a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-4-bin.zip.sha256", - "checksum" : "ad3873e76d4127629e605d8551fa2b1f893b59d9171138c9463bd5c2001981a9", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-4-wrapper.jar.sha256", - "wrapperChecksum" : "c605ee1b011c0da3bc468735530c1d43ea3ede0fb8ce978b5479c7f688343ef5" -}, { - "version" : "8.14", - "buildTime" : "20250425092908+0000", - "commitId" : "34c560e3be961658a6fbcd7170ec2443a228b109", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-bin.zip.sha256", - "checksum" : "61ad310d3c7d3e5da131b76bbf22b5a4c0786e9d892dae8c1658d4b484de3caa", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-wrapper.jar.sha256", - "wrapperChecksum" : "7d3a4ac4de1c32b59bc6a4eb8ecb8e612ccd0cf1ae1e99f66902da64df296172" -}, { - "version" : "8.14-rc-3", - "buildTime" : "20250423120032+0000", - "commitId" : "8afb1d3427f2721ac7aaa95c1b82c73651870d49", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.14", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-rc-3-bin.zip.sha256", - "checksum" : "d6442642e2f9d920bad96115c91e30a38afd6cdce61f9043ee45e2ab1e1a2972", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "7d3a4ac4de1c32b59bc6a4eb8ecb8e612ccd0cf1ae1e99f66902da64df296172" -}, { - "version" : "9.0-milestone-3", - "buildTime" : "20250422030543+0000", - "commitId" : "b86fa516155d1d3baef664ba5288ad578b337b07", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-3-bin.zip.sha256", - "checksum" : "d9a2c448ef8adb196c65deda1b9680060372528946aed78c7bf24c0ab6443518", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "c605ee1b011c0da3bc468735530c1d43ea3ede0fb8ce978b5479c7f688343ef5" -}, { - "version" : "8.14-rc-2", - "buildTime" : "20250417124738+0000", - "commitId" : "c6a073de26dd590617441ea3805bc2743fb315eb", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.14", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-rc-2-bin.zip.sha256", - "checksum" : "64caf15a08354b01c3c32de0e433179e6678041e8dfe8aa2a27da06ec81c7e35", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "7d3a4ac4de1c32b59bc6a4eb8ecb8e612ccd0cf1ae1e99f66902da64df296172" -}, { - "version" : "9.0-milestone-2", - "buildTime" : "20250414083159+0000", - "commitId" : "ce1ff4a2ca36b5f7959f30e211eb2025b9433c89", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-2-bin.zip.sha256", - "checksum" : "19507539796ff63011c87493b926038e2028b94f200f3ba02e5c776e1cdc20ca", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "c605ee1b011c0da3bc468735530c1d43ea3ede0fb8ce978b5479c7f688343ef5" -}, { - "version" : "9.0-milestone-1", - "buildTime" : "20250410115011+0000", - "commitId" : "db647b24a4039507bbcac1273883745322ae84c3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "9.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-1-bin.zip.sha256", - "checksum" : "6963d0abe43cacb1e159bbc28a0e4e80c1622c0384549c3792257981d89d37ed", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-9.0-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "9687bf4e8beb2c293cfd1393cbf2854ef68f921757302116033f476289abf7b0" -}, { - "version" : "8.14-rc-1", - "buildTime" : "20250409084650+0000", - "commitId" : "266969fceec7f1ad8c1d39e1354d963ce2857269", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.14", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-rc-1-bin.zip.sha256", - "checksum" : "ea87df6204bb94a432cf58d9a915408b1588a8bf146643a347e31fabd7b0e5a8", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "7d3a4ac4de1c32b59bc6a4eb8ecb8e612ccd0cf1ae1e99f66902da64df296172" -}, { - "version" : "8.14-milestone-8", - "buildTime" : "20250408011208+0000", - "commitId" : "31bca59472c3050181a775f6ca54e5337b8a75e3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.14", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-8-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-8-bin.zip.sha256", - "checksum" : "6b6e36374f80d3e5594d9fda7040bf45e1e4617ecb95529f4f5cae77d4c6cd8f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-8-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.14-milestone-7", - "buildTime" : "20250324073617+0000", - "commitId" : "48de48758fc3bc62eccebd723f68f9b8d8173e66", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.14", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-7-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-7-bin.zip.sha256", - "checksum" : "13c012a0343d1d310966e6ee1347b3a9b90f210f06a1b1e54ce57fbea8a1233d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-7-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.14-milestone-5", - "buildTime" : "20250320082137+0000", - "commitId" : "9728ad5ef05b47255083a31f83ed0fbc3f5035e3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.14", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-5-bin.zip.sha256", - "checksum" : "4d7f406f60d84969fb10722f627067cd7a505da593a64afc5769ca7b96b65109", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-5-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.14-milestone-4", - "buildTime" : "20250306073633+0000", - "commitId" : "2f19ff9006b6e7d3d81d614ee87ee6a1f251a3b0", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.14", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-4-bin.zip.sha256", - "checksum" : "c348e50e30d188490f99bc7bd9a27262f2bf2b63b6df29a126660fbf8dc64a10", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-4-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.13", - "buildTime" : "20250225092214+0000", - "commitId" : "073314332697ba45c16c0a0ce1891fa6794179ff", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.13-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-bin.zip.sha256", - "checksum" : "20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.14-milestone-3", - "buildTime" : "20250221141330+0000", - "commitId" : "8b48d0ed4b1711a8c7a8ce63183970b23c1e9490", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.14", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-3-bin.zip.sha256", - "checksum" : "b232697f41807f172f991dfb78e5013b6ed71d8c7d0256b2d93df41eba18c5cd", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.13-rc-2", - "buildTime" : "20250220142623+0000", - "commitId" : "160d52df5c7663f9854ab7fddf0123a8f044c530", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.13", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.13-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-rc-2-bin.zip.sha256", - "checksum" : "264353f17a13391626fc8d0e86ae8023f30ea334a470caae0cfee02fe6cd1f3d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.14-milestone-2", - "buildTime" : "20250220124058+0000", - "commitId" : "affa639ae530da704951a05c80cef66583558ace", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.14", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-2-bin.zip.sha256", - "checksum" : "2db4c39174c3dc0ced756b60b2b8d151eb0d12b65e539c91ac7f7d36b7e7dd2d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.14-milestone-1", - "buildTime" : "20250214133101+0000", - "commitId" : "dc47699e834411a85029a51a0723e2381afced09", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.14", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-1-bin.zip.sha256", - "checksum" : "0978afc2b32e0f05dbe881681de850a2413f85f6ebe96848719e2b710b9fbde7", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.14-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.13-rc-1", - "buildTime" : "20250212094604+0000", - "commitId" : "e1568ff83ddecf64248260376da957b986d625e7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.13", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.13-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-rc-1-bin.zip.sha256", - "checksum" : "3b3565efd2df2dd999774b6ef8ea571878c5532cbac6dbaaeb4b2731f42e6704", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "81a82aaea5abcc8ff68b3dfcb58b3c3c429378efd98e7433460610fecd7ae45f" -}, { - "version" : "8.12.1", - "buildTime" : "20250124125512+0000", - "commitId" : "0b1ee1ff81d1f4a26574ff4a362ac9180852b140", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.12.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.12.1-bin.zip.sha256", - "checksum" : "8d97a97984f6cbd2b85fe4c60a743440a347544bf18818048e611f5288d46c94", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.12.1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.13-milestone-3", - "buildTime" : "20250121164636+0000", - "commitId" : "008d02e96f845b2d5a628758831c97d305983d68", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.13", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.13-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-milestone-3-bin.zip.sha256", - "checksum" : "f22cfbc3bd7e2e762910ed22926614b11af5af23456cec8730cde390b3e6da58", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.12.1-milestone-1", - "buildTime" : "20250121110021+0000", - "commitId" : "6d9f96d13ea6d230832feb4bf74b71af5df083d6", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.12.1", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.12.1-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.12.1-milestone-1-bin.zip.sha256", - "checksum" : "003255422dfe4b7306412cd39a120a4382d5db51df9acac33f997b2cb54c4ccd", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.12.1-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.13-milestone-2", - "buildTime" : "20250110085439+0000", - "commitId" : "bf974bdd5b1a046611eb50a5ec863c07f7630bfd", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.13", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.13-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-milestone-2-bin.zip.sha256", - "checksum" : "e8b04d5491ad67bb5e2cd6a3168631dde9b5ab8d0faf5ed1fd3081526cded0ea", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.13-milestone-1", - "buildTime" : "20250109202014+0000", - "commitId" : "017df4898587f8decd1ee7dae2dd33f94c9f5a8a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.13", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.13-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-milestone-1-bin.zip.sha256", - "checksum" : "524079334d60703b233cab4a467574eac0208783ae00c70ef722d349e3db3623", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.13-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.12", - "buildTime" : "20241220154653+0000", - "commitId" : "a3cacb207fec727859be9354c1937da2e59004c1", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.12-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.12-bin.zip.sha256", - "checksum" : "7a00d51fb93147819aab76024feece20b6b84e420694101f276be952e08bef03", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.12-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.12-rc-2", - "buildTime" : "20241217162852+0000", - "commitId" : "98f15d7fbb920b0d3b5388dd0a3e6fb244302f8f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.12", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.12-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.12-rc-2-bin.zip.sha256", - "checksum" : "4c403eac4e3957107a6e954ae2b59ba6cf9823f683276f1f9e20ef79b8d350a2", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.12-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.12-rc-1", - "buildTime" : "20241212152352+0000", - "commitId" : "e385beb86216461fe39ad37767b95bb0fa6ff777", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.12", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.12-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.12-rc-1-bin.zip.sha256", - "checksum" : "4d9d7ad4cf8842f279649213d2f87d8f7e9a03ae75ac4389517aa574b1404b2a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.12-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.11.1", - "buildTime" : "20241120165646+0000", - "commitId" : "481cb05a490e0ef9f8620f7873b83bd8a72e7c39", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.11.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.11.1-bin.zip.sha256", - "checksum" : "f397b287023acdba1e9f6fc5ea72d22dd63669d59ed4a289a29b1a76eee151c6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.11.1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.11", - "buildTime" : "20241111135801+0000", - "commitId" : "b2ef976169a05b3c76d04f0fa76a940859f96fa4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.11-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-bin.zip.sha256", - "checksum" : "57dafb5c2622c6cc08b993c85b7c06956a2f53536432a30ead46166dbca0f1e9", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.11-rc-3", - "buildTime" : "20241107134628+0000", - "commitId" : "ca3040e548f099c5c879ec2ef93f2f0496551d4b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.11", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.11-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-rc-3-bin.zip.sha256", - "checksum" : "8e4b38e068e5d73272498ce4743d86adccebfdadaa4233dd15bfb6c6b82b9152", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.11-rc-2", - "buildTime" : "20241031150259+0000", - "commitId" : "484cebf8e46e7e0150107705c7ef8d62d72af447", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.11", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.11-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-rc-2-bin.zip.sha256", - "checksum" : "7565ee2f3d2193fce6e752f474be66eb0c6252f0c9ef792a8bffda6e7fd31b36", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.11-rc-1", - "buildTime" : "20241017104024+0000", - "commitId" : "4eab5987e618554d2d5e51fbc7b1dd1a3c7e8cb8", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.11", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.11-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-rc-1-bin.zip.sha256", - "checksum" : "2522b1593704b6b26e03cb2dec86d792b1c6ca5c33d10e078fab7a146354130e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.11-milestone-1", - "buildTime" : "20241006083426+0000", - "commitId" : "4a6676a6310b36abe94e9451436a8621e113728a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.11", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.11-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-milestone-1-bin.zip.sha256", - "checksum" : "2c406ba10eaed701b69d01de924dfaf36106d4764e2090175d103b2e7acba211", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.11-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.10.2", - "buildTime" : "20240923212839+0000", - "commitId" : "415adb9e06a516c44b391edff552fd42139443f7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.10.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.10.2-bin.zip.sha256", - "checksum" : "31c55713e40233a8303827ceb42ca48a47267a0ad4bab9177123121e71524c26", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.10.2-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.10.2-milestone-1", - "buildTime" : "20240919234735+0000", - "commitId" : "c3ea2131e78003a1506533a3ddc952014217cee3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.10.2", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.10.2-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.10.2-milestone-1-bin.zip.sha256", - "checksum" : "b6650db1f41b146b4a780c2a183e14602a6cf861a7797d97ea530fb1384d6336", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.10.2-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.10.1", - "buildTime" : "20240909074256+0000", - "commitId" : "8716158d3ec8c59e38f87a67f1f311f297b79576", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.10.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.10.1-bin.zip.sha256", - "checksum" : "1541fa36599e12857140465f3c91a97409b4512501c26f9631fb113e392c5bd1", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.10.1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.10", - "buildTime" : "20240814110745+0000", - "commitId" : "fef2edbed8af1022cefaf44d4c0514c5f89d7b78", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.10-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.10-bin.zip.sha256", - "checksum" : "5b9c5eb3f9fc2c94abaea57d90bd78747ca117ddbbf96c859d3741181a12bf2a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.10-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.10-rc-1", - "buildTime" : "20240808060755+0000", - "commitId" : "4f143ee84909970e5148c38b3ac7db3ff826a022", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.10", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.10-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.10-rc-1-bin.zip.sha256", - "checksum" : "de2ad3b249d89af001ce3dace548f8149675c692ef8bccf271444985b590d284", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.10-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "2db75c40782f5e8ba1fc278a5574bab070adccb2d21ca5a6e5ed840888448046" -}, { - "version" : "8.9", - "buildTime" : "20240711143741+0000", - "commitId" : "d536ef36a19186ccc596d8817123e5445f30fef8", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.9-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.9-bin.zip.sha256", - "checksum" : "d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.9-wrapper.jar.sha256", - "wrapperChecksum" : "498495120a03b9a6ab5d155f5de3c8f0d986a449153702fb80fc80e134484f17" -}, { - "version" : "8.9-rc-2", - "buildTime" : "20240705153825+0000", - "commitId" : "fcee8d48f54051165ef816487636dfc0aa4c88a0", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.9-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.9-rc-2-bin.zip.sha256", - "checksum" : "c2b58a752b82346a89a9d5384ba0882d9c3f0c29e0700c8e050002b81d6d4ff9", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.9-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "498495120a03b9a6ab5d155f5de3c8f0d986a449153702fb80fc80e134484f17" -}, { - "version" : "8.9-rc-1", - "buildTime" : "20240621131308+0000", - "commitId" : "a667c19ff4d039304aa43268948139dc9ca6baa6", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.9-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.9-rc-1-bin.zip.sha256", - "checksum" : "3ae7f7d3d433936b546c13505bb55adbae7708e715bfc4cf36cfc22650e6a881", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.9-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "498495120a03b9a6ab5d155f5de3c8f0d986a449153702fb80fc80e134484f17" -}, { - "version" : "8.8", - "buildTime" : "20240531214656+0000", - "commitId" : "4bd1b3d3fc3f31db5a26eecb416a165b8cc36082", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.8-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.8-bin.zip.sha256", - "checksum" : "a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.8-wrapper.jar.sha256", - "wrapperChecksum" : "cb0da6751c2b753a16ac168bb354870ebb1e162e9083f116729cec9c781156b8" -}, { - "version" : "8.8-rc-2", - "buildTime" : "20240527070937+0000", - "commitId" : "d0f4982aba27e390b46c383277db130abfc1b44e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.8-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.8-rc-2-bin.zip.sha256", - "checksum" : "b50250702d1b238f797c0778259f8b58714d5d16fbfec41fb19135bf86c64fe8", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.8-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "cb0da6751c2b753a16ac168bb354870ebb1e162e9083f116729cec9c781156b8" -}, { - "version" : "8.8-rc-1", - "buildTime" : "20240426151958+0000", - "commitId" : "000ef8587278729b8ea91c89b1c527ba0164338a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.8-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.8-rc-1-bin.zip.sha256", - "checksum" : "a2e1cfee7ffdeee86015b85b2dd2a435032c40eedc01d8172285556c7d8fea13", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.8-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "cb0da6751c2b753a16ac168bb354870ebb1e162e9083f116729cec9c781156b8" -}, { - "version" : "8.7", - "buildTime" : "20240322155246+0000", - "commitId" : "650af14d7653aa949fce5e886e685efc9cf97c10", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.7-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-bin.zip.sha256", - "checksum" : "544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-wrapper.jar.sha256", - "wrapperChecksum" : "cb0da6751c2b753a16ac168bb354870ebb1e162e9083f116729cec9c781156b8" -}, { - "version" : "8.7-rc-4", - "buildTime" : "20240320140334+0000", - "commitId" : "b9db7ce7ad5d1f2adf1928955ae926329262cf82", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-4-bin.zip.sha256", - "checksum" : "a14ad975075d5d2dcc1fa1667e622597c6f8721e2ca42dff54ebe40c07eb1bc5", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "cb0da6751c2b753a16ac168bb354870ebb1e162e9083f116729cec9c781156b8" -}, { - "version" : "8.7-rc-3", - "buildTime" : "20240311171310+0000", - "commitId" : "ab30a66001c3476658e07c46e1a9c5e862aed438", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-3-bin.zip.sha256", - "checksum" : "f0183d411f68b72d37112e47b539c6d91d1870842f5f2ce9cffefa0a7756ae52", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "cb0da6751c2b753a16ac168bb354870ebb1e162e9083f116729cec9c781156b8" -}, { - "version" : "8.7-rc-2", - "buildTime" : "20240229125337+0000", - "commitId" : "cf4549b56c9b4d7c453795158e19a544b2a0dd60", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-2-bin.zip.sha256", - "checksum" : "3348170800c324fc97ff201fdc139ad465c073ab19760cfe22a872b5b858560f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "cb0da6751c2b753a16ac168bb354870ebb1e162e9083f116729cec9c781156b8" -}, { - "version" : "8.7-rc-1", - "buildTime" : "20240222213949+0000", - "commitId" : "6cd7d3cf5929e1bd9f917b7dc67d03cd65d22d08", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-1-bin.zip.sha256", - "checksum" : "4354bc6c46d1f1e1e37cb371b7c31556a4427eb3f57d03c23e5aae8aa606aedb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.7-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "cb0da6751c2b753a16ac168bb354870ebb1e162e9083f116729cec9c781156b8" -}, { - "version" : "7.6.4", - "buildTime" : "20240205142918+0000", - "commitId" : "e0bb3fc8cefad8432c9033cdfb12dc14facc9dd9", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.4-bin.zip.sha256", - "checksum" : "bed1da33cca0f557ab13691c77f38bb67388119e4794d113e051039b80af9bb1", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.4-wrapper.jar.sha256", - "wrapperChecksum" : "14dfa961b6704bb3decdea06502781edaa796a82e6da41cd2e1962b14fbe21a3" -}, { - "version" : "8.6", - "buildTime" : "20240202164716+0000", - "commitId" : "d55c486870a0dc6f6278f53d21381396d0741c6e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-bin.zip.sha256", - "checksum" : "9631d53cf3e74bfa726893aee1f8994fee4e060c401335946dba2156f440f24c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.6-rc-4", - "buildTime" : "20240131130628+0000", - "commitId" : "f1b03c0a136f87f0d33406b8ea3f2039caec2a32", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-4-bin.zip.sha256", - "checksum" : "1fb8db52c64b78eb27358dbe7119040090d227cb7de0436c0a657863c44b84c6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.6-rc-3", - "buildTime" : "20240123150619+0000", - "commitId" : "40b1a053f84abb1d167d88142af835c96eb4c3d7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-3-bin.zip.sha256", - "checksum" : "281b47656267472c9f853e7ed54002bfd435bfdcd292286709705324fd96f5dc", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.6-rc-2", - "buildTime" : "20240112144903+0000", - "commitId" : "cee3a34b18b771fe4174800920b5a0009a980034", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-2-bin.zip.sha256", - "checksum" : "3a36cedd25c02335d991e3684e17985239150e24b744a8513d466543083ca250", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.6-rc-1", - "buildTime" : "20231228064048+0000", - "commitId" : "19db0f499fd22a228355c1a6594b9159176a466e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-1-bin.zip.sha256", - "checksum" : "a2da4ba435f6728b43554c5845f6f88f79589c3e0018c29ab33eb23bd781255b", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.6-milestone-1", - "buildTime" : "20231208093905+0000", - "commitId" : "68a2e7c3355e027b514e59fe9e4671d780409535", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.6", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.6-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-milestone-1-bin.zip.sha256", - "checksum" : "0bd40db84cb02df49bde4c3f45b6fa7267f78c075447cb70bac3cc79aed233b7", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.6-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.5", - "buildTime" : "20231129140857+0000", - "commitId" : "28aca86a7180baa17117e0e5ba01d8ea9feca598", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-bin.zip.sha256", - "checksum" : "9d926787066a081739e8200858338b4a69e837c3a821a33aca9db09dd4a41026", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.5-rc-4", - "buildTime" : "20231124091900+0000", - "commitId" : "ff7bf18d018392c80aead72f93d4530726e9504d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-4-bin.zip.sha256", - "checksum" : "614587c584e4d97a00368c8f5e6749d3e38345b7810bcfef1c7b8e002127b3a3", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.5-rc-3", - "buildTime" : "20231117134310+0000", - "commitId" : "d8463b2b64aa2952b741fcb1a7da11710ffc2c5a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-3-bin.zip.sha256", - "checksum" : "7207f771dac48bfe19d5990c8f1e7e5f3d5e8b2b98e09ad9a4c484af537f86b2", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.5-rc-2", - "buildTime" : "20231114141630+0000", - "commitId" : "9bfdf5b90ff69b6775c2fe163808a99eac2dc543", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-2-bin.zip.sha256", - "checksum" : "547d33f88a30b6d9666c79fde614b1e5a1a3e2f86216bc70c4c7e3421f0d4627", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.5-rc-1", - "buildTime" : "20231107155056+0000", - "commitId" : "3dc993b32164f697b540e88c2426977e097d3aff", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-1-bin.zip.sha256", - "checksum" : "8c74462b1d83f8b17c4838c925fc4c46d1fbb4467b18b8a17f5cdaaee45b7f09", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.5-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "d3b261c2820e9e3d8d639ed084900f11f4a86050a8f83342ade7b6bc9b0d2bdd" -}, { - "version" : "8.4", - "buildTime" : "20231004205213+0000", - "commitId" : "e9251e572c9bd1d01e503a0dfdf43aedaeecdc3f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.4-bin.zip.sha256", - "checksum" : "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.4-wrapper.jar.sha256", - "wrapperChecksum" : "0336f591bc0ec9aa0c9988929b93ecc916b3c1d52aed202c7381db144aa0ef15" -}, { - "version" : "7.6.3", - "buildTime" : "20231004155947+0000", - "commitId" : "1694251d59e0d4752d547e1fd5b5020b798a7e71", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.3-bin.zip.sha256", - "checksum" : "740c2e472ee4326c33bf75a5c9f5cd1e69ecf3f9b580f6e236c86d1f3d98cfac", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.3-wrapper.jar.sha256", - "wrapperChecksum" : "14dfa961b6704bb3decdea06502781edaa796a82e6da41cd2e1962b14fbe21a3" -}, { - "version" : "8.4-rc-3", - "buildTime" : "20230929135700+0000", - "commitId" : "7788100a0736a67692b30f53fe3b2442dbb9816d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.4-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.4-rc-3-bin.zip.sha256", - "checksum" : "cb1945fa73552ddf99cf32ec2fcd065771fcb6bf4a366b9408e79f9561601853", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.4-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "0336f591bc0ec9aa0c9988929b93ecc916b3c1d52aed202c7381db144aa0ef15" -}, { - "version" : "8.4-rc-2", - "buildTime" : "20230926114721+0000", - "commitId" : "21dd48a6b94a5dfff7fa19c4e3c65b5522c75cb3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.4-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.4-rc-2-bin.zip.sha256", - "checksum" : "f7dca5ae44f1a45ee7950fa3e01418a664eaa04136ff594a99bebf7ee353a943", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.4-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "0336f591bc0ec9aa0c9988929b93ecc916b3c1d52aed202c7381db144aa0ef15" -}, { - "version" : "8.4-rc-1", - "buildTime" : "20230920065917+0000", - "commitId" : "ebdfd04b7e181147b7ce87af0f72b950261085f7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.4-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.4-rc-1-bin.zip.sha256", - "checksum" : "7eec87a597388fb67df02d0cc4f8bc566abd5adf5838dab1f4db0e83fa96bd4f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.4-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "0336f591bc0ec9aa0c9988929b93ecc916b3c1d52aed202c7381db144aa0ef15" -}, { - "version" : "8.3", - "buildTime" : "20230817070647+0000", - "commitId" : "8afbf24b469158b714b36e84c6f4d4976c86fcd5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-bin.zip.sha256", - "checksum" : "591855b517fc635b9e04de1d05d5e76ada3f89f5fc76f87978d1b245b4f69225", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-wrapper.jar.sha256", - "wrapperChecksum" : "0336f591bc0ec9aa0c9988929b93ecc916b3c1d52aed202c7381db144aa0ef15" -}, { - "version" : "8.3-rc-4", - "buildTime" : "20230814082841+0000", - "commitId" : "45d5bd72d0d837799c297e94bc1fbca9fee637eb", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-4-bin.zip.sha256", - "checksum" : "e4d88e0e636799134179376b5b058b0c691e58a1e9150c1d0a3898ffd402abaa", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "0336f591bc0ec9aa0c9988929b93ecc916b3c1d52aed202c7381db144aa0ef15" -}, { - "version" : "8.3-rc-3", - "buildTime" : "20230802172145+0000", - "commitId" : "5137ec0e9b3df9f4d40bc9e055d5f0b1024d9327", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-3-bin.zip.sha256", - "checksum" : "7af08310663d2849d8288d075cc2b74ca56dbacfa7ae60257c02aab0e8fe3111", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "0336f591bc0ec9aa0c9988929b93ecc916b3c1d52aed202c7381db144aa0ef15" -}, { - "version" : "8.3-rc-2", - "buildTime" : "20230726152039+0000", - "commitId" : "c48101dc7f9c766efa8206574aa9c2195d2b7960", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-2-bin.zip.sha256", - "checksum" : "222818637ce0a4cb82e322bf847ea49ac319aecdb363d81acabd9e81315d08f6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "0336f591bc0ec9aa0c9988929b93ecc916b3c1d52aed202c7381db144aa0ef15" -}, { - "version" : "8.3-rc-1", - "buildTime" : "20230719075404+0000", - "commitId" : "d036e6078ed80de7a7e1ad6a17aae6be115b5d0d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-1-bin.zip.sha256", - "checksum" : "05d10c69f03ef1ed1569171e637fc1737828bceaf4bb4a1e87407a4a7d1c01e6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.3-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "0336f591bc0ec9aa0c9988929b93ecc916b3c1d52aed202c7381db144aa0ef15" -}, { - "version" : "8.2.1", - "buildTime" : "20230710121235+0000", - "commitId" : "a38ec64d3c4612da9083cc506a1ccb212afeecaa", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.2.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.2.1-bin.zip.sha256", - "checksum" : "03ec176d388f2aa99defcadc3ac6adf8dd2bce5145a129659537c0874dea5ad1", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.2.1-wrapper.jar.sha256", - "wrapperChecksum" : "a8451eeda314d0568b5340498b36edf147a8f0d692c5ff58082d477abe9146e4" -}, { - "version" : "8.2", - "buildTime" : "20230630180230+0000", - "commitId" : "5f4a070a62a31a17438ac998c2b849f4f6892877", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-bin.zip.sha256", - "checksum" : "38f66cd6eef217b4c35855bb11ea4e9fbc53594ccccb5fb82dfd317ef8c2c5a3", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-wrapper.jar.sha256", - "wrapperChecksum" : "a8451eeda314d0568b5340498b36edf147a8f0d692c5ff58082d477abe9146e4" -}, { - "version" : "7.6.2", - "buildTime" : "20230630154251+0000", - "commitId" : "dab132169006b16e7ada4ab2456e0c9d6415b52a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.2-bin.zip.sha256", - "checksum" : "a01b6587e15fe7ed120a0ee299c25982a1eee045abd6a9dd5e216b2f628ef9ac", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.2-wrapper.jar.sha256", - "wrapperChecksum" : "14dfa961b6704bb3decdea06502781edaa796a82e6da41cd2e1962b14fbe21a3" -}, { - "version" : "8.2-rc-3", - "buildTime" : "20230628070204+0000", - "commitId" : "66d698f44a1d71c01e80664f984a5c86a83bd28d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.2-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-rc-3-bin.zip.sha256", - "checksum" : "345389a51e2ec796b1102c1ce513ac8f571978fd698e3fb10b6e0457091b6edc", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "a8451eeda314d0568b5340498b36edf147a8f0d692c5ff58082d477abe9146e4" -}, { - "version" : "8.2-rc-2", - "buildTime" : "20230606183136+0000", - "commitId" : "5b4d99e3745b5e4c9929621c9377b6f8fb97f3fd", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.2-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-rc-2-bin.zip.sha256", - "checksum" : "0906569bf96e8ebefbc1aa56318c74aeafd9710455b2817c70d709c5d77785c4", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "5c9a1a6f50b4f8c0264b1ac69013bef9f8363733275fafa56c70c84be3276bb8" -}, { - "version" : "8.2-rc-1", - "buildTime" : "20230531181205+0000", - "commitId" : "2a2778f51363d9574f808ae80d34d8b5bd99d98b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.2-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-rc-1-bin.zip.sha256", - "checksum" : "f93546eb9b9ca57eb1d22f6e6d50a181e70720d4ba6d6af8fc96037fe4c8daf6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "55e949185c26ba3ddcd2c6a4217d043bfa0ce3cc002bbbb52b709a181a513e81" -}, { - "version" : "8.2-milestone-1", - "buildTime" : "20230426164225+0000", - "commitId" : "0f7d6b14b563ca06bfd34d2dde25d0f1f93279e3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.2", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.2-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-milestone-1-bin.zip.sha256", - "checksum" : "4d06de8a5bfe1d53646d78cbe193ceae1d16b2145f522b3724b69d394c38e44f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.2-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "55e949185c26ba3ddcd2c6a4217d043bfa0ce3cc002bbbb52b709a181a513e81" -}, { - "version" : "8.1.1", - "buildTime" : "20230421123126+0000", - "commitId" : "1cf537a851c635c364a4214885f8b9798051175b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.1.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.1.1-bin.zip.sha256", - "checksum" : "e111cb9948407e26351227dabce49822fb88c37ee72f1d1582a69c68af2e702f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.1.1-wrapper.jar.sha256", - "wrapperChecksum" : "ed2c26eba7cfb93cc2b7785d05e534f07b5b48b5e7fc941921cd098628abca58" -}, { - "version" : "8.1", - "buildTime" : "20230412120745+0000", - "commitId" : "40ba32cde9d6daf2b92c39376d2758909dd6b813", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-bin.zip.sha256", - "checksum" : "a62c5f99585dd9e1f95dab7b9415a0e698fa9dd1e6c38537faa81ac078f4d23e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-wrapper.jar.sha256", - "wrapperChecksum" : "ed2c26eba7cfb93cc2b7785d05e534f07b5b48b5e7fc941921cd098628abca58" -}, { - "version" : "8.1-rc-4", - "buildTime" : "20230411093751+0000", - "commitId" : "a63ac23cdbaf9c9e5e43b9fdb7fa478780fc40b2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-4-bin.zip.sha256", - "checksum" : "75cbca1c36f3695ec15b39ac1f22103e5c84ba949b672497e70e9a99dc2ca195", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "ed2c26eba7cfb93cc2b7785d05e534f07b5b48b5e7fc941921cd098628abca58" -}, { - "version" : "8.1-rc-3", - "buildTime" : "20230404095841+0000", - "commitId" : "7eb689e589a42dcabd23aa8ccffa9a020c2010d2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-3-bin.zip.sha256", - "checksum" : "4087d4c8eb90335f7c635082424cf34480721544ad36b595dcf8c143c653c149", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "ed2c26eba7cfb93cc2b7785d05e534f07b5b48b5e7fc941921cd098628abca58" -}, { - "version" : "8.1-rc-2", - "buildTime" : "20230329080943+0000", - "commitId" : "b7cde67fa9c3fcbf03a4cefdb2214d52963a8678", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-2-bin.zip.sha256", - "checksum" : "c8e041dcbf7b747bf967b607942d8cf9a7cf992f4c05c90b1c8826901c183617", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "ed2c26eba7cfb93cc2b7785d05e534f07b5b48b5e7fc941921cd098628abca58" -}, { - "version" : "8.1-rc-1", - "buildTime" : "20230320143921+0000", - "commitId" : "cd44247d421f76903decf83a0efad7bbc1552dc1", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-1-bin.zip.sha256", - "checksum" : "0a0143227c5a1699753e5e37f0c03bd784b3bd6c617d19e4f0c4df12c32b0fe2", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.1-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "ed2c26eba7cfb93cc2b7785d05e534f07b5b48b5e7fc941921cd098628abca58" -}, { - "version" : "8.0.2", - "buildTime" : "20230303164137+0000", - "commitId" : "7d6581558e226a580d91d399f7dfb9e3095c2b1d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0.2-bin.zip.sha256", - "checksum" : "ff7bf6a86f09b9b2c40bb8f48b25fc19cf2b2664fd1d220cd7ab833ec758d0d7", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0.2-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "7.6.1", - "buildTime" : "20230224135442+0000", - "commitId" : "3905fe8ac072bbd925c70ddbddddf4463341f4b4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.1-bin.zip.sha256", - "checksum" : "6147605a23b4eff6c334927a86ff3508cb5d6722cd624c97ded4c2e8640f1f87", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6.1-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "6.9.4", - "buildTime" : "20230222084312+0000", - "commitId" : "7f9380f27d6dc6a1ee6dfc466b834b0408d0b0c4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.9.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.9.4-bin.zip.sha256", - "checksum" : "3e240228538de9f18772a574e99a0ba959e83d6ef351014381acd9631781389a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.9.4-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "8.0.1", - "buildTime" : "20230217200948+0000", - "commitId" : "68959bf76cef4d28c678f2e2085ee84e8647b77a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0.1-bin.zip.sha256", - "checksum" : "1b6b558be93f29438d3df94b7dfee02e794b94d9aca4611a92cdb79b6b88e909", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0.1-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "8.0", - "buildTime" : "20230213131521+0000", - "commitId" : "62ab9b7c7f884426cf79fbedcf07658b2dbe9e97", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-bin.zip.sha256", - "checksum" : "4159b938ec734a8388ce03f52aa8f3c7ed0d31f5438622545de4f83a89b79788", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "8.0-rc-5", - "buildTime" : "20230209233943+0000", - "commitId" : "47a354e154889b2656373419e3571410291404a7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-5-bin.zip.sha256", - "checksum" : "c01b46042141d23aea23ae5b09a12410a7996bac8c7fdf367547acd1b3c772d9", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-5-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "8.0-rc-4", - "buildTime" : "20230209172637+0000", - "commitId" : "5eb67a82c4283959484a3b93cb3ede1a08a2504b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-4-bin.zip.sha256", - "checksum" : "c1e2a61fd7257fdb869020808930487a69179488490a27664b06e472ecbf4ed7", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "8.0-rc-3", - "buildTime" : "20230206094910+0000", - "commitId" : "0acb34c510be84f8fad1923e3a62c17eecbc886a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-3-bin.zip.sha256", - "checksum" : "9fb87bbe73f963a4c23daede3a5ed78e7ae770f3e980d3cb15d8df04518b542d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "8.0-rc-2", - "buildTime" : "20230117102518+0000", - "commitId" : "8dcd942c9efaac6cb7f577f3b7a7521d0801704d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-2-bin.zip.sha256", - "checksum" : "28ebe9afc20564bcdc39bfe36f6b60a373e40be2c3c307a0028b545b8ccf6ba0", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "8.0-rc-1", - "buildTime" : "20221229123250+0000", - "commitId" : "ae81f85f0e184196c188b96016eb3d9e38f60673", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "8.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-1-bin.zip.sha256", - "checksum" : "d5bb29e784426547e4f455fbc0e6512d7a6a67d7d890cf24d601309287128b79", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "8.0-milestone-6", - "buildTime" : "20221220081158+0000", - "commitId" : "6abc8d20bdd7b25edb3a24f62454f0e56257f552", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-6-bin.zip.sha256", - "checksum" : "5db785194950909ded9d2bcad3cd6874e7578bc93c11bf1aaa2d3e89aa8c9deb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-6-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "8.0-milestone-5", - "buildTime" : "20221208181122+0000", - "commitId" : "3fb0faa58efc3d984465da3316663a0b89e0b728", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-5-bin.zip.sha256", - "checksum" : "0288540bc5ad21c4c921743464da8b7c8c8403750ddb20d050dc088282814664", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-5-wrapper.jar.sha256", - "wrapperChecksum" : "91941f522fbfd4431cf57e445fc3d5200c85f957bda2de5251353cf11174f4b5" -}, { - "version" : "8.0-milestone-4", - "buildTime" : "20221201090656+0000", - "commitId" : "d06a65fb5320997b66461bbfa74266aa050a3b1d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-4-bin.zip.sha256", - "checksum" : "8ecb39c34977c75381299045cb238f6e4d3368e67b7221fcd9ac34ad344e4b63", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-4-wrapper.jar.sha256", - "wrapperChecksum" : "577b2de036000db2e0f04f2ec842a4f1e648c8b6f9c87f29a8d896acb1732538" -}, { - "version" : "7.6", - "buildTime" : "20221125133510+0000", - "commitId" : "daece9dbc5b79370cc8e4fd6fe4b2cd400e150a8", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-bin.zip.sha256", - "checksum" : "7ba68c54029790ab444b39d7e293d3236b2632631fb5f2e012bb28b4ff669e4b", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "7.6-rc-4", - "buildTime" : "20221122094210+0000", - "commitId" : "87a8037940defe7c18ef332efac18f0405baa37b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-4-bin.zip.sha256", - "checksum" : "eb93e4f8abf8db59d5bd1bbdd716f971d010bfc82fd01fe46905d499305718a0", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "7.6-rc-3", - "buildTime" : "20221111142340+0000", - "commitId" : "6c339330ec227cafd6049ff3245ccef45ae8c7d4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-3-bin.zip.sha256", - "checksum" : "21e2bf8e6c6ac310182c817776ffc6cca80142f5de4b2b4151f9f72b9ec35b50", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "7.6-rc-2", - "buildTime" : "20221108130606+0000", - "commitId" : "9e7785b963b6627bf6a0d8599d971f4c56f22a5a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-2-bin.zip.sha256", - "checksum" : "1a0c892659d3eec2a33ab23857784ee3c9674b681cab068f67780da412d3f61f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "8.0-milestone-3", - "buildTime" : "20221028140616+0000", - "commitId" : "fbe9699332c66d9dc7d28aaa4982f7ffc7aab81a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-3-bin.zip.sha256", - "checksum" : "ad9460264653b6ed16cc8aebf9ee4dc12d1a301351323233eb905fce5d522ab4", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "7.6-rc-1", - "buildTime" : "20221028075211+0000", - "commitId" : "62973455a8df25d003949f3f573593cd10d083a3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-1-bin.zip.sha256", - "checksum" : "458550f35b74ad9fbbdf3a1eb69c3f4faef7944cffa3d7fb91b46327875b0b17", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "6.9.3", - "buildTime" : "20221017074402+0000", - "commitId" : "a6198e44749b18b37e26b3b3467db17e034bcff4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.9.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.9.3-bin.zip.sha256", - "checksum" : "dcf350b8ae1aa192fc299aed6efc77b43825d4fedb224c94118ae7faf5fb035d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.9.3-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "8.0-milestone-2", - "buildTime" : "20221009102113+0000", - "commitId" : "2fa96f7c0db3ece3385edf57f44e89589cd59486", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-2-bin.zip.sha256", - "checksum" : "7fe8e8147543e80b4e1a11dfaf819d80d5bd32d1d922b11944e768a15c7c6a7b", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "8.0-milestone-1", - "buildTime" : "20220923110128+0000", - "commitId" : "60cd44b5204ccedca6bf0f194bc4b17b8a3a7ad5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "8.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-1-bin.zip.sha256", - "checksum" : "573715e1f25829fc3c2ad2e97578e9f8433050da87ddab5413e587663a621ebe", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-8.0-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "7.6-milestone-1", - "buildTime" : "20220923093944+0000", - "commitId" : "d4f94bd96c2dfb7374cd71abbc4b1f628a2d6a2b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "7.6", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.6-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-milestone-1-bin.zip.sha256", - "checksum" : "9ca7bc6d09c52b365cc61f4ef9e0410f79f6122bc126786c76847b987a4b7cbe", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.6-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a" -}, { - "version" : "7.5.1", - "buildTime" : "20220805211756+0000", - "commitId" : "d1daa0cbf1a0103000b71484e1dbfe096e095918", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.5.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.5.1-bin.zip.sha256", - "checksum" : "f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.5.1-wrapper.jar.sha256", - "wrapperChecksum" : "91a239400bb638f36a1795d8fdf7939d532cdc7d794d1119b7261aac158b1e60" -}, { - "version" : "7.5", - "buildTime" : "20220714124815+0000", - "commitId" : "c7db7b958189ad2b0c1472b6fe663e6d654a5103", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-bin.zip.sha256", - "checksum" : "cb87f222c5585bd46838ad4db78463a5c5f3d336e5e2b98dc7c0c586527351c2", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-wrapper.jar.sha256", - "wrapperChecksum" : "91a239400bb638f36a1795d8fdf7939d532cdc7d794d1119b7261aac158b1e60" -}, { - "version" : "7.5-rc-5", - "buildTime" : "20220712114039+0000", - "commitId" : "0da5e9cce20a3cb79ede91fbc52d3efec9e309a9", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-5-bin.zip.sha256", - "checksum" : "c0bbfe570634634271f472aa30ec8d059a2e97b920be687d4c6446efbad9cc58", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-5-wrapper.jar.sha256", - "wrapperChecksum" : "91a239400bb638f36a1795d8fdf7939d532cdc7d794d1119b7261aac158b1e60" -}, { - "version" : "7.5-rc-4", - "buildTime" : "20220706171202+0000", - "commitId" : "a641d1caebe02ea109a69ca5fc0f59c20bceb9de", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-4-bin.zip.sha256", - "checksum" : "d98c4322d882e7b115fbf2a33ccd3e03677653b88c4f245e33cbea28b531a173", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "91a239400bb638f36a1795d8fdf7939d532cdc7d794d1119b7261aac158b1e60" -}, { - "version" : "7.5-rc-3", - "buildTime" : "20220629120328+0000", - "commitId" : "db02cfd2c0a9d1503dec236222fcc5b545413102", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-3-bin.zip.sha256", - "checksum" : "d10d8e6206d613313379834f3ed94ec7b781790f22edd44b0f2afa76708e2050", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "91a239400bb638f36a1795d8fdf7939d532cdc7d794d1119b7261aac158b1e60" -}, { - "version" : "7.5-rc-2", - "buildTime" : "20220610165005+0000", - "commitId" : "e97f154bbdce2d3da1d46161417f7a7eaa9e00f2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-2-bin.zip.sha256", - "checksum" : "ba761aa1563f5d893d1a6e7ddca48bbdc4385fdd527974e6472b873b7eae9a32", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "91a239400bb638f36a1795d8fdf7939d532cdc7d794d1119b7261aac158b1e60" -}, { - "version" : "7.5-rc-1", - "buildTime" : "20220512190923+0000", - "commitId" : "8d531f6b22fb3a97fb623f949c5e7bae8a2e1fe2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-1-bin.zip.sha256", - "checksum" : "8ba57a37e1e0b8c415e4d91718d51035223aa73131cf719a50c95a2a88269eb2", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.5-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "91a239400bb638f36a1795d8fdf7939d532cdc7d794d1119b7261aac158b1e60" -}, { - "version" : "7.4.2", - "buildTime" : "20220331152529+0000", - "commitId" : "540473b8118064efcc264694cbcaa4b677f61041", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.4.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.4.2-bin.zip.sha256", - "checksum" : "29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.4.2-wrapper.jar.sha256", - "wrapperChecksum" : "575098db54a998ff1c6770b352c3b16766c09848bee7555dab09afc34e8cf590" -}, { - "version" : "7.4.1", - "buildTime" : "20220309150447+0000", - "commitId" : "36dc52588e09b4b72f2010bc07599e0ee0434e2e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.4.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.4.1-bin.zip.sha256", - "checksum" : "e5444a57cda4a95f90b0c9446a9e1b47d3d7f69057765bfb54bd4f482542d548", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.4.1-wrapper.jar.sha256", - "wrapperChecksum" : "575098db54a998ff1c6770b352c3b16766c09848bee7555dab09afc34e8cf590" -}, { - "version" : "7.4", - "buildTime" : "20220208095838+0000", - "commitId" : "f0d9291c04b90b59445041eaa75b2ee744162586", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.4-bin.zip.sha256", - "checksum" : "8cc27038d5dbd815759851ba53e70cf62e481b87494cc97cfd97982ada5ba634", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.4-wrapper.jar.sha256", - "wrapperChecksum" : "575098db54a998ff1c6770b352c3b16766c09848bee7555dab09afc34e8cf590" -}, { - "version" : "7.4-rc-2", - "buildTime" : "20220202150044+0000", - "commitId" : "88ab9b652933bc3b2e3161b31ad8b8f4f0516351", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.4-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.4-rc-2-bin.zip.sha256", - "checksum" : "21491c9f0656e1529ccb39cbd587d01c33ba00d25f994b10240748ed0d45894a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.4-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "575098db54a998ff1c6770b352c3b16766c09848bee7555dab09afc34e8cf590" -}, { - "version" : "7.4-rc-1", - "buildTime" : "20220117201507+0000", - "commitId" : "693625f25f2210d1a3ca866897d69ac221de6811", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.4-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.4-rc-1-bin.zip.sha256", - "checksum" : "b2a452bc37637aa453f0f3fb526240caed02878c47a9736f3059590605893bdb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.4-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "575098db54a998ff1c6770b352c3b16766c09848bee7555dab09afc34e8cf590" -}, { - "version" : "7.3.3", - "buildTime" : "20211222123754+0000", - "commitId" : "6f556c80f945dc54b50e0be633da6c62dbe8dc71", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3.3-bin.zip.sha256", - "checksum" : "b586e04868a22fd817c8971330fec37e298f3242eb85c374181b12d637f80302", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3.3-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.3.3-rc-1", - "buildTime" : "20211222090657+0000", - "commitId" : "6f556c80f945dc54b50e0be633da6c62dbe8dc71", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.3.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3.3-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3.3-rc-1-bin.zip.sha256", - "checksum" : "07a1cd283d6cfe437eb08fe08936dc1af5f12946e67dc9f5e0a9f4b948ebfd3a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3.3-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "6.9.2", - "buildTime" : "20211221172537+0000", - "commitId" : "5d94aa68c0fdbe443838bb977080e3b9f273e889", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.9.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.9.2-bin.zip.sha256", - "checksum" : "8b356fd8702d5ffa2e066ed0be45a023a779bba4dd1a68fd11bc2a6bdc981e8f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.9.2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "7.3.2", - "buildTime" : "20211215112231+0000", - "commitId" : "26c186eb63b2b02e68d83b0dbc6ec69ab118653a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3.2-bin.zip.sha256", - "checksum" : "23b89f8eac363f5f4b8336e0530c7295c55b728a9caa5268fdd4a532610d5392", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3.2-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.3.1", - "buildTime" : "20211201154220+0000", - "commitId" : "2c62cec93e0b15a7d2cd68746f3348796d6d42bd", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3.1-bin.zip.sha256", - "checksum" : "9afb3ca688fc12c761a0e9e4321e4d24e977a4a8916c8a768b1fe05ddb4d6b66", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3.1-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.3", - "buildTime" : "20211109204036+0000", - "commitId" : "96754b8c44399658178a768ac764d727c2addb37", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-bin.zip.sha256", - "checksum" : "de8f52ad49bdc759164f72439a3bf56ddb1589c4cde802d3cec7d6ad0e0ee410", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.3-rc-5", - "buildTime" : "20211105184337+0000", - "commitId" : "426f267f7b768154fd63b27e055ba56b357e6e4e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-5-bin.zip.sha256", - "checksum" : "dca199cee2553ec2497e840bf17969e56d4f99df661a693740b90de7ed0efbeb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-5-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.3-rc-4", - "buildTime" : "20211105160540+0000", - "commitId" : "426f267f7b768154fd63b27e055ba56b357e6e4e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-4-bin.zip.sha256", - "checksum" : "488d250f4a1ae7744dcdf53fef0708f4a3e373023b8c134eda1be98aba4ed260", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.3-rc-3", - "buildTime" : "20211026162420+0000", - "commitId" : "c49d04ba7bd0708b11bf2ecf2e2d0bbd12a5123a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-3-bin.zip.sha256", - "checksum" : "d57eb720003db00f85915c48ff4a5ac3c7e8a8a34bd34ced16ca0c7a31c10110", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.3-rc-2", - "buildTime" : "20211020220023+0000", - "commitId" : "93609146327efb378cbea19477ed638d03be1e57", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-2-bin.zip.sha256", - "checksum" : "e6a7b81aa2fd2fa05efba3cf7d0c79d629b4d3b189aa4d4b57729933a211af79", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.3-rc-1", - "buildTime" : "20211012072418+0000", - "commitId" : "d71b6cdb688f94d57ff4c27c7b185afbcb338a5f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-1-bin.zip.sha256", - "checksum" : "d23a3a902b3c4a8cc6952ff236fb83279a266aec1854b01286ed04788a5d3d9a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.3-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "6.9.1", - "buildTime" : "20210820111518+0000", - "commitId" : "f0ddb54aaae0e44f0a7209c3c0274d506ea742a0", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.9.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.9.1-bin.zip.sha256", - "checksum" : "8c12154228a502b784f451179846e518733cf856efc7d45b2e6691012977b2fe", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.9.1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "7.2", - "buildTime" : "20210817095903+0000", - "commitId" : "a773786b58bb28710e3dc96c4d1a7063628952ad", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.2-bin.zip.sha256", - "checksum" : "f581709a9c35e9cb92e16f585d2c4bc99b2b1a5f85d2badbd3dc6bff59e1e6dd", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.2-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.2-rc-3", - "buildTime" : "20210812075909+0000", - "commitId" : "c85cebe8534173e68d3c36cbf78ee1eaaa408301", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.2-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.2-rc-3-bin.zip.sha256", - "checksum" : "12215a4146ab05309893c24fb7d0c32366ab6b548e2de84185d781ec639a6283", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.2-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.2-rc-2", - "buildTime" : "20210805122137+0000", - "commitId" : "9a8406d602d05d95ddea924dd2443954f9b9e0c8", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.2-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.2-rc-2-bin.zip.sha256", - "checksum" : "e7ed72455ea34234ffb244621d384c94e86c4adfcb0bc9e7c60ff4849ee69a77", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.2-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.2-rc-1", - "buildTime" : "20210729075128+0000", - "commitId" : "d25e5bd8039ad18a2d63706b5a97cdc12e906ac3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.2-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.2-rc-1-bin.zip.sha256", - "checksum" : "fb0e3b9890cbe993819154d099b9cbcfdfccb4a6bf78f9b6189871e36663ce44", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.2-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.1.1", - "buildTime" : "20210702121643+0000", - "commitId" : "774525a055494e0ece39f522ac7ad17498ce032c", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.1.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.1.1-bin.zip.sha256", - "checksum" : "bf8b869948901d422e9bb7d1fa61da6a6e19411baa7ad6ee929073df85d6365d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.1.1-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.1", - "buildTime" : "20210614144726+0000", - "commitId" : "989ccc9952b140ee6ab88870e8a12f1b2998369e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.1-bin.zip.sha256", - "checksum" : "2debee19271e1b82c6e41137d78e44e6e841035230a1a169ca47fd3fb09ed87b", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.1-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.1-rc-2", - "buildTime" : "20210608153520+0000", - "commitId" : "79bbe8b8ea2f705f4af44f8e88af0d67fee6a898", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.1-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.1-rc-2-bin.zip.sha256", - "checksum" : "caa8e323577de2fa421b47dded5278e7376c2bb6420221fbaf7908dfa9be8657", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.1-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.1-rc-1", - "buildTime" : "20210531095845+0000", - "commitId" : "c2d15c6444215f4b5a788a110922e3ee48a14f08", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.1-rc-1-bin.zip.sha256", - "checksum" : "bac27c9878c4aa5b4b35f92105ca71de2ad39c323bc81117e611c65f2dffd941", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.1-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "33ad4583fd7ee156f533778736fa1b4940bd83b433934d1cc4e9f608e99a6a89" -}, { - "version" : "7.0.2", - "buildTime" : "20210514120231+0000", - "commitId" : "1ef1b260d39daacbf9357f9d8594a8a743e2152e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.0.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.0.2-bin.zip.sha256", - "checksum" : "0e46229820205440b48a5501122002842b82886e76af35f0f3a069243dca4b3c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.0.2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "7.0.1", - "buildTime" : "20210510160858+0000", - "commitId" : "67e618faef187783dadd03a34fdab9dc71b85b19", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.0.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.0.1-bin.zip.sha256", - "checksum" : "dccda8aa069563c8ba2f6cdfd0777df0e34a5b4d15138ca8b9757e94f4e8a8cb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.0.1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.9", - "buildTime" : "20210507072853+0000", - "commitId" : "afe2e24ababc7b0213ccffff44970aa18035fc0e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.9-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.9-bin.zip.sha256", - "checksum" : "765442b8069c6bee2ea70713861c027587591c6b1df2c857a23361512560894e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.9-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.9-rc-2", - "buildTime" : "20210505141217+0000", - "commitId" : "56bca94e761b37ff00dfa1afdeda4bed4f15ae45", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.9-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.9-rc-2-bin.zip.sha256", - "checksum" : "ce62238c6f84286a524590cb60706b7e6ecf00c3be5bddfa0c78345b94d0d127", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.9-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.9-rc-1", - "buildTime" : "20210427125445+0000", - "commitId" : "b110653415a762d00576628358f6bf6b9edeff25", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.9-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.9-rc-1-bin.zip.sha256", - "checksum" : "0edea03c77d94adbbb02c77a8f20c73afb8caf206f364727be0517136f6fb347", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.9-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "7.0", - "buildTime" : "20210409222731+0000", - "commitId" : "d5661e3f0e07a8caff705f1badf79fb5df8022c4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-bin.zip.sha256", - "checksum" : "eb8b89184261025b0430f5b2233701ff1377f96da1ef5e278af6ae8bac5cc305", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "7.0-rc-2", - "buildTime" : "20210401212639+0000", - "commitId" : "912a3368b654b71250dfc92234da35a20d620393", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-rc-2-bin.zip.sha256", - "checksum" : "a5db0c919dfd184f7408ca761b438853b55ceab20d7ebb41ea3f72befd8bfb3f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "7.0-rc-1", - "buildTime" : "20210323010230+0000", - "commitId" : "f5bf7ade373b74058e49f07749083b4c3075549a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "7.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-rc-1-bin.zip.sha256", - "checksum" : "12b807b5d6b065f05e0e47d8d00e9d55fe26d3cfc6cdb22d6825a93940edec90", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "7.0-milestone-3", - "buildTime" : "20210313010321+0000", - "commitId" : "2c491436533ea8ed227f70e9246801d92848ba4a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "7.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.0-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-milestone-3-bin.zip.sha256", - "checksum" : "2e6b95b41001bd9f099b17a772c3308fe59356f8b7f995ffd7bf74400db0f13c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "7.0-milestone-2", - "buildTime" : "20210223230254+0000", - "commitId" : "b3ebdd96f5efa645c12a2b0af93025a715197e86", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "7.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-milestone-2-bin.zip.sha256", - "checksum" : "a971b1cd25348e0dbeb56e4b7a7bb7dd06d7b092c166116f5247427f32fc4281", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8.3", - "buildTime" : "20210222161328+0000", - "commitId" : "9e26b4a9ebb910eaa1b8da8ff8575e514bc61c78", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8.3-bin.zip.sha256", - "checksum" : "7faa7198769f872826c8ef4f1450f839ec27f0b4d5d1e51bade63667cbccd205", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8.3-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8.2", - "buildTime" : "20210205125300+0000", - "commitId" : "b9bd4a5c6026ac52f690eaf2829ee26563cad426", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8.2-bin.zip.sha256", - "checksum" : "8de6efc274ab52332a9c820366dd5cf5fc9d35ec7078fd70c8ec6913431ee610", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8.2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "7.0-milestone-1", - "buildTime" : "20210203220023+0000", - "commitId" : "d86fce68d4c6d73845da89f55390a3ef594d1767", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "7.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-7.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-milestone-1-bin.zip.sha256", - "checksum" : "627fc72166c8a6ae9bf3e6d9b59c0a8cc4efe5cd5417a2fc525b5c7d05409aa5", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-7.0-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8.1", - "buildTime" : "20210122132008+0000", - "commitId" : "31f14a87d93945024ab7a78de84102a3400fa5b2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8.1-bin.zip.sha256", - "checksum" : "fd591a34af7385730970399f473afabdb8b28d57fd97d6625c388d090039d6fd", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8.1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8", - "buildTime" : "20210108163846+0000", - "commitId" : "b7e82460c5373e194fb478a998c4fcfe7da53a7e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-bin.zip.sha256", - "checksum" : "e2774e6fb77c43657decde25542dea710aafd78c4022d19b196e7e78d79d8c6c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8-rc-5", - "buildTime" : "20210104202203+0000", - "commitId" : "d668fa996848d20ec622982d226fe84a6a538dcf", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-5-bin.zip.sha256", - "checksum" : "569bebddc0c174475cc25d708e54af793f25fd37e5a72e53674f8ef628b6ddfd", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-5-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8-rc-4", - "buildTime" : "20201222084410+0000", - "commitId" : "b8b010210c7645fd62d2d73ac876445f2c2b94ae", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-4-bin.zip.sha256", - "checksum" : "6cb03b71767b169eda987338091172cbc84eb0cd53a93c17e6661688411e267e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8-rc-3", - "buildTime" : "20201217142452+0000", - "commitId" : "183b081d53044028848dab1b00a05506c564dab2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-3-bin.zip.sha256", - "checksum" : "6c929633a439d248413d3d1bff477195ee662ccadc6fdc31f6f50f8059a2be36", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8-rc-1", - "buildTime" : "20201126092543+0000", - "commitId" : "6817ac1108f950a6ebd6ed3f74e4e86efef9246a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-1-bin.zip.sha256", - "checksum" : "155bafc3a46f81b7af481ad7dba391a3b9c12818f27da8684178ffeaa40e6d7e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.7.1", - "buildTime" : "20201116170924+0000", - "commitId" : "2972ff02f3210d2ceed2f1ea880f026acfbab5c0", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.7.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.7.1-bin.zip.sha256", - "checksum" : "3239b5ed86c3838a37d983ac100573f64c1f3fd8e1eb6c89fa5f9529b5ec091d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.7.1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8-milestone-3", - "buildTime" : "20201115200053+0000", - "commitId" : "31e2ecb5fb775e8ec16cbd3fafe61cc29a27fb9d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.8", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-milestone-3-bin.zip.sha256", - "checksum" : "47fa64cc30ab93a78901bdae68f33410da070c46f750f7e7978a6fb2a7b7ab50", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8-milestone-2", - "buildTime" : "20201028055518+0000", - "commitId" : "d75d27c882fd80a18d853e0eb8aa0a41f9fdf6b0", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.8", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-milestone-2-bin.zip.sha256", - "checksum" : "0e15751be3270c3cbff10742cc259cbd3b92f379204d645397541f676b0667f6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.7", - "buildTime" : "20201014161312+0000", - "commitId" : "312ba9e0f4f8a02d01854d1ed743b79ed996dfd3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.7-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-bin.zip.sha256", - "checksum" : "8ad57759019a9233dc7dc4d1a530cefe109dc122000d57f7e623f8cf4ba9dfc4", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.8-milestone-1", - "buildTime" : "20201013065906+0000", - "commitId" : "cffde3dcc3794fbe1f08373bf38df91b8a5abbc8", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.8", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.8-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-milestone-1-bin.zip.sha256", - "checksum" : "cddca6851af8503eb7c8bf5ba778c4c9e878a7b6cf74708fda09cae1952656fc", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.8-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.7-rc-5", - "buildTime" : "20201012190940+0000", - "commitId" : "e019f250eece15efaddc7c812d56b34583950a40", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-5-bin.zip.sha256", - "checksum" : "c7c33aa33d32e4bd68df71deb5c6d00f2c4675d88b8a14748661196a717dfe2c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-5-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.7-rc-4", - "buildTime" : "20201008165738+0000", - "commitId" : "40a302302ce9adfc1dc21dbc4cecae16dd980e5d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-4-bin.zip.sha256", - "checksum" : "01b4f3804b6c3f15ff3eb39e56efae55e265b6007c9fa3bd58b83b2dc4697dc4", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.7-rc-3", - "buildTime" : "20200930191651+0000", - "commitId" : "836e96a80625c9c48b612e662e3b13bd2e2f4c3b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-3-bin.zip.sha256", - "checksum" : "f4a236ffc777d6a4c25cdf7b1c45fe7024910afc65c88a9c9027aab9a765d295", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.7-rc-2", - "buildTime" : "20200925201444+0000", - "commitId" : "a57db4f9f8ee3f033fd1137d97d351d6b9c637fd", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-2-bin.zip.sha256", - "checksum" : "34d87e1fe52cb50b9670cd7c817843273d40afa572a2d4f1b6f866daedfee8af", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.7-rc-1", - "buildTime" : "20200911161705+0000", - "commitId" : "fe783600075485236c778e073cad5640729cf8f5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-1-bin.zip.sha256", - "checksum" : "77822eaca04dd0e1c59065877ab22b96f0b0c5d5a65df8f63a58ae31f8938c8a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.7-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6.1", - "buildTime" : "20200825162912+0000", - "commitId" : "f2d1fb54a951d8b11d25748e4711bec8d128d7e3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6.1-bin.zip.sha256", - "checksum" : "7873ed5287f47ca03549ab8dcb6dc877ac7f0e3d7b1eb12685161d10080910ac", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6.1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6", - "buildTime" : "20200810220619+0000", - "commitId" : "d119144684a0c301aea027b79857815659e431b9", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-bin.zip.sha256", - "checksum" : "e6f83508f0970452f56197f610d13c5f593baaf43c0e3c6a571e5967be754025", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6-rc-6", - "buildTime" : "20200805195744+0000", - "commitId" : "d4d3dd932ea87b4f1c470c93df56dfe00862d710", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-6-bin.zip.sha256", - "checksum" : "5d24a11971f2324bf55899e9c5cd84e85fe94c63ff0456b10a53f93f7a14d288", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-6-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6-rc-5", - "buildTime" : "20200803185444+0000", - "commitId" : "899b462147bbdf177c655173433336ffe6a93de9", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-5-bin.zip.sha256", - "checksum" : "076f1c7d463cb8fa5fec51e1818e18fed9e6c5c6dc06ffa6325eef07a9746661", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-5-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6-rc-4", - "buildTime" : "20200730144824+0000", - "commitId" : "b573ec13e0627bf831dcaa0cfc67403c0a93fb33", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-4-bin.zip.sha256", - "checksum" : "f743d14deb36c6f1cfdf0480452e369d3098f63034c4e2c92fc1154740cb7bce", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6-rc-3", - "buildTime" : "20200724140409+0000", - "commitId" : "13b5dcc4f294b395e61d937a3601fd47be38e76e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-3-bin.zip.sha256", - "checksum" : "030078a5900466f172f1e59e0f3351280328693929de08ab10747103fb6d9faf", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6-rc-2", - "buildTime" : "20200720214344+0000", - "commitId" : "ff063bb2d5573aeee22c08133a268c6545195153", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-2-bin.zip.sha256", - "checksum" : "c981f305803093525a64aeee8adb356ef2b909b01b44f11a70c6ed6d6ea92fc5", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6-rc-1", - "buildTime" : "20200713135325+0000", - "commitId" : "1ed79f4fbe18d90df8cb759235804f95a99b30a2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-1-bin.zip.sha256", - "checksum" : "2253ab246976353b225002ecba04859b5dbad0620f57052ef057fdcfcb888c5c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6-milestone-3", - "buildTime" : "20200707160951+0000", - "commitId" : "e3fcd2f83cbe862e41a1c12df3213be5698041b5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.6", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-milestone-3-bin.zip.sha256", - "checksum" : "c85644cecb8276ee7621ed7b7309897f5927b175a3e658b54d25889aaf7cfeb3", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.5.1", - "buildTime" : "20200630063247+0000", - "commitId" : "66bc713f7169626a7f0134bf452abde51550ea0a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.5.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.5.1-bin.zip.sha256", - "checksum" : "50a7d30529fa939721fe9268a0205142f3f2302bcac5fb45b27a3902e58db54a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.5.1-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.6-milestone-2", - "buildTime" : "20200623122834+0000", - "commitId" : "19fa87a998bd6ec4c21ba50dbf6fe9d12f374193", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.6", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-milestone-2-bin.zip.sha256", - "checksum" : "c7a17a7816572ec0ec3632fcae4e2d877db03cb53b9127e9f5ab60529e1699e2", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.6-milestone-1", - "buildTime" : "20200611202418+0000", - "commitId" : "bc05809b2ebf24012a91dcb7f8a5cab83f94016a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.6", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.6-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-milestone-1-bin.zip.sha256", - "checksum" : "287d42827c2da3a27c8826cb791af3788ac7ed3bceed415125512c4140706c14", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.6-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "e996d452d2645e70c01c11143ca2d3742734a28da2bf61f25c82bdc288c9e637" -}, { - "version" : "6.5", - "buildTime" : "20200602204621+0000", - "commitId" : "a27f41e4ae5e8a41ab9b19f8dd6d86d7b384dad4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.5-bin.zip.sha256", - "checksum" : "23e7d37e9bb4f8dabb8a3ea7fdee9dd0428b9b1a71d298aefd65b11dccea220f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.5-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.5-rc-1", - "buildTime" : "20200526200448+0000", - "commitId" : "2ce1bc8db4b993f0dd1d8834be5b53e43f657985", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.5-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.5-rc-1-bin.zip.sha256", - "checksum" : "fd64fa437cb3dfb53a037fff72cbe24e1280bc83ceb3bd35b2f96637ab6efeff", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.5-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.4.1", - "buildTime" : "20200515194340+0000", - "commitId" : "1a04183c502614b5c80e33d603074e0b4a2777c5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.4.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.4.1-bin.zip.sha256", - "checksum" : "e58cdff0cee6d9b422dcd08ebeb3177bc44eaa09bd9a2e838ff74c408fe1cbcd", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.4.1-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.5-milestone-2", - "buildTime" : "20200515094006+0000", - "commitId" : "a1fbc4cd16fd3f9c51345111a4bd8a03364e34cd", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.5", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.5-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.5-milestone-2-bin.zip.sha256", - "checksum" : "3e269c619d1d19cbbcbd74165487a973d8ad307def9552883e601a93b60ced4b", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.5-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.5-milestone-1", - "buildTime" : "20200507135506+0000", - "commitId" : "c123669c38bdc112ea577e999a0d6c1bd43af8a1", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.5", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.5-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.5-milestone-1-bin.zip.sha256", - "checksum" : "7e6ac72a36af92474ee8c4ddae73cbc3cc5e6be33fb088ff6668465b25addcd9", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.5-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.4", - "buildTime" : "20200505191855+0000", - "commitId" : "42f7c3d0c3066b7b38bd0726760d4881e86fd19f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-bin.zip.sha256", - "checksum" : "b888659f637887e759749f6226ddfcb1cb04f828c58c41279de73c463fdbacc9", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.4-rc-4", - "buildTime" : "20200430212330+0000", - "commitId" : "9aca99e4db8808881606548487fa98e012fb39e1", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-4-bin.zip.sha256", - "checksum" : "7307d73b87b4e2416eeb6a376ac7f1bcce6c7cff8eb87e6dca2e130f0016858b", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.4-rc-3", - "buildTime" : "20200428190039+0000", - "commitId" : "87fd55432350f0e70a2498bf643a9be319d3bb4a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-3-bin.zip.sha256", - "checksum" : "b80df15a8398f020e5689233d912704e42c9dc567cd32c539a3c59f8616e8954", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.4-rc-2", - "buildTime" : "20200422163205+0000", - "commitId" : "20a24c0cf0c107d7560b7656a96bd346bae4947b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-2-bin.zip.sha256", - "checksum" : "a74a1d4ff45e7b6f42c7384546bba2620e23a1172d4b3dcfc1418000ad5d793c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.4-rc-1", - "buildTime" : "20200415202839+0000", - "commitId" : "4162fd0e34887a8c600495239d421cecaa5f17ff", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-1-bin.zip.sha256", - "checksum" : "f8e14fc40ebc468d578601cfeaef402844048ff8fc727d452e6b28922c53459c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.4-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "70239e6ca1f0d5e3b2808ef6d82390cf9ad58d3a3a0d271677a51d1b89475857" -}, { - "version" : "6.3", - "buildTime" : "20200324195207+0000", - "commitId" : "bacd40b727b0130eeac8855ae3f9fd9a0b207c60", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-bin.zip.sha256", - "checksum" : "038794feef1f4745c6347107b6726279d1c824f3fc634b60f86ace1e9fbd1768", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-wrapper.jar.sha256", - "wrapperChecksum" : "1cef53de8dc192036e7b0cc47584449b0cf570a00d560bfaa6c9eabe06e1fc06" -}, { - "version" : "6.3-rc-4", - "buildTime" : "20200320053945+0000", - "commitId" : "507eaa2e999827ec256a700ffc413c5e92a9e69d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-4-bin.zip.sha256", - "checksum" : "eb17f321c7892267869541962484de3c375b12dfe98dfe2a55139996d1e71aec", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "1cef53de8dc192036e7b0cc47584449b0cf570a00d560bfaa6c9eabe06e1fc06" -}, { - "version" : "6.3-rc-3", - "buildTime" : "20200318152649+0000", - "commitId" : "da54f723f8f1c5f94526bc72bf78f15b0f1409ec", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-3-bin.zip.sha256", - "checksum" : "492b013ee962016f83a49defd221bd1fdc80003a9d50a9ad3c5f869c8f48c864", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "1cef53de8dc192036e7b0cc47584449b0cf570a00d560bfaa6c9eabe06e1fc06" -}, { - "version" : "6.3-rc-2", - "buildTime" : "20200317124036+0000", - "commitId" : "2cc0a9fd7e59c7876fe2fac480124f07ea31be5b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-2-bin.zip.sha256", - "checksum" : "7431e8b723dbe8fea36b635ec578a676df5458a21faa7aaabc8279dc5f9c86dc", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "1cef53de8dc192036e7b0cc47584449b0cf570a00d560bfaa6c9eabe06e1fc06" -}, { - "version" : "6.3-rc-1", - "buildTime" : "20200311214114+0000", - "commitId" : "7bc8f57a5b03db954a651cf24b5247aa9629e72f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-1-bin.zip.sha256", - "checksum" : "b72707eb36a9e6fffb8dbe1653c59d8cbd7e4b839f4ef6131c46629dd9fa5686", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.3-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "1cef53de8dc192036e7b0cc47584449b0cf570a00d560bfaa6c9eabe06e1fc06" -}, { - "version" : "6.2.2", - "buildTime" : "20200304084931+0000", - "commitId" : "7d0bf6dcb46c143bcc3b7a0fa40a8e5ca28e5856", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.2.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.2.2-bin.zip.sha256", - "checksum" : "0f6ba231b986276d8221d7a870b4d98e0df76e6daf1f42e7c0baec5032fb7d17", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.2.2-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.2.1", - "buildTime" : "20200224202410+0000", - "commitId" : "aacbcb7e587faa6a8e7851751a76183b6187b164", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.2.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.2.1-bin.zip.sha256", - "checksum" : "a68ca7ba57f3404c3f6fc1f70a02d3a7d78652e6b46bbfaff83fc9a17168c279", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.2.1-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.2", - "buildTime" : "20200217083201+0000", - "commitId" : "61d3320259a1a0d31519bf208eb13741679a742f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.2-bin.zip.sha256", - "checksum" : "b93a5f30d01195ec201e240f029c8b42d59c24086b8d1864112c83558e23cf8a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.2-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.2-rc-3", - "buildTime" : "20200213012914+0000", - "commitId" : "68b48dea20ab558725a7f61ab1e523253df94495", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.2-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.2-rc-3-bin.zip.sha256", - "checksum" : "3e8db98ac4398938ffcdb95241518eadf8858cee65f951f5f75e22cf5efb4cc2", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.2-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.2-rc-2", - "buildTime" : "20200211221400+0000", - "commitId" : "8a7f6425a217ceeff6c5a76f8dd533b770606110", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.2-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.2-rc-2-bin.zip.sha256", - "checksum" : "cf53ad90046348ab326f07b77f7362d6e8f101125ddd815e46df2f296ed2a0ee", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.2-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.2-rc-1", - "buildTime" : "20200203123003+0000", - "commitId" : "3931d0c37f00de3bd45f713520bd47a09b6bad30", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.2-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.2-rc-1-bin.zip.sha256", - "checksum" : "4e40b36d619f5e7a9eb9a97d6652c062a13df828995be79137b7215c062b9139", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.2-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.1.1", - "buildTime" : "20200124223024+0000", - "commitId" : "a8c3750babb99d1894378073499d6716a1a1fa5d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.1.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.1.1-bin.zip.sha256", - "checksum" : "9d94e6e4a28ad328072ef6e56bce79a810494ae756751fdcedffdeaf27c093b1", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.1.1-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.1", - "buildTime" : "20200115235646+0000", - "commitId" : "539d277fdba571ebcc9617a34329c83d7d2b259e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-bin.zip.sha256", - "checksum" : "d0c43d14e1c70a48b82442f435d06186351a2d290d72afd5b8866f15e6d7038a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.1-rc-3", - "buildTime" : "20200113162324+0000", - "commitId" : "52aebd9acc0e395deba9a17db22f6cffe7d61cf1", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.1-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-rc-3-bin.zip.sha256", - "checksum" : "f150eccc7ab05d14bd89a04cdfc4de94e320d5962828e69d10c43bfff12d176d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.1-rc-2", - "buildTime" : "20200107211705+0000", - "commitId" : "8ea1a9823c6a4bfe11b14a3fcbed0630992b126f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.1-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-rc-2-bin.zip.sha256", - "checksum" : "f451724e3f6157893e6efd98f91e26fbed1bac89d43fd248d4535cc918b83ee7", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.1-rc-1", - "buildTime" : "20191219215643+0000", - "commitId" : "091da954cc24262bb056965f70f172e1e587e9ca", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-rc-1-bin.zip.sha256", - "checksum" : "8262a8509cdd281ab19b87c79f03d4a5d0629f2a03a28c284203431f12c70960", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "96f793a18e056c23ffeec67c1f3bb8eccff5a4a407fc9ceac183527e7eedf4b6" -}, { - "version" : "6.1-milestone-3", - "buildTime" : "20191203141333+0000", - "commitId" : "b360d725d00cc62bad1e1f95f66077b18b5cf9a0", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.1", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.1-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-milestone-3-bin.zip.sha256", - "checksum" : "31b51f1c7db4aa3927c3621a5732e777f7655f7b4d769225337c251cfbb8cdf6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-milestone-3-wrapper.jar.sha256", - "wrapperChecksum" : "3888c76faa032ea8394b8a54e04ce2227ab1f4be64f65d450f8509fe112d38ce" -}, { - "version" : "6.1-milestone-2", - "buildTime" : "20191128101755+0000", - "commitId" : "0f4f797500d442efec2e41485029d66470049b4a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.1", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.1-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-milestone-2-bin.zip.sha256", - "checksum" : "3c2040ce128a323e96163eb2e87ac7a50475756f767fa7a139e0edc34447548e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-milestone-2-wrapper.jar.sha256", - "wrapperChecksum" : "3888c76faa032ea8394b8a54e04ce2227ab1f4be64f65d450f8509fe112d38ce" -}, { - "version" : "6.1-milestone-1", - "buildTime" : "20191120132405+0000", - "commitId" : "0e10d43391411ce56234fec67bfa38066df5f191", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "6.1", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.1-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-milestone-1-bin.zip.sha256", - "checksum" : "b13a85987bf9b2b8aa7c24a9b8e68c46a32acb6b623477ac457bca8b0ea9fc04", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.1-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "3888c76faa032ea8394b8a54e04ce2227ab1f4be64f65d450f8509fe112d38ce" -}, { - "version" : "6.0.1", - "buildTime" : "20191118202501+0000", - "commitId" : "fad121066a68c4701acd362daf4287a7c309a0f5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.0.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.0.1-bin.zip.sha256", - "checksum" : "d364b7098b9f2e58579a3603dc0a12a1991353ac58ed339316e6762b21efba44", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.0.1-wrapper.jar.sha256", - "wrapperChecksum" : "28b330c20a9a73881dfe9702df78d4d78bf72368e8906c70080ab6932462fe9e" -}, { - "version" : "6.0", - "buildTime" : "20191108181212+0000", - "commitId" : "0a5b531749138f2f983f7c888fa7790bfc52d88a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.0-bin.zip.sha256", - "checksum" : "5a3578b9f0bb162f5e08cf119f447dfb8fa950cedebb4d2a977e912a11a74b91", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.0-wrapper.jar.sha256", - "wrapperChecksum" : "28b330c20a9a73881dfe9702df78d4d78bf72368e8906c70080ab6932462fe9e" -}, { - "version" : "6.0-rc-3", - "buildTime" : "20191105175639+0000", - "commitId" : "74fa127e4a6787a1983bd8467e9443662fa0fe3d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.0-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.0-rc-3-bin.zip.sha256", - "checksum" : "d30c88a6644e28ba5a45923ae3a4850d55ba0f35dd14a3108595359cdfb0401e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.0-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "28b330c20a9a73881dfe9702df78d4d78bf72368e8906c70080ab6932462fe9e" -}, { - "version" : "5.6.4", - "buildTime" : "20191101204200+0000", - "commitId" : "dd870424f9bd8e195d614dc14bb140f43c22da98", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.6.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.6.4-bin.zip.sha256", - "checksum" : "1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.6.4-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "6.0-rc-2", - "buildTime" : "20191030160321+0000", - "commitId" : "990710705df1acf6809b5982a37307677a436d6f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.0-rc-2-bin.zip.sha256", - "checksum" : "dbb366685bd15d08e592e384744bc19715d00203adeacf43dcf4c8c3a46b6b01", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.0-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "28b330c20a9a73881dfe9702df78d4d78bf72368e8906c70080ab6932462fe9e" -}, { - "version" : "6.0-rc-1", - "buildTime" : "20191018192416+0000", - "commitId" : "5ed5fea1446b3300afa321c661d6e865ab3157a1", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "6.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-6.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-6.0-rc-1-bin.zip.sha256", - "checksum" : "e73ab0c91f71e051f9798c6c89e0b9c0ecc95f0877e683554425c68835998509", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-6.0-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "28b330c20a9a73881dfe9702df78d4d78bf72368e8906c70080ab6932462fe9e" -}, { - "version" : "5.6.3", - "buildTime" : "20191018002836+0000", - "commitId" : "bd168bbf5d152c479186a897f2cea494b7875d13", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.6.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.6.3-bin.zip.sha256", - "checksum" : "60a6d8f687e3e7a4bc901cc6bc3db190efae0f02f0cc697e323e0f9336f224a3", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.6.3-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.6.2", - "buildTime" : "20190905161354+0000", - "commitId" : "55a5e53d855db8fc7b0e494412fc624051a8e781", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.6.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.6.2-bin.zip.sha256", - "checksum" : "32fce6628848f799b0ad3205ae8db67d0d828c10ffe62b748a7c0d9f4a5d9ee0", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.6.2-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.6.1", - "buildTime" : "20190828024934+0000", - "commitId" : "b6bd8e7934ca41d9e52610058aa7cb834df81fc4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.6.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.6.1-bin.zip.sha256", - "checksum" : "0986244820e4a35d32d91df2ec4b768b5ba5d6c8246753794f85159f9963ec12", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.6.1-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.6", - "buildTime" : "20190814210525+0000", - "commitId" : "f0b9d60906c7b8c42cd6c61a39ae7b74767bb012", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.6-bin.zip.sha256", - "checksum" : "15c02ef5dd3631ec02ac52e8725703e0285d9a7eecbf4e5939aa9e924604d01d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.6-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.6-rc-2", - "buildTime" : "20190807150342+0000", - "commitId" : "19680ca6170bfa0a541cc161004c95fe23bb3e36", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.6-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.6-rc-2-bin.zip.sha256", - "checksum" : "26c4451c7297dd160314fe509273f97c4f1ee68527dc3fda3d87f0973df8eecb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.6-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.6-rc-1", - "buildTime" : "20190729112626+0000", - "commitId" : "f51e6f079cea308de4ef2fb04bdc3b108db6eeaf", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.6-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.6-rc-1-bin.zip.sha256", - "checksum" : "e09932eeca0e94f08bf81b1b58bc199ee8b8044d553c9ed5e1a906b641ce9c90", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.6-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.5.1", - "buildTime" : "20190710203812+0000", - "commitId" : "3245f748c7061472da4dc184991919810f7935a5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.5.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.5.1-bin.zip.sha256", - "checksum" : "222a03fcf2fcaf3691767ce9549f78ebd4a77e73f9e23a396899fb70b420cd00", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.5.1-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.5", - "buildTime" : "20190628173605+0000", - "commitId" : "83820928f3ada1a3a1dbd9a6c0d47eb3f199378f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-bin.zip.sha256", - "checksum" : "8d78b2ed63e7f07ad169c1186d119761c4773e681f332cfe1901045b1b0141bc", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.5-rc-4", - "buildTime" : "20190624152432+0000", - "commitId" : "787552139af6f0f19c748ac6a917a54d33f15ab0", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-4-bin.zip.sha256", - "checksum" : "8d0844d974a2da25b741382094cb63d035ad2e9572b978e63bdceb927231e9ea", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-4-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.5-rc-3", - "buildTime" : "20190614231538+0000", - "commitId" : "37d86b7ed068116d20e7a31c88d9dfe3e8ec3bd8", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-3-bin.zip.sha256", - "checksum" : "1d3f37c0b53084ba5e6642691a9b9fb5f588a801f8ca613f15d82042b2c7dad8", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.5-rc-2", - "buildTime" : "20190607090657+0000", - "commitId" : "360949f7e785578195c7fe7e4b6ca2dc566d55c5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-2-bin.zip.sha256", - "checksum" : "440429bd2195030d944b8d148c0d056edb2463813a04132ee7bf7123b471858a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.5-rc-1", - "buildTime" : "20190529115119+0000", - "commitId" : "6c070eb6e47979d5642a181e3efa11bf237dc69c", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-1-bin.zip.sha256", - "checksum" : "7fe31cb63223b292fae0c42b124de3d8d028a3567992e9caf08a240c10d48f6c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.5-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.4.1", - "buildTime" : "20190426081442+0000", - "commitId" : "261d171646b36a6a28d5a19a69676cd098a4c19d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.4.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.4.1-bin.zip.sha256", - "checksum" : "7bdbad1e4f54f13c8a78abc00c26d44dd8709d4aedb704d913fb1bb78ac025dc", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.4.1-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.4", - "buildTime" : "20190416024416+0000", - "commitId" : "a4f3f91a30d4e36d82cc7592c4a0726df52aba0d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.4-bin.zip.sha256", - "checksum" : "c8c17574245ecee9ed7fe4f6b593b696d1692d1adbfef425bef9b333e3a0e8de", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.4-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.4-rc-1", - "buildTime" : "20190410011532+0000", - "commitId" : "efacce4b4916e5709f25141b61fc3ec594d3893d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.4-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.4-rc-1-bin.zip.sha256", - "checksum" : "86dbc7499f0cc0810c2ca8683b5adcd0dd7841bfe14544401de0e49b885542a2", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.4-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.3.1", - "buildTime" : "20190328090923+0000", - "commitId" : "f2fae6ba563cfb772c8bc35d31e43c59a5b620c3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.3.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.3.1-bin.zip.sha256", - "checksum" : "1c59a17a054e9c82f0dd881871c9646e943ec4c71dd52ebc6137d17f82337436", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.3.1-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.3", - "buildTime" : "20190320110329+0000", - "commitId" : "f5c64796748a98efdbf6f99f44b6afe08492c2a0", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.3-bin.zip.sha256", - "checksum" : "bed2bdd3955be5a09ca7e0201e9d131f194f7f6c466e1795a733733ccfb09f25", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.3-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.3-rc-3", - "buildTime" : "20190313202708+0000", - "commitId" : "4b3a8d84d9a8983836f9bb3006c39baec692ca4b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.3-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.3-rc-3-bin.zip.sha256", - "checksum" : "63b7114caa8629f5dc3074aab09b87476fbfba548ea20aefe97068287621acb7", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.3-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.3-rc-2", - "buildTime" : "20190311210726+0000", - "commitId" : "cb19a113017a9351f8d9fa767d50a9a0f590617a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.3-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.3-rc-2-bin.zip.sha256", - "checksum" : "4110201a819b28600bfe06ef02950c6b749616c2197ed0da2514451a378c709b", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.3-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.3-rc-1", - "buildTime" : "20190305205202+0000", - "commitId" : "ec8a8bc2dd4c0761880ccec4f28c5db79c2244bb", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.3-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.3-rc-1-bin.zip.sha256", - "checksum" : "5650e801e191cc8f12f6ea3f27e081ad0a0012d44d53ba226b7c148d3282956c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.3-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "3dc39ad650d40f6c029bd8ff605c6d95865d657dbfdeacdb079db0ddfffedf9f" -}, { - "version" : "5.2.1", - "buildTime" : "20190208190010+0000", - "commitId" : "f02764e074c32ee8851a4e1877dd1fea8ffb7183", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.2.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.2.1-bin.zip.sha256", - "checksum" : "748c33ff8d216736723be4037085b8dc342c6a0f309081acf682c9803e407357", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.2.1-wrapper.jar.sha256", - "wrapperChecksum" : "76b12da7f4a7cdd025e5996811a2e49bf5df0fb62d72554ab555c0e434b63aae" -}, { - "version" : "5.2", - "buildTime" : "20190204111648+0000", - "commitId" : "840644a429c8b8b9ae399867eb1660e3109bc7a3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.2-bin.zip.sha256", - "checksum" : "ff322863250159595e93b5a4d17a6f0d21c59a1a0497c1e1cf1d53826485503f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.2-wrapper.jar.sha256", - "wrapperChecksum" : "76b12da7f4a7cdd025e5996811a2e49bf5df0fb62d72554ab555c0e434b63aae" -}, { - "version" : "5.2-rc-1", - "buildTime" : "20190128225604+0000", - "commitId" : "633c8d5c1c568402d7a26e94c1213d747bfa594b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.2-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.2-rc-1-bin.zip.sha256", - "checksum" : "9e882e3899d7ef999f862f71a4a7494505a9a3f87c1cea427a3ae44941b94c70", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.2-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "76b12da7f4a7cdd025e5996811a2e49bf5df0fb62d72554ab555c0e434b63aae" -}, { - "version" : "5.1.1", - "buildTime" : "20190110230502+0000", - "commitId" : "3c9abb645fb83932c44e8610642393ad62116807", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.1.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.1.1-bin.zip.sha256", - "checksum" : "4953323605c5d7b89e97d0dc7779e275bccedefcdac090aec123375eae0cc798", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.1.1-wrapper.jar.sha256", - "wrapperChecksum" : "76b12da7f4a7cdd025e5996811a2e49bf5df0fb62d72554ab555c0e434b63aae" -}, { - "version" : "5.1", - "buildTime" : "20190102185747+0000", - "commitId" : "d09c2e354576ac41078c322815cc6db2b66d976e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-bin.zip.sha256", - "checksum" : "7506638a380092a0406364c79d6c87d03d23017fc25a5770379d1ce23c3fcd4d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-wrapper.jar.sha256", - "wrapperChecksum" : "76b12da7f4a7cdd025e5996811a2e49bf5df0fb62d72554ab555c0e434b63aae" -}, { - "version" : "5.1-rc-3", - "buildTime" : "20181221230345+0000", - "commitId" : "bf267654ac894c160b5b6c5e5c06d72f1ecaa23c", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.1-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-rc-3-bin.zip.sha256", - "checksum" : "aba05e1d60c4b976e8bb9ea1911aaa8b19783cdc63e788320fcb75e9613ba45d", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-rc-3-wrapper.jar.sha256", - "wrapperChecksum" : "76b12da7f4a7cdd025e5996811a2e49bf5df0fb62d72554ab555c0e434b63aae" -}, { - "version" : "5.1-rc-2", - "buildTime" : "20181217224201+0000", - "commitId" : "4f93941ff2f23ed981b9416a66af36ab0a8ef4de", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.1-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-rc-2-bin.zip.sha256", - "checksum" : "a5f43f07530f2e02f4df3b0fe14300586d6302ad4462d0ed95971e6bf107b66a", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-rc-2-wrapper.jar.sha256", - "wrapperChecksum" : "76b12da7f4a7cdd025e5996811a2e49bf5df0fb62d72554ab555c0e434b63aae" -}, { - "version" : "5.1-rc-1", - "buildTime" : "20181213060004+0000", - "commitId" : "0937d57caa43dabc31d331dea6c9c0cf72de8607", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-rc-1-bin.zip.sha256", - "checksum" : "160b5b497b076c8d490fd7f2de6d389db4972dc495d5b86e5713ebdf63bf47fd", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-rc-1-wrapper.jar.sha256", - "wrapperChecksum" : "76b12da7f4a7cdd025e5996811a2e49bf5df0fb62d72554ab555c0e434b63aae" -}, { - "version" : "4.10.3", - "buildTime" : "20181205005054+0000", - "commitId" : "e76905e3a1034e6f724566aeb985621347ff43bc", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.10.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.10.3-bin.zip.sha256", - "checksum" : "8626cbf206b4e201ade7b87779090690447054bc93f052954c78480fa6ed186e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.10.3-wrapper.jar.sha256", - "wrapperChecksum" : "660ab018b8e319e9ae779fdb1b7ac47d0321bde953bf0eb4545f14952cfdcaa3" -}, { - "version" : "5.1-milestone-1", - "buildTime" : "20181203174147+0000", - "commitId" : "00340d696f2e7161233ac9a363cd4e5238588318", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "5.1", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.1-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-milestone-1-bin.zip.sha256", - "checksum" : "f7f38376ef3cf461eaf4da9d7abf4a9a4325cbbc93fbe19efbdb2f35c4171757", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.1-milestone-1-wrapper.jar.sha256", - "wrapperChecksum" : "8ff6bee43c55efc0cce9e1147860a76fc970398fbef587e64b6e7a5a7e0291df" -}, { - "version" : "5.0", - "buildTime" : "20181126114843+0000", - "commitId" : "7fc6e5abf2fc5fe0824aec8a0f5462664dbcd987", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.0-bin.zip.sha256", - "checksum" : "6157ac9f3410bc63644625b3b3e9e96c963afd7910ae0697792db57813ee79a6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-5.0-wrapper.jar.sha256", - "wrapperChecksum" : "f1a597a1f2b23089deec11d5b924d074f9e4ed810f2093be7021ded01c8073ad" -}, { - "version" : "5.0-rc-5", - "buildTime" : "20181122195845+0000", - "commitId" : "42e59c2484a49702234030881640aa8d8bfa6d43", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-5-bin.zip.sha256", - "checksum" : "369ff446973f5309c550b9ef543d5cdf45470a0db20e3f6c00dcca122faa045d" -}, { - "version" : "5.0-rc-4", - "buildTime" : "20181120092642+0000", - "commitId" : "50c28fc7284c0aa377c8edb49723d9258565780f", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-4-bin.zip.sha256", - "checksum" : "414d6ffa6a4ec14355eb78b7577576ab63d07658ac640ec41b5e63b573400de0" -}, { - "version" : "5.0-rc-3", - "buildTime" : "20181114160147+0000", - "commitId" : "63f11c722124617f7cbe2f95ad5a5e045b8b42f6", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-3-bin.zip.sha256", - "checksum" : "684a20ad90fc0d133c7b03da392c21e2a211b5df32faacb9f72e6847628aea20" -}, { - "version" : "5.0-rc-2", - "buildTime" : "20181112080541+0000", - "commitId" : "bcbd24a720641ddf900df0503def5b5c08c4a8b4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-2-bin.zip.sha256", - "checksum" : "6585344d4a6047bcd19894c9d75e32d62a0a908b6886c3f21049b7d9e3a14d02" -}, { - "version" : "5.0-rc-1", - "buildTime" : "20181030135922+0000", - "commitId" : "0b94d7e5908d1d96b8a353d1f28d9c443d767327", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "5.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.0-rc-1-bin.zip.sha256", - "checksum" : "6494ddd4191b99d1a5e8d31fc179d1cab68631ebbac9adfcaa229f56496c5427" -}, { - "version" : "5.0-milestone-1", - "buildTime" : "20181002224615+0000", - "commitId" : "abaf9d545140f5775f3442e4cfe9c61603d4fb3e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "5.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-5.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-5.0-milestone-1-bin.zip.sha256", - "checksum" : "0c4e5366b479934844da39c156c20d509f6b2c40b978c10598221fd591c0cf57" -}, { - "version" : "4.10.2", - "buildTime" : "20180919181015+0000", - "commitId" : "b4d8d5d170bb4ba516e88d7fe5647e2323d791dd", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.10.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.10.2-bin.zip.sha256", - "checksum" : "b49c6da1b2cb67a0caf6c7480630b51c70a11ca2016ff2f555eaeda863143a29", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.10.2-wrapper.jar.sha256", - "wrapperChecksum" : "ad63ba21fb91e490e0f6fd0ca7d4049241f0f68a454b0b3075c041c4554e611c" -}, { - "version" : "4.10.1", - "buildTime" : "20180912113327+0000", - "commitId" : "76c9179ea9bddc32810f9125ad97c3315c544919", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.10.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.10.1-bin.zip.sha256", - "checksum" : "e53ce3a01cf016b5d294eef20977ad4e3c13e761ac1e475f1ffad4c6141a92bd", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.10.1-wrapper.jar.sha256", - "wrapperChecksum" : "d8a69ca8efe271d8de080c42a2ea4b08fc9e85c41aa2d163255c70d9da239db0" -}, { - "version" : "4.10", - "buildTime" : "20180827183506+0000", - "commitId" : "ee3751ed9f2034effc1f0072c2b2ee74b5dce67d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.10-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.10-bin.zip.sha256", - "checksum" : "248cfd92104ce12c5431ddb8309cf713fe58de8e330c63176543320022f59f18", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.10-wrapper.jar.sha256", - "wrapperChecksum" : "778e7f46bd67eaea2de5bcbdbb40878c6614656014ba59a72ce8648eaf43a925" -}, { - "version" : "4.10-rc-3", - "buildTime" : "20180823120756+0000", - "commitId" : "1b827f2119c11123e178e731421ae79d52a8991a", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.10", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.10-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.10-rc-3-bin.zip.sha256", - "checksum" : "4e5f3a2e0c4f1f0313211253d799dd66570afdf0ebb3d785ee97a97d942c632d" -}, { - "version" : "4.10-rc-2", - "buildTime" : "20180814180001+0000", - "commitId" : "7d610b59feb93583b5d19b01ce63477472d87696", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.10", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.10-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.10-rc-2-bin.zip.sha256", - "checksum" : "e90d3c32910e259814bcca82b3911172ecca1ff1ab5ed69b4de3c1df8b378b40" -}, { - "version" : "4.10-rc-1", - "buildTime" : "20180809061937+0000", - "commitId" : "97951b7f541f1da43de291246cc7b17507e75a14", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.10", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.10-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.10-rc-1-bin.zip.sha256", - "checksum" : "f68220df44d943418a49aecccf0d5b8547f52201926bc8f13c2c3e5b81eb763a" -}, { - "version" : "4.9", - "buildTime" : "20180716081403+0000", - "commitId" : "efcf8c1cf533b03c70f394f270f46a174c738efc", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.9-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.9-bin.zip.sha256", - "checksum" : "e66e69dce8173dd2004b39ba93586a184628bc6c28461bc771d6835f7f9b0d28", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.9-wrapper.jar.sha256", - "wrapperChecksum" : "e55e7e47a79e04c26363805b31e2f40b7a9cc89ea12113be7de750a3b2cede85" -}, { - "version" : "4.9-rc-2", - "buildTime" : "20180711004640+0000", - "commitId" : "9b5ff22063b9eb8bab8a2f304d47903b531054c7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.9-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.9-rc-2-bin.zip.sha256", - "checksum" : "651e3d8c41221e7e767f23a5ead0bbe06ada6abec017e7b6ce99f3cbcb4808e5" -}, { - "version" : "4.9-rc-1", - "buildTime" : "20180703131446+0000", - "commitId" : "c38f1f17599655fc0de0ea44a8d366aebcfdb9f2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.9-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.9-rc-1-bin.zip.sha256", - "checksum" : "52e32ccfa4edc679e6bfad93e0f9fcd6358dc39dfb7bf8f2e1222b8d18ead359" -}, { - "version" : "4.8.1", - "buildTime" : "20180621075306+0000", - "commitId" : "0abdea078047b12df42e7750ccba34d69b516a22", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.8.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.8.1-bin.zip.sha256", - "checksum" : "af334d994b5e69e439ab55b5d2b7d086da5ea6763d78054f49f147b06370ed71", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.8.1-wrapper.jar.sha256", - "wrapperChecksum" : "080e30657661539701b66827b96eb0043191e0a7a73090e8a57bd6735e5af5c5" -}, { - "version" : "4.8", - "buildTime" : "20180604103958+0000", - "commitId" : "9e1261240e412cbf61a5e3a5ab734f232b2f887d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.8-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.8-bin.zip.sha256", - "checksum" : "f3e29692a8faa94eb0b02ebf36fa263a642b3ae8694ef806c45c345b8683f1ba", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.8-wrapper.jar.sha256", - "wrapperChecksum" : "4160d5a6d8d6efc6af336582bbbba8194e4d7a742835f7b0fd3964cbd419c994" -}, { - "version" : "4.8-rc-3", - "buildTime" : "20180531140436+0000", - "commitId" : "9803e11cf1218511e0fd1595bdc66e0a6210a0b6", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.8-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.8-rc-3-bin.zip.sha256", - "checksum" : "459195ae148201ef4c1235cfca08aaa20b1293f280fb643c666499a58e228dac" -}, { - "version" : "4.8-rc-2", - "buildTime" : "20180524092821+0000", - "commitId" : "0b1824635622a85b201776fc1245b6a40f4a5b22", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.8-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.8-rc-2-bin.zip.sha256", - "checksum" : "a89682f4c2ec77a2b49ca139628e95de7b7648552643edd2ea3988cbd0a0a07b" -}, { - "version" : "4.8-rc-1", - "buildTime" : "20180515173233+0000", - "commitId" : "cfb66ee34d37b52c741150a398663618a94d2045", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.8-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.8-rc-1-bin.zip.sha256", - "checksum" : "c6ba15fbb51ac0c8b370dfd3a239c3b48b1cee5bbfdf5597cb586a216f8690b0" -}, { - "version" : "4.7", - "buildTime" : "20180418090912+0000", - "commitId" : "b9a962bf70638332300e7f810689cb2febbd4a6c", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.7-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.7-bin.zip.sha256", - "checksum" : "fca5087dc8b50c64655c000989635664a73b11b9bd3703c7d6cabd31b7dcdb04", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.7-wrapper.jar.sha256", - "wrapperChecksum" : "7d6fe0a055f133226409de2457fb0e887d1f6b096f36c8d5fd76fb7a9357cd45" -}, { - "version" : "4.7-rc-2", - "buildTime" : "20180413125323+0000", - "commitId" : "943291f9d94f68a0172ce7648b6a9dab7711fd47", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.7-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.7-rc-2-bin.zip.sha256", - "checksum" : "b9289ecb1f9ce8bc325ce71805ee779f3e03da22e394deced6e682cd6297d110" -}, { - "version" : "4.7-rc-1", - "buildTime" : "20180403113602+0000", - "commitId" : "2f0b7b15068980c05470af1882d79e9c8ef5c71b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.7-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.7-rc-1-bin.zip.sha256", - "checksum" : "fbf286558c27f6026c0da6daa57750ce1539e6535227e6738a6f4909dc130d12" -}, { - "version" : "4.6", - "buildTime" : "20180228133636+0000", - "commitId" : "8fa6ce7945b640e6168488e4417f9bb96e4ab46c", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.6-bin.zip.sha256", - "checksum" : "98bd5fd2b30e070517e03c51cbb32beee3e2ee1a84003a5a5d748996d4b1b915", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.6-wrapper.jar.sha256", - "wrapperChecksum" : "381dff8aa434499aa93bc25572b049c8c586a67faff2c02f375e4f23e17e49de" -}, { - "version" : "4.6-rc-2", - "buildTime" : "20180221152842+0000", - "commitId" : "819e0059da49f469d3e9b2896dc4e72537c4847d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.6-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.6-rc-2-bin.zip.sha256", - "checksum" : "1fab26f72fe5f52d5773c2cf4bb0beaec60c3b24a5f49d09be5a092a7473bfdd" -}, { - "version" : "4.6-rc-1", - "buildTime" : "20180216162807+0000", - "commitId" : "ac6267d33138856ffe71b159ab8154e71e9da72e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.6-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.6-rc-1-bin.zip.sha256", - "checksum" : "f8ed6380bcc3db71ec524950aa53d78ccf1da0ead900f379f3573dfef60500c9" -}, { - "version" : "4.5.1", - "buildTime" : "20180205132249+0000", - "commitId" : "37007e1c012001ff09973e0bd095139239ecd3b3", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.5.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.5.1-bin.zip.sha256", - "checksum" : "3e2ea0d8b96605b7c528768f646e0975bd9822f06df1f04a64fd279b1a17805e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.5.1-wrapper.jar.sha256", - "wrapperChecksum" : "3bf04e39ed259ff0a1217a875199a11775855d2a29207b98318ac79178249de8" -}, { - "version" : "4.5", - "buildTime" : "20180124170452+0000", - "commitId" : "77d0ec90636f43669dc794ca17ef80dd65457bec", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.5-bin.zip.sha256", - "checksum" : "03f2a43a314ff0fb843a85ef68078e06d181c4549c1e5fb983f289382b59b5e3", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.5-wrapper.jar.sha256", - "wrapperChecksum" : "d283a04caee0e97b666b09e50ab394834934bee6225c2e9cd4650afdeac43828" -}, { - "version" : "4.5-rc-2", - "buildTime" : "20180122164244+0000", - "commitId" : "459d2caa04b8145b40955950cc6037034e9123b1", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.5-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.5-rc-2-bin.zip.sha256", - "checksum" : "401363cc3491055b878bba54463129c3bb0d3a76e337e5e515729a6b6fa4c883" -}, { - "version" : "4.5-rc-1", - "buildTime" : "20180109010527+0000", - "commitId" : "d6e5a1c698884ebc887980c82687c8c11ad22dd6", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.5-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.5-rc-1-bin.zip.sha256", - "checksum" : "fa8f4721d121d4501871877a9c1bf83db5ba44bb0ee9dd177a4981c11cede7c6" -}, { - "version" : "4.4.1", - "buildTime" : "20171220154523+0000", - "commitId" : "10ed9dc355dc39f6307cc98fbd8cea314bdd381c", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.4.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.4.1-bin.zip.sha256", - "checksum" : "e7cf7d1853dfc30c1c44f571d3919eeeedef002823b66b6a988d27e919686389", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.4.1-wrapper.jar.sha256", - "wrapperChecksum" : "4e318d74d06aa7b998091345c397a3c7c4b291b59da31e6f9c772a596711acac" -}, { - "version" : "4.4", - "buildTime" : "20171206090506+0000", - "commitId" : "cf7821a6f79f8e2a598df21780e3ff7ce8db2b82", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.4-bin.zip.sha256", - "checksum" : "fa4873ae2c7f5e8c02ec6948ba95848cedced6134772a0169718eadcb39e0a2f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.4-wrapper.jar.sha256", - "wrapperChecksum" : "88b5b31f390a268ab3773df580d83fd1e388f49c2b685f78a16600577bd72fe2" -}, { - "version" : "4.4-rc-6", - "buildTime" : "20171204084815+0000", - "commitId" : "cf7821a6f79f8e2a598df21780e3ff7ce8db2b82", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-6-bin.zip.sha256", - "checksum" : "03480998491b94e27d95759c47ae6ac864e95b9db17cd5890cd37ff536431ba0" -}, { - "version" : "4.4-rc-5", - "buildTime" : "20171130152137+0000", - "commitId" : "f4daa310b16df9abd4f37257bae8312b5293a251", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-5-bin.zip.sha256", - "checksum" : "b52d338f285dd255f3abf6bcd3e0b447cc62aa8dc83a281c42f8ec1aec10dc89" -}, { - "version" : "4.4-rc-4", - "buildTime" : "20171128123659+0000", - "commitId" : "f0a427cdb7eaa95779c9ccd8147878970fbb53fb", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-4-bin.zip.sha256", - "checksum" : "d663fe846e3b2e30285b578e0bb957c4fb846cca0f36694ab32d5e5ba25c0cb8" -}, { - "version" : "4.4-rc-3", - "buildTime" : "20171127103138+0000", - "commitId" : "340c20678da78bf34d58da72071f95bb60d037e9", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-3-bin.zip.sha256", - "checksum" : "607b5c3493dc78da8d6207edd43c680132d9b69912fa1de2fa42f24be72f30cd" -}, { - "version" : "4.4-rc-2", - "buildTime" : "20171124103528+0000", - "commitId" : "9ab11aefa43e1dedcf68294d5f15f246bbe54221", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-2-bin.zip.sha256", - "checksum" : "939ec641887df3677dd3ac1ed8cb6e2815dae0f33bf36db8ae64a71b4c32f8f8" -}, { - "version" : "4.4-rc-1", - "buildTime" : "20171121153105+0000", - "commitId" : "089fe1e08ca477b49583c6e00abf87f4675d0c06", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.4-rc-1-bin.zip.sha256", - "checksum" : "3b5d35b41d5807f6471e90ca81e4d1bf4fee48deca7d99e0e579f758b4db85b1" -}, { - "version" : "4.3.1", - "buildTime" : "20171108085945+0000", - "commitId" : "e4f4804807ef7c2829da51877861ff06e07e006d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.3.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.3.1-bin.zip.sha256", - "checksum" : "15ebe098ce0392a2d06d252bff24143cc88c4e963346582c8d88814758d93ac7", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.3.1-wrapper.jar.sha256", - "wrapperChecksum" : "383f4efa709b52632a520708e8a07353961970941ab3867ab8ac182132ce1c54" -}, { - "version" : "4.3", - "buildTime" : "20171030154329+0000", - "commitId" : "c684c202534c4138b51033b52d871939b8d38d72", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.3-bin.zip.sha256", - "checksum" : "8dcbf44eef92575b475dcb1ce12b5f19d38dc79e84c662670248dc8b8247654c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.3-wrapper.jar.sha256", - "wrapperChecksum" : "ba496e7e0e03ffa432eaf715bb1466fac2ffc8491a71e7164a5438c48c79d8ea" -}, { - "version" : "4.3-rc-4", - "buildTime" : "20171026162557+0000", - "commitId" : "89af43c4d0506f69980f00dde78c97b2f81437f8", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.3-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.3-rc-4-bin.zip.sha256", - "checksum" : "6615d3d67b7c5ca936ef34464495aeac4145dcac8df65d8fdd20f4085e48fbb6" -}, { - "version" : "4.3-rc-3", - "buildTime" : "20171024142633+0000", - "commitId" : "d13daf4f8c434761df3ba0af55fb1f3d9513624e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.3-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.3-rc-3-bin.zip.sha256", - "checksum" : "3e3fad053c2d14a7dbe49006d09034576517e1f6c3f15aca7e5c594f17d08bbf" -}, { - "version" : "4.3-rc-2", - "buildTime" : "20171018073714+0000", - "commitId" : "3fb6d5b8810eeecce1472faa7f12ef1318870d9d", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.3-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.3-rc-2-bin.zip.sha256", - "checksum" : "e55a78b879a5d45840003a1692fb00d1d1780298bcd696c7f10370e7922aad4f" -}, { - "version" : "4.3-rc-1", - "buildTime" : "20171012161416+0000", - "commitId" : "168523089264845c0560d994b565cae4c6e93563", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.3-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.3-rc-1-bin.zip.sha256", - "checksum" : "a2fbaa80f98b59509e3f956c9fdaeb593516ea633ce80946735fa7cb7dd74a55" -}, { - "version" : "4.2.1", - "buildTime" : "20171002153621+0000", - "commitId" : "a88ebd6be7840c2e59ae4782eb0f27fbe3405ddf", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.2.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.2.1-bin.zip.sha256", - "checksum" : "b551cc04f2ca51c78dd14edb060621f0e5439bdfafa6fd167032a09ac708fbc0", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.2.1-wrapper.jar.sha256", - "wrapperChecksum" : "c536e519e65a4bb787e071c6a90d23bd219c9d409a2123db649d3684acbf3ae7" -}, { - "version" : "4.2", - "buildTime" : "20170920144823+0000", - "commitId" : "5ba503cc17748671c83ce35d7da1cffd6e24dfbd", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.2-bin.zip.sha256", - "checksum" : "515dd63d32e55a9c05667809c5e40a947529de3054444ad274b3b75af5582eae", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.2-wrapper.jar.sha256", - "wrapperChecksum" : "53aa048fef3c06a8442c6a44df5edd2e8c791ee883e42ded6189c7eed112095d" -}, { - "version" : "4.2-rc-2", - "buildTime" : "20170913122310+0000", - "commitId" : "e7e9502dbcf5bf8e4ca5e0c1763a301372a9ed83", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.2-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.2-rc-2-bin.zip.sha256", - "checksum" : "e32c378a7e49e074647c59a2a618444db3871ca05e4a151122041252f2dcb640" -}, { - "version" : "4.2-rc-1", - "buildTime" : "20170907081216+0000", - "commitId" : "73d54c86eca92ae26decccd774f49bfc2b01c314", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.2-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.2-rc-1-bin.zip.sha256", - "checksum" : "7d4f7ebe327047eeb713566de36b466f6f966aa9fd471d0b5a89f76337845829" -}, { - "version" : "4.1", - "buildTime" : "20170807143848+0000", - "commitId" : "941559e020f6c357ebb08d5c67acdb858a3defc2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.1-bin.zip.sha256", - "checksum" : "d55dfa9cfb5a3da86a1c9e75bb0b9507f9a8c8c100793ccec7beb6e259f9ed43", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-4.1-wrapper.jar.sha256", - "wrapperChecksum" : "f4d953f31fbf6c38a8c330d19171c8ba6e0d1ff59d4d5c5c2d3ed821c9f3d5a3" -}, { - "version" : "4.1-rc-2", - "buildTime" : "20170731142943+0000", - "commitId" : "941559e020f6c357ebb08d5c67acdb858a3defc2", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.1-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.1-rc-2-bin.zip.sha256", - "checksum" : "c3ea162956646b681bdbf697e45737e654492c825b7958892b44be286a4594f6" -}, { - "version" : "4.0.2", - "buildTime" : "20170726161918+0000", - "commitId" : "108c593aa7b43852f39045337ee84ee1d87c87fd", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.0.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.0.2-bin.zip.sha256", - "checksum" : "79ac421342bd11f6a4f404e0988baa9c1f5fabf07e3c6fa65b0c15c1c31dda22" -}, { - "version" : "4.1-rc-1", - "buildTime" : "20170720152215+0000", - "commitId" : "e9f4cb3be4b0a16506ad54b44485b7f0862f6c59", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.1-rc-1-bin.zip.sha256", - "checksum" : "782866e286d0e7d527f8110337e96e7e0c886376d9a35966d74ca4024ede7153" -}, { - "version" : "4.0.1", - "buildTime" : "20170707140241+0000", - "commitId" : "38e5dc0f772daecca1d2681885d3d85414eb6826", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.0.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.0.1-bin.zip.sha256", - "checksum" : "d717e46200d1359893f891dab047fdab98784143ac76861b53c50dbd03b44fd4" -}, { - "version" : "4.1-milestone-1", - "buildTime" : "20170620170546+0000", - "commitId" : "3ad5af92d482b963cc6b00fb5ad53b608606d657", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "4.1", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.1-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.1-milestone-1-bin.zip.sha256", - "checksum" : "48edfe37620b5de2fd6e111a65b384dd730c377890c26a01a1ae55ae0220abc1" -}, { - "version" : "3.5.1", - "buildTime" : "20170616143627+0000", - "commitId" : "d4c3bb4eac74bd0a3c70a0d213709e484193e251", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.5.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.5.1-bin.zip.sha256", - "checksum" : "8dce35f52d4c7b4a4946df73aa2830e76ba7148850753d8b5e94c5dc325ceef8" -}, { - "version" : "4.0", - "buildTime" : "20170614151108+0000", - "commitId" : "316546a5fcb4e2dfe1d6aa0b73a4e09e8cecb5a5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.0-bin.zip.sha256", - "checksum" : "56bd2dde29ba2a93903c557da1745cafd72cdd8b6b0b83c05a40ed7896b79dfe" -}, { - "version" : "4.0-rc-3", - "buildTime" : "20170612150444+0000", - "commitId" : "78d6b5b1e5cdb3dd4e233eb2f2e2bf721c53ca9e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.0-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.0-rc-3-bin.zip.sha256", - "checksum" : "f4229169204b98dbc2718386b36538cef2fd28e249aec4e9472eb820a93beeb3" -}, { - "version" : "4.0-rc-2", - "buildTime" : "20170607152236+0000", - "commitId" : "14679a04a9d5afc2038c57d9392a36d8cc2e850e", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.0-rc-2-bin.zip.sha256", - "checksum" : "35f92e48b73f6f6d99997094c7dec298fbdae5a3ee989805c6cde0abe24ff6fe" -}, { - "version" : "4.0-rc-1", - "buildTime" : "20170530162617+0000", - "commitId" : "f114de85c48350feb8cf352522f1af471e832a33", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "4.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.0-rc-1-bin.zip.sha256", - "checksum" : "19d7be3fd349bcf0d36d5a29ded4dd704e5d391e8e8751f32d5bb199636df053" -}, { - "version" : "4.0-milestone-2", - "buildTime" : "20170517143324+0000", - "commitId" : "0e3bb607e7ee1e805455d1c6388f6830f0ab9eca", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "4.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.0-milestone-2-bin.zip.sha256", - "checksum" : "87120d217d97704702136984e51002d979fec49ee2ff1524ed2769d98dd1f5c5" -}, { - "version" : "4.0-milestone-1", - "buildTime" : "20170428074509+0000", - "commitId" : "c1e7532b308e20803a3678ad5b4cfbe682dbb9fc", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "4.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-4.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-4.0-milestone-1-bin.zip.sha256", - "checksum" : "56a98b39db79d947e9227646b3fc72376bdc3daf09ce4d885973510057841738" -}, { - "version" : "3.5", - "buildTime" : "20170410133725+0000", - "commitId" : "b762622a185d59ce0cfc9cbc6ab5dd22469e18a6", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.5-bin.zip.sha256", - "checksum" : "0b7450798c190ff76b9f9a3d02e18b33d94553f708ebc08ebe09bdf99111d110" -}, { - "version" : "3.5-rc-3", - "buildTime" : "20170404150413+0000", - "commitId" : "b762622a185d59ce0cfc9cbc6ab5dd22469e18a6", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.5-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.5-rc-3-bin.zip.sha256", - "checksum" : "add85f5073e3051a23008e9d371fc49bbb6719b503c9f43a7cf6ab61337e05b9" -}, { - "version" : "3.5-rc-2", - "buildTime" : "20170327155623+0000", - "commitId" : "ec63970cd167993d3dcda346a1d00a286a23b1c9", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.5-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.5-rc-2-bin.zip.sha256", - "checksum" : "c23b319547d87b35f16d0bd251a13495b8bc26fe8c7356f678bae766bb5f6ab7" -}, { - "version" : "3.5-rc-1", - "buildTime" : "20170322151607+0000", - "commitId" : "f1f4d6c61299f1225fb2190ca02802c8b821c5ec", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.5-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.5-rc-1-bin.zip.sha256", - "checksum" : "ed17b488dcc8969503aabcce7e1462fb99518e2dddd6e766b0a18e99685dad50" -}, { - "version" : "3.4.1", - "buildTime" : "20170303194541+0000", - "commitId" : "9eb76efdd3d034dc506c719dac2955efb5ff9a93", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.4.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.4.1-bin.zip.sha256", - "checksum" : "db1db193d479cc1202be843f17e4526660cfb0b21b57d62f3a87f88c878af9b2" -}, { - "version" : "3.4", - "buildTime" : "20170220144926+0000", - "commitId" : "73f32d68824582945f5ac1810600e8d87794c3d4", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.4-bin.zip.sha256", - "checksum" : "72d0cd4dcdd5e3be165eb7cd7bbd25cf8968baf400323d9ab1bba622c3f72205" -}, { - "version" : "3.4-rc-3", - "buildTime" : "20170213145527+0000", - "commitId" : "6e76fb227406ebcf649a0cb109747149677c4f27", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.4-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.4-rc-3-bin.zip.sha256", - "checksum" : "c492b318d35f65ba1038289067e04d08598d85e0ea98b33430effd0f1b04bc7c" -}, { - "version" : "3.4-rc-2", - "buildTime" : "20170206211728+0000", - "commitId" : "4a4d6ae7c800239c63561020194df4d7a5e82cd7", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.4-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.4-rc-2-bin.zip.sha256", - "checksum" : "a6184aab4ea11f0264711e989dabc4486045bc6aaaa30110fff3fd4b5250061f" -}, { - "version" : "3.4-rc-1", - "buildTime" : "20170126154849+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.4-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.4-rc-1-bin.zip.sha256", - "checksum" : "c8323ca48a9f3e7993bce566e3edc464f459a5a8bfcedbd6ce7e8b7d0c45fd46" -}, { - "version" : "3.3", - "buildTime" : "20170103153104+0000", - "commitId" : "075893a3d0798c0c1f322899b41ceca82e4e134b", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.3-bin.zip.sha256", - "checksum" : "c58650c278d8cf0696cab65108ae3c8d95eea9c1938e0eb8b997095d5ca9a292" -}, { - "version" : "3.3-rc-1", - "buildTime" : "20161219160724+0000", - "commitId" : "f381de5273f05b2e7075bbd79f33e8be31247bfc", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.3-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.3-rc-1-bin.zip.sha256", - "checksum" : "845135efa934b533f732cb96a34538f10c5703cea39474c148e18ac69d4db49f" -}, { - "version" : "3.2.1", - "buildTime" : "20161122151954+0000", - "commitId" : "83b485b914fd4f335ad0e66af9d14aad458d2cc5", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.2.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.2.1-bin.zip.sha256", - "checksum" : "9843a3654d3e57dce54db06d05f18b664b95c22bf90c6becccb61fc63ce60689", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-3.2.1-wrapper.jar.sha256", - "wrapperChecksum" : "020ef0245a07b33ca48b12f59415e7e5083cf701ef02690464a8cc2ab3984608" -}, { - "version" : "3.2", - "buildTime" : "20161114123259+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.2-bin.zip.sha256", - "checksum" : "5321b36837226dc0377047a328f12010f42c7bf88ee4a3b1cee0c11040082935", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-3.2-wrapper.jar.sha256", - "wrapperChecksum" : "d2d3abae74e89cc4200f48d4a08a7e5960363c33ee62272ef5ffbb39f4c7f83e" -}, { - "version" : "3.2-rc-3", - "buildTime" : "20161107153233+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.2-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.2-rc-3-bin.zip.sha256", - "checksum" : "dadae3f8ff6c60637ac749693a074ae181315a7f43c5a6d313565371cbcab740" -}, { - "version" : "3.2-rc-2", - "buildTime" : "20161031160822+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.2-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.2-rc-2-bin.zip.sha256", - "checksum" : "45e362f471b9d112f820f3d4cf3901f9c5b112efb309324963078f53a80cff40" -}, { - "version" : "3.2-rc-1", - "buildTime" : "20161024194725+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.2-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.2-rc-1-bin.zip.sha256", - "checksum" : "fe2ec80d91ab79ddb72e30d25e3646091fafa7cac379c1f46b743bcad52ed4f3" -}, { - "version" : "3.1", - "buildTime" : "20160919105353+0000", - "commitId" : "13f38ba699afd86d7cdc4ed8fd7dd3960c0b1f97", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.1-bin.zip.sha256", - "checksum" : "c7de3442432253525902f7e8d7eac8b5fd6ce1623f96d76916af6d0e383010fc", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-3.1-wrapper.jar.sha256", - "wrapperChecksum" : "0f49043be582d7a39b671f924c66bd9337b92fa88ff5951225acc60560053067" -}, { - "version" : "3.1-rc-1", - "buildTime" : "20160912123424+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.1-rc-1-bin.zip.sha256", - "checksum" : "9d67811a2dee405c920e6bced2d687142e2378eb33c3af960bdbaef39bcb2485" -}, { - "version" : "3.0", - "buildTime" : "20160815131501+0000", - "commitId" : "ad76ba00f59ecb287bd3c037bd25fc3df13ca558", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.0-bin.zip.sha256", - "checksum" : "39c906941a474444afbddc38144ed44166825acb0a57b0551dddb04bbf157f80", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-3.0-wrapper.jar.sha256", - "wrapperChecksum" : "42d7a2f636983aa09d21dfeb6e90d21d7a8dad905351390643ce60cc82c8f8a9" -}, { - "version" : "3.0-rc-2", - "buildTime" : "20160808133410+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.0-rc-2-bin.zip.sha256", - "checksum" : "874e3bb85a85961f17cb371cd1291f9c0015bcc1e4bcc9df6e2c29b249438a73" -}, { - "version" : "3.0-rc-1", - "buildTime" : "20160802061335+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "3.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.0-rc-1-bin.zip.sha256", - "checksum" : "98c51e7f465b61d17578098f9ca8dc081014a551fb4dff66cce52fbfcb23376f" -}, { - "version" : "2.14.1", - "buildTime" : "20160718063837+0000", - "commitId" : "d9e2113d9fb05a5caabba61798bdb8dfdca83719", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14.1-bin.zip.sha256", - "checksum" : "cfc61eda71f2d12a572822644ce13d2919407595c2aec3e3566d2aab6f97ef39", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.14.1-wrapper.jar.sha256", - "wrapperChecksum" : "8e47da0b2656354d059609cae9d44b196d4f9b14512e688ffee4e0eb7e723ae9" -}, { - "version" : "2.14.1-rc-2", - "buildTime" : "20160711105827+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.14.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14.1-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14.1-rc-2-bin.zip.sha256", - "checksum" : "784175796a5dc8180c90f3e26249e858f62d400aaec3db81153992f9d749cda6" -}, { - "version" : "2.14.1-rc-1", - "buildTime" : "20160629051303+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.14.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14.1-rc-1-bin.zip.sha256", - "checksum" : "c20590dc930c78d21218d10ddf2c637ca0a2ee895e9c3476b670789aa60b5da4" -}, { - "version" : "3.0-milestone-2", - "buildTime" : "20160621224128+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "3.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.0-milestone-2-bin.zip.sha256", - "checksum" : "5c3e8e9a38c92ae85e05df609c6c1b6f51e5a08b39a26d61bd8a7044268135e7" -}, { - "version" : "2.14", - "buildTime" : "20160614071637+0000", - "commitId" : "cba5fea19f1e0c6a00cc904828a6ec4e11739abc", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14-bin.zip.sha256", - "checksum" : "993b4f33b652c689e9721917d8e021cab6bbd3eae81b39ab2fd46fdb19a928d5", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.14-wrapper.jar.sha256", - "wrapperChecksum" : "b5ca811c057b3eb4164c78f4155d667c6092ff98ba91a4c90d29e127426f37a7" -}, { - "version" : "2.14-rc-6", - "buildTime" : "20160610181946+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.14", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-6-bin.zip.sha256", - "checksum" : "f26dd25087dc68bd41ab5fdf31532eaf682c3b2693052d4cf9f7c727e2a47231" -}, { - "version" : "3.0-milestone-1", - "buildTime" : "20160608013148+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "3.0", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-3.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-3.0-milestone-1-bin.zip.sha256", - "checksum" : "dfff9f7fbf75d025cf5b4f7b61ea9e24757f74a6934ba7249658e7e2de9d329f" -}, { - "version" : "2.14-rc-5", - "buildTime" : "20160607135817+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.14", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-5-bin.zip.sha256", - "checksum" : "dcdd1021345cfabd2c06a345700afe537bde5478cfb8c3ac59d6348eeb0647e9" -}, { - "version" : "2.14-rc-4", - "buildTime" : "20160603110827+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.14", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-4-bin.zip.sha256", - "checksum" : "471424c0998851572c8b0ac71807215fc717de1373dcb5b64889e0aa5d147d26" -}, { - "version" : "2.14-rc-3", - "buildTime" : "20160530112111+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.14", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-3-bin.zip.sha256", - "checksum" : "6b076728aef0adb281bcc31db7b4f83a061caaa36d61f00dc43e606a3de85578" -}, { - "version" : "2.14-rc-2", - "buildTime" : "20160527175624+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.14", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-2-bin.zip.sha256", - "checksum" : "eb824186223dec65fc3f9bb2755934b38c1cd005a0e6f0d80e282a2390214735" -}, { - "version" : "2.14-rc-1", - "buildTime" : "20160518093824+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.14", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.14-rc-1-bin.zip.sha256", - "checksum" : "2ff85eb9eda60f13bc8debec69849e1e2a72b7bfc5af5d26e61a293b5dcbceba" -}, { - "version" : "2.13", - "buildTime" : "20160425041010+0000", - "commitId" : "3b427b1481e46232107303c90be7b05079b05b1c", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.13-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.13-bin.zip.sha256", - "checksum" : "0f665ec6a5a67865faf7ba0d825afb19c26705ea0597cec80dd191b0f2cbb664", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.13-wrapper.jar.sha256", - "wrapperChecksum" : "0c3c576e28b44eddcab6b8b4854f484363dfbcd047657d41654e839835da2c53" -}, { - "version" : "2.13-rc-2", - "buildTime" : "20160419145240+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.13", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.13-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.13-rc-2-bin.zip.sha256", - "checksum" : "949853dedce0b63898a1aedde39a8e8610ca061a59268a9bc70b496f91e60854" -}, { - "version" : "2.13-rc-1", - "buildTime" : "20160406110211+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.13", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.13-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.13-rc-1-bin.zip.sha256", - "checksum" : "75941a17c6db68b83e82ca27b8d813cc8855b3b8999228b82b1704798f2d4b6b" -}, { - "version" : "2.12", - "buildTime" : "20160314083203+0000", - "commitId" : "b29fbb64ad6b068cb3f05f7e40dc670472129bc0", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.12-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.12-bin.zip.sha256", - "checksum" : "e77064981906cd0476ff1e0de3e6fef747bd18e140960f1915cca8ff6c33ab5c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.12-wrapper.jar.sha256", - "wrapperChecksum" : "4894520b03c007bf38e983bf933320c483a9790010d997029fa8985dc6128559" -}, { - "version" : "2.12-rc-1", - "buildTime" : "20160307174118+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.12", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.12-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.12-rc-1-bin.zip.sha256", - "checksum" : "bb4ccf5399301d34a1d2a6ae6ae6dfb4bd4db61b499581a1bcbd976008a278a2" -}, { - "version" : "2.11", - "buildTime" : "20160208075916+0000", - "commitId" : "584db1c7c90bdd1de1d1c4c51271c665bfcba978", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.11-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.11-bin.zip.sha256", - "checksum" : "8d7437082356c9fd6309a4479c8db307673965546daea445c6c72759cd6b1ed6", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.11-wrapper.jar.sha256", - "wrapperChecksum" : "0bc7b16a0a3fa52af674de44d1fea48abc4dee3431f3d4829cd9ea329836e596" -}, { - "version" : "2.11-rc-3", - "buildTime" : "20160203190922+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.11", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.11-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.11-rc-3-bin.zip.sha256", - "checksum" : "6191865dbe7e2e45125285d6c4316f99d02280dadf8375c290c16e9c995c3188" -}, { - "version" : "2.11-rc-2", - "buildTime" : "20160202162431+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.11", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.11-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.11-rc-2-bin.zip.sha256", - "checksum" : "7112bffc0e69c35040d4f0a6e71c3593a629831d698e8e85797b2afafae18cee" -}, { - "version" : "2.11-rc-1", - "buildTime" : "20160120084154+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.11", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.11-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.11-rc-1-bin.zip.sha256", - "checksum" : "4af1d57f3f3679452944cfeac172949991ff76257b6e511287b2c02951dd7706" -}, { - "version" : "2.10", - "buildTime" : "20151221211504+0000", - "commitId" : "276bdcded730f53aa8c11b479986aafa58e124a6", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.10-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.10-bin.zip.sha256", - "checksum" : "66406247f745fc6f05ab382d3f8d3e120c339f34ef54b86f6dc5f6efc18fbb13", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.10-wrapper.jar.sha256", - "wrapperChecksum" : "16caeaf66d57a0d1d2087fef6a97efa62de8da69afa5b908f40db35afc4342da" -}, { - "version" : "2.10-rc-2", - "buildTime" : "20151218164026+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.10", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.10-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.10-rc-2-bin.zip.sha256", - "checksum" : "49650433ba07e8d1cdcb4a3ee6568fbf82ccff61b8cb76e2e7040a2c2f1a9c7b" -}, { - "version" : "2.10-rc-1", - "buildTime" : "20151208224811+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.10", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.10-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.10-rc-1-bin.zip.sha256", - "checksum" : "f1799317f138612764db1c9cf53638e100038b3494803bf38966d55e8db58cef" -}, { - "version" : "2.9", - "buildTime" : "20151117070217+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.9-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.9-bin.zip.sha256", - "checksum" : "c9159ec4362284c0a38d73237e224deae6139cbde0db4f0f44e1c7691dd3de2f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.9-wrapper.jar.sha256", - "wrapperChecksum" : "b92386e36a96da6be89e91f71087d1394a26c0450231ba0b22e28ee1ee8fa14b" -}, { - "version" : "2.9-rc-1", - "buildTime" : "20151103230218+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.9-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.9-rc-1-bin.zip.sha256", - "checksum" : "d278e80f9f0590f6eaa9c8b9c69c4d66a281c5a9bbb736524fdba5f74c4875a1" -}, { - "version" : "2.8", - "buildTime" : "20151020034636+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.8-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.8-bin.zip.sha256", - "checksum" : "a88db9c2f104defdaa8011c58cf6cda6c114298ae3695ecfb8beb30da3a903cb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.8-wrapper.jar.sha256", - "wrapperChecksum" : "198159fcd7d29533c0d37423d66c44729982d5280c9e2c7c5f4b7bc6a9317f6b" -}, { - "version" : "2.8-rc-2", - "buildTime" : "20151015124208+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.8-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.8-rc-2-bin.zip.sha256", - "checksum" : "659d6057613a33211f91ce17ce99cfeea03171db771ce842a1968ec49be17696" -}, { - "version" : "2.8-rc-1", - "buildTime" : "20150930171102+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.8-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.8-rc-1-bin.zip.sha256", - "checksum" : "048735c9f06c654b925156e8ca6237c623982ac3b425c3925b8097c13c77dfab" -}, { - "version" : "2.7", - "buildTime" : "20150914072616+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.7-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.7-bin.zip.sha256", - "checksum" : "cde43b90945b5304c43ee36e58aab4cc6fb3a3d5f9bd9449bb1709a68371cb06", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.7-wrapper.jar.sha256", - "wrapperChecksum" : "d7e1975ccf2dc079d4f0b1010febdad466506d1565c5aa8017c88ebc5e471604" -}, { - "version" : "2.7-rc-2", - "buildTime" : "20150905140615+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.7-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.7-rc-2-bin.zip.sha256", - "checksum" : "0854997cd8d77f79a58f3ebc2f19b0b9891d30579fe5392cb5a746b563c20e78" -}, { - "version" : "2.7-rc-1", - "buildTime" : "20150828140928+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.7-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.7-rc-1-bin.zip.sha256", - "checksum" : "5f54dea2792e1c94bbf2f76189a6b8404cc2492a56ffc06bda6dd4aef2d9d8f8" -}, { - "version" : "2.6", - "buildTime" : "20150810131506+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.6-bin.zip.sha256", - "checksum" : "18a98c560af231dfa0d3f8e0802c20103ae986f12428bb0a6f5396e8f14e9c83", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.6-wrapper.jar.sha256", - "wrapperChecksum" : "695089a2b306f55f0bd63140fbcc5ead8c383819018188ce484cd5a055bec6e4" -}, { - "version" : "2.6-rc-2", - "buildTime" : "20150804104806+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.6-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.6-rc-2-bin.zip.sha256", - "checksum" : "82ad20a1c6408176b50e9c07dae8a1c1e2bf9cdd02d11ace8ee92539672f45db" -}, { - "version" : "2.6-rc-1", - "buildTime" : "20150728171643+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.6-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.6-rc-1-bin.zip.sha256", - "checksum" : "5d98379be8076d4c11eaaae8a17c6cbe58cc3d6d76ddd08d962ce8e76c2df67e" -}, { - "version" : "2.5", - "buildTime" : "20150708073837+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.5-bin.zip.sha256", - "checksum" : "3f953e0cb14bb3f9ebbe11946e84071547bf5dfd575d90cfe9cc4e788da38555", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.5-wrapper.jar.sha256", - "wrapperChecksum" : "718d7b25ea60b357fc4cb2212ce10b3f03dfd0e6fe5f23f565b15553ec46bb7e" -}, { - "version" : "2.5-rc-2", - "buildTime" : "20150702151559+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.5-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.5-rc-2-bin.zip.sha256", - "checksum" : "8807bc2e29e215e5d4760fb665815477ff7a07b7fddf3d56c38260e5981a2825" -}, { - "version" : "2.5-rc-1", - "buildTime" : "20150623180452+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.5-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.5-rc-1-bin.zip.sha256", - "checksum" : "1c712b049108d6d0630c78ada345d9adbfc3e1ca4fc6a2bcaecca25634292809" -}, { - "version" : "2.4", - "buildTime" : "20150505080924+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.4-bin.zip.sha256", - "checksum" : "c4eaecc621a81f567ded1aede4a5ddb281cc02a03a6a87c4f5502add8fc2f16f", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.4-wrapper.jar.sha256", - "wrapperChecksum" : "98420079ffe3e24b1013180d9b9bc2e2ee6a9d867ee232004b75a961d9c18e27" -}, { - "version" : "2.4-rc-2", - "buildTime" : "20150429045020+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.4-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.4-rc-2-bin.zip.sha256", - "checksum" : "f36496775b847302e7081b6b051086296882804c7365c0b5e073227ff1cec8ac" -}, { - "version" : "2.4-rc-1", - "buildTime" : "20150423031523+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.4-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.4-rc-1-bin.zip.sha256", - "checksum" : "ebd8ebc8954b0fb30696d561e41d6a717db42af6c0640099af8e688b10813135" -}, { - "version" : "2.3", - "buildTime" : "20150216050933+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.3-bin.zip.sha256", - "checksum" : "010dd9f31849abc3d5644e282943b1c1c355f8e2635c5789833979ce590a3774", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.3-wrapper.jar.sha256", - "wrapperChecksum" : "b18a1114ebe81fb7502d40ad9a4f86cef82fff244a865ad45533b4d5e7ff0cc8" -}, { - "version" : "2.3-rc-4", - "buildTime" : "20150211163922+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.3-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.3-rc-4-bin.zip.sha256", - "checksum" : "34878db3896bd7d2b29406cbdb0c156078ab62f3361f9b4df689cfb3814d8906" -}, { - "version" : "2.3-rc-3", - "buildTime" : "20150208183759+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.3-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.3-rc-3-bin.zip.sha256", - "checksum" : "6ce92b77f67f3bf0f543cfb723796919964b969b454e630c8e8b882692e90f23" -}, { - "version" : "2.3-rc-2", - "buildTime" : "20150204105413+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.3-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.3-rc-2-bin.zip.sha256", - "checksum" : "1a90fbaf3db2b0b86d7b8b7df5c1760732ef94f984ffd71264b1821076e268c9" -}, { - "version" : "2.3-rc-1", - "buildTime" : "20150127140232+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.3-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.3-rc-1-bin.zip.sha256", - "checksum" : "a78846df63ed81971eed2db62efca4ce0d595a53a9f1d08e341c7ddae0c04b56" -}, { - "version" : "2.2.1", - "buildTime" : "20141124094535+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.2.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.2.1-bin.zip.sha256", - "checksum" : "420aa50738299327b611c10b8304b749e8d3a579407ee9e755b15921d95ff418", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.2.1-wrapper.jar.sha256", - "wrapperChecksum" : "5f73d431fd1c5dcc2cf11555b8e486c43249c1099f678ccc6088b05be600a2e1" -}, { - "version" : "2.2.1-rc-1", - "buildTime" : "20141117101237+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.2.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.2.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.2.1-rc-1-bin.zip.sha256", - "checksum" : "65b87391af213341f19bf74b15f2a506a0136bb8aa466d87ac2b7d55d3ddab71" -}, { - "version" : "2.2", - "buildTime" : "20141110133144+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.2-bin.zip.sha256", - "checksum" : "91e5655fe11ef414449f218c4fa2985b3a49b7903c57556da109c84fa26e1dfb", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.2-wrapper.jar.sha256", - "wrapperChecksum" : "fa9b4294d47cf8db7039cb9b2435de3dd1accb0d3d67926705775a0579dfa397" -}, { - "version" : "2.2-rc-2", - "buildTime" : "20141103170404+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.2-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.2-rc-2-bin.zip.sha256", - "checksum" : "d430d7e508116a7c917c394879f85c29e1bdce921f15d12ddf8473fab0564d92" -}, { - "version" : "2.2-rc-1", - "buildTime" : "20141020163257+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.2-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.2-rc-1-bin.zip.sha256", - "checksum" : "58292023856cc9ceb7e6376efece7ee3c2f95b7d1986d7f5f95b7db5f2120767" -}, { - "version" : "2.1", - "buildTime" : "20140908104039+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.1-bin.zip.sha256", - "checksum" : "3eee4f9ea2ab0221b89f8e4747a96d4554d00ae46d8d633f11cfda60988bf878", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.1-wrapper.jar.sha256", - "wrapperChecksum" : "5e27c39c2336c25748f279d8b105162d14b1a39eb7839d0b658432282d0ce79f" -}, { - "version" : "2.1-rc-4", - "buildTime" : "20140903092053+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.1-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.1-rc-4-bin.zip.sha256", - "checksum" : "9894bc2d60e5a1cca564313f6e68af0b57cd21b95cd68e96c8bd215cab8a944d" -}, { - "version" : "2.1-rc-3", - "buildTime" : "20140901103549+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.1-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.1-rc-3-bin.zip.sha256", - "checksum" : "8a6839bac38e97d2b55fa1ad1e10c0223f3a1e39f4ced9178a8f666fd017829f" -}, { - "version" : "2.1-rc-2", - "buildTime" : "20140828023229+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.1-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.1-rc-2-bin.zip.sha256", - "checksum" : "6a641aa38dd88b572d1baa35ac14858b4d7f0f4b83f1677fbb3adfe4391950ce" -}, { - "version" : "2.1-rc-1", - "buildTime" : "20140819194409+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.1-rc-1-bin.zip.sha256", - "checksum" : "eeff5d7f43b4ef1c1c29916b29c50c4d8cda32b65ab4e322a6d50f04b7601ae1" -}, { - "version" : "2.0", - "buildTime" : "20140701074534+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.0-bin.zip.sha256", - "checksum" : "a1eb880c8755333c4d33c4351b269bebe517002532d3142c0b6164c9e8c081c3", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-2.0-wrapper.jar.sha256", - "wrapperChecksum" : "80a33ca14e3bca3116bc8749550397f739f126190c82bb6399fdc8d10f49661f" -}, { - "version" : "2.0-rc-2", - "buildTime" : "20140623080236+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.0-rc-2-bin.zip.sha256", - "checksum" : "932fbabf535876be50ff1d07a4d7fab7f7ae03275a2c5615da2e8add5d4b7c76" -}, { - "version" : "2.0-rc-1", - "buildTime" : "20140606070241+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "2.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-2.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-2.0-rc-1-bin.zip.sha256", - "checksum" : "8240c8f325d0233146e1e21dab31de6b7e653870111187d911eaf4704798faec" -}, { - "version" : "1.12", - "buildTime" : "20140429092431+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.12-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.12-bin.zip.sha256", - "checksum" : "8734b13a401f4311ee418173ed6ca8662d2b0a535be8ff2a43ecb1c13cd406ea", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.12-wrapper.jar.sha256", - "wrapperChecksum" : "dea5ceba47b58df0b7f69a65b24357527c1927ccc72b6d4ed90658d39e461b29" -}, { - "version" : "1.12-rc-2", - "buildTime" : "20140423112055+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.12", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.12-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.12-rc-2-bin.zip.sha256", - "checksum" : "886e40b53d772cacc0cf0a145d464790c125d2cf19c28d93f534eb2ae86186bc" -}, { - "version" : "1.12-rc-1", - "buildTime" : "20140416084626+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.12", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.12-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.12-rc-1-bin.zip.sha256", - "checksum" : "3f9f970be1b02e9d05c95344fb7fd468be7285d38f2e22ea194bc3e12207a250" -}, { - "version" : "1.11", - "buildTime" : "20140211113439+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.11-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.11-bin.zip.sha256", - "checksum" : "07e235df824964f0e19e73ea2327ce345c44bcd06d44a0123d29ab287fc34091", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.11-wrapper.jar.sha256", - "wrapperChecksum" : "a14b54dd3790f5ce1dc08ebbf4b5bcc05f76c4554b43accb84696c970f29aba0" -}, { - "version" : "1.11-rc-1", - "buildTime" : "20140131033453+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.11", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.11-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.11-rc-1-bin.zip.sha256", - "checksum" : "d16d91f5081ce7665dca6562fb200d181f2abbb8c8ffef4ea8b9a3bad4079db4" -}, { - "version" : "1.10", - "buildTime" : "20131217092815+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.10-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.10-bin.zip.sha256", - "checksum" : "6e6db4fc595f27ceda059d23693b6f6848583950606112b37dfd0e97a0a0a4fe", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.10-wrapper.jar.sha256", - "wrapperChecksum" : "6a6c15e222a0458aa33985b87f67954f4222410b43b1e26866197d0a77d93cbc" -}, { - "version" : "1.10-rc-2", - "buildTime" : "20131211105454+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.10", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.10-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.10-rc-2-bin.zip.sha256", - "checksum" : "6930c2882cf984a7c3ad49b31ed179224ff956d5844d228c814055ae88afa78e" -}, { - "version" : "1.10-rc-1", - "buildTime" : "20131204154128+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.10", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.10-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.10-rc-1-bin.zip.sha256", - "checksum" : "25ca44dbfe099013a0a94ebe098da8b8b279d2d38bcc3737039067f5fc88c1f1" -}, { - "version" : "1.9", - "buildTime" : "20131119082002+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.9-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.9-bin.zip.sha256", - "checksum" : "097ddc2bcbc9da2bb08cbf6bf8079585e35ad088bafd42e8716bc96405db98e9", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.9-wrapper.jar.sha256", - "wrapperChecksum" : "134337ea7c13221f9d1a1c14288a5cf8af9f6060167b903b724b115cf5a0cf73" -}, { - "version" : "1.9-rc-4", - "buildTime" : "20131118093242+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.9-rc-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.9-rc-4-bin.zip.sha256", - "checksum" : "5bdcf356f795ee85607d6aaa5534c26423ce8bf6f2bbd1eda0fb04ae8eebd943" -}, { - "version" : "1.9-rc-3", - "buildTime" : "20131107122642+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.9-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.9-rc-3-bin.zip.sha256", - "checksum" : "4690509db43b713764ce869977414df97c692594c7ba2fa7e421ad5757b256a7" -}, { - "version" : "1.9-rc-2", - "buildTime" : "20131028093320+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.9-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.9-rc-2-bin.zip.sha256", - "checksum" : "356844c3e7f7b16d620348f64fdbc8c39455d805855f6975c6f9cc6a357cc89c" -}, { - "version" : "1.9-rc-1", - "buildTime" : "20131023094618+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.9-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.9-rc-1-bin.zip.sha256", - "checksum" : "667fa5360aea327f57df76a471886791756a0afb2f80fceef15efba1b1588b41" -}, { - "version" : "1.8", - "buildTime" : "20130924073233+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.8-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.8-bin.zip.sha256", - "checksum" : "a342bbfa15fd18e2482287da4959588f45a41b60910970a16e6d97959aea5703", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.8-wrapper.jar.sha256", - "wrapperChecksum" : "13f23a24252ddca0a0fabef212e3c854f5895b081c09d015c91587a5df9bf9f7" -}, { - "version" : "1.8-rc-2", - "buildTime" : "20130919053314+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.8-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.8-rc-2-bin.zip.sha256", - "checksum" : "7280197f1cdfdd00616cbbbcf16b078c1ed2bc92ec00c6b3a06b790d020995f8" -}, { - "version" : "1.8-rc-1", - "buildTime" : "20130910130452+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.8", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.8-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.8-rc-1-bin.zip.sha256", - "checksum" : "b4aaf215b700adbe6d4057bfb86361d3d1f9edc45f8ddc5a985cd5c65a6df35f" -}, { - "version" : "1.7", - "buildTime" : "20130806111956+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.7-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.7-bin.zip.sha256", - "checksum" : "360c97d51621b5a1ecf66748c718594e5f790ae4fbc1499543e0c006033c9d30", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.7-wrapper.jar.sha256", - "wrapperChecksum" : "7af529cc3331d38b3d8f8344ddd9b2d3744542b55b68318abd8bb1a6f3812a1c" -}, { - "version" : "1.7-rc-2", - "buildTime" : "20130729120421+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.7-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.7-rc-2-bin.zip.sha256", - "checksum" : "db40dbf3ac4545372fdabafbb993344a2cef44ba6ff7436573bca2aba21fc611" -}, { - "version" : "1.7-rc-1", - "buildTime" : "20130702145630+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.7", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.7-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.7-rc-1-bin.zip.sha256", - "checksum" : "d69df2d9b36d0a9c72b0975e791a50f0639cdca8e48e7df7e9aaf6c9d87f176f" -}, { - "version" : "1.6", - "buildTime" : "20130507091214+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.6-bin.zip.sha256", - "checksum" : "de3e89d2113923dcc2e0def62d69be0947ceac910abd38b75ec333230183fac4", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.6-wrapper.jar.sha256", - "wrapperChecksum" : "66dbcc9f0bc33789ea0bdb4d49c8ea037047bda5647ef696c47bdca65f785159" -}, { - "version" : "1.6-rc-1", - "buildTime" : "20130430131900+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.6", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.6-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.6-rc-1-bin.zip.sha256", - "checksum" : "3fdbb2d087d4916cb4162a6b87d0a1ffb6efcd296d9761001646fa0e21881629" -}, { - "version" : "1.5", - "buildTime" : "20130327140935+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.5-bin.zip.sha256", - "checksum" : "a5511a0659caa47d9d74fd2844c9da43157d2f78e63a0223c6289d88f5aaecbe", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.5-wrapper.jar.sha256", - "wrapperChecksum" : "9598ffdf7ee26949d8b861ece267c70c802f21f7fc52596693834792d155195a" -}, { - "version" : "1.5-rc-3", - "buildTime" : "20130321155709+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.5-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.5-rc-3-bin.zip.sha256", - "checksum" : "7c99d43ccaea8215df7c5e82a3c1378908197925f4f4748315c75f69ae1dffbe" -}, { - "version" : "1.5-rc-2", - "buildTime" : "20130317011516+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.5-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.5-rc-2-bin.zip.sha256", - "checksum" : "f7feac0fc31d919f4f36dc0a6b3450948c40c01e785f590e3991d4178841d415" -}, { - "version" : "1.5-rc-1", - "buildTime" : "20130311120320+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.5", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.5-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.5-rc-1-bin.zip.sha256", - "checksum" : "5e25bf4ac2de6fdd7b0867b14144bd29d16b1e3390f1855b55855e0d7a2f7705" -}, { - "version" : "1.4", - "buildTime" : "20130128034246+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.4-bin.zip.sha256", - "checksum" : "cd99e85fbcd0ae8b99e81c9992a2f10cceb7b5f009c3720ef3a0078f4f92e94e", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.4-wrapper.jar.sha256", - "wrapperChecksum" : "c95985b7b5684e133c5d45044fd90faaf6c8f7cd2493d61a11c2b8c5b71ef514" -}, { - "version" : "1.4-rc-3", - "buildTime" : "20130125035146+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.4-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.4-rc-3-bin.zip.sha256", - "checksum" : "0b7b24ff52d56586d6d3aae6b3ffdff5de279549e3b80105d159556057b11151" -}, { - "version" : "1.4-rc-2", - "buildTime" : "20130122030632+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.4-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.4-rc-2-bin.zip.sha256", - "checksum" : "47a90853ac8eda1294e6dc3334448584a7e48ec2c8e76acadcd05bb6f411424f" -}, { - "version" : "1.4-rc-1", - "buildTime" : "20130117001257+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.4", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.4-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.4-rc-1-bin.zip.sha256", - "checksum" : "133a12cb48dc0383d83ca84e92e8c555b0fdbad8d2b8e636216f739f2ef22921" -}, { - "version" : "1.3", - "buildTime" : "20121120113738+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.3-bin.zip.sha256", - "checksum" : "ada68561efbb9f1cae0f9063974cbde15c180351a2f92bc2f1106e39ddcae5ba", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.3-wrapper.jar.sha256", - "wrapperChecksum" : "95513eccca99e1ae1aeadc4f69cabd0e7fb64821d3f26c46a489df844c8a7353" -}, { - "version" : "1.3-rc-2", - "buildTime" : "20121115155343+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.3-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.3-rc-2-bin.zip.sha256", - "checksum" : "46b3ff676c2a71f8aa4d5345e0b206920d7669f9b777d346dcebd85638afd3d0" -}, { - "version" : "1.3-rc-1", - "buildTime" : "20121112135252+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.3", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.3-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.3-rc-1-bin.zip.sha256", - "checksum" : "f699e313f4e4681c18e1f63074af1d011dd775d8de5ec39bbaab6ce3e2a1e1ee" -}, { - "version" : "1.2", - "buildTime" : "20120912104602+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.2-bin.zip.sha256", - "checksum" : "eb53da3704d24cabb7565f34a3bf16bcd863c4b0c139917606fb15d4f27c7bdf", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.2-wrapper.jar.sha256", - "wrapperChecksum" : "5c91fa893665f3051eae14578fac2df14e737423387e75ffbeccd35f335a3d8b" -}, { - "version" : "1.2-rc-1", - "buildTime" : "20120904174954+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.2", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.2-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.2-rc-1-bin.zip.sha256", - "checksum" : "167410b26ff883d6531f74c13a6c0683f3f21013c8445f35db58ccac9613b788" -}, { - "version" : "1.1", - "buildTime" : "20120731132432+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.1-bin.zip.sha256", - "checksum" : "552c1fc9f3a1b9668b79cc447370f0263e664ffb6d5c6e1c21e77ce0c8a20d4c", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.1-wrapper.jar.sha256", - "wrapperChecksum" : "22c56a9780daeee00e5bf31621f991b68e73eff6fe8afca628a1fe2c50c6038e" -}, { - "version" : "1.1-rc-2", - "buildTime" : "20120726075103+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.1-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.1-rc-2-bin.zip.sha256", - "checksum" : "78d904a6f0ec3231c4d032beddcfcee27046075624d724a9d087e0ad7e58d01d" -}, { - "version" : "1.1-rc-1", - "buildTime" : "20120724134404+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.1", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.1-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.1-rc-1-bin.zip.sha256", - "checksum" : "655c3b09260b0db10fa0563bc72fc05d5165b67734a87baa7aa9f708eeeb71ca" -}, { - "version" : "1.0", - "buildTime" : "20120612025621+0200", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-bin.zip.sha256", - "checksum" : "894bca0360a7e2040815096788f118a2dd106ff6694221b274efb9c32bce0384", - "wrapperChecksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-wrapper.jar.sha256", - "wrapperChecksum" : "87e50531ca7aab675f5bb65755ef78328afd64cf0877e37ad876047a8a014055" -}, { - "version" : "1.0-rc-3", - "buildTime" : "20120430015152+0200", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-rc-3-bin.zip.sha256", - "checksum" : "a4b2a83bd7c173efc8722c111347283d26774a81508a445e4f234df98f711824" -}, { - "version" : "1.0-rc-2", - "buildTime" : "20120425015237+0200", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-rc-2-bin.zip.sha256", - "checksum" : "3ebb5367ede52e0f21246c3d06be70b7b66a96f078b2a139fa5c8269d5076911" -}, { - "version" : "1.0-rc-1", - "buildTime" : "20120411121324+0100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "1.0", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-rc-1-bin.zip.sha256", - "checksum" : "ae4ae81fb46b108f359efad5fbbcbec50940a793e5b2bfb9929d1e82f2e10c49" -}, { - "version" : "1.0-milestone-9", - "buildTime" : "20120313171009+0100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-9-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-9-bin.zip.sha256", - "checksum" : "3499b262c1407d3965250aa40f5a154e77672a5f904e7d82e704ce9fa82719bc" -}, { - "version" : "1.0-milestone-8a", - "buildTime" : "20120220185357+0100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-8a-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-8a-bin.zip.sha256", - "checksum" : "9dbace7ad2be4f4afdfde9aa495ff7a5f4cb2666ba5c7c21f01c119d9bbf6bc7" -}, { - "version" : "1.0-milestone-8", - "buildTime" : "20120214022451+0100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-8-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-8-bin.zip.sha256", - "checksum" : "480c3fe8c832c16c0d1e0f53b33b6401827baebd73eae2d7a3e89102c1dd8603" -}, { - "version" : "1.0-milestone-7", - "buildTime" : "20120105102443+0000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-7-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-7-bin.zip.sha256", - "checksum" : "074c37682e560d398cefa857dcd8fc67c318297d6d5dcd25d9f090332cd7564c" -}, { - "version" : "1.0-milestone-6", - "buildTime" : "20111117065412+0100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-6-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-6-bin.zip.sha256", - "checksum" : "9a2c3fca6aad82002a47cf6c721e6e5a45e0cbde3e280c8ef4eebefbe6797b1c" -}, { - "version" : "1.0-milestone-5", - "buildTime" : "20111025055608+0200", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-5-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-5-bin.zip.sha256", - "checksum" : "b00acd0fef3e6b014e43d62e7a3e6159eac037df28e18057a04dddc6728f2362" -}, { - "version" : "1.0-milestone-4", - "buildTime" : "20110728103822+0200", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : true, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-4-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-4-bin.zip.sha256", - "checksum" : "882c8115a214495f5b6b9df3ba70dec9345698651e8c320036eed272be55ae6a" -}, { - "version" : "1.0-milestone-3", - "buildTime" : "20110425174011+1000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-3-bin.zip.sha256", - "checksum" : "06d2ee96e45a62fce8ba1f964b083876b789c3f97932b189d57c5f545000d461" -}, { - "version" : "1.0-milestone-2", - "buildTime" : "20110407163255+1000", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-2-bin.zip.sha256", - "checksum" : "4fff2aa96eed3cec23537c807154ef3595ebaa99aa46d13dc479610ffcaa0574" -}, { - "version" : "1.0-milestone-1", - "buildTime" : "20110227141320+1100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-1.0-milestone-1-bin.zip.sha256", - "checksum" : "c2153f01eabba7abd874e8ebad42b7cfe76c4fb978bdbe288757b522a8755d8c" -}, { - "version" : "0.9.2", - "buildTime" : "20110123133421+1100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-0.9.2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-0.9.2-bin.zip.sha256", - "checksum" : "f94d7642348c558fc05ab5fd6fb947fb1ed8fed5931ddb73dd04fb0de22d669b" -}, { - "version" : "0.9.1", - "buildTime" : "20110102114057+1100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-0.9.1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-0.9.1-bin.zip.sha256", - "checksum" : "5d48cba95db031ec109ae9ab60561e960b6507046036e8191aa78572ec27e2a5" -}, { - "version" : "0.9", - "buildTime" : "20101219125006+1100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-0.9-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-0.9-bin.zip.sha256", - "checksum" : "994e46d4b467254a0f25ce92b602618331b9b3ac8b32a094fd84ff0e0ceec135" -}, { - "version" : "0.9-rc-3", - "buildTime" : "20101120131750+1100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "0.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-0.9-rc-3-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-0.9-rc-3-bin.zip.sha256", - "checksum" : "3d07a0de2d8aa1c8ef7e6974c8eb84f47d0300d978c905d046a7d1087a0cb1a8" -}, { - "version" : "0.9-rc-2", - "buildTime" : "20101027082405+1100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "0.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-0.9-rc-2-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-0.9-rc-2-bin.zip.sha256", - "checksum" : "94c0b7d51514062c8bdb7d1435a130f4eafda99214274b4330fb77a41b466a01" -}, { - "version" : "0.9-rc-1", - "buildTime" : "20100804080433+1100", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "0.9", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-0.9-rc-1-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-0.9-rc-1-bin.zip.sha256", - "checksum" : "344b93a2825d29ecacd8c9e9c69037b5badd87b219ef56d88b35b3ba07f9e714" -}, { - "version" : "0.8", - "buildTime" : "20090928140159+0200", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-0.8-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-0.8-bin.zip.sha256", - "checksum" : "940e623ea98e40ea9ad398770a6ebb91a61c0869d394dda81aa86b0f4f0025e7" -}, { - "version" : "0.7", - "buildTime" : "20090720085013+0200", - "commitId" : "", - "current" : false, - "snapshot" : false, - "nightly" : false, - "releaseNightly" : false, - "activeRc" : false, - "rcFor" : "", - "milestoneFor" : "", - "broken" : false, - "downloadUrl" : "https://services.gradle.org/distributions/gradle-0.7-bin.zip", - "checksumUrl" : "https://services.gradle.org/distributions/gradle-0.7-bin.zip.sha256", - "checksum" : "4e354fcb0d5c0b0e7789cd6ee900456edaf993f6dd890c4a1c217d90d2a6a6ad" -} ] \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.buildship.core/init.d/eclipsePlugin.gradle b/.metadata/.plugins/org.eclipse.buildship.core/init.d/eclipsePlugin.gradle deleted file mode 100644 index 6153e78..0000000 --- a/.metadata/.plugins/org.eclipse.buildship.core/init.d/eclipsePlugin.gradle +++ /dev/null @@ -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" - } -} \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.buildship.core/project-preferences/xxxthegame b/.metadata/.plugins/org.eclipse.buildship.core/project-preferences/xxxthegame deleted file mode 100644 index f246bb2..0000000 --- a/.metadata/.plugins/org.eclipse.buildship.core/project-preferences/xxxthegame +++ /dev/null @@ -1,12 +0,0 @@ -# -#Mon Mar 02 22:58:56 CET 2026 -buildDir=build -buildScriptPath=build.gradle.kts -classpath=\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n\t\n\t\t\n\t\t\n\t\n\n\n -derivedResources=.gradle\:build -gradleVersion=8.9 -hasAutoBuildTasks=false -linkedResources= -managedBuilders= -managedNatures=org.eclipse.jdt.core.javanature -subprojectPaths= diff --git a/.metadata/.plugins/org.eclipse.buildship.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.buildship.ui/dialog_settings.xml deleted file mode 100644 index 5b1d400..0000000 --- a/.metadata/.plugins/org.eclipse.buildship.ui/dialog_settings.xml +++ /dev/null @@ -1,14 +0,0 @@ - -
-
- - -
- - - - - -
-
-
diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/18/b062f7739c15001119b388c480b77dca b/.metadata/.plugins/org.eclipse.core.resources/.history/18/b062f7739c15001119b388c480b77dca deleted file mode 100644 index 14b8288..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/18/b062f7739c15001119b388c480b77dca +++ /dev/null @@ -1,27 +0,0 @@ -# Datasource -spring.datasource.url=jdbc:mysql://localhost:3306/xxxthegame?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC -spring.datasource.username=${DB_USER:xxx} -spring.datasource.password=${DB_PASSWORD:xxx} -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver - -# JPA / Hibernate -spring.jpa.hibernate.ddl-auto=update -spring.jpa.show-sql=false -spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect -spring.jpa.properties.hibernate.type.preferred_uuid_jdbc_type=VARCHAR - -# Mail -spring.mail.host=${MAIL_HOST:localhost} -spring.mail.port=${MAIL_PORT:25} -spring.mail.username=${MAIL_USER:} -spring.mail.password=${MAIL_PASSWORD:} -spring.mail.properties.mail.smtp.auth=false -spring.mail.properties.mail.smtp.starttls.enable=false - -# JWT Keystore -jwt.keystore.path=classpath:xxx.jks -jwt.keystore.password=${JWT_KEYSTORE_PASSWORD:XUR!Rv&f$j3UsqD&} -jwt.keystore.alias=xxx - -# Server -server.port=8080 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c2/40a65bed8b15001118abc790ef2fdc35 b/.metadata/.plugins/org.eclipse.core.resources/.history/c2/40a65bed8b15001118abc790ef2fdc35 deleted file mode 100644 index 3956c47..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c2/40a65bed8b15001118abc790ef2fdc35 +++ /dev/null @@ -1,12 +0,0 @@ -arguments= -auto.sync=false -build.scans.enabled=false -connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER) -eclipse.preferences.version=1 -gradle.user.home= -java.home= -jvm.arguments= -offline.mode=false -override.workspace.settings=false -show.console.view=false -show.executions.view=false diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location deleted file mode 100644 index d4c4ef5..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.indexes/7/b9/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.indexes/7/b9/history.index deleted file mode 100644 index 07f4b7a..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.indexes/7/b9/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.indexes/af/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.indexes/af/history.index deleted file mode 100644 index 96e7bba..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.indexes/af/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.indexes/e4/b9/db/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.indexes/e4/b9/db/history.index deleted file mode 100644 index f4e62ac..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.indexes/e4/b9/db/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.location b/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.location deleted file mode 100644 index 9ca6909..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.location and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.markers deleted file mode 100644 index 9e0b29f..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/xxxthegame/.markers and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version deleted file mode 100644 index 25cb955..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index deleted file mode 100644 index ba04efe..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version deleted file mode 100644 index 6b2aaa7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources deleted file mode 100644 index 922a8b4..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml deleted file mode 100644 index 12bf2f5..0000000 --- a/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml +++ /dev/null @@ -1,16 +0,0 @@ - -
-
- - - - - - -
-
- - - -
-
diff --git a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi deleted file mode 100644 index 19119f1..0000000 --- a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ /dev/null @@ -1,3011 +0,0 @@ - - - - activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration - - - - - - - - topLevel - shellMaximized - - - - - persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation - persp.actionSet:org.eclipse.ui.cheatsheets.actionSet - persp.actionSet:org.eclipse.search.searchActionSet - persp.actionSet:org.eclipse.text.quicksearch.actionSet - persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation - persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation - persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo - persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet - persp.actionSet:org.eclipse.ui.actionSet.keyBindings - persp.actionSet:org.eclipse.ui.actionSet.openFiles - persp.actionSet:org.eclipse.debug.ui.launchActionSet - persp.actionSet:org.eclipse.jdt.ui.JavaActionSet - persp.actionSet:org.eclipse.jdt.ui.JavaElementCreationActionSet - persp.actionSet:org.eclipse.ui.NavigateActionSet - persp.viewSC:org.eclipse.jdt.ui.PackageExplorer - persp.viewSC:org.eclipse.jdt.ui.TypeHierarchy - persp.viewSC:org.eclipse.jdt.ui.SourceView - persp.viewSC:org.eclipse.jdt.ui.JavadocView - persp.viewSC:org.eclipse.search.ui.views.SearchView - persp.viewSC:org.eclipse.ui.console.ConsoleView - persp.viewSC:org.eclipse.ui.views.ContentOutline - persp.viewSC:org.eclipse.ui.views.ProblemView - persp.viewSC:org.eclipse.ui.views.TaskList - persp.viewSC:org.eclipse.ui.views.ProgressView - persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer - persp.viewSC:org.eclipse.ui.texteditor.TemplatesView - persp.viewSC:org.eclipse.pde.runtime.LogView - persp.newWizSC:org.eclipse.jdt.ui.wizards.JavaProjectWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewClassCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewRecordCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard - persp.newWizSC:org.eclipse.ui.wizards.new.folder - persp.newWizSC:org.eclipse.ui.wizards.new.file - persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard - persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective - persp.perspSC:org.eclipse.debug.ui.DebugPerspective - persp.showIn:org.eclipse.jdt.ui.PackageExplorer - persp.showIn:org.eclipse.team.ui.GenericHistoryView - persp.showIn:org.eclipse.ui.navigator.ProjectExplorer - persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks - persp.newWizSC:org.eclipse.mylyn.tasks.ui.wizards.new.repository.task - persp.viewSC:org.eclipse.terminal.view.ui.TerminalsView - persp.showIn:org.eclipse.terminal.view.ui.TerminalsView - persp.actionSet:org.eclipse.debug.ui.breakpointActionSet - persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet - persp.newWizSC:org.eclipse.m2e.core.wizards.Maven2ProjectWizard - persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet - persp.showIn:org.eclipse.eclemma.ui.CoverageView - persp.viewSC:org.eclipse.jdt.bcoview.views.BytecodeOutlineView - persp.showIn:org.eclipse.egit.ui.RepositoriesView - persp.newWizSC:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard - persp.actionSet:org.eclipse.jdt.junit.JUnitActionSet - persp.viewSC:org.eclipse.ant.ui.views.AntView - persp.actionSet:org.springsource.ide.eclipse.commons.launch.actionSet - persp.editorOnboardingImageUri:platform:/plugin/org.eclipse.jdt.ui/$nl$/icons/full/onboarding_jperspective.svg - persp.editorOnboardingText:Open a file or drop files here to open them. - persp.editorOnboardingCommand:Find Actions$$$Ctrl+3 - persp.editorOnboardingCommand:Show Key Assist$$$Shift+Ctrl+L - persp.editorOnboardingCommand:New$$$Ctrl+N - persp.editorOnboardingCommand:Open Type$$$Shift+Ctrl+T - - - - org.eclipse.e4.primaryNavigationStack - active - noFocus - - View - categoryTag:Java - - - View - categoryTag:Java - - - View - categoryTag:General - - - View - categoryTag:Java - - - - - View - categoryTag:Git - - - - - - - - org.eclipse.e4.secondaryNavigationStack - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:Mylyn - - - View - categoryTag:Java - - - View - categoryTag:Ant - - - - - org.eclipse.e4.secondaryDataStack - Gradle - Oomph - Version Control (Team) - - View - categoryTag:General - - - View - categoryTag:Java - - - View - categoryTag:Java - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:Terminal - - - View - categoryTag:Gradle - - - View - categoryTag:Gradle - - - View - categoryTag:Version Control (Team) - - - View - categoryTag:Oomph - NoRestore - - - - - - - - persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation - persp.actionSet:org.eclipse.ui.cheatsheets.actionSet - persp.actionSet:org.eclipse.search.searchActionSet - persp.actionSet:org.eclipse.text.quicksearch.actionSet - persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation - persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation - persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo - persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet - persp.actionSet:org.eclipse.ui.actionSet.keyBindings - persp.actionSet:org.eclipse.ui.actionSet.openFiles - persp.actionSet:org.springsource.ide.eclipse.commons.launch.actionSet - persp.viewSC:org.eclipse.ui.views.ProgressView - persp.viewSC:org.eclipse.ui.texteditor.TemplatesView - persp.actionSet:org.eclipse.debug.ui.launchActionSet - persp.actionSet:org.eclipse.debug.ui.debugActionSet - persp.actionSet:org.eclipse.ui.NavigateActionSet - persp.viewSC:org.eclipse.debug.ui.DebugView - persp.viewSC:org.eclipse.debug.ui.VariableView - persp.viewSC:org.eclipse.debug.ui.BreakpointView - persp.viewSC:org.eclipse.debug.ui.ExpressionView - persp.viewSC:org.eclipse.ui.views.ContentOutline - persp.viewSC:org.eclipse.ui.console.ConsoleView - persp.viewSC:org.eclipse.ui.views.ProblemView - persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer - persp.viewSC:org.eclipse.pde.runtime.LogView - persp.actionSet:org.eclipse.debug.ui.breakpointActionSet - persp.showIn:org.eclipse.ui.navigator.ProjectExplorer - persp.perspSC:org.eclipse.jdt.ui.JavaPerspective - persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective - persp.actionSet:org.eclipse.jdt.ui.JavaActionSet - persp.showIn:org.eclipse.jdt.ui.PackageExplorer - persp.viewSC:org.eclipse.terminal.view.ui.TerminalsView - persp.showIn:org.eclipse.terminal.view.ui.TerminalsView - persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet - persp.viewSC:org.eclipse.jdt.debug.ui.DisplayView - persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet - persp.showIn:org.eclipse.eclemma.ui.CoverageView - persp.showIn:org.eclipse.egit.ui.RepositoriesView - persp.viewSC:org.eclipse.jdt.junit.ResultView - persp.viewSC:org.eclipse.ant.ui.views.AntView - persp.editorOnboardingImageUri:platform:/plugin/org.eclipse.debug.ui/icons/full/onboarding_debug_persp.svg - persp.editorOnboardingText:Go hunt your bugs here. - persp.editorOnboardingCommand:Find Actions$$$Ctrl+3 - persp.editorOnboardingCommand:Step Into$$$F5 - persp.editorOnboardingCommand:Step Over$$$F6 - persp.editorOnboardingCommand:Step Return$$$F7 - persp.editorOnboardingCommand:Resume$$$F8 - - - org.eclipse.e4.primaryNavigationStack - - View - categoryTag:Debug - - - View - categoryTag:General - - - View - categoryTag:Java - - - View - categoryTag:Java - - - View - categoryTag:Java - - - - - - - org.eclipse.e4.secondaryNavigationStack - - View - categoryTag:Debug - - - View - categoryTag:Debug - - - View - categoryTag:Debug - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:Ant - - - - - - View - categoryTag:General - active - - - View - categoryTag:General - - - View - categoryTag:Debug - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:Terminal - - - View - categoryTag:Debug - - - View - categoryTag:General - - - - - - - - - View - categoryTag:Help - - - View - categoryTag:General - - - View - categoryTag:Help - - - - - - - View - categoryTag:Help - - - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - - - View - categoryTag:Help - - - - EditorStack - org.eclipse.e4.primaryDataStack - - - Editor - removeOnHide - org.eclipse.jdt.ui.CompilationUnitEditor - - - - Editor - removeOnHide - org.eclipse.jdt.ui.CompilationUnitEditor - - - - Editor - removeOnHide - org.eclipse.jdt.ui.CompilationUnitEditor - - - - Editor - removeOnHide - org.eclipse.jdt.ui.CompilationUnitEditor - - - - Editor - removeOnHide - org.eclipse.jdt.ui.CompilationUnitEditor - - - - Editor - removeOnHide - org.eclipse.jdt.ui.CompilationUnitEditor - - - - - - - - View - categoryTag:Java - active - - ViewMenu - menuContribution:menu - - - - - - - View - categoryTag:Java - - - - - View - categoryTag:General - - - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - - - View - categoryTag:Java - - - - - View - categoryTag:Java - - - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:Mylyn - - - - - View - categoryTag:Terminal - - - - - View - categoryTag:Java - - - - - View - categoryTag:Git - - - - - View - categoryTag:Java - - - - - View - categoryTag:Ant - - - - - - View - categoryTag:Gradle - - ViewMenu - menuContribution:menu - - - - - - - - View - categoryTag:Gradle - - ViewMenu - menuContribution:menu - - - - - - - - View - categoryTag:Debug - busy - - ViewMenu - menuContribution:menu - - - - - - - View - categoryTag:Debug - - - - - - View - categoryTag:Debug - - ViewMenu - menuContribution:menu - - - - - - - - View - categoryTag:Debug - - ViewMenu - menuContribution:menu - - - - - - - - View - categoryTag:Debug - - ViewMenu - menuContribution:menu - - - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - - View - categoryTag:Debug - - ViewMenu - menuContribution:menu - - - - - - - - View - categoryTag:Version Control (Team) - - ViewMenu - menuContribution:menu - - - - - - - - View - categoryTag:Oomph - NoRestore - - ViewMenu - menuContribution:menu - - - - - - toolbarSeparator - - - - Draggable - - - - toolbarSeparator - - - - Draggable - - - - - toolbarSeparator - - - - Draggable - - - Draggable - - - Draggable - - - Draggable - - - toolbarSeparator - - - - Draggable - - - - Draggable - - - toolbarSeparator - - - - toolbarSeparator - - - - Draggable - - - stretch - SHOW_RESTORE_MENU - - - Draggable - HIDEABLE - SHOW_RESTORE_MENU - - - - - stretch - - - Draggable - - - Draggable - - - - - TrimStack - Draggable - - - TrimStack - Draggable - - - - - TrimStack - Draggable - - - TrimStack - Draggable - - - TrimStack - Draggable - - - - - - - - - - - - - - - - - platform:gtk - - - - - - platform:gtk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - platform:gtk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Editor - removeOnHide - - - - - View - categoryTag:Ant - - - - - View - categoryTag:Gradle - - - - - View - categoryTag:Gradle - - - - - View - categoryTag:Debug - - - - - View - categoryTag:Debug - - - - - View - categoryTag:Debug - - - - - View - categoryTag:Debug - - - - - View - categoryTag:Debug - - - - - View - categoryTag:Debug - - - - - View - categoryTag:Debug - - - View - categoryTag:Debug - - - - - View - categoryTag:Java - - - - - View - categoryTag:Git - - - - - View - categoryTag:Git - - - - - View - categoryTag:Git - - - - - View - categoryTag:Git - NoRestore - - - - - View - categoryTag:Git - - - - - View - categoryTag:Help - - - - - View - categoryTag:Java - - - - - View - categoryTag:Java - - - - - View - categoryTag:Debug - - - - - View - categoryTag:Java - - - - - View - categoryTag:Java - - - - - View - categoryTag:Java - - - - - View - categoryTag:Java Browsing - - - - - View - categoryTag:Java Browsing - - - - - View - categoryTag:Java Browsing - - - - - View - categoryTag:Java Browsing - - - - - View - categoryTag:Java - - - - - View - categoryTag:General - - - - - View - categoryTag:Java - - - - - View - categoryTag:Java - - - - - View - categoryTag:Language Servers - - - - - View - categoryTag:Language Servers - - - - - View - categoryTag:Language Servers - - - - - View - categoryTag:Maven - - - - - View - categoryTag:Maven - - - - - View - categoryTag:Maven - - - - - View - categoryTag:Mylyn - - - - - View - categoryTag:Mylyn - - - - - View - categoryTag:Mylyn - - - - - View - categoryTag:Mylyn - - - - - View - categoryTag:Mylyn - - - - - View - categoryTag:Mylyn - - - - - View - categoryTag:Oomph - - - - - View - categoryTag:Oomph - NoRestore - - - - - View - categoryTag:Plug-in Development - - - - - View - categoryTag:General - - - - - View - categoryTag:Version Control (Team) - - - - - View - categoryTag:Version Control (Team) - - - - - View - categoryTag:Terminal - - - View - categoryTag:Help - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:Help - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:General - - - - - View - categoryTag:Docker - - - - - View - categoryTag:Docker - - - - - View - categoryTag:Docker - - - - - View - categoryTag:Docker - - - - - View - categoryTag:Other - - - - - View - categoryTag:Other - - - - - View - categoryTag:Other - - - - glue - move_after:PerspectiveSpacer - SHOW_RESTORE_MENU - - - move_after:Spacer Glue - HIDEABLE - SHOW_RESTORE_MENU - - - glue - move_after:SearchField - SHOW_RESTORE_MENU - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.epp.mpc.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.epp.mpc.ui/dialog_settings.xml deleted file mode 100644 index 1bb6b02..0000000 --- a/.metadata/.plugins/org.eclipse.epp.mpc.ui/dialog_settings.xml +++ /dev/null @@ -1,10 +0,0 @@ - -
-
- - - - - -
-
diff --git a/.metadata/.plugins/org.eclipse.equinox.p2.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.equinox.p2.ui/dialog_settings.xml deleted file mode 100644 index 5ca0b77..0000000 --- a/.metadata/.plugins/org.eclipse.equinox.p2.ui/dialog_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - -
-
diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1074122571.index b/.metadata/.plugins/org.eclipse.jdt.core/1074122571.index deleted file mode 100644 index 7366255..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1074122571.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1118739196.index b/.metadata/.plugins/org.eclipse.jdt.core/1118739196.index deleted file mode 100644 index ebc92ce..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1118739196.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1205982295.index b/.metadata/.plugins/org.eclipse.jdt.core/1205982295.index deleted file mode 100644 index 3d297c2..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1205982295.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1241285641.index b/.metadata/.plugins/org.eclipse.jdt.core/1241285641.index deleted file mode 100644 index 022928d..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1241285641.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1256436118.index b/.metadata/.plugins/org.eclipse.jdt.core/1256436118.index deleted file mode 100644 index f2341dc..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1256436118.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1295630681.index b/.metadata/.plugins/org.eclipse.jdt.core/1295630681.index deleted file mode 100644 index e349009..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1295630681.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1324521365.index b/.metadata/.plugins/org.eclipse.jdt.core/1324521365.index deleted file mode 100644 index a9906fc..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1324521365.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1436262503.index b/.metadata/.plugins/org.eclipse.jdt.core/1436262503.index deleted file mode 100644 index ff6ca2b..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1436262503.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1446719945.index b/.metadata/.plugins/org.eclipse.jdt.core/1446719945.index deleted file mode 100644 index b68e968..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1446719945.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1453089870.index b/.metadata/.plugins/org.eclipse.jdt.core/1453089870.index deleted file mode 100644 index 4d0add1..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1453089870.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1455171009.index b/.metadata/.plugins/org.eclipse.jdt.core/1455171009.index deleted file mode 100644 index fb0d941..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1455171009.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1502879287.index b/.metadata/.plugins/org.eclipse.jdt.core/1502879287.index deleted file mode 100644 index 8cc3689..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1502879287.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1502997292.index b/.metadata/.plugins/org.eclipse.jdt.core/1502997292.index deleted file mode 100644 index 2527871..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1502997292.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1546736044.index b/.metadata/.plugins/org.eclipse.jdt.core/1546736044.index deleted file mode 100644 index 656c432..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1546736044.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1633924572.index b/.metadata/.plugins/org.eclipse.jdt.core/1633924572.index deleted file mode 100644 index 9de24b6..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1633924572.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1653061733.index b/.metadata/.plugins/org.eclipse.jdt.core/1653061733.index deleted file mode 100644 index 40044aa..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1653061733.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1660713777.index b/.metadata/.plugins/org.eclipse.jdt.core/1660713777.index deleted file mode 100644 index f494902..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1660713777.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/167025465.index b/.metadata/.plugins/org.eclipse.jdt.core/167025465.index deleted file mode 100644 index 148e8e2..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/167025465.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1732769785.index b/.metadata/.plugins/org.eclipse.jdt.core/1732769785.index deleted file mode 100644 index f424407..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1732769785.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1781188320.index b/.metadata/.plugins/org.eclipse.jdt.core/1781188320.index deleted file mode 100644 index 333c842..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1781188320.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1865797976.index b/.metadata/.plugins/org.eclipse.jdt.core/1865797976.index deleted file mode 100644 index c56ea72..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1865797976.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1872440599.index b/.metadata/.plugins/org.eclipse.jdt.core/1872440599.index deleted file mode 100644 index cc2eed0..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1872440599.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1914043487.index b/.metadata/.plugins/org.eclipse.jdt.core/1914043487.index deleted file mode 100644 index ce5dbff..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1914043487.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1965154635.index b/.metadata/.plugins/org.eclipse.jdt.core/1965154635.index deleted file mode 100644 index 9a05b1d..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1965154635.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/198314732.index b/.metadata/.plugins/org.eclipse.jdt.core/198314732.index deleted file mode 100644 index 62ac8e3..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/198314732.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1990965588.index b/.metadata/.plugins/org.eclipse.jdt.core/1990965588.index deleted file mode 100644 index 68815e7..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1990965588.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2004806901.index b/.metadata/.plugins/org.eclipse.jdt.core/2004806901.index deleted file mode 100644 index fe0f085..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2004806901.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2047888269.index b/.metadata/.plugins/org.eclipse.jdt.core/2047888269.index deleted file mode 100644 index 55bdc54..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2047888269.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2070370209.index b/.metadata/.plugins/org.eclipse.jdt.core/2070370209.index deleted file mode 100644 index 123b83c..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2070370209.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2181028596.index b/.metadata/.plugins/org.eclipse.jdt.core/2181028596.index deleted file mode 100644 index 1ac7b88..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2181028596.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2191830568.index b/.metadata/.plugins/org.eclipse.jdt.core/2191830568.index deleted file mode 100644 index 412ff19..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2191830568.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2236377038.index b/.metadata/.plugins/org.eclipse.jdt.core/2236377038.index deleted file mode 100644 index 7f78d82..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2236377038.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2237645717.index b/.metadata/.plugins/org.eclipse.jdt.core/2237645717.index deleted file mode 100644 index 697b8b3..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2237645717.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2240786275.index b/.metadata/.plugins/org.eclipse.jdt.core/2240786275.index deleted file mode 100644 index 6a0d1aa..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2240786275.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/225562445.index b/.metadata/.plugins/org.eclipse.jdt.core/225562445.index deleted file mode 100644 index 87b29b6..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/225562445.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2318770678.index b/.metadata/.plugins/org.eclipse.jdt.core/2318770678.index deleted file mode 100644 index 1d75ca2..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2318770678.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2332037983.index b/.metadata/.plugins/org.eclipse.jdt.core/2332037983.index deleted file mode 100644 index 3f7b57e..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2332037983.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2389383899.index b/.metadata/.plugins/org.eclipse.jdt.core/2389383899.index deleted file mode 100644 index 1f6cd32..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2389383899.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2390245932.index b/.metadata/.plugins/org.eclipse.jdt.core/2390245932.index deleted file mode 100644 index 685c59d..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2390245932.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2398089967.index b/.metadata/.plugins/org.eclipse.jdt.core/2398089967.index deleted file mode 100644 index 84059f6..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2398089967.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2403041570.index b/.metadata/.plugins/org.eclipse.jdt.core/2403041570.index deleted file mode 100644 index c42f886..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2403041570.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2455882736.index b/.metadata/.plugins/org.eclipse.jdt.core/2455882736.index deleted file mode 100644 index d8ba316..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2455882736.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2455962971.index b/.metadata/.plugins/org.eclipse.jdt.core/2455962971.index deleted file mode 100644 index 5c5ee03..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2455962971.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2488355463.index b/.metadata/.plugins/org.eclipse.jdt.core/2488355463.index deleted file mode 100644 index b5ab7ce..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2488355463.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2503368578.index b/.metadata/.plugins/org.eclipse.jdt.core/2503368578.index deleted file mode 100644 index 6160f48..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2503368578.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2519831052.index b/.metadata/.plugins/org.eclipse.jdt.core/2519831052.index deleted file mode 100644 index 00bb0b0..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2519831052.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2586591901.index b/.metadata/.plugins/org.eclipse.jdt.core/2586591901.index deleted file mode 100644 index 9f2a6e1..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2586591901.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2593736024.index b/.metadata/.plugins/org.eclipse.jdt.core/2593736024.index deleted file mode 100644 index d49e795..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2593736024.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2609698604.index b/.metadata/.plugins/org.eclipse.jdt.core/2609698604.index deleted file mode 100644 index 46ead7a..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2609698604.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2609856074.index b/.metadata/.plugins/org.eclipse.jdt.core/2609856074.index deleted file mode 100644 index 087096c..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2609856074.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2626965509.index b/.metadata/.plugins/org.eclipse.jdt.core/2626965509.index deleted file mode 100644 index 35632b0..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2626965509.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/26273648.index b/.metadata/.plugins/org.eclipse.jdt.core/26273648.index deleted file mode 100644 index f98726d..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/26273648.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2633787677.index b/.metadata/.plugins/org.eclipse.jdt.core/2633787677.index deleted file mode 100644 index 53b84dc..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2633787677.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2655170954.index b/.metadata/.plugins/org.eclipse.jdt.core/2655170954.index deleted file mode 100644 index 73d818f..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2655170954.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2668411497.index b/.metadata/.plugins/org.eclipse.jdt.core/2668411497.index deleted file mode 100644 index 010bb34..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2668411497.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2725629017.index b/.metadata/.plugins/org.eclipse.jdt.core/2725629017.index deleted file mode 100644 index 0559ae6..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2725629017.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2769879155.index b/.metadata/.plugins/org.eclipse.jdt.core/2769879155.index deleted file mode 100644 index 96f8b44..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2769879155.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2817101718.index b/.metadata/.plugins/org.eclipse.jdt.core/2817101718.index deleted file mode 100644 index 35d263a..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2817101718.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2838468603.index b/.metadata/.plugins/org.eclipse.jdt.core/2838468603.index deleted file mode 100644 index a40bfda..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2838468603.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2874180664.index b/.metadata/.plugins/org.eclipse.jdt.core/2874180664.index deleted file mode 100644 index 3536f74..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2874180664.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2890245412.index b/.metadata/.plugins/org.eclipse.jdt.core/2890245412.index deleted file mode 100644 index 149bcab..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2890245412.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2891161224.index b/.metadata/.plugins/org.eclipse.jdt.core/2891161224.index deleted file mode 100644 index 3838d82..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2891161224.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/289134298.index b/.metadata/.plugins/org.eclipse.jdt.core/289134298.index deleted file mode 100644 index d8e3ecc..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/289134298.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2927822381.index b/.metadata/.plugins/org.eclipse.jdt.core/2927822381.index deleted file mode 100644 index 9045837..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2927822381.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2978566974.index b/.metadata/.plugins/org.eclipse.jdt.core/2978566974.index deleted file mode 100644 index b44c86d..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2978566974.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2982788279.index b/.metadata/.plugins/org.eclipse.jdt.core/2982788279.index deleted file mode 100644 index 425519f..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2982788279.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3108263030.index b/.metadata/.plugins/org.eclipse.jdt.core/3108263030.index deleted file mode 100644 index eb72f6a..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3108263030.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3135354350.index b/.metadata/.plugins/org.eclipse.jdt.core/3135354350.index deleted file mode 100644 index 1930cef..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3135354350.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3154281632.index b/.metadata/.plugins/org.eclipse.jdt.core/3154281632.index deleted file mode 100644 index 19c7955..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3154281632.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3326580390.index b/.metadata/.plugins/org.eclipse.jdt.core/3326580390.index deleted file mode 100644 index a493a52..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3326580390.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3372764815.index b/.metadata/.plugins/org.eclipse.jdt.core/3372764815.index deleted file mode 100644 index 34b3eed..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3372764815.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3416862923.index b/.metadata/.plugins/org.eclipse.jdt.core/3416862923.index deleted file mode 100644 index 057092e..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3416862923.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3514612140.index b/.metadata/.plugins/org.eclipse.jdt.core/3514612140.index deleted file mode 100644 index 07eae56..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3514612140.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3515611559.index b/.metadata/.plugins/org.eclipse.jdt.core/3515611559.index deleted file mode 100644 index 6ee873b..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3515611559.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3547251881.index b/.metadata/.plugins/org.eclipse.jdt.core/3547251881.index deleted file mode 100644 index 76b3265..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3547251881.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3552156823.index b/.metadata/.plugins/org.eclipse.jdt.core/3552156823.index deleted file mode 100644 index 735d89b..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3552156823.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3602551868.index b/.metadata/.plugins/org.eclipse.jdt.core/3602551868.index deleted file mode 100644 index b4da3ac..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3602551868.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/363836152.index b/.metadata/.plugins/org.eclipse.jdt.core/363836152.index deleted file mode 100644 index 37a0d21..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/363836152.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3662169204.index b/.metadata/.plugins/org.eclipse.jdt.core/3662169204.index deleted file mode 100644 index ee385f8..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3662169204.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3718169413.index b/.metadata/.plugins/org.eclipse.jdt.core/3718169413.index deleted file mode 100644 index 26c0a37..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3718169413.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3738696963.index b/.metadata/.plugins/org.eclipse.jdt.core/3738696963.index deleted file mode 100644 index 6181764..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3738696963.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3758865325.index b/.metadata/.plugins/org.eclipse.jdt.core/3758865325.index deleted file mode 100644 index 1c2596e..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3758865325.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/380800336.index b/.metadata/.plugins/org.eclipse.jdt.core/380800336.index deleted file mode 100644 index 2ac5670..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/380800336.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3842019335.index b/.metadata/.plugins/org.eclipse.jdt.core/3842019335.index deleted file mode 100644 index 062affa..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3842019335.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3882180612.index b/.metadata/.plugins/org.eclipse.jdt.core/3882180612.index deleted file mode 100644 index 8a75d87..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3882180612.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3912907421.index b/.metadata/.plugins/org.eclipse.jdt.core/3912907421.index deleted file mode 100644 index e980743..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3912907421.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3972616808.index b/.metadata/.plugins/org.eclipse.jdt.core/3972616808.index deleted file mode 100644 index 33bdd9d..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3972616808.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4123041097.index b/.metadata/.plugins/org.eclipse.jdt.core/4123041097.index deleted file mode 100644 index 44fa652..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/4123041097.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4134502745.index b/.metadata/.plugins/org.eclipse.jdt.core/4134502745.index deleted file mode 100644 index 12a6c13..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/4134502745.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4150628576.index b/.metadata/.plugins/org.eclipse.jdt.core/4150628576.index deleted file mode 100644 index 55c483a..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/4150628576.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4158338144.index b/.metadata/.plugins/org.eclipse.jdt.core/4158338144.index deleted file mode 100644 index c41de67..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/4158338144.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4195864863.index b/.metadata/.plugins/org.eclipse.jdt.core/4195864863.index deleted file mode 100644 index 9656806..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/4195864863.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/504781245.index b/.metadata/.plugins/org.eclipse.jdt.core/504781245.index deleted file mode 100644 index c627afb..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/504781245.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/519552992.index b/.metadata/.plugins/org.eclipse.jdt.core/519552992.index deleted file mode 100644 index e7a5d9d..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/519552992.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/690321491.index b/.metadata/.plugins/org.eclipse.jdt.core/690321491.index deleted file mode 100644 index 5838cc8..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/690321491.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/721517855.index b/.metadata/.plugins/org.eclipse.jdt.core/721517855.index deleted file mode 100644 index 6f4b152..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/721517855.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/808711116.index b/.metadata/.plugins/org.eclipse.jdt.core/808711116.index deleted file mode 100644 index 5a89363..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/808711116.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/815902026.index b/.metadata/.plugins/org.eclipse.jdt.core/815902026.index deleted file mode 100644 index d4dbac7..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/815902026.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/836499050.index b/.metadata/.plugins/org.eclipse.jdt.core/836499050.index deleted file mode 100644 index acd2131..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/836499050.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/89143789.index b/.metadata/.plugins/org.eclipse.jdt.core/89143789.index deleted file mode 100644 index ae02b50..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/89143789.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/9341915.index b/.metadata/.plugins/org.eclipse.jdt.core/9341915.index deleted file mode 100644 index 259107b..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/9341915.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/958756673.index b/.metadata/.plugins/org.eclipse.jdt.core/958756673.index deleted file mode 100644 index 7217855..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/958756673.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/96642630.index b/.metadata/.plugins/org.eclipse.jdt.core/96642630.index deleted file mode 100644 index 9fb7843..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/96642630.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/970087405.index b/.metadata/.plugins/org.eclipse.jdt.core/970087405.index deleted file mode 100644 index 31cc5e2..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/970087405.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/997772539.index b/.metadata/.plugins/org.eclipse.jdt.core/997772539.index deleted file mode 100644 index 26405c5..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/997772539.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache b/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache deleted file mode 100644 index 593f470..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache b/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache deleted file mode 100644 index 90ff561..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps deleted file mode 100644 index 8274170..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt b/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt deleted file mode 100644 index 8586397..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt +++ /dev/null @@ -1 +0,0 @@ -java \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache deleted file mode 100644 index 7712708..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt deleted file mode 100644 index d5cafff..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt +++ /dev/null @@ -1,105 +0,0 @@ -INDEX VERSION 1.134+/home/mario/Workspaces/xxx-thegame/.metadata/.plugins/org.eclipse.jdt.core -2318770678.index -1872440599.index -2240786275.index -4150628576.index -2655170954.index -4195864863.index -2982788279.index -2626965509.index -2609856074.index -2769879155.index -4134502745.index -2817101718.index -4158338144.index -519552992.index -2503368578.index -2181028596.index -1453089870.index -2593736024.index -815902026.index -3718169413.index -721517855.index -96642630.index -2488355463.index -1446719945.index -1118739196.index -2891161224.index -2047888269.index -2390245932.index -1205982295.index -1914043487.index -3154281632.index -3972616808.index -808711116.index -2191830568.index -1653061733.index -2586591901.index -2609698604.index -3882180612.index -3758865325.index -2332037983.index -2070370209.index -1732769785.index -2838468603.index -1436262503.index -2668411497.index -2927822381.index -2398089967.index -225562445.index -3662169204.index -1295630681.index -3135354350.index -3602551868.index -504781245.index -363836152.index -2633787677.index -2725629017.index -1455171009.index -3552156823.index -4123041097.index -1865797976.index -3372764815.index -2455962971.index -289134298.index -2389383899.index -26273648.index -3515611559.index -1241285641.index -2978566974.index -958756673.index -3108263030.index -2236377038.index -3547251881.index -2519831052.index -2874180664.index -1781188320.index -970087405.index -1074122571.index -380800336.index -167025465.index -1502997292.index -2237645717.index -3842019335.index -1965154635.index -2403041570.index -2455882736.index -3326580390.index -2004806901.index -836499050.index -3416862923.index -1502879287.index -3912907421.index -89143789.index -1546736044.index -2890245412.index -1990965588.index -3738696963.index -1660713777.index -3514612140.index -997772539.index -198314732.index -1324521365.index -1633924572.index -690321491.index -1256436118.index diff --git a/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat deleted file mode 100644 index 495f48e..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml b/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml deleted file mode 100644 index 13d71ef..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml b/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml deleted file mode 100644 index efc38c4..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml b/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml deleted file mode 100644 index e7f3c22..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml deleted file mode 100644 index 665eb58..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml deleted file mode 100644 index bbb970b..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml +++ /dev/null @@ -1,33 +0,0 @@ - -
- -
- - - - - -
-
-
-
-
-
-
-
- - - -
- - - - - -
-
-
- - -
-
diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2026/3/9/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2026/3/9/refactorings.history deleted file mode 100644 index 5fbbfc6..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2026/3/9/refactorings.history +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2026/3/9/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2026/3/9/refactorings.index deleted file mode 100644 index d6ee30c..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2026/3/9/refactorings.index +++ /dev/null @@ -1 +0,0 @@ -1772390182080 Delete resource 'lib' diff --git a/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser b/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser deleted file mode 100644 index abbf8e5..0000000 Binary files a/.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.m2e.logback/0.log b/.metadata/.plugins/org.eclipse.m2e.logback/0.log deleted file mode 100644 index b3a77f1..0000000 --- a/.metadata/.plugins/org.eclipse.m2e.logback/0.log +++ /dev/null @@ -1,6 +0,0 @@ -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-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-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. diff --git a/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.101.20251017-1242.xml b/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.101.20251017-1242.xml deleted file mode 100644 index 9effde7..0000000 --- a/.metadata/.plugins/org.eclipse.m2e.logback/logback.2.7.101.20251017-1242.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - %date [%thread] %-5level %logger{35} - %msg%n - - - ${org.eclipse.m2e.log.console.threshold:-OFF} - - - - - ${org.eclipse.m2e.log.dir}/0.log - - ${org.eclipse.m2e.log.dir}/%i.log - 1 - 10 - - - 10MB - - - %date [%thread] %-5level %logger{35} - %msg%n - - - - - - WARN - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.mylyn.github.ui/avatars.ser b/.metadata/.plugins/org.eclipse.mylyn.github.ui/avatars.ser deleted file mode 100644 index 1e9a069..0000000 Binary files a/.metadata/.plugins/org.eclipse.mylyn.github.ui/avatars.ser and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup b/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup deleted file mode 100644 index 1f73e14..0000000 --- a/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup +++ /dev/null @@ -1,6 +0,0 @@ - - diff --git a/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml b/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml deleted file mode 100644 index 5ca0b77..0000000 --- a/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - -
-
diff --git a/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml deleted file mode 100644 index 50f1edb..0000000 --- a/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml +++ /dev/null @@ -1,5 +0,0 @@ - -
-
-
-
diff --git a/.metadata/.plugins/org.eclipse.ui.intro/introstate b/.metadata/.plugins/org.eclipse.ui.intro/introstate deleted file mode 100644 index 02f134f..0000000 --- a/.metadata/.plugins/org.eclipse.ui.intro/introstate +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml deleted file mode 100644 index 9c9b913..0000000 --- a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +++ /dev/null @@ -1,18 +0,0 @@ - -
-
- - - - -
-
-
-
- - - - - -
-
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml deleted file mode 100644 index 1bdfd83..0000000 --- a/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.metadata/version.ini b/.metadata/version.ini deleted file mode 100644 index 78fac1f..0000000 --- a/.metadata/version.ini +++ /dev/null @@ -1,3 +0,0 @@ -#Tue Mar 03 07:39:34 CET 2026 -org.eclipse.core.runtime=2 -org.eclipse.platform=4.38.0.v20251201-0920 diff --git a/xxxthegame/src/main/java/de/oaa/xxx/config/SecurityConfig.java b/xxxthegame/src/main/java/de/oaa/xxx/config/SecurityConfig.java index f25baf8..4b03101 100644 --- a/xxxthegame/src/main/java/de/oaa/xxx/config/SecurityConfig.java +++ b/xxxthegame/src/main/java/de/oaa/xxx/config/SecurityConfig.java @@ -50,6 +50,11 @@ public class SecurityConfig { .requestMatchers(AntPathRequestMatcher.antMatcher("/freunde.html")).authenticated() .requestMatchers(AntPathRequestMatcher.antMatcher("/nachrichten.html")).authenticated() .requestMatchers(AntPathRequestMatcher.antMatcher("/benutzer.html")).authenticated() + .requestMatchers(AntPathRequestMatcher.antMatcher("/gruppen.html")).authenticated() + .requestMatchers(AntPathRequestMatcher.antMatcher("/gruppe.html")).authenticated() + .requestMatchers(AntPathRequestMatcher.antMatcher("/feed.html")).authenticated() + .requestMatchers(AntPathRequestMatcher.antMatcher("/gruppen/**")).authenticated() + .requestMatchers(AntPathRequestMatcher.antMatcher("/feed/**")).authenticated() .requestMatchers(AntPathRequestMatcher.antMatcher("/*.html")).permitAll() .requestMatchers(AntPathRequestMatcher.antMatcher("/css/**")).permitAll() .requestMatchers(AntPathRequestMatcher.antMatcher("/js/**")).permitAll() diff --git a/xxxthegame/src/main/java/de/oaa/xxx/config/StringListConverter.java b/xxxthegame/src/main/java/de/oaa/xxx/config/StringListConverter.java new file mode 100644 index 0000000..dfb2566 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/config/StringListConverter.java @@ -0,0 +1,38 @@ +package de.oaa.xxx.config; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.persistence.AttributeConverter; +import jakarta.persistence.Converter; + +import java.util.List; + +@Converter +public class StringListConverter implements AttributeConverter, String> { + + private static final ObjectMapper mapper = new ObjectMapper(); + + @Override + public String convertToDatabaseColumn(List list) { + if (list == null || list.isEmpty()) return null; + try { + return mapper.writeValueAsString(list); + } catch (Exception e) { + return null; + } + } + + @Override + public List convertToEntityAttribute(String json) { + if (json == null || json.isBlank()) return List.of(); + try { + if (!json.startsWith("[")) { + // Legacy: single base64 string + return List.of(json); + } + return mapper.readValue(json, new TypeReference<>() {}); + } catch (Exception e) { + return List.of(); + } + } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/config/ThemeController.java b/xxxthegame/src/main/java/de/oaa/xxx/config/ThemeController.java index 03f3275..134f359 100644 --- a/xxxthegame/src/main/java/de/oaa/xxx/config/ThemeController.java +++ b/xxxthegame/src/main/java/de/oaa/xxx/config/ThemeController.java @@ -32,6 +32,10 @@ public class ThemeController { @Value("${app.theme.color-success:#2ecc71}") private String colorSuccess; + /** Mobile breakpoint in px (unitless integer). Used by sidebar.js and lightbox layout. */ + @Value("${app.theme.breakpoint-mobile:768}") + private int breakpointMobile; + @GetMapping(value = "/css/variables.css", produces = "text/css") public String variables() { return """ @@ -43,7 +47,8 @@ public class ThemeController { --color-text: %s; --color-muted: %s; --color-success: %s; + --breakpoint-mobile: %d; } - """.formatted(colorBg, colorCard, colorPrimary, colorSecondary, colorText, colorMuted, colorSuccess); + """.formatted(colorBg, colorCard, colorPrimary, colorSecondary, colorText, colorMuted, colorSuccess, breakpointMobile); } } diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/FeedController.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/FeedController.java new file mode 100644 index 0000000..31a1fa4 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/FeedController.java @@ -0,0 +1,405 @@ +package de.oaa.xxx.feed; + +import java.security.Principal; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.UUID; +import java.util.stream.Stream; + +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Slice; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import de.oaa.xxx.feed.dto.FeedItemDto; +import de.oaa.xxx.feed.dto.FeedPostRequest; +import de.oaa.xxx.feed.entity.FeedPostEntity; +import de.oaa.xxx.feed.entity.FeedPostLikeEntity; +import de.oaa.xxx.feed.entity.FeedPostOptionEntity; +import de.oaa.xxx.feed.entity.FeedPostVoteEntity; +import de.oaa.xxx.feed.repository.FeedPostLikeRepository; +import de.oaa.xxx.feed.repository.FeedPostOptionRepository; +import de.oaa.xxx.feed.repository.FeedPostRepository; +import de.oaa.xxx.feed.repository.FeedPostVoteRepository; +import de.oaa.xxx.gruppe.BeitragTyp; +import de.oaa.xxx.gruppe.dto.UmfrageOptionDto; +import de.oaa.xxx.gruppe.entity.GruppenbeitragEntity; +import de.oaa.xxx.gruppe.entity.UmfrageStimmeEntity; +import de.oaa.xxx.gruppe.repository.GruppeRepository; +import de.oaa.xxx.gruppe.repository.GruppenbeitragLikeRepository; +import de.oaa.xxx.gruppe.repository.GruppenbeitragRepository; +import de.oaa.xxx.gruppe.repository.GruppenmitgliedRepository; +import de.oaa.xxx.gruppe.repository.UmfrageOptionRepository; +import de.oaa.xxx.gruppe.repository.UmfrageStimmeRepository; +import de.oaa.xxx.social.entity.FriendshipEntity; +import de.oaa.xxx.social.repository.FriendshipRepository; +import de.oaa.xxx.social.repository.KommentarRepository; +import de.oaa.xxx.user.UserEntity; +import de.oaa.xxx.user.UserRepository; + +@RestController +@RequestMapping("/feed") +public class FeedController { + + private final FeedPostRepository feedPostRepository; + private final FeedPostLikeRepository feedPostLikeRepository; + private final FeedPostOptionRepository feedPostOptionRepository; + private final FeedPostVoteRepository feedPostVoteRepository; + private final FriendshipRepository friendshipRepository; + private final GruppenmitgliedRepository mitgliedRepository; + private final GruppenbeitragRepository gruppenbeitragRepository; + private final UmfrageOptionRepository umfrageOptionRepository; + private final UmfrageStimmeRepository umfrageStimmeRepository; + private final GruppenbeitragLikeRepository gruppenbeitragLikeRepository; + private final GruppeRepository gruppeRepository; + private final KommentarRepository kommentarRepository; + private final UserRepository userRepository; + + public FeedController(FeedPostRepository feedPostRepository, + FeedPostLikeRepository feedPostLikeRepository, + FeedPostOptionRepository feedPostOptionRepository, + FeedPostVoteRepository feedPostVoteRepository, + FriendshipRepository friendshipRepository, + GruppenmitgliedRepository mitgliedRepository, + GruppenbeitragRepository gruppenbeitragRepository, + UmfrageOptionRepository umfrageOptionRepository, + UmfrageStimmeRepository umfrageStimmeRepository, + GruppenbeitragLikeRepository gruppenbeitragLikeRepository, + GruppeRepository gruppeRepository, + KommentarRepository kommentarRepository, + UserRepository userRepository) { + this.feedPostRepository = feedPostRepository; + this.feedPostLikeRepository = feedPostLikeRepository; + this.feedPostOptionRepository = feedPostOptionRepository; + this.feedPostVoteRepository = feedPostVoteRepository; + this.friendshipRepository = friendshipRepository; + this.mitgliedRepository = mitgliedRepository; + this.gruppenbeitragRepository = gruppenbeitragRepository; + this.umfrageOptionRepository = umfrageOptionRepository; + this.umfrageStimmeRepository = umfrageStimmeRepository; + this.gruppenbeitragLikeRepository = gruppenbeitragLikeRepository; + this.gruppeRepository = gruppeRepository; + this.kommentarRepository = kommentarRepository; + this.userRepository = userRepository; + } + + record FeedPage(List posts, boolean hasMore) {} + record VoteRequest(UUID optionId) {} + + // ── POST /feed/posts ── + + @PostMapping("/posts") + public ResponseEntity createPost(@RequestBody FeedPostRequest req, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (req.text() == null || req.text().isBlank()) return ResponseEntity.badRequest().build(); + + BeitragTyp typ; + try { + typ = BeitragTyp.valueOf(req.beitragTyp()); + } catch (Exception e) { + return ResponseEntity.badRequest().build(); + } + + FeedPostEntity post = new FeedPostEntity(); + post.setPostId(UUID.randomUUID()); + post.setAuthorId(myId); + post.setText(req.text().trim()); + post.setBeitragTyp(typ); + post.setMultiChoice(typ == BeitragTyp.UMFRAGE ? req.multiChoice() : null); + post.setBilder(req.bilder() != null ? req.bilder() : List.of()); + post.setPublic(req.isPublic()); + post.setCreatedAt(LocalDateTime.now()); + feedPostRepository.save(post); + + if (typ == BeitragTyp.UMFRAGE && req.optionen() != null) { + for (int i = 0; i < req.optionen().size(); i++) { + String optText = req.optionen().get(i); + if (optText == null || optText.isBlank()) continue; + FeedPostOptionEntity opt = new FeedPostOptionEntity(); + opt.setOptionId(UUID.randomUUID()); + opt.setPostId(post.getPostId()); + opt.setText(optText.trim()); + opt.setReihenfolge(i); + feedPostOptionRepository.save(opt); + } + } + + return ResponseEntity.status(201).body(toFeedItemDtoFromPost(post, myId)); + } + + // ── GET /feed/mine ── + + @GetMapping("/mine") + public ResponseEntity getMyFeed(@RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + // Collect friend IDs + List friendIds = friendshipRepository + .findFriends(myId, FriendshipEntity.Status.ACCEPTED) + .stream() + .map(f -> f.getSenderId().equals(myId) ? f.getReceiverId() : f.getSenderId()) + .toList(); + + List authorIds = new ArrayList<>(friendIds); + authorIds.add(myId); + + // Collect group IDs + List gruppeIds = mitgliedRepository.findByUserId(myId) + .stream() + .map(m -> m.getGruppeId()) + .toList(); + + LocalDateTime since = LocalDateTime.now().minusDays(90); + + // Fetch feed posts from friends + self + List feedPosts = feedPostRepository + .findByAuthorIdInAndCreatedAtAfterOrderByCreatedAtDesc(authorIds, since); + + // Fetch gruppe posts + List gruppePosts = gruppeIds.isEmpty() ? List.of() : + gruppenbeitragRepository.findByGruppeIdInAndCreatedAtAfterOrderByCreatedAtDesc(gruppeIds, since); + + // Merge, convert, sort + List merged = Stream.concat( + feedPosts.stream().map(p -> toFeedItemDtoFromPost(p, myId)), + gruppePosts.stream().map(b -> toFeedItemDtoFromGruppe(b, myId)) + ).sorted(Comparator.comparing(FeedItemDto::createdAt).reversed()).toList(); + + int from = page * size; + int to = Math.min(from + size, merged.size()); + List items = from < merged.size() ? merged.subList(from, to) : List.of(); + boolean hasMore = to < merged.size(); + + return ResponseEntity.ok(new FeedPage(items, hasMore)); + } + + // ── GET /feed/public ── + + @GetMapping("/public") + public ResponseEntity getPublicFeed(@RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + Slice slice = feedPostRepository + .findByIsPublicTrueOrderByCreatedAtDesc(PageRequest.of(page, size)); + + List items = slice.getContent().stream() + .map(p -> toFeedItemDtoFromPost(p, myId)) + .toList(); + + return ResponseEntity.ok(new FeedPage(items, slice.hasNext())); + } + + // ── GET /feed/user/{userId} ── + + @GetMapping("/user/{userId}") + public ResponseEntity getUserPosts(@PathVariable UUID userId, + @RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + PageRequest pageable = PageRequest.of(page, size); + List posts; + if (myId.equals(userId)) { + posts = feedPostRepository.findByAuthorIdOrderByCreatedAtDesc(userId, pageable); + } else { + posts = feedPostRepository.findByAuthorIdAndIsPublicTrueOrderByCreatedAtDesc(userId, pageable); + } + + // Check if there's a next page + PageRequest nextPageable = PageRequest.of(page + 1, size); + List nextPage; + if (myId.equals(userId)) { + nextPage = feedPostRepository.findByAuthorIdOrderByCreatedAtDesc(userId, nextPageable); + } else { + nextPage = feedPostRepository.findByAuthorIdAndIsPublicTrueOrderByCreatedAtDesc(userId, nextPageable); + } + + List items = posts.stream() + .map(p -> toFeedItemDtoFromPost(p, myId)) + .toList(); + + return ResponseEntity.ok(new FeedPage(items, !nextPage.isEmpty())); + } + + // ── POST /feed/posts/{id}/like ── + + @PostMapping("/posts/{id}/like") + public ResponseEntity toggleLike(@PathVariable UUID id, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (feedPostRepository.findById(id).isEmpty()) return ResponseEntity.notFound().build(); + + var existing = feedPostLikeRepository.findByPostIdAndUserId(id, myId); + if (existing.isPresent()) { + feedPostLikeRepository.delete(existing.get()); + } else { + FeedPostLikeEntity like = new FeedPostLikeEntity(); + like.setLikeId(UUID.randomUUID()); + like.setPostId(id); + like.setUserId(myId); + like.setLikedAt(LocalDateTime.now()); + feedPostLikeRepository.save(like); + } + return ResponseEntity.ok().build(); + } + + // ── POST /feed/posts/{id}/vote ── + + @PostMapping("/posts/{id}/vote") + public ResponseEntity vote(@PathVariable UUID id, + @RequestBody VoteRequest req, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + var postOpt = feedPostRepository.findById(id); + if (postOpt.isEmpty()) return ResponseEntity.notFound().build(); + FeedPostEntity post = postOpt.get(); + + var optOpt = feedPostOptionRepository.findById(req.optionId()); + if (optOpt.isEmpty() || !optOpt.get().getPostId().equals(id)) + return ResponseEntity.badRequest().build(); + + boolean isMultiChoice = Boolean.TRUE.equals(post.getMultiChoice()); + + var existingVote = feedPostVoteRepository.findByOptionIdAndUserId(req.optionId(), myId); + if (existingVote.isPresent()) { + feedPostVoteRepository.delete(existingVote.get()); + return ResponseEntity.ok().build(); + } + + if (!isMultiChoice) { + List existing = feedPostVoteRepository.findByPostIdAndUserId(id, myId); + feedPostVoteRepository.deleteAll(existing); + } + + FeedPostVoteEntity vote = new FeedPostVoteEntity(); + vote.setStimmeId(UUID.randomUUID()); + vote.setOptionId(req.optionId()); + vote.setPostId(id); + vote.setUserId(myId); + feedPostVoteRepository.save(vote); + return ResponseEntity.ok().build(); + } + + // ── DELETE /feed/posts/{id} ── + + @DeleteMapping("/posts/{id}") + public ResponseEntity deletePost(@PathVariable UUID id, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + var postOpt = feedPostRepository.findById(id); + if (postOpt.isEmpty()) return ResponseEntity.notFound().build(); + FeedPostEntity post = postOpt.get(); + + if (!post.getAuthorId().equals(myId)) return ResponseEntity.status(403).build(); + + feedPostVoteRepository.deleteByPostId(id); + feedPostOptionRepository.deleteByPostId(id); + feedPostLikeRepository.deleteByPostId(id); + var kommentare = kommentarRepository.findByTargetTypeAndTargetIdOrderByCreatedAtAsc("FEED_POST", id); + kommentarRepository.deleteAll(kommentare); + feedPostRepository.delete(post); + + return ResponseEntity.noContent().build(); + } + + // ── Helpers ── + + private UUID resolveMyId(Principal principal) { + if (principal == null) return null; + return userRepository.findByEmail(principal.getName()) + .map(UserEntity::getUserId) + .orElse(null); + } + + private FeedItemDto toFeedItemDtoFromPost(FeedPostEntity p, UUID myId) { + UserEntity author = userRepository.findById(p.getAuthorId()).orElse(null); + long likeCount = feedPostLikeRepository.countByPostId(p.getPostId()); + boolean likedByMe = feedPostLikeRepository.findByPostIdAndUserId(p.getPostId(), myId).isPresent(); + long kommentarCount = kommentarRepository.countByTargetTypeAndTargetId("FEED_POST", p.getPostId()); + + List optionen = List.of(); + List myVoteOptionIds = List.of(); + if (p.getBeitragTyp() == BeitragTyp.UMFRAGE) { + optionen = feedPostOptionRepository.findByPostIdOrderByReihenfolge(p.getPostId()) + .stream() + .map(o -> new UmfrageOptionDto(o.getOptionId(), o.getText(), o.getReihenfolge(), + feedPostVoteRepository.countByOptionId(o.getOptionId()))) + .toList(); + myVoteOptionIds = feedPostVoteRepository.findByPostIdAndUserId(p.getPostId(), myId) + .stream() + .map(FeedPostVoteEntity::getOptionId) + .toList(); + } + + return new FeedItemDto( + p.getPostId(), "FEED", + null, null, + p.getAuthorId(), + author != null ? author.getName() : "Unbekannt", + author != null ? author.getProfilePicture() : null, + p.getBeitragTyp().name(), p.getText(), p.getMultiChoice(), p.getBilder(), + p.getCreatedAt(), + likeCount, likedByMe, kommentarCount, + optionen, myVoteOptionIds, + p.isPublic() + ); + } + + private FeedItemDto toFeedItemDtoFromGruppe(GruppenbeitragEntity b, UUID myId) { + UserEntity author = userRepository.findById(b.getAuthorId()).orElse(null); + long likeCount = gruppenbeitragLikeRepository.countByBeitragId(b.getBeitragId()); + boolean likedByMe = gruppenbeitragLikeRepository.findByBeitragIdAndUserId(b.getBeitragId(), myId).isPresent(); + long kommentarCount = kommentarRepository.countByTargetTypeAndTargetId("GROUP_POST", b.getBeitragId()); + String gruppeName = gruppeRepository.findById(b.getGruppeId()) + .map(g -> g.getName()) + .orElse("Gruppe"); + + List optionen = List.of(); + List myVoteOptionIds = List.of(); + if (b.getBeitragTyp() == BeitragTyp.UMFRAGE) { + optionen = umfrageOptionRepository.findByBeitragIdOrderByReihenfolge(b.getBeitragId()) + .stream() + .map(o -> new UmfrageOptionDto(o.getOptionId(), o.getText(), o.getReihenfolge(), + umfrageStimmeRepository.countByOptionId(o.getOptionId()))) + .toList(); + myVoteOptionIds = umfrageStimmeRepository.findByBeitragIdAndUserId(b.getBeitragId(), myId) + .stream() + .map(UmfrageStimmeEntity::getOptionId) + .toList(); + } + + return new FeedItemDto( + b.getBeitragId(), "GROUP", + b.getGruppeId(), gruppeName, + b.getAuthorId(), + author != null ? author.getName() : "Unbekannt", + author != null ? author.getProfilePicture() : null, + b.getBeitragTyp().name(), b.getText(), b.getMultiChoice(), b.getBilder(), + b.getCreatedAt(), + likeCount, likedByMe, kommentarCount, + optionen, myVoteOptionIds, + false + ); + } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/dto/FeedItemDto.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/dto/FeedItemDto.java new file mode 100644 index 0000000..67e1122 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/dto/FeedItemDto.java @@ -0,0 +1,28 @@ +package de.oaa.xxx.feed.dto; + +import de.oaa.xxx.gruppe.dto.UmfrageOptionDto; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +public record FeedItemDto( + UUID postId, + String postType, // "FEED" | "GROUP" + UUID gruppeId, + String gruppeName, + UUID authorId, + String authorName, + String authorPicture, + String beitragTyp, + String text, + Boolean multiChoice, + List bilder, + LocalDateTime createdAt, + long likeCount, + boolean likedByMe, + long kommentarCount, + List optionen, + List myVoteOptionIds, + boolean isPublic +) {} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/dto/FeedPostRequest.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/dto/FeedPostRequest.java new file mode 100644 index 0000000..1964aae --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/dto/FeedPostRequest.java @@ -0,0 +1,12 @@ +package de.oaa.xxx.feed.dto; + +import java.util.List; + +public record FeedPostRequest( + String beitragTyp, + String text, + Boolean multiChoice, + List optionen, + List bilder, + boolean isPublic +) {} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostEntity.java new file mode 100644 index 0000000..dfc18a3 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostEntity.java @@ -0,0 +1,64 @@ +package de.oaa.xxx.feed.entity; + +import de.oaa.xxx.config.StringListConverter; +import de.oaa.xxx.gruppe.BeitragTyp; +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +@Entity +@Table(name = "feed_post") +public class FeedPostEntity { + + @Id + @Column + private UUID postId; + + @Column(nullable = false) + private UUID authorId; + + @Column(columnDefinition = "TEXT") + private String text; + + @Convert(converter = StringListConverter.class) + @Column(name = "bild", columnDefinition = "MEDIUMTEXT") + private List bilder; + + @Enumerated(EnumType.STRING) + @Column(nullable = false, length = 10) + private BeitragTyp beitragTyp; + + @Column + private Boolean multiChoice; + + @Column(nullable = false) + private boolean isPublic; + + @Column(nullable = false) + private LocalDateTime createdAt; + + public UUID getPostId() { return postId; } + public void setPostId(UUID postId) { this.postId = postId; } + + public UUID getAuthorId() { return authorId; } + public void setAuthorId(UUID authorId) { this.authorId = authorId; } + + public String getText() { return text; } + public void setText(String text) { this.text = text; } + + public List getBilder() { return bilder; } + public void setBilder(List bilder) { this.bilder = bilder; } + + public BeitragTyp getBeitragTyp() { return beitragTyp; } + public void setBeitragTyp(BeitragTyp beitragTyp) { this.beitragTyp = beitragTyp; } + + public Boolean getMultiChoice() { return multiChoice; } + public void setMultiChoice(Boolean multiChoice) { this.multiChoice = multiChoice; } + + public boolean isPublic() { return isPublic; } + public void setPublic(boolean aPublic) { isPublic = aPublic; } + + public LocalDateTime getCreatedAt() { return createdAt; } + public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostLikeEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostLikeEntity.java new file mode 100644 index 0000000..d9519da --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostLikeEntity.java @@ -0,0 +1,37 @@ +package de.oaa.xxx.feed.entity; + +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "feed_post_like", uniqueConstraints = { + @UniqueConstraint(columnNames = {"postId", "userId"}) +}) +public class FeedPostLikeEntity { + + @Id + @Column + private UUID likeId; + + @Column(nullable = false) + private UUID postId; + + @Column(nullable = false) + private UUID userId; + + @Column(nullable = false) + private LocalDateTime likedAt; + + public UUID getLikeId() { return likeId; } + public void setLikeId(UUID likeId) { this.likeId = likeId; } + + public UUID getPostId() { return postId; } + public void setPostId(UUID postId) { this.postId = postId; } + + public UUID getUserId() { return userId; } + public void setUserId(UUID userId) { this.userId = userId; } + + public LocalDateTime getLikedAt() { return likedAt; } + public void setLikedAt(LocalDateTime likedAt) { this.likedAt = likedAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostOptionEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostOptionEntity.java new file mode 100644 index 0000000..e889891 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostOptionEntity.java @@ -0,0 +1,34 @@ +package de.oaa.xxx.feed.entity; + +import jakarta.persistence.*; +import java.util.UUID; + +@Entity +@Table(name = "feed_post_option") +public class FeedPostOptionEntity { + + @Id + @Column + private UUID optionId; + + @Column(nullable = false) + private UUID postId; + + @Column(nullable = false) + private String text; + + @Column(nullable = false) + private int reihenfolge; + + public UUID getOptionId() { return optionId; } + public void setOptionId(UUID optionId) { this.optionId = optionId; } + + public UUID getPostId() { return postId; } + public void setPostId(UUID postId) { this.postId = postId; } + + public String getText() { return text; } + public void setText(String text) { this.text = text; } + + public int getReihenfolge() { return reihenfolge; } + public void setReihenfolge(int reihenfolge) { this.reihenfolge = reihenfolge; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostVoteEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostVoteEntity.java new file mode 100644 index 0000000..7a3843e --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/entity/FeedPostVoteEntity.java @@ -0,0 +1,34 @@ +package de.oaa.xxx.feed.entity; + +import jakarta.persistence.*; +import java.util.UUID; + +@Entity +@Table(name = "feed_post_vote") +public class FeedPostVoteEntity { + + @Id + @Column + private UUID stimmeId; + + @Column(nullable = false) + private UUID optionId; + + @Column(nullable = false) + private UUID postId; + + @Column(nullable = false) + private UUID userId; + + public UUID getStimmeId() { return stimmeId; } + public void setStimmeId(UUID stimmeId) { this.stimmeId = stimmeId; } + + public UUID getOptionId() { return optionId; } + public void setOptionId(UUID optionId) { this.optionId = optionId; } + + public UUID getPostId() { return postId; } + public void setPostId(UUID postId) { this.postId = postId; } + + public UUID getUserId() { return userId; } + public void setUserId(UUID userId) { this.userId = userId; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostLikeRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostLikeRepository.java new file mode 100644 index 0000000..038ad15 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostLikeRepository.java @@ -0,0 +1,18 @@ +package de.oaa.xxx.feed.repository; + +import de.oaa.xxx.feed.entity.FeedPostLikeEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Optional; +import java.util.UUID; + +public interface FeedPostLikeRepository extends JpaRepository { + + Optional findByPostIdAndUserId(UUID postId, UUID userId); + + long countByPostId(UUID postId); + + @Transactional + void deleteByPostId(UUID postId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostOptionRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostOptionRepository.java new file mode 100644 index 0000000..52282df --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostOptionRepository.java @@ -0,0 +1,16 @@ +package de.oaa.xxx.feed.repository; + +import de.oaa.xxx.feed.entity.FeedPostOptionEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.UUID; + +public interface FeedPostOptionRepository extends JpaRepository { + + List findByPostIdOrderByReihenfolge(UUID postId); + + @Transactional + void deleteByPostId(UUID postId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostRepository.java new file mode 100644 index 0000000..d29618c --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostRepository.java @@ -0,0 +1,25 @@ +package de.oaa.xxx.feed.repository; + +import de.oaa.xxx.feed.entity.FeedPostEntity; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Slice; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +public interface FeedPostRepository extends JpaRepository { + + Slice findByIsPublicTrueOrderByCreatedAtDesc(Pageable pageable); + + List findByAuthorIdInAndCreatedAtAfterOrderByCreatedAtDesc(List authorIds, LocalDateTime since); + + List findByAuthorIdAndIsPublicTrueOrderByCreatedAtDesc(UUID authorId, Pageable pageable); + + List findByAuthorIdOrderByCreatedAtDesc(UUID authorId, Pageable pageable); + + @Transactional + void deleteByAuthorId(UUID authorId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostVoteRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostVoteRepository.java new file mode 100644 index 0000000..34d31f2 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/feed/repository/FeedPostVoteRepository.java @@ -0,0 +1,21 @@ +package de.oaa.xxx.feed.repository; + +import de.oaa.xxx.feed.entity.FeedPostVoteEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface FeedPostVoteRepository extends JpaRepository { + + List findByPostIdAndUserId(UUID postId, UUID userId); + + Optional findByOptionIdAndUserId(UUID optionId, UUID userId); + + long countByOptionId(UUID optionId); + + @Transactional + void deleteByPostId(UUID postId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/AnfrageStatus.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/AnfrageStatus.java new file mode 100644 index 0000000..597e1b7 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/AnfrageStatus.java @@ -0,0 +1,5 @@ +package de.oaa.xxx.gruppe; + +public enum AnfrageStatus { + AUSSTEHEND, GENEHMIGT, ABGELEHNT +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/BeitragTyp.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/BeitragTyp.java new file mode 100644 index 0000000..3fa881c --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/BeitragTyp.java @@ -0,0 +1,5 @@ +package de.oaa.xxx.gruppe; + +public enum BeitragTyp { + TEXT, UMFRAGE +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/GruppeController.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/GruppeController.java new file mode 100644 index 0000000..aeede82 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/GruppeController.java @@ -0,0 +1,482 @@ +package de.oaa.xxx.gruppe; + +import de.oaa.xxx.gruppe.dto.*; +import de.oaa.xxx.gruppe.entity.*; +import de.oaa.xxx.gruppe.repository.*; +import de.oaa.xxx.social.entity.KommentarEntity; +import de.oaa.xxx.social.repository.KommentarRepository; +import de.oaa.xxx.user.UserEntity; +import de.oaa.xxx.user.UserRepository; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.security.Principal; +import java.time.LocalDateTime; +import java.util.*; + +@RestController +@RequestMapping("/gruppen") +public class GruppeController { + + private final GruppeRepository gruppeRepository; + private final GruppenmitgliedRepository mitgliedRepository; + private final BeitrittsanfrageRepository anfrageRepository; + private final GruppenbeitragRepository beitragRepository; + private final UmfrageOptionRepository optionRepository; + private final UmfrageStimmeRepository stimmeRepository; + private final GruppenbeitragLikeRepository likeRepository; + private final BeitragMeldungRepository meldungRepository; + private final KommentarRepository kommentarRepository; + private final UserRepository userRepository; + + public GruppeController(GruppeRepository gruppeRepository, + GruppenmitgliedRepository mitgliedRepository, + BeitrittsanfrageRepository anfrageRepository, + GruppenbeitragRepository beitragRepository, + UmfrageOptionRepository optionRepository, + UmfrageStimmeRepository stimmeRepository, + GruppenbeitragLikeRepository likeRepository, + BeitragMeldungRepository meldungRepository, + KommentarRepository kommentarRepository, + UserRepository userRepository) { + this.gruppeRepository = gruppeRepository; + this.mitgliedRepository = mitgliedRepository; + this.anfrageRepository = anfrageRepository; + this.beitragRepository = beitragRepository; + this.optionRepository = optionRepository; + this.stimmeRepository = stimmeRepository; + this.likeRepository = likeRepository; + this.meldungRepository = meldungRepository; + this.kommentarRepository = kommentarRepository; + this.userRepository = userRepository; + } + + record CreateGruppeRequest(String name, String beschreibung, String bild, boolean isPrivate) {} + record JoinRequest(String nachricht) {} + record UpdateGruppeRequest(String name, String beschreibung, String bild, Boolean isPrivate) {} + + // ── GET /gruppe/search?q= ── + + @GetMapping("/search") + public ResponseEntity> search(@RequestParam String q, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + List result = gruppeRepository.findByNameContainingIgnoreCase(q) + .stream() + .limit(30) + .map(g -> toDto(g, myId)) + .sorted((a, b) -> { + LocalDateTime la = beitragRepository.findFirstByGruppeIdOrderByCreatedAtDesc(a.gruppeId()) + .map(GruppenbeitragEntity::getCreatedAt).orElse(a.createdAt()); + LocalDateTime lb = beitragRepository.findFirstByGruppeIdOrderByCreatedAtDesc(b.gruppeId()) + .map(GruppenbeitragEntity::getCreatedAt).orElse(b.createdAt()); + return lb.compareTo(la); + }) + .toList(); + return ResponseEntity.ok(result); + } + + // ── GET /gruppe/mine ── + + @GetMapping("/mine") + public ResponseEntity> mine(Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + List result = mitgliedRepository.findByUserId(myId) + .stream() + .map(m -> gruppeRepository.findById(m.getGruppeId()).orElse(null)) + .filter(Objects::nonNull) + .map(g -> toDto(g, myId)) + .sorted((a, b) -> { + LocalDateTime la = beitragRepository.findFirstByGruppeIdOrderByCreatedAtDesc(a.gruppeId()) + .map(GruppenbeitragEntity::getCreatedAt).orElse(a.createdAt()); + LocalDateTime lb = beitragRepository.findFirstByGruppeIdOrderByCreatedAtDesc(b.gruppeId()) + .map(GruppenbeitragEntity::getCreatedAt).orElse(b.createdAt()); + return lb.compareTo(la); + }) + .toList(); + return ResponseEntity.ok(result); + } + + // ── GET /gruppe/{id} ── + + @GetMapping("/{id}") + public ResponseEntity getGruppe(@PathVariable UUID id, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + return gruppeRepository.findById(id) + .map(g -> ResponseEntity.ok(toDto(g, myId))) + .orElse(ResponseEntity.notFound().build()); + } + + // ── POST /gruppe ── + + @PostMapping + public ResponseEntity createGruppe(@RequestBody CreateGruppeRequest req, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (req.name() == null || req.name().isBlank()) return ResponseEntity.badRequest().build(); + + GruppeEntity gruppe = new GruppeEntity(); + gruppe.setGruppeId(UUID.randomUUID()); + gruppe.setName(req.name().trim()); + gruppe.setBeschreibung(req.beschreibung()); + gruppe.setBild(req.bild()); + gruppe.setPrivate(req.isPrivate()); + gruppe.setCreatedAt(LocalDateTime.now()); + gruppe.setCreatedByUserId(myId); + gruppeRepository.save(gruppe); + + GruppenmitgliedEntity admin = new GruppenmitgliedEntity(); + admin.setMitgliedId(UUID.randomUUID()); + admin.setGruppeId(gruppe.getGruppeId()); + admin.setUserId(myId); + admin.setRolle(GruppenRolle.ADMIN); + admin.setJoinedAt(LocalDateTime.now()); + mitgliedRepository.save(admin); + + return ResponseEntity.status(201).body(toDto(gruppe, myId)); + } + + // ── PUT /gruppe/{id} ── + + @PutMapping("/{id}") + public ResponseEntity updateGruppe(@PathVariable UUID id, + @RequestBody UpdateGruppeRequest req, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + var gruppeOpt = gruppeRepository.findById(id); + if (gruppeOpt.isEmpty()) return ResponseEntity.notFound().build(); + GruppeEntity gruppe = gruppeOpt.get(); + + if (!isAdmin(id, myId)) return ResponseEntity.status(403).build(); + + if (req.name() != null && !req.name().isBlank()) gruppe.setName(req.name().trim()); + if (req.beschreibung() != null) gruppe.setBeschreibung(req.beschreibung()); + if (req.bild() != null) gruppe.setBild(req.bild()); + if (req.isPrivate() != null) gruppe.setPrivate(req.isPrivate()); + gruppeRepository.save(gruppe); + + return ResponseEntity.ok(toDto(gruppe, myId)); + } + + // ── DELETE /gruppe/{id} ── + + @DeleteMapping("/{id}") + public ResponseEntity deleteGruppe(@PathVariable UUID id, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + var gruppeOpt = gruppeRepository.findById(id); + if (gruppeOpt.isEmpty()) return ResponseEntity.notFound().build(); + if (!isAdmin(id, myId)) return ResponseEntity.status(403).build(); + + // Cascade delete + List beitraege = beitragRepository.findByGruppeIdOrderByCreatedAtDesc(id); + for (GruppenbeitragEntity b : beitraege) { + UUID bid = b.getBeitragId(); + meldungRepository.deleteByBeitragId(bid); + stimmeRepository.deleteByBeitragId(bid); + optionRepository.deleteByBeitragId(bid); + likeRepository.deleteByBeitragId(bid); + // Kommentare on GROUP_POST + List kommentare = kommentarRepository + .findByTargetTypeAndTargetIdOrderByCreatedAtAsc("GROUP_POST", bid); + for (KommentarEntity k : kommentare) { + kommentarRepository.delete(k); + } + } + beitragRepository.deleteByGruppeId(id); + anfrageRepository.deleteByGruppeId(id); + mitgliedRepository.deleteByGruppeId(id); + gruppeRepository.deleteById(id); + + return ResponseEntity.noContent().build(); + } + + // ── POST /gruppe/{id}/join ── + + @PostMapping("/{id}/join") + public ResponseEntity join(@PathVariable UUID id, + @RequestBody(required = false) JoinRequest req, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + var gruppeOpt = gruppeRepository.findById(id); + if (gruppeOpt.isEmpty()) return ResponseEntity.notFound().build(); + GruppeEntity gruppe = gruppeOpt.get(); + + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId).isPresent()) + return ResponseEntity.status(409).build(); + + if (gruppe.isPrivate()) { + // Check no pending request already + var existingReq = anfrageRepository.findByGruppeIdAndUserId(id, myId); + if (existingReq.isPresent() && existingReq.get().getStatus() == AnfrageStatus.AUSSTEHEND) + return ResponseEntity.status(409).build(); + + BeitrittsanfrageEntity anfrage = new BeitrittsanfrageEntity(); + anfrage.setAnfrageId(UUID.randomUUID()); + anfrage.setGruppeId(id); + anfrage.setUserId(myId); + anfrage.setNachricht(req != null ? req.nachricht() : null); + anfrage.setAngefragtAt(LocalDateTime.now()); + anfrage.setStatus(AnfrageStatus.AUSSTEHEND); + anfrageRepository.save(anfrage); + return ResponseEntity.status(201).build(); + } else { + GruppenmitgliedEntity mitglied = new GruppenmitgliedEntity(); + mitglied.setMitgliedId(UUID.randomUUID()); + mitglied.setGruppeId(id); + mitglied.setUserId(myId); + mitglied.setRolle(GruppenRolle.MITGLIED); + mitglied.setJoinedAt(LocalDateTime.now()); + mitgliedRepository.save(mitglied); + return ResponseEntity.status(201).build(); + } + } + + // ── DELETE /gruppe/{id}/leave ── + + @DeleteMapping("/{id}/leave") + public ResponseEntity leave(@PathVariable UUID id, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + mitgliedRepository.deleteByGruppeIdAndUserId(id, myId); + return ResponseEntity.noContent().build(); + } + + // ── GET /gruppe/{id}/members ── + + @GetMapping("/{id}/members") + public ResponseEntity>> getMembers(@PathVariable UUID id, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId).isEmpty()) + return ResponseEntity.status(403).build(); + + List> result = mitgliedRepository.findByGruppeId(id).stream() + .map(m -> { + Map map = new LinkedHashMap<>(); + map.put("mitgliedId", m.getMitgliedId()); + map.put("userId", m.getUserId()); + map.put("rolle", m.getRolle().name()); + map.put("joinedAt", m.getJoinedAt()); + userRepository.findById(m.getUserId()).ifPresent(u -> { + map.put("userName", u.getName()); + map.put("userPicture", u.getProfilePicture()); + }); + return map; + }) + .toList(); + return ResponseEntity.ok(result); + } + + // ── DELETE /gruppe/{id}/members/{userId} ── + + @DeleteMapping("/{id}/members/{userId}") + public ResponseEntity removeMember(@PathVariable UUID id, + @PathVariable UUID userId, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (!isAdmin(id, myId)) return ResponseEntity.status(403).build(); + + mitgliedRepository.deleteByGruppeIdAndUserId(id, userId); + return ResponseEntity.noContent().build(); + } + + // ── POST /gruppe/{id}/members/{userId}/promote ── + + @PostMapping("/{id}/members/{userId}/promote") + public ResponseEntity promote(@PathVariable UUID id, + @PathVariable UUID userId, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (!isAdmin(id, myId)) return ResponseEntity.status(403).build(); + + var m = mitgliedRepository.findFirstByGruppeIdAndUserId(id, userId); + if (m.isEmpty()) return ResponseEntity.notFound().build(); + m.get().setRolle(GruppenRolle.ADMIN); + mitgliedRepository.save(m.get()); + return ResponseEntity.ok().build(); + } + + // ── GET /gruppe/{id}/requests ── + + @GetMapping("/{id}/requests") + public ResponseEntity> getRequests(@PathVariable UUID id, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (!isAdmin(id, myId)) return ResponseEntity.status(403).build(); + + List dtos = anfrageRepository + .findByGruppeIdAndStatus(id, AnfrageStatus.AUSSTEHEND) + .stream() + .map(a -> { + UserEntity u = userRepository.findById(a.getUserId()).orElse(null); + return new BeitrittsanfrageDto(a.getAnfrageId(), a.getGruppeId(), a.getUserId(), + u != null ? u.getName() : "Unbekannt", + u != null ? u.getProfilePicture() : null, + a.getNachricht(), a.getAngefragtAt()); + }) + .toList(); + return ResponseEntity.ok(dtos); + } + + // ── POST /gruppe/{id}/requests/{reqId}/approve ── + + @PostMapping("/{id}/requests/{reqId}/approve") + public ResponseEntity approveRequest(@PathVariable UUID id, + @PathVariable UUID reqId, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (!isAdmin(id, myId)) return ResponseEntity.status(403).build(); + + var anfOpt = anfrageRepository.findById(reqId); + if (anfOpt.isEmpty()) return ResponseEntity.notFound().build(); + BeitrittsanfrageEntity anfrage = anfOpt.get(); + anfrage.setStatus(AnfrageStatus.GENEHMIGT); + anfrageRepository.save(anfrage); + + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, anfrage.getUserId()).isEmpty()) { + GruppenmitgliedEntity mitglied = new GruppenmitgliedEntity(); + mitglied.setMitgliedId(UUID.randomUUID()); + mitglied.setGruppeId(id); + mitglied.setUserId(anfrage.getUserId()); + mitglied.setRolle(GruppenRolle.MITGLIED); + mitglied.setJoinedAt(LocalDateTime.now()); + mitgliedRepository.save(mitglied); + } + + return ResponseEntity.ok().build(); + } + + // ── DELETE /gruppe/{id}/requests/{reqId} ── + + @DeleteMapping("/{id}/requests/{reqId}") + public ResponseEntity rejectRequest(@PathVariable UUID id, + @PathVariable UUID reqId, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (!isAdmin(id, myId)) return ResponseEntity.status(403).build(); + + var anfOpt = anfrageRepository.findById(reqId); + if (anfOpt.isEmpty()) return ResponseEntity.notFound().build(); + BeitrittsanfrageEntity anfrage = anfOpt.get(); + anfrage.setStatus(AnfrageStatus.ABGELEHNT); + anfrageRepository.save(anfrage); + return ResponseEntity.noContent().build(); + } + + // ── GET /gruppen/reports/pending/count ── + + @GetMapping("/reports/pending/count") + public ResponseEntity pendingReportsCount(Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + long count = mitgliedRepository.findByUserId(myId).stream() + .filter(m -> m.getRolle() == GruppenRolle.ADMIN) + .mapToLong(m -> { + List beitraege = beitragRepository.findByGruppeIdOrderByCreatedAtDesc(m.getGruppeId()); + List ids = beitraege.stream().map(GruppenbeitragEntity::getBeitragId).toList(); + return ids.isEmpty() ? 0L : meldungRepository.findByBeitragIdIn(ids).size(); + }) + .sum(); + return ResponseEntity.ok(count); + } + + // ── GET /gruppen/requests/pending/count ── + + @GetMapping("/requests/pending/count") + public ResponseEntity pendingRequestCount(Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + long count = mitgliedRepository.findByUserId(myId).stream() + .filter(m -> m.getRolle() == GruppenRolle.ADMIN) + .mapToLong(m -> anfrageRepository.findByGruppeIdAndStatus(m.getGruppeId(), AnfrageStatus.AUSSTEHEND).size()) + .sum(); + return ResponseEntity.ok(count); + } + + // ── GET /gruppe/requests/mine ── + + @GetMapping("/requests/mine") + public ResponseEntity>> myRequests(Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + List> result = anfrageRepository.findByUserIdAndStatus(myId, AnfrageStatus.AUSSTEHEND) + .stream() + .map(a -> { + Map map = new LinkedHashMap<>(); + map.put("anfrageId", a.getAnfrageId()); + map.put("gruppeId", a.getGruppeId()); + map.put("nachricht", a.getNachricht()); + map.put("angefragtAt", a.getAngefragtAt()); + gruppeRepository.findById(a.getGruppeId()).ifPresent(g -> map.put("gruppeName", g.getName())); + return map; + }) + .toList(); + return ResponseEntity.ok(result); + } + + // ── DELETE /gruppe/{id}/requests/mine (withdraw own request) ── + + @DeleteMapping("/{id}/requests/mine") + public ResponseEntity withdrawRequest(@PathVariable UUID id, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + anfrageRepository.findByGruppeIdAndUserId(id, myId).ifPresent(a -> { + if (a.getStatus() == AnfrageStatus.AUSSTEHEND) { + anfrageRepository.delete(a); + } + }); + return ResponseEntity.noContent().build(); + } + + // ── Helpers ── + + private UUID resolveMyId(Principal principal) { + if (principal == null) return null; + return userRepository.findByEmail(principal.getName()) + .map(UserEntity::getUserId) + .orElse(null); + } + + private boolean isAdmin(UUID gruppeId, UUID userId) { + return mitgliedRepository.findFirstByGruppeIdAndUserId(gruppeId, userId) + .map(m -> m.getRolle() == GruppenRolle.ADMIN) + .orElse(false); + } + + GruppeDto toDto(GruppeEntity g, UUID myId) { + long memberCount = mitgliedRepository.countByGruppeId(g.getGruppeId()); + long postCount = beitragRepository.findByGruppeIdOrderByCreatedAtDesc(g.getGruppeId()).size(); + String myRole = mitgliedRepository.findFirstByGruppeIdAndUserId(g.getGruppeId(), myId) + .map(m -> m.getRolle().name()) + .orElse(null); + String myRequestStatus = null; + if (myRole == null) { + myRequestStatus = anfrageRepository.findByGruppeIdAndUserId(g.getGruppeId(), myId) + .filter(a -> a.getStatus() == AnfrageStatus.AUSSTEHEND) + .map(a -> a.getStatus().name()) + .orElse(null); + } + return new GruppeDto(g.getGruppeId(), g.getName(), g.getBeschreibung(), g.getBild(), + g.isPrivate(), g.getCreatedAt(), memberCount, postCount, myRole, myRequestStatus); + } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/GruppenRolle.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/GruppenRolle.java new file mode 100644 index 0000000..d454d6d --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/GruppenRolle.java @@ -0,0 +1,5 @@ +package de.oaa.xxx.gruppe; + +public enum GruppenRolle { + ADMIN, MITGLIED +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/GruppenbeitragController.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/GruppenbeitragController.java new file mode 100644 index 0000000..7aaa073 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/GruppenbeitragController.java @@ -0,0 +1,348 @@ +package de.oaa.xxx.gruppe; + +import de.oaa.xxx.gruppe.dto.*; +import de.oaa.xxx.gruppe.entity.*; +import de.oaa.xxx.gruppe.repository.*; +import de.oaa.xxx.social.repository.KommentarRepository; +import de.oaa.xxx.user.UserEntity; +import de.oaa.xxx.user.UserRepository; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Slice; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.security.Principal; +import java.time.LocalDateTime; +import java.util.*; + +@RestController +public class GruppenbeitragController { + + private final GruppeRepository gruppeRepository; + private final GruppenmitgliedRepository mitgliedRepository; + private final GruppenbeitragRepository beitragRepository; + private final UmfrageOptionRepository optionRepository; + private final UmfrageStimmeRepository stimmeRepository; + private final GruppenbeitragLikeRepository likeRepository; + private final BeitragMeldungRepository meldungRepository; + private final KommentarRepository kommentarRepository; + private final UserRepository userRepository; + + public GruppenbeitragController(GruppeRepository gruppeRepository, + GruppenmitgliedRepository mitgliedRepository, + GruppenbeitragRepository beitragRepository, + UmfrageOptionRepository optionRepository, + UmfrageStimmeRepository stimmeRepository, + GruppenbeitragLikeRepository likeRepository, + BeitragMeldungRepository meldungRepository, + KommentarRepository kommentarRepository, + UserRepository userRepository) { + this.gruppeRepository = gruppeRepository; + this.mitgliedRepository = mitgliedRepository; + this.beitragRepository = beitragRepository; + this.optionRepository = optionRepository; + this.stimmeRepository = stimmeRepository; + this.likeRepository = likeRepository; + this.meldungRepository = meldungRepository; + this.kommentarRepository = kommentarRepository; + this.userRepository = userRepository; + } + + record CreateBeitragRequest(String beitragTyp, String text, Boolean multiChoice, List optionen, List bilder) {} + record PostsPage(List posts, boolean hasMore) {} + record VoteRequest(UUID optionId) {} + record ReportRequest(String grund) {} + + // ── GET /gruppen/{id}/posts/{postId} ── + + @GetMapping("/gruppen/{id}/posts/{postId}") + public ResponseEntity getPost(@PathVariable UUID id, + @PathVariable UUID postId, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId).isEmpty()) + return ResponseEntity.status(403).build(); + return beitragRepository.findById(postId) + .map(b -> ResponseEntity.ok(toDto(b, myId))) + .orElse(ResponseEntity.notFound().build()); + } + + // ── GET /gruppen/{id}/posts ── + + @GetMapping("/gruppen/{id}/posts") + public ResponseEntity getPosts(@PathVariable UUID id, + @RequestParam(defaultValue = "0") int page, + @RequestParam(defaultValue = "10") int size, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId).isEmpty()) + return ResponseEntity.status(403).build(); + + Slice slice = beitragRepository + .findByGruppeIdOrderByCreatedAtDesc(id, PageRequest.of(page, size)); + List posts = slice.getContent().stream() + .map(b -> toDto(b, myId)) + .toList(); + return ResponseEntity.ok(new PostsPage(posts, slice.hasNext())); + } + + // ── POST /gruppen/{id}/posts ── + + @PostMapping("/gruppen/{id}/posts") + public ResponseEntity createPost(@PathVariable UUID id, + @RequestBody CreateBeitragRequest req, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId).isEmpty()) + return ResponseEntity.status(403).build(); + if (gruppeRepository.findById(id).isEmpty()) return ResponseEntity.notFound().build(); + if (req.text() == null || req.text().isBlank()) return ResponseEntity.badRequest().build(); + + BeitragTyp typ; + try { + typ = BeitragTyp.valueOf(req.beitragTyp()); + } catch (Exception e) { + return ResponseEntity.badRequest().build(); + } + + GruppenbeitragEntity beitrag = new GruppenbeitragEntity(); + beitrag.setBeitragId(UUID.randomUUID()); + beitrag.setGruppeId(id); + beitrag.setAuthorId(myId); + beitrag.setBeitragTyp(typ); + beitrag.setText(req.text().trim()); + beitrag.setMultiChoice(typ == BeitragTyp.UMFRAGE ? req.multiChoice() : null); + beitrag.setBilder(req.bilder() != null ? req.bilder() : List.of()); + beitrag.setCreatedAt(LocalDateTime.now()); + beitragRepository.save(beitrag); + + if (typ == BeitragTyp.UMFRAGE && req.optionen() != null) { + for (int i = 0; i < req.optionen().size(); i++) { + String optText = req.optionen().get(i); + if (optText == null || optText.isBlank()) continue; + UmfrageOptionEntity opt = new UmfrageOptionEntity(); + opt.setOptionId(UUID.randomUUID()); + opt.setBeitragId(beitrag.getBeitragId()); + opt.setText(optText.trim()); + opt.setReihenfolge(i); + optionRepository.save(opt); + } + } + + return ResponseEntity.status(201).body(toDto(beitrag, myId)); + } + + // ── DELETE /gruppen/{id}/posts/{postId} ── + + @DeleteMapping("/gruppen/{id}/posts/{postId}") + public ResponseEntity deletePost(@PathVariable UUID id, + @PathVariable UUID postId, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + + var bOpt = beitragRepository.findById(postId); + if (bOpt.isEmpty()) return ResponseEntity.notFound().build(); + GruppenbeitragEntity beitrag = bOpt.get(); + + boolean isAuthor = beitrag.getAuthorId().equals(myId); + boolean isAdmin = mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId) + .map(m -> m.getRolle() == GruppenRolle.ADMIN) + .orElse(false); + if (!isAuthor && !isAdmin) return ResponseEntity.status(403).build(); + + deleteBeitragCascade(beitrag); + return ResponseEntity.noContent().build(); + } + + // ── POST /gruppen/{id}/posts/{postId}/like ── + + @PostMapping("/gruppen/{id}/posts/{postId}/like") + public ResponseEntity toggleLike(@PathVariable UUID id, + @PathVariable UUID postId, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId).isEmpty()) + return ResponseEntity.status(403).build(); + + var existing = likeRepository.findByBeitragIdAndUserId(postId, myId); + if (existing.isPresent()) { + likeRepository.delete(existing.get()); + } else { + GruppenbeitragLikeEntity like = new GruppenbeitragLikeEntity(); + like.setLikeId(UUID.randomUUID()); + like.setBeitragId(postId); + like.setUserId(myId); + like.setLikedAt(LocalDateTime.now()); + likeRepository.save(like); + } + return ResponseEntity.ok().build(); + } + + // ── POST /gruppen/{id}/posts/{postId}/vote ── + + @PostMapping("/gruppen/{id}/posts/{postId}/vote") + public ResponseEntity vote(@PathVariable UUID id, + @PathVariable UUID postId, + @RequestBody VoteRequest req, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId).isEmpty()) + return ResponseEntity.status(403).build(); + + var bOpt = beitragRepository.findById(postId); + if (bOpt.isEmpty()) return ResponseEntity.notFound().build(); + GruppenbeitragEntity beitrag = bOpt.get(); + + var optOpt = optionRepository.findById(req.optionId()); + if (optOpt.isEmpty() || !optOpt.get().getBeitragId().equals(postId)) + return ResponseEntity.badRequest().build(); + + boolean isMultiChoice = Boolean.TRUE.equals(beitrag.getMultiChoice()); + + var existingVote = stimmeRepository.findByOptionIdAndUserId(req.optionId(), myId); + if (existingVote.isPresent()) { + // Toggle: remove vote + stimmeRepository.delete(existingVote.get()); + return ResponseEntity.ok().build(); + } + + if (!isMultiChoice) { + // Single-choice: remove all existing votes on this poll + List existing = stimmeRepository.findByBeitragIdAndUserId(postId, myId); + stimmeRepository.deleteAll(existing); + } + + UmfrageStimmeEntity stimme = new UmfrageStimmeEntity(); + stimme.setStimmeId(UUID.randomUUID()); + stimme.setOptionId(req.optionId()); + stimme.setBeitragId(postId); + stimme.setUserId(myId); + stimmeRepository.save(stimme); + return ResponseEntity.ok().build(); + } + + // ── POST /gruppen/{id}/posts/{postId}/report ── + + @PostMapping("/gruppen/{id}/posts/{postId}/report") + public ResponseEntity report(@PathVariable UUID id, + @PathVariable UUID postId, + @RequestBody ReportRequest req, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId).isEmpty()) + return ResponseEntity.status(403).build(); + + if (beitragRepository.findById(postId).isEmpty()) return ResponseEntity.notFound().build(); + + var existing = meldungRepository.findByBeitragIdAndMelderId(postId, myId); + if (existing.isPresent()) return ResponseEntity.status(409).build(); + + BeitragMeldungEntity meldung = new BeitragMeldungEntity(); + meldung.setMeldungId(UUID.randomUUID()); + meldung.setBeitragId(postId); + meldung.setMelderId(myId); + meldung.setGrund(req.grund()); + meldung.setGemeldetAt(LocalDateTime.now()); + meldungRepository.save(meldung); + return ResponseEntity.status(201).build(); + } + + // ── GET /gruppen/{id}/reports ── + + @GetMapping("/gruppen/{id}/reports") + public ResponseEntity> getReports(@PathVariable UUID id, Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId) + .map(m -> m.getRolle() != GruppenRolle.ADMIN).orElse(true)) + return ResponseEntity.status(403).build(); + + List beitragIds = beitragRepository.findByGruppeIdOrderByCreatedAtDesc(id) + .stream().map(GruppenbeitragEntity::getBeitragId).toList(); + + List dtos = meldungRepository.findByBeitragIdIn(beitragIds) + .stream() + .map(m -> { + UserEntity melder = userRepository.findById(m.getMelderId()).orElse(null); + return new BeitragMeldungDto(m.getMeldungId(), m.getBeitragId(), m.getMelderId(), + melder != null ? melder.getName() : "Unbekannt", + m.getGrund(), m.getGemeldetAt()); + }) + .toList(); + return ResponseEntity.ok(dtos); + } + + // ── DELETE /gruppen/{id}/reports/{meldungId} ── + + @DeleteMapping("/gruppen/{id}/reports/{meldungId}") + public ResponseEntity dismissReport(@PathVariable UUID id, + @PathVariable UUID meldungId, + Principal principal) { + UUID myId = resolveMyId(principal); + if (myId == null) return ResponseEntity.status(401).build(); + if (mitgliedRepository.findFirstByGruppeIdAndUserId(id, myId) + .map(m -> m.getRolle() != GruppenRolle.ADMIN).orElse(true)) + return ResponseEntity.status(403).build(); + + meldungRepository.deleteById(meldungId); + return ResponseEntity.noContent().build(); + } + + // ── Helpers ── + + private UUID resolveMyId(Principal principal) { + if (principal == null) return null; + return userRepository.findByEmail(principal.getName()) + .map(UserEntity::getUserId) + .orElse(null); + } + + private void deleteBeitragCascade(GruppenbeitragEntity beitrag) { + UUID bid = beitrag.getBeitragId(); + meldungRepository.deleteByBeitragId(bid); + stimmeRepository.deleteByBeitragId(bid); + optionRepository.deleteByBeitragId(bid); + likeRepository.deleteByBeitragId(bid); + var kommentare = kommentarRepository + .findByTargetTypeAndTargetIdOrderByCreatedAtAsc("GROUP_POST", bid); + kommentarRepository.deleteAll(kommentare); + beitragRepository.delete(beitrag); + } + + private GruppenbeitragDto toDto(GruppenbeitragEntity b, UUID myId) { + UserEntity author = userRepository.findById(b.getAuthorId()).orElse(null); + long likeCount = likeRepository.countByBeitragId(b.getBeitragId()); + boolean likedByMe = likeRepository.findByBeitragIdAndUserId(b.getBeitragId(), myId).isPresent(); + long kommentarCount = kommentarRepository + .countByTargetTypeAndTargetId("GROUP_POST", b.getBeitragId()); + boolean reported = meldungRepository.findByBeitragIdAndMelderId(b.getBeitragId(), myId).isPresent(); + + List optionen = List.of(); + List myVoteOptionIds = List.of(); + if (b.getBeitragTyp() == BeitragTyp.UMFRAGE) { + optionen = optionRepository.findByBeitragIdOrderByReihenfolge(b.getBeitragId()) + .stream() + .map(o -> new UmfrageOptionDto(o.getOptionId(), o.getText(), o.getReihenfolge(), + stimmeRepository.countByOptionId(o.getOptionId()))) + .toList(); + myVoteOptionIds = stimmeRepository.findByBeitragIdAndUserId(b.getBeitragId(), myId) + .stream() + .map(UmfrageStimmeEntity::getOptionId) + .toList(); + } + + return new GruppenbeitragDto( + b.getBeitragId(), b.getGruppeId(), b.getAuthorId(), + author != null ? author.getName() : "Unbekannt", + author != null ? author.getProfilePicture() : null, + b.getBeitragTyp().name(), b.getText(), b.getMultiChoice(), b.getBilder(), b.getCreatedAt(), + likeCount, likedByMe, kommentarCount, optionen, myVoteOptionIds, reported); + } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/BeitragMeldungDto.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/BeitragMeldungDto.java new file mode 100644 index 0000000..d35648a --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/BeitragMeldungDto.java @@ -0,0 +1,13 @@ +package de.oaa.xxx.gruppe.dto; + +import java.time.LocalDateTime; +import java.util.UUID; + +public record BeitragMeldungDto( + UUID meldungId, + UUID beitragId, + UUID melderId, + String melderName, + String grund, + LocalDateTime gemeldetAt +) {} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/BeitrittsanfrageDto.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/BeitrittsanfrageDto.java new file mode 100644 index 0000000..8740609 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/BeitrittsanfrageDto.java @@ -0,0 +1,14 @@ +package de.oaa.xxx.gruppe.dto; + +import java.time.LocalDateTime; +import java.util.UUID; + +public record BeitrittsanfrageDto( + UUID anfrageId, + UUID gruppeId, + UUID userId, + String userName, + String userPicture, + String nachricht, + LocalDateTime angefragtAt +) {} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/GruppeDto.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/GruppeDto.java new file mode 100644 index 0000000..9e456a9 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/GruppeDto.java @@ -0,0 +1,17 @@ +package de.oaa.xxx.gruppe.dto; + +import java.time.LocalDateTime; +import java.util.UUID; + +public record GruppeDto( + UUID gruppeId, + String name, + String beschreibung, + String bild, + boolean isPrivate, + LocalDateTime createdAt, + long memberCount, + long postCount, + String myRole, + String myRequestStatus +) {} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/GruppenbeitragDto.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/GruppenbeitragDto.java new file mode 100644 index 0000000..f6fb732 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/GruppenbeitragDto.java @@ -0,0 +1,24 @@ +package de.oaa.xxx.gruppe.dto; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +public record GruppenbeitragDto( + UUID beitragId, + UUID gruppeId, + UUID authorId, + String authorName, + String authorPicture, + String beitragTyp, + String text, + Boolean multiChoice, + List bilder, + LocalDateTime createdAt, + long likeCount, + boolean likedByMe, + long kommentarCount, + List optionen, + List myVoteOptionIds, + boolean reported +) {} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/UmfrageOptionDto.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/UmfrageOptionDto.java new file mode 100644 index 0000000..292a4ec --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/dto/UmfrageOptionDto.java @@ -0,0 +1,10 @@ +package de.oaa.xxx.gruppe.dto; + +import java.util.UUID; + +public record UmfrageOptionDto( + UUID optionId, + String text, + int reihenfolge, + long stimmenCount +) {} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/BeitragMeldungEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/BeitragMeldungEntity.java new file mode 100644 index 0000000..7fa5777 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/BeitragMeldungEntity.java @@ -0,0 +1,42 @@ +package de.oaa.xxx.gruppe.entity; + +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "beitrag_meldung", + uniqueConstraints = @UniqueConstraint(columnNames = {"beitragId", "melderId"})) +public class BeitragMeldungEntity { + + @Id + @Column + private UUID meldungId; + + @Column(nullable = false) + private UUID beitragId; + + @Column(nullable = false) + private UUID melderId; + + @Column(columnDefinition = "TEXT") + private String grund; + + @Column(nullable = false) + private LocalDateTime gemeldetAt; + + public UUID getMeldungId() { return meldungId; } + public void setMeldungId(UUID meldungId) { this.meldungId = meldungId; } + + public UUID getBeitragId() { return beitragId; } + public void setBeitragId(UUID beitragId) { this.beitragId = beitragId; } + + public UUID getMelderId() { return melderId; } + public void setMelderId(UUID melderId) { this.melderId = melderId; } + + public String getGrund() { return grund; } + public void setGrund(String grund) { this.grund = grund; } + + public LocalDateTime getGemeldetAt() { return gemeldetAt; } + public void setGemeldetAt(LocalDateTime gemeldetAt) { this.gemeldetAt = gemeldetAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/BeitrittsanfrageEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/BeitrittsanfrageEntity.java new file mode 100644 index 0000000..90b95d1 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/BeitrittsanfrageEntity.java @@ -0,0 +1,49 @@ +package de.oaa.xxx.gruppe.entity; + +import de.oaa.xxx.gruppe.AnfrageStatus; +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "beitrittsanfrage") +public class BeitrittsanfrageEntity { + + @Id + @Column + private UUID anfrageId; + + @Column(nullable = false) + private UUID gruppeId; + + @Column(nullable = false) + private UUID userId; + + @Column(columnDefinition = "TEXT") + private String nachricht; + + @Column(nullable = false) + private LocalDateTime angefragtAt; + + @Enumerated(EnumType.STRING) + @Column(nullable = false, length = 15) + private AnfrageStatus status; + + public UUID getAnfrageId() { return anfrageId; } + public void setAnfrageId(UUID anfrageId) { this.anfrageId = anfrageId; } + + public UUID getGruppeId() { return gruppeId; } + public void setGruppeId(UUID gruppeId) { this.gruppeId = gruppeId; } + + public UUID getUserId() { return userId; } + public void setUserId(UUID userId) { this.userId = userId; } + + public String getNachricht() { return nachricht; } + public void setNachricht(String nachricht) { this.nachricht = nachricht; } + + public LocalDateTime getAngefragtAt() { return angefragtAt; } + public void setAngefragtAt(LocalDateTime angefragtAt) { this.angefragtAt = angefragtAt; } + + public AnfrageStatus getStatus() { return status; } + public void setStatus(AnfrageStatus status) { this.status = status; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppeEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppeEntity.java new file mode 100644 index 0000000..9b4f42a --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppeEntity.java @@ -0,0 +1,53 @@ +package de.oaa.xxx.gruppe.entity; + +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "gruppe") +public class GruppeEntity { + + @Id + @Column + private UUID gruppeId; + + @Column(length = 100, nullable = false) + private String name; + + @Column(columnDefinition = "TEXT") + private String beschreibung; + + @Column(columnDefinition = "MEDIUMTEXT") + private String bild; + + @Column(nullable = false) + private boolean isPrivate = false; + + @Column(nullable = false) + private LocalDateTime createdAt; + + @Column(nullable = false) + private UUID createdByUserId; + + public UUID getGruppeId() { return gruppeId; } + public void setGruppeId(UUID gruppeId) { this.gruppeId = gruppeId; } + + public String getName() { return name; } + public void setName(String name) { this.name = name; } + + public String getBeschreibung() { return beschreibung; } + public void setBeschreibung(String beschreibung) { this.beschreibung = beschreibung; } + + public String getBild() { return bild; } + public void setBild(String bild) { this.bild = bild; } + + public boolean isPrivate() { return isPrivate; } + public void setPrivate(boolean aPrivate) { isPrivate = aPrivate; } + + public LocalDateTime getCreatedAt() { return createdAt; } + public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; } + + public UUID getCreatedByUserId() { return createdByUserId; } + public void setCreatedByUserId(UUID createdByUserId) { this.createdByUserId = createdByUserId; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppenbeitragEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppenbeitragEntity.java new file mode 100644 index 0000000..8ce48d6 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppenbeitragEntity.java @@ -0,0 +1,64 @@ +package de.oaa.xxx.gruppe.entity; + +import de.oaa.xxx.config.StringListConverter; +import de.oaa.xxx.gruppe.BeitragTyp; +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +@Entity +@Table(name = "gruppe_beitrag") +public class GruppenbeitragEntity { + + @Id + @Column + private UUID beitragId; + + @Column(nullable = false) + private UUID gruppeId; + + @Column(nullable = false) + private UUID authorId; + + @Enumerated(EnumType.STRING) + @Column(nullable = false, length = 10) + private BeitragTyp beitragTyp; + + @Column(columnDefinition = "TEXT", nullable = false) + private String text; + + @Column + private Boolean multiChoice; + + @Convert(converter = StringListConverter.class) + @Column(name = "bild", columnDefinition = "MEDIUMTEXT") + private List bilder; + + @Column(nullable = false) + private LocalDateTime createdAt; + + public UUID getBeitragId() { return beitragId; } + public void setBeitragId(UUID beitragId) { this.beitragId = beitragId; } + + public UUID getGruppeId() { return gruppeId; } + public void setGruppeId(UUID gruppeId) { this.gruppeId = gruppeId; } + + public UUID getAuthorId() { return authorId; } + public void setAuthorId(UUID authorId) { this.authorId = authorId; } + + public BeitragTyp getBeitragTyp() { return beitragTyp; } + public void setBeitragTyp(BeitragTyp beitragTyp) { this.beitragTyp = beitragTyp; } + + public String getText() { return text; } + public void setText(String text) { this.text = text; } + + public Boolean getMultiChoice() { return multiChoice; } + public void setMultiChoice(Boolean multiChoice) { this.multiChoice = multiChoice; } + + public List getBilder() { return bilder; } + public void setBilder(List bilder) { this.bilder = bilder; } + + public LocalDateTime getCreatedAt() { return createdAt; } + public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppenbeitragLikeEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppenbeitragLikeEntity.java new file mode 100644 index 0000000..9dcac14 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppenbeitragLikeEntity.java @@ -0,0 +1,36 @@ +package de.oaa.xxx.gruppe.entity; + +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "gruppe_beitrag_like", + uniqueConstraints = @UniqueConstraint(columnNames = {"beitragId", "userId"})) +public class GruppenbeitragLikeEntity { + + @Id + @Column + private UUID likeId; + + @Column(nullable = false) + private UUID beitragId; + + @Column(nullable = false) + private UUID userId; + + @Column(nullable = false) + private LocalDateTime likedAt; + + public UUID getLikeId() { return likeId; } + public void setLikeId(UUID likeId) { this.likeId = likeId; } + + public UUID getBeitragId() { return beitragId; } + public void setBeitragId(UUID beitragId) { this.beitragId = beitragId; } + + public UUID getUserId() { return userId; } + public void setUserId(UUID userId) { this.userId = userId; } + + public LocalDateTime getLikedAt() { return likedAt; } + public void setLikedAt(LocalDateTime likedAt) { this.likedAt = likedAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppenmitgliedEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppenmitgliedEntity.java new file mode 100644 index 0000000..f047cf3 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/GruppenmitgliedEntity.java @@ -0,0 +1,44 @@ +package de.oaa.xxx.gruppe.entity; + +import de.oaa.xxx.gruppe.GruppenRolle; +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "gruppe_mitglied", + uniqueConstraints = @UniqueConstraint(columnNames = {"gruppeId", "userId"})) +public class GruppenmitgliedEntity { + + @Id + @Column + private UUID mitgliedId; + + @Column(nullable = false) + private UUID gruppeId; + + @Column(nullable = false) + private UUID userId; + + @Enumerated(EnumType.STRING) + @Column(nullable = false, length = 10) + private GruppenRolle rolle; + + @Column(nullable = false) + private LocalDateTime joinedAt; + + public UUID getMitgliedId() { return mitgliedId; } + public void setMitgliedId(UUID mitgliedId) { this.mitgliedId = mitgliedId; } + + public UUID getGruppeId() { return gruppeId; } + public void setGruppeId(UUID gruppeId) { this.gruppeId = gruppeId; } + + public UUID getUserId() { return userId; } + public void setUserId(UUID userId) { this.userId = userId; } + + public GruppenRolle getRolle() { return rolle; } + public void setRolle(GruppenRolle rolle) { this.rolle = rolle; } + + public LocalDateTime getJoinedAt() { return joinedAt; } + public void setJoinedAt(LocalDateTime joinedAt) { this.joinedAt = joinedAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/UmfrageOptionEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/UmfrageOptionEntity.java new file mode 100644 index 0000000..cb553ad --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/UmfrageOptionEntity.java @@ -0,0 +1,34 @@ +package de.oaa.xxx.gruppe.entity; + +import jakarta.persistence.*; +import java.util.UUID; + +@Entity +@Table(name = "umfrage_option") +public class UmfrageOptionEntity { + + @Id + @Column + private UUID optionId; + + @Column(nullable = false) + private UUID beitragId; + + @Column(length = 200, nullable = false) + private String text; + + @Column(nullable = false) + private int reihenfolge; + + public UUID getOptionId() { return optionId; } + public void setOptionId(UUID optionId) { this.optionId = optionId; } + + public UUID getBeitragId() { return beitragId; } + public void setBeitragId(UUID beitragId) { this.beitragId = beitragId; } + + public String getText() { return text; } + public void setText(String text) { this.text = text; } + + public int getReihenfolge() { return reihenfolge; } + public void setReihenfolge(int reihenfolge) { this.reihenfolge = reihenfolge; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/UmfrageStimmeEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/UmfrageStimmeEntity.java new file mode 100644 index 0000000..15e385c --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/entity/UmfrageStimmeEntity.java @@ -0,0 +1,35 @@ +package de.oaa.xxx.gruppe.entity; + +import jakarta.persistence.*; +import java.util.UUID; + +@Entity +@Table(name = "umfrage_stimme", + uniqueConstraints = @UniqueConstraint(columnNames = {"optionId", "userId"})) +public class UmfrageStimmeEntity { + + @Id + @Column + private UUID stimmeId; + + @Column(nullable = false) + private UUID optionId; + + @Column(nullable = false) + private UUID beitragId; + + @Column(nullable = false) + private UUID userId; + + public UUID getStimmeId() { return stimmeId; } + public void setStimmeId(UUID stimmeId) { this.stimmeId = stimmeId; } + + public UUID getOptionId() { return optionId; } + public void setOptionId(UUID optionId) { this.optionId = optionId; } + + public UUID getBeitragId() { return beitragId; } + public void setBeitragId(UUID beitragId) { this.beitragId = beitragId; } + + public UUID getUserId() { return userId; } + public void setUserId(UUID userId) { this.userId = userId; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/BeitragMeldungRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/BeitragMeldungRepository.java new file mode 100644 index 0000000..4c3a94e --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/BeitragMeldungRepository.java @@ -0,0 +1,22 @@ +package de.oaa.xxx.gruppe.repository; + +import de.oaa.xxx.gruppe.entity.BeitragMeldungEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface BeitragMeldungRepository extends JpaRepository { + + List findByBeitragId(UUID beitragId); + + List findByBeitragIdIn(Collection beitragIds); + + Optional findByBeitragIdAndMelderId(UUID beitragId, UUID melderId); + + @Transactional + void deleteByBeitragId(UUID beitragId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/BeitrittsanfrageRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/BeitrittsanfrageRepository.java new file mode 100644 index 0000000..71c4ee6 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/BeitrittsanfrageRepository.java @@ -0,0 +1,22 @@ +package de.oaa.xxx.gruppe.repository; + +import de.oaa.xxx.gruppe.AnfrageStatus; +import de.oaa.xxx.gruppe.entity.BeitrittsanfrageEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface BeitrittsanfrageRepository extends JpaRepository { + + List findByGruppeIdAndStatus(UUID gruppeId, AnfrageStatus status); + + List findByUserIdAndStatus(UUID userId, AnfrageStatus status); + + Optional findByGruppeIdAndUserId(UUID gruppeId, UUID userId); + + @Transactional + void deleteByGruppeId(UUID gruppeId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppeRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppeRepository.java new file mode 100644 index 0000000..de306bb --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppeRepository.java @@ -0,0 +1,12 @@ +package de.oaa.xxx.gruppe.repository; + +import de.oaa.xxx.gruppe.entity.GruppeEntity; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.UUID; + +public interface GruppeRepository extends JpaRepository { + + List findByNameContainingIgnoreCase(String name); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppenbeitragLikeRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppenbeitragLikeRepository.java new file mode 100644 index 0000000..bbeec96 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppenbeitragLikeRepository.java @@ -0,0 +1,18 @@ +package de.oaa.xxx.gruppe.repository; + +import de.oaa.xxx.gruppe.entity.GruppenbeitragLikeEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Optional; +import java.util.UUID; + +public interface GruppenbeitragLikeRepository extends JpaRepository { + + Optional findByBeitragIdAndUserId(UUID beitragId, UUID userId); + + long countByBeitragId(UUID beitragId); + + @Transactional + void deleteByBeitragId(UUID beitragId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppenbeitragRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppenbeitragRepository.java new file mode 100644 index 0000000..ae345cd --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppenbeitragRepository.java @@ -0,0 +1,29 @@ +package de.oaa.xxx.gruppe.repository; + +import de.oaa.xxx.gruppe.entity.GruppenbeitragEntity; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Slice; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface GruppenbeitragRepository extends JpaRepository { + + Slice findByGruppeIdOrderByCreatedAtDesc(UUID gruppeId, Pageable pageable); + + List findByGruppeIdOrderByCreatedAtDesc(UUID gruppeId); + + Optional findFirstByGruppeIdOrderByCreatedAtDesc(UUID gruppeId); + + List findByGruppeIdInAndCreatedAtAfterOrderByCreatedAtDesc(List gruppeIds, LocalDateTime since); + + @Transactional + void deleteByGruppeId(UUID gruppeId); + + @Transactional + void deleteByAuthorId(UUID authorId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppenmitgliedRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppenmitgliedRepository.java new file mode 100644 index 0000000..f907b9b --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/GruppenmitgliedRepository.java @@ -0,0 +1,26 @@ +package de.oaa.xxx.gruppe.repository; + +import de.oaa.xxx.gruppe.entity.GruppenmitgliedEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface GruppenmitgliedRepository extends JpaRepository { + + Optional findFirstByGruppeIdAndUserId(UUID gruppeId, UUID userId); + + List findByGruppeId(UUID gruppeId); + + List findByUserId(UUID userId); + + @Transactional + void deleteByGruppeIdAndUserId(UUID gruppeId, UUID userId); + + long countByGruppeId(UUID gruppeId); + + @Transactional + void deleteByGruppeId(UUID gruppeId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/UmfrageOptionRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/UmfrageOptionRepository.java new file mode 100644 index 0000000..da21ea0 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/UmfrageOptionRepository.java @@ -0,0 +1,16 @@ +package de.oaa.xxx.gruppe.repository; + +import de.oaa.xxx.gruppe.entity.UmfrageOptionEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.UUID; + +public interface UmfrageOptionRepository extends JpaRepository { + + List findByBeitragIdOrderByReihenfolge(UUID beitragId); + + @Transactional + void deleteByBeitragId(UUID beitragId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/UmfrageStimmeRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/UmfrageStimmeRepository.java new file mode 100644 index 0000000..2499814 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/gruppe/repository/UmfrageStimmeRepository.java @@ -0,0 +1,21 @@ +package de.oaa.xxx.gruppe.repository; + +import de.oaa.xxx.gruppe.entity.UmfrageStimmeEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface UmfrageStimmeRepository extends JpaRepository { + + List findByBeitragIdAndUserId(UUID beitragId, UUID userId); + + Optional findByOptionIdAndUserId(UUID optionId, UUID userId); + + long countByOptionId(UUID optionId); + + @Transactional + void deleteByBeitragId(UUID beitragId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/KommentarController.java b/xxxthegame/src/main/java/de/oaa/xxx/social/KommentarController.java new file mode 100644 index 0000000..99e2acd --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/KommentarController.java @@ -0,0 +1,132 @@ +package de.oaa.xxx.social; + +import de.oaa.xxx.social.dto.KommentarDto; +import de.oaa.xxx.social.entity.KommentarEntity; +import de.oaa.xxx.social.entity.KommentarLikeEntity; +import de.oaa.xxx.social.repository.KommentarLikeRepository; +import de.oaa.xxx.social.repository.KommentarRepository; +import de.oaa.xxx.user.UserEntity; +import de.oaa.xxx.user.UserRepository; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.security.Principal; +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +@RestController +@RequestMapping("/social/kommentare") +public class KommentarController { + + private final KommentarRepository kommentarRepository; + private final KommentarLikeRepository likeRepository; + private final UserRepository userRepository; + + public KommentarController(KommentarRepository kommentarRepository, + KommentarLikeRepository likeRepository, + UserRepository userRepository) { + this.kommentarRepository = kommentarRepository; + this.likeRepository = likeRepository; + this.userRepository = userRepository; + } + + record CreateKommentarRequest(String targetType, UUID targetId, String text) {} + + @GetMapping + public ResponseEntity> getKommentare( + @RequestParam String targetType, + @RequestParam UUID targetId, + Principal principal) { + var meOpt = userRepository.findByEmail(principal.getName()); + if (meOpt.isEmpty()) return ResponseEntity.status(401).build(); + UUID myId = meOpt.get().getUserId(); + + List dtos = kommentarRepository + .findByTargetTypeAndTargetIdOrderByCreatedAtAsc(targetType, targetId) + .stream() + .map(k -> toDto(k, myId)) + .toList(); + return ResponseEntity.ok(dtos); + } + + @PostMapping + public ResponseEntity createKommentar(@RequestBody CreateKommentarRequest request, Principal principal) { + var meOpt = userRepository.findByEmail(principal.getName()); + if (meOpt.isEmpty()) return ResponseEntity.status(401).build(); + UUID myId = meOpt.get().getUserId(); + + if (request.text() == null || request.text().isBlank()) return ResponseEntity.badRequest().build(); + if (request.text().length() > 500) return ResponseEntity.badRequest().build(); + if (!List.of("PINNWAND", "IMAGE", "KOMMENTAR", "GROUP_POST").contains(request.targetType())) { + return ResponseEntity.badRequest().build(); + } + + KommentarEntity entity = new KommentarEntity(); + entity.setKommentarId(UUID.randomUUID()); + entity.setAuthorId(myId); + entity.setTargetType(request.targetType()); + entity.setTargetId(request.targetId()); + entity.setText(request.text().trim()); + entity.setCreatedAt(LocalDateTime.now()); + kommentarRepository.save(entity); + + return ResponseEntity.status(201).body(toDto(entity, myId)); + } + + @DeleteMapping("/{kommentarId}") + public ResponseEntity deleteKommentar(@PathVariable UUID kommentarId, Principal principal) { + var meOpt = userRepository.findByEmail(principal.getName()); + if (meOpt.isEmpty()) return ResponseEntity.status(401).build(); + UUID myId = meOpt.get().getUserId(); + + var kOpt = kommentarRepository.findById(kommentarId); + if (kOpt.isEmpty()) return ResponseEntity.notFound().build(); + if (!kOpt.get().getAuthorId().equals(myId)) return ResponseEntity.status(403).build(); + + // Delete nested replies and their likes + List replies = kommentarRepository + .findByTargetTypeAndTargetIdOrderByCreatedAtAsc("KOMMENTAR", kommentarId); + for (KommentarEntity reply : replies) { + likeRepository.deleteByKommentarId(reply.getKommentarId()); + kommentarRepository.delete(reply); + } + likeRepository.deleteByKommentarId(kommentarId); + kommentarRepository.delete(kOpt.get()); + return ResponseEntity.noContent().build(); + } + + @PostMapping("/{kommentarId}/like") + public ResponseEntity toggleLike(@PathVariable UUID kommentarId, Principal principal) { + var meOpt = userRepository.findByEmail(principal.getName()); + if (meOpt.isEmpty()) return ResponseEntity.status(401).build(); + UUID myId = meOpt.get().getUserId(); + + if (kommentarRepository.findById(kommentarId).isEmpty()) return ResponseEntity.notFound().build(); + + var existing = likeRepository.findByKommentarIdAndUserId(kommentarId, myId); + if (existing.isPresent()) { + likeRepository.delete(existing.get()); + } else { + KommentarLikeEntity like = new KommentarLikeEntity(); + like.setLikeId(UUID.randomUUID()); + like.setKommentarId(kommentarId); + like.setUserId(myId); + like.setLikedAt(LocalDateTime.now()); + likeRepository.save(like); + } + return ResponseEntity.ok().build(); + } + + private KommentarDto toDto(KommentarEntity k, UUID myId) { + UserEntity author = userRepository.findById(k.getAuthorId()).orElse(null); + String authorName = author != null ? author.getName() : "Unbekannt"; + String authorPic = author != null ? author.getProfilePicture() : null; + long likeCount = likeRepository.countByKommentarId(k.getKommentarId()); + boolean likedByMe = likeRepository.findByKommentarIdAndUserId(k.getKommentarId(), myId).isPresent(); + long replyCount = kommentarRepository.countByTargetTypeAndTargetId("KOMMENTAR", k.getKommentarId()); + return new KommentarDto(k.getKommentarId(), k.getAuthorId(), authorName, authorPic, + k.getTargetType(), k.getTargetId(), k.getText(), k.getCreatedAt(), + likeCount, likedByMe, replyCount); + } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/PinnwandController.java b/xxxthegame/src/main/java/de/oaa/xxx/social/PinnwandController.java new file mode 100644 index 0000000..6afbebc --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/PinnwandController.java @@ -0,0 +1,129 @@ +package de.oaa.xxx.social; + +import de.oaa.xxx.social.dto.PinnwandEintragDto; +import de.oaa.xxx.social.entity.PinnwandEintragEntity; +import de.oaa.xxx.social.entity.PinnwandLikeEntity; +import de.oaa.xxx.social.repository.KommentarRepository; +import de.oaa.xxx.social.repository.PinnwandEintragRepository; +import de.oaa.xxx.social.repository.PinnwandLikeRepository; +import de.oaa.xxx.user.UserEntity; +import de.oaa.xxx.user.UserRepository; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.security.Principal; +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +@RestController +@RequestMapping("/social/pinnwand") +public class PinnwandController { + + private final PinnwandEintragRepository eintragRepository; + private final PinnwandLikeRepository likeRepository; + private final KommentarRepository kommentarRepository; + private final UserRepository userRepository; + + public PinnwandController(PinnwandEintragRepository eintragRepository, + PinnwandLikeRepository likeRepository, + KommentarRepository kommentarRepository, + UserRepository userRepository) { + this.eintragRepository = eintragRepository; + this.likeRepository = likeRepository; + this.kommentarRepository = kommentarRepository; + this.userRepository = userRepository; + } + + record CreateEintragRequest(UUID profilUserId, String text) {} + + @GetMapping + public ResponseEntity> getEintraege(@RequestParam UUID userId, Principal principal) { + var meOpt = userRepository.findByEmail(principal.getName()); + if (meOpt.isEmpty()) return ResponseEntity.status(401).build(); + UUID myId = meOpt.get().getUserId(); + + List dtos = eintragRepository + .findByProfilUserIdOrderByCreatedAtDesc(userId) + .stream() + .map(e -> toDto(e, myId)) + .toList(); + return ResponseEntity.ok(dtos); + } + + @PostMapping + public ResponseEntity createEintrag(@RequestBody CreateEintragRequest request, Principal principal) { + var meOpt = userRepository.findByEmail(principal.getName()); + if (meOpt.isEmpty()) return ResponseEntity.status(401).build(); + UUID myId = meOpt.get().getUserId(); + + if (request.text() == null || request.text().isBlank()) return ResponseEntity.badRequest().build(); + if (request.text().length() > 1000) return ResponseEntity.badRequest().build(); + + PinnwandEintragEntity entity = new PinnwandEintragEntity(); + entity.setEintragId(UUID.randomUUID()); + entity.setProfilUserId(request.profilUserId()); + entity.setAuthorId(myId); + entity.setText(request.text().trim()); + entity.setCreatedAt(LocalDateTime.now()); + eintragRepository.save(entity); + + return ResponseEntity.status(201).body(toDto(entity, myId)); + } + + @DeleteMapping("/{eintragId}") + public ResponseEntity deleteEintrag(@PathVariable UUID eintragId, Principal principal) { + var meOpt = userRepository.findByEmail(principal.getName()); + if (meOpt.isEmpty()) return ResponseEntity.status(401).build(); + UUID myId = meOpt.get().getUserId(); + + var eintragOpt = eintragRepository.findById(eintragId); + if (eintragOpt.isEmpty()) return ResponseEntity.notFound().build(); + var eintrag = eintragOpt.get(); + + // Author or profile owner may delete + if (!eintrag.getAuthorId().equals(myId) && !eintrag.getProfilUserId().equals(myId)) { + return ResponseEntity.status(403).build(); + } + + likeRepository.deleteByEintragId(eintragId); + // Delete comments on this entry (via KommentarRepository) + kommentarRepository.findByTargetTypeAndTargetIdOrderByCreatedAtAsc("PINNWAND", eintragId) + .forEach(k -> kommentarRepository.deleteById(k.getKommentarId())); + eintragRepository.delete(eintrag); + return ResponseEntity.noContent().build(); + } + + @PostMapping("/{eintragId}/like") + public ResponseEntity toggleLike(@PathVariable UUID eintragId, Principal principal) { + var meOpt = userRepository.findByEmail(principal.getName()); + if (meOpt.isEmpty()) return ResponseEntity.status(401).build(); + UUID myId = meOpt.get().getUserId(); + + if (eintragRepository.findById(eintragId).isEmpty()) return ResponseEntity.notFound().build(); + + var existing = likeRepository.findByEintragIdAndUserId(eintragId, myId); + if (existing.isPresent()) { + likeRepository.delete(existing.get()); + } else { + PinnwandLikeEntity like = new PinnwandLikeEntity(); + like.setLikeId(UUID.randomUUID()); + like.setEintragId(eintragId); + like.setUserId(myId); + like.setLikedAt(LocalDateTime.now()); + likeRepository.save(like); + } + return ResponseEntity.ok().build(); + } + + private PinnwandEintragDto toDto(PinnwandEintragEntity e, UUID myId) { + UserEntity author = userRepository.findById(e.getAuthorId()).orElse(null); + String authorName = author != null ? author.getName() : "Unbekannt"; + String authorPic = author != null ? author.getProfilePicture() : null; + long likeCount = likeRepository.countByEintragId(e.getEintragId()); + boolean likedByMe = likeRepository.findByEintragIdAndUserId(e.getEintragId(), myId).isPresent(); + long kommentarCount = kommentarRepository.countByTargetTypeAndTargetId("PINNWAND", e.getEintragId()); + return new PinnwandEintragDto(e.getEintragId(), e.getProfilUserId(), e.getAuthorId(), + authorName, authorPic, e.getText(), e.getCreatedAt(), likeCount, likedByMe, kommentarCount); + } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/SocialController.java b/xxxthegame/src/main/java/de/oaa/xxx/social/SocialController.java index b60f4c1..821fd1b 100644 --- a/xxxthegame/src/main/java/de/oaa/xxx/social/SocialController.java +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/SocialController.java @@ -121,6 +121,21 @@ public class SocialController { return ResponseEntity.noContent().build(); } + @GetMapping("/friends/user/{userId}") + public ResponseEntity> getFriendsOfUser(@PathVariable UUID userId, Principal principal) { + if (userRepository.findByEmail(principal.getName()).isEmpty()) return ResponseEntity.status(401).build(); + List profiles = friendshipRepository.findFriends(userId, Status.ACCEPTED).stream() + .map(f -> { + UUID friendId = f.getSenderId().equals(userId) ? f.getReceiverId() : f.getSenderId(); + return userRepository.findById(friendId) + .map(u -> new UserProfile(u.getUserId(), u.getName(), u.getProfilePicture(), u.getProfilePictureHq(), null)) + .orElse(null); + }) + .filter(Objects::nonNull) + .toList(); + return ResponseEntity.ok(profiles); + } + @GetMapping("/friends") public ResponseEntity> getFriends(Principal principal) { var meOpt = userRepository.findByEmail(principal.getName()); @@ -259,7 +274,9 @@ public class SocialController { status = "PENDING_RECEIVED"; } } - return new UserProfile(user.getUserId(), user.getName(), user.getProfilePicture(), user.getProfilePictureHq(), status); + return new UserProfile(user.getUserId(), user.getName(), user.getProfilePicture(), user.getProfilePictureHq(), + status, user.getAlter(), user.getGroesse(), user.getGewicht(), + user.getGeschlecht(), user.getNeigung(), user.getBeziehungsstatus(), user.getBeschreibung()); } private MessageDto toMessageDto(MessageEntity m) { diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/dto/KommentarDto.java b/xxxthegame/src/main/java/de/oaa/xxx/social/dto/KommentarDto.java new file mode 100644 index 0000000..3dbf8c5 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/dto/KommentarDto.java @@ -0,0 +1,19 @@ +package de.oaa.xxx.social.dto; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +public record KommentarDto( + UUID kommentarId, + UUID authorId, + String authorName, + String authorPicture, + String targetType, + UUID targetId, + String text, + LocalDateTime createdAt, + long likeCount, + boolean likedByMe, + long replyCount +) {} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/dto/PinnwandEintragDto.java b/xxxthegame/src/main/java/de/oaa/xxx/social/dto/PinnwandEintragDto.java new file mode 100644 index 0000000..77bfbcf --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/dto/PinnwandEintragDto.java @@ -0,0 +1,17 @@ +package de.oaa.xxx.social.dto; + +import java.time.LocalDateTime; +import java.util.UUID; + +public record PinnwandEintragDto( + UUID eintragId, + UUID profilUserId, + UUID authorId, + String authorName, + String authorPicture, + String text, + LocalDateTime createdAt, + long likeCount, + boolean likedByMe, + long kommentarCount +) {} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/dto/UserProfile.java b/xxxthegame/src/main/java/de/oaa/xxx/social/dto/UserProfile.java index 2297277..9209610 100644 --- a/xxxthegame/src/main/java/de/oaa/xxx/social/dto/UserProfile.java +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/dto/UserProfile.java @@ -1,5 +1,27 @@ package de.oaa.xxx.social.dto; +import de.oaa.xxx.user.Beziehungsstatus; +import de.oaa.xxx.user.Geschlecht; +import de.oaa.xxx.user.Neigung; + import java.util.UUID; -public record UserProfile(UUID userId, String name, String profilePicture, String profilePictureHq, String friendStatus) {} +public record UserProfile( + UUID userId, + String name, + String profilePicture, + String profilePictureHq, + String friendStatus, + Integer alter, + Integer groesse, + Integer gewicht, + Geschlecht geschlecht, + Neigung neigung, + Beziehungsstatus beziehungsstatus, + String beschreibung +) { + /** Compact constructor for contexts where profile details are not needed (friend list etc.) */ + public UserProfile(UUID userId, String name, String profilePicture, String profilePictureHq, String friendStatus) { + this(userId, name, profilePicture, profilePictureHq, friendStatus, null, null, null, null, null, null, null); + } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/entity/KommentarEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/social/entity/KommentarEntity.java new file mode 100644 index 0000000..368a14c --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/entity/KommentarEntity.java @@ -0,0 +1,48 @@ +package de.oaa.xxx.social.entity; + +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "kommentar") +public class KommentarEntity { + + /** targetType values: PINNWAND, IMAGE, KOMMENTAR */ + @Id + @Column + private UUID kommentarId; + + @Column(nullable = false) + private UUID authorId; + + @Column(length = 20, nullable = false) + private String targetType; + + @Column(nullable = false) + private UUID targetId; + + @Column(columnDefinition = "TEXT", nullable = false) + private String text; + + @Column(nullable = false) + private LocalDateTime createdAt; + + public UUID getKommentarId() { return kommentarId; } + public void setKommentarId(UUID kommentarId) { this.kommentarId = kommentarId; } + + public UUID getAuthorId() { return authorId; } + public void setAuthorId(UUID authorId) { this.authorId = authorId; } + + public String getTargetType() { return targetType; } + public void setTargetType(String targetType) { this.targetType = targetType; } + + public UUID getTargetId() { return targetId; } + public void setTargetId(UUID targetId) { this.targetId = targetId; } + + public String getText() { return text; } + public void setText(String text) { this.text = text; } + + public LocalDateTime getCreatedAt() { return createdAt; } + public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/entity/KommentarLikeEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/social/entity/KommentarLikeEntity.java new file mode 100644 index 0000000..56e1620 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/entity/KommentarLikeEntity.java @@ -0,0 +1,35 @@ +package de.oaa.xxx.social.entity; + +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "kommentar_like") +public class KommentarLikeEntity { + + @Id + @Column + private UUID likeId; + + @Column(nullable = false) + private UUID kommentarId; + + @Column(nullable = false) + private UUID userId; + + @Column(nullable = false) + private LocalDateTime likedAt; + + public UUID getLikeId() { return likeId; } + public void setLikeId(UUID likeId) { this.likeId = likeId; } + + public UUID getKommentarId() { return kommentarId; } + public void setKommentarId(UUID kommentarId) { this.kommentarId = kommentarId; } + + public UUID getUserId() { return userId; } + public void setUserId(UUID userId) { this.userId = userId; } + + public LocalDateTime getLikedAt() { return likedAt; } + public void setLikedAt(LocalDateTime likedAt) { this.likedAt = likedAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/entity/PinnwandEintragEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/social/entity/PinnwandEintragEntity.java new file mode 100644 index 0000000..c07d379 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/entity/PinnwandEintragEntity.java @@ -0,0 +1,41 @@ +package de.oaa.xxx.social.entity; + +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "pinnwand_eintrag") +public class PinnwandEintragEntity { + + @Id + @Column + private UUID eintragId; + + @Column(nullable = false) + private UUID profilUserId; + + @Column(nullable = false) + private UUID authorId; + + @Column(columnDefinition = "TEXT", nullable = false) + private String text; + + @Column(nullable = false) + private LocalDateTime createdAt; + + public UUID getEintragId() { return eintragId; } + public void setEintragId(UUID eintragId) { this.eintragId = eintragId; } + + public UUID getProfilUserId() { return profilUserId; } + public void setProfilUserId(UUID profilUserId) { this.profilUserId = profilUserId; } + + public UUID getAuthorId() { return authorId; } + public void setAuthorId(UUID authorId) { this.authorId = authorId; } + + public String getText() { return text; } + public void setText(String text) { this.text = text; } + + public LocalDateTime getCreatedAt() { return createdAt; } + public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/entity/PinnwandLikeEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/social/entity/PinnwandLikeEntity.java new file mode 100644 index 0000000..f996c87 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/entity/PinnwandLikeEntity.java @@ -0,0 +1,35 @@ +package de.oaa.xxx.social.entity; + +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; + +@Entity +@Table(name = "pinnwand_like") +public class PinnwandLikeEntity { + + @Id + @Column + private UUID likeId; + + @Column(nullable = false) + private UUID eintragId; + + @Column(nullable = false) + private UUID userId; + + @Column(nullable = false) + private LocalDateTime likedAt; + + public UUID getLikeId() { return likeId; } + public void setLikeId(UUID likeId) { this.likeId = likeId; } + + public UUID getEintragId() { return eintragId; } + public void setEintragId(UUID eintragId) { this.eintragId = eintragId; } + + public UUID getUserId() { return userId; } + public void setUserId(UUID userId) { this.userId = userId; } + + public LocalDateTime getLikedAt() { return likedAt; } + public void setLikedAt(LocalDateTime likedAt) { this.likedAt = likedAt; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/repository/KommentarLikeRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/social/repository/KommentarLikeRepository.java new file mode 100644 index 0000000..0892a31 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/repository/KommentarLikeRepository.java @@ -0,0 +1,18 @@ +package de.oaa.xxx.social.repository; + +import de.oaa.xxx.social.entity.KommentarLikeEntity; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; +import java.util.UUID; + +public interface KommentarLikeRepository extends JpaRepository { + + long countByKommentarId(UUID kommentarId); + + Optional findByKommentarIdAndUserId(UUID kommentarId, UUID userId); + + void deleteByKommentarId(UUID kommentarId); + + void deleteByUserId(UUID userId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/repository/KommentarRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/social/repository/KommentarRepository.java new file mode 100644 index 0000000..d13189b --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/repository/KommentarRepository.java @@ -0,0 +1,16 @@ +package de.oaa.xxx.social.repository; + +import de.oaa.xxx.social.entity.KommentarEntity; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.UUID; + +public interface KommentarRepository extends JpaRepository { + + List findByTargetTypeAndTargetIdOrderByCreatedAtAsc(String targetType, UUID targetId); + + long countByTargetTypeAndTargetId(String targetType, UUID targetId); + + void deleteByAuthorId(UUID authorId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/repository/PinnwandEintragRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/social/repository/PinnwandEintragRepository.java new file mode 100644 index 0000000..13370b4 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/repository/PinnwandEintragRepository.java @@ -0,0 +1,16 @@ +package de.oaa.xxx.social.repository; + +import de.oaa.xxx.social.entity.PinnwandEintragEntity; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.UUID; + +public interface PinnwandEintragRepository extends JpaRepository { + + List findByProfilUserIdOrderByCreatedAtDesc(UUID profilUserId); + + void deleteByProfilUserId(UUID profilUserId); + + void deleteByAuthorId(UUID authorId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/social/repository/PinnwandLikeRepository.java b/xxxthegame/src/main/java/de/oaa/xxx/social/repository/PinnwandLikeRepository.java new file mode 100644 index 0000000..9861ede --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/social/repository/PinnwandLikeRepository.java @@ -0,0 +1,18 @@ +package de.oaa.xxx.social.repository; + +import de.oaa.xxx.social.entity.PinnwandLikeEntity; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; +import java.util.UUID; + +public interface PinnwandLikeRepository extends JpaRepository { + + long countByEintragId(UUID eintragId); + + Optional findByEintragIdAndUserId(UUID eintragId, UUID userId); + + void deleteByEintragId(UUID eintragId); + + void deleteByUserId(UUID userId); +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/user/Beziehungsstatus.java b/xxxthegame/src/main/java/de/oaa/xxx/user/Beziehungsstatus.java new file mode 100644 index 0000000..053fb9b --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/user/Beziehungsstatus.java @@ -0,0 +1,15 @@ +package de.oaa.xxx.user; + +public enum Beziehungsstatus { + SINGLE("single"), + IN_EINER_BEZIEHUNG("in einer Beziehung"), + VERHEIRATET("verheiratet"), + IN_EINER_OFFENEN_BEZIEHUNG("in einer offenen Beziehung"), + IN_EINER_OFFENEN_EHE("in einer offenen Ehe"); + + private final String label; + + Beziehungsstatus(String label) { this.label = label; } + + public String getLabel() { return label; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/user/Geschlecht.java b/xxxthegame/src/main/java/de/oaa/xxx/user/Geschlecht.java new file mode 100644 index 0000000..aa97eeb --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/user/Geschlecht.java @@ -0,0 +1,13 @@ +package de.oaa.xxx.user; + +public enum Geschlecht { + WEIBLICH("weiblich"), + DIVERS("divers"), + MAENNLICH("männlich"); + + private final String label; + + Geschlecht(String label) { this.label = label; } + + public String getLabel() { return label; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/user/Neigung.java b/xxxthegame/src/main/java/de/oaa/xxx/user/Neigung.java new file mode 100644 index 0000000..fadd2f3 --- /dev/null +++ b/xxxthegame/src/main/java/de/oaa/xxx/user/Neigung.java @@ -0,0 +1,16 @@ +package de.oaa.xxx.user; + +public enum Neigung { + DEVOT("devot"), + EHER_DEVOT("eher devot"), + SWITCHER("Switcher"), + EHER_DOMINANT("eher dominant"), + DOMINANT("dominant"), + KEINES("keines"); + + private final String label; + + Neigung(String label) { this.label = label; } + + public String getLabel() { return label; } +} diff --git a/xxxthegame/src/main/java/de/oaa/xxx/user/User.java b/xxxthegame/src/main/java/de/oaa/xxx/user/User.java index f8668a2..563995b 100644 --- a/xxxthegame/src/main/java/de/oaa/xxx/user/User.java +++ b/xxxthegame/src/main/java/de/oaa/xxx/user/User.java @@ -9,6 +9,13 @@ public class User { private String email; private String password; private String profilePicture; + private Integer alter; + private Integer groesse; + private Integer gewicht; + private Geschlecht geschlecht; + private Neigung neigung; + private Beziehungsstatus beziehungsstatus; + private String beschreibung; public UUID getUserId() { return userId; } public void setUserId(UUID userId) { this.userId = userId; } @@ -25,6 +32,27 @@ public class User { public String getProfilePicture() { return profilePicture; } public void setProfilePicture(String profilePicture) { this.profilePicture = profilePicture; } + public Integer getAlter() { return alter; } + public void setAlter(Integer alter) { this.alter = alter; } + + public Integer getGroesse() { return groesse; } + public void setGroesse(Integer groesse) { this.groesse = groesse; } + + public Integer getGewicht() { return gewicht; } + public void setGewicht(Integer gewicht) { this.gewicht = gewicht; } + + public Geschlecht getGeschlecht() { return geschlecht; } + public void setGeschlecht(Geschlecht geschlecht) { this.geschlecht = geschlecht; } + + public Neigung getNeigung() { return neigung; } + public void setNeigung(Neigung neigung) { this.neigung = neigung; } + + public Beziehungsstatus getBeziehungsstatus() { return beziehungsstatus; } + public void setBeziehungsstatus(Beziehungsstatus beziehungsstatus) { this.beziehungsstatus = beziehungsstatus; } + + public String getBeschreibung() { return beschreibung; } + public void setBeschreibung(String beschreibung) { this.beschreibung = beschreibung; } + @Override public String toString() { return "User[userId=" + userId + ", name=" + name + ", email=" + email + "]"; diff --git a/xxxthegame/src/main/java/de/oaa/xxx/user/UserController.java b/xxxthegame/src/main/java/de/oaa/xxx/user/UserController.java index ce00baa..1bebc60 100644 --- a/xxxthegame/src/main/java/de/oaa/xxx/user/UserController.java +++ b/xxxthegame/src/main/java/de/oaa/xxx/user/UserController.java @@ -33,6 +33,10 @@ import de.oaa.xxx.session.repository.MitspielerRepository; import de.oaa.xxx.session.repository.SessionRepository; import de.oaa.xxx.social.repository.ProfileImageLikeRepository; import de.oaa.xxx.social.repository.ProfileImageRepository; +import de.oaa.xxx.social.repository.PinnwandEintragRepository; +import de.oaa.xxx.social.repository.PinnwandLikeRepository; +import de.oaa.xxx.social.repository.KommentarRepository; +import de.oaa.xxx.social.repository.KommentarLikeRepository; import jakarta.transaction.Transactional; @RestController @@ -57,6 +61,10 @@ public class UserController { private final PasswordResetRepository passwordResetRepository; private final ProfileImageRepository profileImageRepository; private final ProfileImageLikeRepository profileImageLikeRepository; + private final PinnwandEintragRepository pinnwandEintragRepository; + private final PinnwandLikeRepository pinnwandLikeRepository; + private final KommentarRepository kommentarRepository; + private final KommentarLikeRepository kommentarLikeRepository; public UserController(UserRepository userRepository, RegistrationRepository registrationRepository, @@ -73,7 +81,11 @@ public class UserController { EmailChangeRepository emailChangeRepository, PasswordResetRepository passwordResetRepository, ProfileImageRepository profileImageRepository, - ProfileImageLikeRepository profileImageLikeRepository) { + ProfileImageLikeRepository profileImageLikeRepository, + PinnwandEintragRepository pinnwandEintragRepository, + PinnwandLikeRepository pinnwandLikeRepository, + KommentarRepository kommentarRepository, + KommentarLikeRepository kommentarLikeRepository) { this.userRepository = userRepository; this.registrationRepository = registrationRepository; this.aufgabenGruppeRepository = aufgabenGruppeRepository; @@ -90,10 +102,16 @@ public class UserController { this.passwordResetRepository = passwordResetRepository; this.profileImageRepository = profileImageRepository; this.profileImageLikeRepository = profileImageLikeRepository; + this.pinnwandEintragRepository = pinnwandEintragRepository; + this.pinnwandLikeRepository = pinnwandLikeRepository; + this.kommentarRepository = kommentarRepository; + this.kommentarLikeRepository = kommentarLikeRepository; } record ProfilePictureRequest(String picture, String pictureHq) {} record NameChangeRequest(String name) {} + record ProfileRequest(Integer alter, Integer groesse, Integer gewicht, + Geschlecht geschlecht, Neigung neigung, Beziehungsstatus beziehungsstatus, String beschreibung) {} @PutMapping("/me/picture") public ResponseEntity updateProfilePicture(@RequestBody ProfilePictureRequest request, Principal principal) { @@ -105,6 +123,25 @@ public class UserController { return ResponseEntity.ok().build(); } + @PutMapping("/me/profile") + public ResponseEntity updateProfile(@RequestBody ProfileRequest request, Principal principal) { + var userOpt = userRepository.findByEmail(principal.getName()); + if (userOpt.isEmpty()) return ResponseEntity.status(401).build(); + var user = userOpt.get(); + if (request.beschreibung() != null && request.beschreibung().length() > 600) { + return ResponseEntity.badRequest().build(); + } + user.setAlter(request.alter()); + user.setGroesse(request.groesse()); + user.setGewicht(request.gewicht()); + user.setGeschlecht(request.geschlecht()); + user.setNeigung(request.neigung()); + user.setBeziehungsstatus(request.beziehungsstatus()); + user.setBeschreibung(request.beschreibung()); + userRepository.save(user); + return ResponseEntity.ok().build(); + } + @PutMapping("/me/name") public ResponseEntity updateName(@RequestBody NameChangeRequest request, Principal principal) { String newName = request.name(); @@ -169,10 +206,31 @@ public class UserController { var profileImages = profileImageRepository.findByUserIdOrderByUploadedAtDesc(userId); for (var img : profileImages) { profileImageLikeRepository.deleteByImageId(img.getImageId()); + kommentarRepository.findByTargetTypeAndTargetIdOrderByCreatedAtAsc("IMAGE", img.getImageId()) + .forEach(k -> { + kommentarLikeRepository.deleteByKommentarId(k.getKommentarId()); + kommentarRepository.delete(k); + }); } profileImageRepository.deleteAll(profileImages); profileImageLikeRepository.deleteByUserId(userId); + // 5c. Delete pinnwand entries (authored by or on user's wall) + their likes/comments + var ownWallEntries = pinnwandEintragRepository.findByProfilUserIdOrderByCreatedAtDesc(userId); + for (var e : ownWallEntries) { + pinnwandLikeRepository.deleteByEintragId(e.getEintragId()); + kommentarRepository.findByTargetTypeAndTargetIdOrderByCreatedAtAsc("PINNWAND", e.getEintragId()) + .forEach(k -> { + kommentarLikeRepository.deleteByKommentarId(k.getKommentarId()); + kommentarRepository.delete(k); + }); + } + pinnwandEintragRepository.deleteAll(ownWallEntries); + pinnwandEintragRepository.deleteByAuthorId(userId); + pinnwandLikeRepository.deleteByUserId(userId); + kommentarRepository.deleteByAuthorId(userId); + kommentarLikeRepository.deleteByUserId(userId); + // 6. Delete user userRepository.delete(user); diff --git a/xxxthegame/src/main/java/de/oaa/xxx/user/UserEntity.java b/xxxthegame/src/main/java/de/oaa/xxx/user/UserEntity.java index 21dfb01..f3e0c64 100644 --- a/xxxthegame/src/main/java/de/oaa/xxx/user/UserEntity.java +++ b/xxxthegame/src/main/java/de/oaa/xxx/user/UserEntity.java @@ -1,9 +1,6 @@ package de.oaa.xxx.user; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.Table; +import jakarta.persistence.*; import java.util.UUID; @@ -27,6 +24,30 @@ public class UserEntity { @Column(columnDefinition = "MEDIUMTEXT") private String profilePictureHq; + @Column(name = "benutzer_alter") + private Integer alter; + + @Column + private Integer groesse; + + @Column + private Integer gewicht; + + @Enumerated(EnumType.STRING) + @Column(length = 20) + private Geschlecht geschlecht; + + @Enumerated(EnumType.STRING) + @Column(length = 20) + private Neigung neigung; + + @Enumerated(EnumType.STRING) + @Column(length = 30) + private Beziehungsstatus beziehungsstatus; + + @Column(columnDefinition = "TEXT") + private String beschreibung; + public UUID getUserId() { return userId; } public void setUserId(UUID userId) { this.userId = userId; } @@ -45,6 +66,27 @@ public class UserEntity { public String getProfilePictureHq() { return profilePictureHq; } public void setProfilePictureHq(String profilePictureHq) { this.profilePictureHq = profilePictureHq; } + public Integer getAlter() { return alter; } + public void setAlter(Integer alter) { this.alter = alter; } + + public Integer getGroesse() { return groesse; } + public void setGroesse(Integer groesse) { this.groesse = groesse; } + + public Integer getGewicht() { return gewicht; } + public void setGewicht(Integer gewicht) { this.gewicht = gewicht; } + + public Geschlecht getGeschlecht() { return geschlecht; } + public void setGeschlecht(Geschlecht geschlecht) { this.geschlecht = geschlecht; } + + public Neigung getNeigung() { return neigung; } + public void setNeigung(Neigung neigung) { this.neigung = neigung; } + + public Beziehungsstatus getBeziehungsstatus() { return beziehungsstatus; } + public void setBeziehungsstatus(Beziehungsstatus beziehungsstatus) { this.beziehungsstatus = beziehungsstatus; } + + public String getBeschreibung() { return beschreibung; } + public void setBeschreibung(String beschreibung) { this.beschreibung = beschreibung; } + @Override public String toString() { return "UserEntity[userId=" + userId + ", name=" + name + ", email=" + email + "]"; @@ -56,6 +98,13 @@ public class UserEntity { user.setName(name); user.setUserId(userId); user.setProfilePicture(profilePicture); + user.setAlter(alter); + user.setGroesse(groesse); + user.setGewicht(gewicht); + user.setGeschlecht(geschlecht); + user.setNeigung(neigung); + user.setBeziehungsstatus(beziehungsstatus); + user.setBeschreibung(beschreibung); return user; } } diff --git a/xxxthegame/src/main/resources/static/benutzer.html b/xxxthegame/src/main/resources/static/benutzer.html index f466a7e..c2883cb 100644 --- a/xxxthegame/src/main/resources/static/benutzer.html +++ b/xxxthegame/src/main/resources/static/benutzer.html @@ -7,128 +7,116 @@
+

Wird geladen…

-
- + +
+
+

Freundschaft beenden

+

Möchtest du diese Freundschaft wirklich beenden?

+
+ + +
+
+
+ diff --git a/xxxthegame/src/main/resources/static/gruppe.html b/xxxthegame/src/main/resources/static/gruppe.html new file mode 100644 index 0000000..d0fcfba --- /dev/null +++ b/xxxthegame/src/main/resources/static/gruppe.html @@ -0,0 +1,1179 @@ + + + + + + Gruppe – XXX The Game + + + + + +
+
+ +
+
👥
+
+

Wird geladen…

+

+
+
+
+ +
+ + + +
+ + +
+ + +
+ +
+ +
+
+ + +
+
    +
    + + +
    +
    +

    Gruppe bearbeiten

    +
    + + + + + + + + +
    + + +
    + + +
    +
    + +
    +

    Beitrittsanfragen

    +
    +

    Keine ausstehenden Anfragen.

    +
    +
    + +
    +

    Gemeldete Beiträge

    +
    +

    Keine Meldungen.

    +
    +
    + +
    +

    Gruppe löschen

    + +
    +
    +
    +
    + + +
    +
    +

    Gruppe verlassen

    +

    Möchtest du diese Gruppe wirklich verlassen?

    +
    + + +
    +
    +
    + + +
    +
    +

    Gruppe löschen

    +

    Diese Aktion kann nicht rückgängig gemacht werden. Alle Beiträge und Mitgliedschaften werden gelöscht.

    +
    + + +
    +
    +
    + + +
    +
    +

    +

    +
    +
    +
    + + + + + + + + + diff --git a/xxxthegame/src/main/resources/static/gruppen.html b/xxxthegame/src/main/resources/static/gruppen.html new file mode 100644 index 0000000..afe1088 --- /dev/null +++ b/xxxthegame/src/main/resources/static/gruppen.html @@ -0,0 +1,403 @@ + + + + + + Gruppen – XXX The Game + + + + + +
    +
    +
    +

    Gruppen

    + +
    + +
    + + + +
    + + +
    +
    + +
    + + +
    +
    + + +
    +
    +

    Gib einen Suchbegriff ein.

    +
    + + +
    +
      + +
      +
      +
      + + +
      +
      +

      Gruppe erstellen

      + + + + + + + + +
      + + +
      + +
      + + +
      +
      +
      + + +
      +
      +

      Beitrittsanfrage senden

      +

      + + + +
      + + +
      +
      +
      + + + + + + diff --git a/xxxthegame/src/main/resources/static/js/sidebar.js b/xxxthegame/src/main/resources/static/js/sidebar.js index f8d1559..8c24522 100644 --- a/xxxthegame/src/main/resources/static/js/sidebar.js +++ b/xxxthegame/src/main/resources/static/js/sidebar.js @@ -136,7 +136,7 @@ ); overlay.addEventListener('click', closeMenu); sidebar.querySelectorAll('a:not([href="/login/logout"]):not(.sidebar-group-toggle)').forEach(l => - l.addEventListener('click', () => { if (window.innerWidth <= 768) closeMenu(); }) + l.addEventListener('click', () => { if (window.innerWidth <= (parseInt(getComputedStyle(document.documentElement).getPropertyValue('--breakpoint-mobile').trim()) || 768)) closeMenu(); }) ); // Social sidebar auf allen App-Seiten nachladen diff --git a/xxxthegame/src/main/resources/static/js/social-sidebar.js b/xxxthegame/src/main/resources/static/js/social-sidebar.js index 7efc208..19ee5cf 100644 --- a/xxxthegame/src/main/resources/static/js/social-sidebar.js +++ b/xxxthegame/src/main/resources/static/js/social-sidebar.js @@ -5,9 +5,11 @@ const path = window.location.pathname; const links = [ + { href: '/feed.html', icon: '📰', label: 'Feed', badgeId: null, mobileBadgeId: null }, { href: '/personen-suchen.html', icon: '⊕', label: 'Personen suchen', badgeId: null, mobileBadgeId: null }, { href: '/freunde.html', icon: '♡', label: 'Freunde', badgeId: 'socialFriendsBadge', mobileBadgeId: 'socialMobileFriendsBadge' }, { href: '/nachrichten.html', icon: '✉', label: 'Nachrichten', badgeId: 'socialMsgBadge', mobileBadgeId: 'socialMobileMsgBadge' }, + { href: '/gruppen.html', icon: '👥', label: 'Gruppen', badgeId: 'socialGruppenBadge', mobileBadgeId: 'socialMobileGruppenBadge' }, ]; const profileActive = (path === '/benutzer.html' || path === '/profile.html') ? ' class="active"' : ''; @@ -108,4 +110,10 @@ .then(r => r.ok ? r.json() : 0) .then(n => setBadge(['socialMsgBadge', 'socialMobileMsgBadge'], n)) .catch(() => {}); + + Promise.all([ + fetch('/gruppen/requests/pending/count').then(r => r.ok ? r.json() : 0).catch(() => 0), + fetch('/gruppen/reports/pending/count').then(r => r.ok ? r.json() : 0).catch(() => 0) + ]).then(([joins, reports]) => setBadge(['socialGruppenBadge', 'socialMobileGruppenBadge'], joins + reports)) + .catch(() => {}); })(); diff --git a/xxxthegame/src/main/resources/static/profile.html b/xxxthegame/src/main/resources/static/profile.html index 7207eb2..f63fae4 100644 --- a/xxxthegame/src/main/resources/static/profile.html +++ b/xxxthegame/src/main/resources/static/profile.html @@ -168,6 +168,60 @@ color: var(--color-primary); } + /* ── Profile extras ── */ + .profile-extras-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 0.75rem 1rem; + margin-bottom: 1rem; + } + + .profile-extras-grid .full-col { + grid-column: 1 / -1; + } + + select { + width: 100%; + padding: 0.65rem 0.9rem; + border: 1px solid var(--color-secondary); + border-radius: 6px; + background: var(--color-secondary); + color: var(--color-text); + font-size: 1rem; + outline: none; + transition: border-color 0.2s; + appearance: none; + -webkit-appearance: none; + } + + select:focus { border-color: var(--color-primary); } + + textarea { + width: 100%; + padding: 0.65rem 0.9rem; + border: 1px solid var(--color-secondary); + border-radius: 6px; + background: var(--color-secondary); + color: var(--color-text); + font-size: 1rem; + outline: none; + resize: vertical; + min-height: 100px; + transition: border-color 0.2s; + font-family: inherit; + } + + textarea:focus { border-color: var(--color-primary); } + + .char-count { + font-size: 0.75rem; + color: var(--color-muted); + text-align: right; + margin-top: 0.25rem; + } + + .char-count.over { color: var(--color-primary); } + /* ── Modal ── */ .modal-backdrop { display: none; @@ -237,6 +291,60 @@
      + + +
      +
      + + +
      +
      + + +
      +
      + + +
      +
      + + +
      +
      + + +
      +
      + + +
      +
      + + +
      0 / 600
      +
      +
      +
      @@ -303,6 +411,7 @@