From 908c2135cd38417d1b2b87ab481e667632996bfc Mon Sep 17 00:00:00 2001 From: Jeremie Bresson Date: Thu, 28 Nov 2024 22:21:34 +0100 Subject: [PATCH] Split API and Model jars Fixes https://github.com/gitlab4j/gitlab4j-api/issues/1067 --- README.md | 30 +- build.gradle | 141 ++-- gitlab4j-api/build.gradle | 57 ++ .../java/org/gitlab4j/api/AbstractApi.java | 21 + .../gitlab4j/api/ApplicationSettingsApi.java | 2 +- .../org/gitlab4j/api/ApplicationsApi.java | 0 .../java/org/gitlab4j/api/AuditEventApi.java | 2 +- .../java/org/gitlab4j/api/AwardEmojiApi.java | 0 .../main/java/org/gitlab4j/api/BoardsApi.java | 0 .../java/org/gitlab4j/api/CommitsApi.java | 9 +- .../main/java/org/gitlab4j/api/Constants.java | 7 + .../gitlab4j/api/ContainerRegistryApi.java | 0 .../java/org/gitlab4j/api/DeployKeysApi.java | 0 .../org/gitlab4j/api/DeployTokensApi.java | 0 .../java/org/gitlab4j/api/DeploymentsApi.java | 2 +- .../java/org/gitlab4j/api/DiscussionsApi.java | 0 .../org/gitlab4j/api/EnvironmentsApi.java | 0 .../main/java/org/gitlab4j/api/EpicsApi.java | 3 +- .../main/java/org/gitlab4j/api/EventsApi.java | 0 .../gitlab4j/api/ExternalStatusCheckApi.java | 0 .../main/java/org/gitlab4j/api/GitLabApi.java | 2 +- .../org/gitlab4j/api/GitLabApiClient.java | 2 +- .../org/gitlab4j/api/GitLabApiException.java | 0 .../java/org/gitlab4j/api/GitLabApiForm.java | 10 +- .../org/gitlab4j/api/GitLabCiYamlApi.java | 0 .../main/java/org/gitlab4j/api/GroupApi.java | 32 +- .../java/org/gitlab4j/api/HealthCheckApi.java | 0 .../java/org/gitlab4j/api/HookManager.java | 0 .../org/gitlab4j/api/ImportExportApi.java | 0 .../main/java/org/gitlab4j/api/IssuesApi.java | 19 +- .../main/java/org/gitlab4j/api/JobApi.java | 1 + .../main/java/org/gitlab4j/api/KeysApi.java | 0 .../main/java/org/gitlab4j/api/LabelsApi.java | 8 +- .../java/org/gitlab4j/api/LicenseApi.java | 0 .../org/gitlab4j/api/LicenseTemplatesApi.java | 0 .../java/org/gitlab4j/api/MarkdownApi.java | 0 .../org/gitlab4j/api/MergeRequestApi.java | 17 +- .../java/org/gitlab4j/api/MetadataApi.java | 0 .../java/org/gitlab4j/api/MilestonesApi.java | 0 .../java/org/gitlab4j/api/NamespaceApi.java | 0 .../main/java/org/gitlab4j/api/NotesApi.java | 0 .../gitlab4j/api/NotificationSettingsApi.java | 0 .../java/org/gitlab4j/api/PackagesApi.java | 3 +- .../main/java/org/gitlab4j/api/Pager.java | 1 + .../org/gitlab4j/api/PagerSpliterator.java | 0 .../gitlab4j/api/PersonalAccessTokenApi.java | 2 +- .../java/org/gitlab4j/api/PipelineApi.java | 3 +- .../java/org/gitlab4j/api/ProjectApi.java | 21 +- .../java/org/gitlab4j/api/ProjectLicense.java | 0 .../gitlab4j/api/ProtectedBranchesApi.java | 5 +- .../org/gitlab4j/api/ProxyClientConfig.java | 0 .../org/gitlab4j/api/ReleaseLinksApi.java | 0 .../java/org/gitlab4j/api/ReleasesApi.java | 0 .../java/org/gitlab4j/api/RepositoryApi.java | 8 +- .../org/gitlab4j/api/RepositoryFileApi.java | 1 + .../gitlab4j/api/RepositorySubmodulesApi.java | 0 .../gitlab4j/api/ResourceLabelEventsApi.java | 0 .../gitlab4j/api/ResourceStateEventsApi.java | 0 .../java/org/gitlab4j/api/RunnersApi.java | 0 .../main/java/org/gitlab4j/api/SearchApi.java | 0 .../java/org/gitlab4j/api/ServicesApi.java | 16 +- .../java/org/gitlab4j/api/SnippetsApi.java | 0 .../org/gitlab4j/api}/SystemHookManager.java | 16 +- .../java/org/gitlab4j/api/SystemHooksApi.java | 0 .../main/java/org/gitlab4j/api/TagsApi.java | 2 +- .../main/java/org/gitlab4j/api/TodosApi.java | 0 .../main/java/org/gitlab4j/api/TopicsApi.java | 0 .../main/java/org/gitlab4j/api/UserApi.java | 0 .../org/gitlab4j/api}/WebHookManager.java | 17 +- .../main/java/org/gitlab4j/api/WikisApi.java | 0 .../api/systemhooks/SystemHookManager.java | 9 + .../gitlab4j/api/utils/AccessTokenUtils.java | 1 + .../org/gitlab4j/api/utils/DurationUtils.java | 7 + .../org/gitlab4j/api/utils/EmailChecker.java | 0 .../org/gitlab4j/api/utils/FileUtils.java | 24 + .../gitlab4j/api/utils/HttpRequestUtils.java | 2 + .../java/org/gitlab4j/api/utils/ISO8601.java | 7 + .../org/gitlab4j/api/utils/JacksonJson.java | 1 + .../api/utils/JacksonJsonEnumHelper.java | 24 + .../api/utils/MaskingLoggingFilter.java | 0 .../api/utils/Oauth2LoginStreamingOutput.java | 0 .../org/gitlab4j/api/utils/SecretString.java | 0 .../org/gitlab4j/api/utils/UrlEncoder.java | 0 .../gitlab4j/api/webhook/WebHookManager.java | 9 + .../gitlab4j/api/AbstractIntegrationTest.java | 0 .../java/org/gitlab4j/api/HelperUtils.java | 0 .../test/java/org/gitlab4j/api/JsonUtils.java | 0 .../java/org/gitlab4j/api/MockResponse.java | 2 + .../gitlab4j/api/MockServletInputStream.java | 0 .../gitlab4j/api/PagerSpliteratorTest.java | 0 .../org/gitlab4j/api/PropertyConstants.java | 0 .../api/SetupIntegrationTestExtension.java | 0 .../org/gitlab4j/api/TestAccessToken.java | 2 +- .../gitlab4j/api/TestAccessTokenUtils.java | 0 .../api/TestApplicationSettingsApi.java | 0 .../org/gitlab4j/api/TestApplicationsApi.java | 2 +- .../org/gitlab4j/api/TestAvatarUpload.java | 0 .../api/TestCommitDiscussionsApi.java | 1 + .../java/org/gitlab4j/api/TestCommitsApi.java | 2 +- .../org/gitlab4j/api/TestDeployKeysApi.java | 0 .../org/gitlab4j/api/TestDeployTokensApi.java | 2 +- .../org/gitlab4j/api/TestDeploymentsApi.java | 2 +- .../org/gitlab4j/api/TestEmailChecker.java | 0 .../org/gitlab4j/api/TestEnvironmentsApi.java | 0 .../gitlab4j/api/TestEpicDiscussionsApi.java | 1 + .../java/org/gitlab4j/api/TestEventsApi.java | 3 +- .../api/TestExternalStatusCheckApi.java | 1 + .../java/org/gitlab4j/api/TestGitLabApi.java | 0 .../org/gitlab4j/api/TestGitLabApiBeans.java | 43 ++ .../org/gitlab4j/api/TestGitLabApiEvents.java | 78 +++ .../gitlab4j/api/TestGitLabApiException.java | 0 .../org/gitlab4j/api/TestGitLabCiYamlApi.java | 0 .../org/gitlab4j/api/TestGitLabLogin.java | 0 .../java/org/gitlab4j/api/TestGroupApi.java | 0 .../api/TestGroupCustomAttributes.java | 0 .../org/gitlab4j/api/TestHealthCheckApi.java | 0 .../api/TestIgnoreCertificateErrors.java | 0 .../org/gitlab4j/api/TestImportExportApi.java | 0 .../gitlab4j/api/TestIssueDiscussionsApi.java | 1 + .../java/org/gitlab4j/api/TestIssuesApi.java | 10 +- .../java/org/gitlab4j/api/TestJobApi.java | 0 .../java/org/gitlab4j/api/TestLabelsApi.java | 0 .../org/gitlab4j/api/TestMarkdownApi.java | 0 .../org/gitlab4j/api/TestMergeRequestApi.java | 2 +- .../api/TestMergeRequestDiscussionsApi.java | 1 + .../org/gitlab4j/api/TestMetadataApi.java | 0 .../org/gitlab4j/api/TestNamespaceApi.java | 0 .../java/org/gitlab4j/api/TestNotesApi.java | 2 +- .../api/TestNotificationSettingsApi.java | 0 .../api/TestOauth2LoginStreamingOutput.java | 0 .../java/org/gitlab4j/api/TestPackageApi.java | 1 + .../test/java/org/gitlab4j/api/TestPager.java | 0 .../org/gitlab4j/api/TestPipelineApi.java | 1 + .../java/org/gitlab4j/api/TestProjectApi.java | 1 + .../gitlab4j/api/TestProjectApiSnippets.java | 0 .../api/TestProjectCustomAttributes.java | 0 .../api/TestProtectedBranchesApi.java | 0 .../org/gitlab4j/api/TestReleaseLinksApi.java | 1 + .../org/gitlab4j/api/TestReleasesApi.java | 0 .../org/gitlab4j/api/TestRepositoryApi.java | 2 +- .../gitlab4j/api/TestRepositoryFileApi.java | 0 .../api/TestRepositorySubmodulesApi.java | 1 + .../api/TestRequestResponseLogging.java | 0 .../api/TestResourceStateEventsApi.java | 1 + .../java/org/gitlab4j/api/TestRunnersApi.java | 0 .../java/org/gitlab4j/api/TestSearchApi.java | 6 +- .../org/gitlab4j/api/TestServicesApi.java | 0 .../api/TestSnippetDiscussionsApi.java | 1 + .../org/gitlab4j/api/TestSnippetsApi.java | 0 .../java/org/gitlab4j/api/TestStreams.java | 1 + .../org/gitlab4j/api/TestSystemHooksApi.java | 0 .../java/org/gitlab4j/api/TestTagsApi.java | 2 +- .../java/org/gitlab4j/api/TestTodosApi.java | 2 +- .../java/org/gitlab4j/api/TestTopicsApi.java | 1 + .../gitlab4j/api/TestUnitMergeRequestApi.java | 0 .../java/org/gitlab4j/api/TestUpload.java | 0 .../java/org/gitlab4j/api/TestUserApi.java | 2 +- .../java/org/gitlab4j/api/TestWikisApi.java | 0 .../gitlab4j/api/application-settings.json | 96 +-- .../org/gitlab4j/api/commit-discussions.json | 138 ++-- .../resources/org/gitlab4j/api/commit.json | 0 .../org/gitlab4j/api/epic-discussions.json | 138 ++-- .../api/external-status-check-statuses.json | 0 .../gitlab4j/api/external-status-checks.json | 0 .../org/gitlab4j/api/issue-discussions.json | 136 ++-- .../resources/org/gitlab4j/api/links.json | 0 .../api/merge-request-discussions.json | 142 ++-- .../api/merge-request-system-hook-event.json | 232 +++--- .../org/gitlab4j/api/merge-request.json | 0 .../org/gitlab4j/api/snippet-discussions.json | 136 ++-- .../resources/org/gitlab4j/api/topic.json | 0 .../resources/org/gitlab4j/api/user-list.json | 0 gitlab4j-models/build.gradle | 51 ++ .../org/gitlab4j/api/models/AbstractEpic.java | 4 +- .../gitlab4j/api/models/AbstractGroup.java | 2 +- .../gitlab4j/api/models/AbstractIssue.java | 4 +- .../api/models/AbstractMinimalEpic.java | 2 +- .../org/gitlab4j/api/models/AbstractUser.java | 2 +- .../api/models/AcceptMergeRequestParams.java | 6 +- .../org/gitlab4j/api/models/AccessLevel.java | 3 - .../gitlab4j/api/models/AccessRequest.java | 0 .../org/gitlab4j/api/models/AllowedTo.java | 6 +- .../org/gitlab4j/api/models/Application.java | 0 .../api/models/ApplicationSettings.java | 7 +- .../org/gitlab4j/api/models/ApprovalRule.java | 2 +- .../api/models/ApprovalRuleParams.java | 6 +- .../gitlab4j/api/models/ApprovalState.java | 2 +- .../org/gitlab4j/api/models/ApprovedBy.java | 2 +- .../org/gitlab4j/api/models/Artifact.java | 4 +- .../gitlab4j/api/models/ArtifactsFile.java | 2 +- .../java/org/gitlab4j/api/models/Assets.java | 4 +- .../org/gitlab4j/api/models/Assignee.java | 2 +- .../org/gitlab4j/api/models/AuditEvent.java | 2 +- .../gitlab4j/api/models/AuditEventDetail.java | 2 +- .../java/org/gitlab4j/api/models/Author.java | 0 .../org/gitlab4j/api/models/AwardEmoji.java | 4 +- .../java/org/gitlab4j/api/models/Badge.java | 4 +- .../java/org/gitlab4j/api/models/Blame.java | 2 +- .../java/org/gitlab4j/api/models/Board.java | 2 +- .../org/gitlab4j/api/models/BoardList.java | 2 +- .../java/org/gitlab4j/api/models/Branch.java | 2 +- .../api/models/BranchAccessLevel.java | 2 +- .../java/org/gitlab4j/api/models/Bridge.java | 2 +- .../gitlab4j/api/models/ChangelogPayload.java | 10 +- .../java/org/gitlab4j/api/models/Changes.java | 2 +- .../org/gitlab4j/api/models/ChildEpic.java | 2 +- .../java/org/gitlab4j/api/models/Comment.java | 4 +- .../java/org/gitlab4j/api/models/Commit.java | 2 +- .../org/gitlab4j/api/models/CommitAction.java | 15 +- .../gitlab4j/api/models/CommitPayload.java | 2 +- .../org/gitlab4j/api/models/CommitRef.java | 4 +- .../org/gitlab4j/api/models/CommitStats.java | 2 +- .../org/gitlab4j/api/models/CommitStatus.java | 2 +- .../api/models/CommitStatusFilter.java | 10 +- .../gitlab4j/api/models/CompareResults.java | 2 +- .../org/gitlab4j/api/models/Contributor.java | 0 .../gitlab4j/api/models/CreatedChildEpic.java | 2 +- .../gitlab4j/api/models/CustomAttribute.java | 0 .../org/gitlab4j/api/models/DeployKey.java | 2 +- .../org/gitlab4j/api/models/DeployToken.java | 4 +- .../org/gitlab4j/api/models/Deployable.java | 4 +- .../org/gitlab4j/api/models/Deployment.java | 4 +- .../gitlab4j/api/models/DeploymentFilter.java | 18 +- .../gitlab4j/api/models/DetailedStatus.java | 2 +- .../java/org/gitlab4j/api/models/Diff.java | 2 +- .../java/org/gitlab4j/api/models/DiffRef.java | 2 +- .../org/gitlab4j/api/models/Discussion.java | 2 +- .../api/models/DownstreamPipeline.java | 2 +- .../org/gitlab4j/api/models/Duration.java | 2 +- .../java/org/gitlab4j/api/models/Email.java | 0 .../org/gitlab4j/api/models/Environment.java | 4 +- .../java/org/gitlab4j/api/models/Epic.java | 2 +- .../org/gitlab4j/api/models/EpicFilter.java | 14 +- .../org/gitlab4j/api/models/EpicInLink.java | 2 +- .../org/gitlab4j/api/models/EpicIssue.java | 2 +- .../gitlab4j/api/models/EpicIssueLink.java | 2 +- .../java/org/gitlab4j/api/models/Event.java | 4 +- .../org/gitlab4j/api/models/EventData.java | 2 +- .../java/org/gitlab4j/api/models/Exists.java | 2 +- .../org/gitlab4j/api/models/ExportStatus.java | 4 +- .../api/models/ExternalStatusCheck.java | 2 +- .../ExternalStatusCheckProtectedBranch.java | 2 +- .../api/models/ExternalStatusCheckResult.java | 2 +- .../api/models/ExternalStatusCheckStatus.java | 4 +- .../org/gitlab4j/api/models/FileUpload.java | 2 +- .../gitlab4j/api/models/GitLabCiTemplate.java | 2 +- .../api/models/GitLabCiTemplateElement.java | 2 +- .../java/org/gitlab4j/api/models/GpgKey.java | 0 .../org/gitlab4j/api/models/GpgSignature.java | 2 +- .../java/org/gitlab4j/api/models/Group.java | 8 +- .../gitlab4j/api/models/GroupAccessToken.java | 2 +- .../org/gitlab4j/api/models/GroupFilter.java | 12 +- .../org/gitlab4j/api/models/GroupHook.java | 0 .../gitlab4j/api/models/GroupHookParams.java | 6 +- .../org/gitlab4j/api/models/GroupParams.java | 16 +- .../api/models/GroupProjectsFilter.java | 12 +- .../gitlab4j/api/models/HealthCheckInfo.java | 2 +- .../gitlab4j/api/models/HealthCheckItem.java | 2 +- .../api/models/HealthCheckStatus.java | 2 +- .../org/gitlab4j/api/models/Identity.java | 2 +- .../api/models/ImpersonationToken.java | 4 +- .../org/gitlab4j/api/models/ImportStatus.java | 4 +- .../java/org/gitlab4j/api/models/Issue.java | 2 +- .../org/gitlab4j/api/models/IssueEpic.java | 2 +- .../org/gitlab4j/api/models/IssueEvent.java | 4 +- .../org/gitlab4j/api/models/IssueFilter.java | 30 +- .../org/gitlab4j/api/models/IssueLink.java | 2 +- .../gitlab4j/api/models/IssuesStatistics.java | 2 +- .../api/models/IssuesStatisticsFilter.java | 11 +- .../org/gitlab4j/api/models/Iteration.java | 2 +- .../gitlab4j/api/models/IterationFilter.java | 14 +- .../java/org/gitlab4j/api/models/Job.java | 2 +- .../org/gitlab4j/api/models/JobAttribute.java | 2 +- .../gitlab4j/api/models/JobAttributes.java | 2 +- .../org/gitlab4j/api/models/JobStatus.java | 2 +- .../java/org/gitlab4j/api/models/Key.java | 2 +- .../java/org/gitlab4j/api/models/Label.java | 8 +- .../org/gitlab4j/api/models/LabelEvent.java | 4 +- .../gitlab4j/api/models/LdapGroupLink.java | 2 +- .../java/org/gitlab4j/api/models/License.java | 2 +- .../gitlab4j/api/models/LicenseTemplate.java | 2 +- .../java/org/gitlab4j/api/models/Link.java | 2 +- .../org/gitlab4j/api/models/LinkType.java | 2 +- .../org/gitlab4j/api/models/LinkedIssue.java | 2 +- .../org/gitlab4j/api/models/Markdown.java | 2 +- .../gitlab4j/api/models/MarkdownRequest.java | 0 .../java/org/gitlab4j/api/models/Member.java | 2 +- .../org/gitlab4j/api/models/Membership.java | 2 +- .../api/models/MembershipSourceType.java | 2 +- .../org/gitlab4j/api/models/MergeRequest.java | 2 +- .../gitlab4j/api/models/MergeRequestDiff.java | 2 +- .../api/models/MergeRequestFilter.java | 28 +- .../api/models/MergeRequestParams.java | 8 +- .../api/models/MergeRequestVersion.java | 2 +- .../org/gitlab4j/api/models/Metadata.java | 2 +- .../org/gitlab4j/api/models/Milestone.java | 2 +- .../org/gitlab4j/api/models/Namespace.java | 2 +- .../java/org/gitlab4j/api/models/Note.java | 4 +- .../api/models/NotificationSettings.java | 4 +- .../api/models/OauthTokenResponse.java | 0 .../java/org/gitlab4j/api/models/Owner.java | 0 .../java/org/gitlab4j/api/models/Package.java | 2 +- .../org/gitlab4j/api/models/PackageFile.java | 2 +- .../gitlab4j/api/models/PackageFilter.java | 12 +- .../org/gitlab4j/api/models/PackageType.java | 2 +- .../org/gitlab4j/api/models/Participant.java | 0 .../org/gitlab4j/api/models/Permissions.java | 2 +- .../api/models/PersonalAccessToken.java | 4 +- .../org/gitlab4j/api/models/Pipeline.java | 2 +- .../gitlab4j/api/models/PipelineFilter.java | 26 +- .../gitlab4j/api/models/PipelineSchedule.java | 2 +- .../gitlab4j/api/models/PipelineStatus.java | 0 .../org/gitlab4j/api/models/Position.java | 4 +- .../java/org/gitlab4j/api/models/Project.java | 11 +- .../gitlab4j/api/models/ProjectAccess.java | 2 +- .../api/models/ProjectAccessToken.java | 4 +- .../api/models/ProjectApprovalsConfig.java | 6 +- .../gitlab4j/api/models/ProjectFetches.java | 2 +- .../gitlab4j/api/models/ProjectFilter.java | 16 +- .../org/gitlab4j/api/models/ProjectGroup.java | 0 .../api/models/ProjectGroupsFilter.java | 6 +- .../org/gitlab4j/api/models/ProjectHook.java | 2 +- .../gitlab4j/api/models/ProjectLicense.java | 57 ++ .../api/models/ProjectStatistics.java | 2 +- .../org/gitlab4j/api/models/ProjectUser.java | 0 .../gitlab4j/api/models/ProtectedBranch.java | 2 +- .../org/gitlab4j/api/models/ProtectedTag.java | 2 +- .../org/gitlab4j/api/models/PushData.java | 4 +- .../org/gitlab4j/api/models/PushRules.java | 2 +- .../org/gitlab4j/api/models/References.java | 2 +- .../api/models/RegistryRepository.java | 2 +- .../api/models/RegistryRepositoryTag.java | 2 +- .../org/gitlab4j/api/models/RelatedEpic.java | 2 +- .../gitlab4j/api/models/RelatedEpicLink.java | 2 +- .../java/org/gitlab4j/api/models/Release.java | 2 +- .../api/models/ReleaseLinkParams.java | 2 +- .../gitlab4j/api/models/ReleaseParams.java | 2 +- .../org/gitlab4j/api/models/RemoteMirror.java | 2 +- .../org/gitlab4j/api/models/Repository.java | 2 +- .../api/models/RepositoryArchiveParams.java | 6 +- .../gitlab4j/api/models/RepositoryFile.java | 4 +- .../api/models/RepositoryFileResponse.java | 2 +- .../org/gitlab4j/api/models/Reviewer.java | 0 .../java/org/gitlab4j/api/models/Runner.java | 4 +- .../org/gitlab4j/api/models/RunnerDetail.java | 4 +- .../gitlab4j/api/models/SamlGroupLink.java | 2 +- .../org/gitlab4j/api/models/SearchBlob.java | 2 +- .../java/org/gitlab4j/api/models/Setting.java | 9 +- .../org/gitlab4j/api/models/SharedGroup.java | 2 +- .../java/org/gitlab4j/api/models/Snippet.java | 2 +- .../java/org/gitlab4j/api/models/SshKey.java | 2 +- .../org/gitlab4j/api/models/SystemHook.java | 2 +- .../java/org/gitlab4j/api/models/Tag.java | 2 +- .../api/models/TaskCompletionStatus.java | 2 +- .../org/gitlab4j/api/models/TimeStats.java | 2 +- .../java/org/gitlab4j/api/models/Todo.java | 8 +- .../java/org/gitlab4j/api/models/Topic.java | 2 +- .../org/gitlab4j/api/models/TopicParams.java | 14 +- .../org/gitlab4j/api/models/TreeItem.java | 2 +- .../java/org/gitlab4j/api/models/Trigger.java | 0 .../gitlab4j/api/models/UploadedByUser.java | 2 +- .../org/gitlab4j/api/models/UploadedFile.java | 2 +- .../java/org/gitlab4j/api/models/User.java | 2 +- .../org/gitlab4j/api/models/Variable.java | 4 +- .../java/org/gitlab4j/api/models/Version.java | 2 +- .../org/gitlab4j/api/models/Visibility.java | 2 +- .../gitlab4j/api/models/WikiAttachment.java | 2 +- .../org/gitlab4j/api/models/WikiPage.java | 2 +- .../api/services/BugzillaService.java | 6 +- .../services/CustomIssueTrackerService.java | 6 +- .../api/services/EmailOnPushService.java | 6 +- .../api/services/ExternalWikiService.java | 6 +- .../gitlab4j/api/services/HipChatService.java | 6 +- .../gitlab4j/api/services/JiraService.java | 6 +- .../api/services/MattermostService.java | 6 +- .../api/services/NotificationService.java | 6 +- .../gitlab4j/api/services/SlackService.java | 6 +- .../systemhooks/AbstractSystemHookEvent.java | 0 .../GroupMemberSystemHookEvent.java | 2 +- .../api/systemhooks/GroupSystemHookEvent.java | 2 +- .../api/systemhooks/KeySystemHookEvent.java | 2 +- .../MergeRequestSystemHookEvent.java | 0 .../systemhooks/ProjectSystemHookEvent.java | 2 +- .../api/systemhooks/PushSystemHookEvent.java | 2 +- .../api/systemhooks/RepositoryChange.java | 2 +- .../RepositorySystemHookEvent.java | 2 +- .../api/systemhooks/SystemHookEvent.java | 0 .../api/systemhooks/SystemHookListener.java | 0 .../systemhooks/TagPushSystemHookEvent.java | 2 +- .../TeamMemberSystemHookEvent.java | 2 +- .../api/systemhooks/UserSystemHookEvent.java | 2 +- .../gitlab4j/api/webhook/AbstractEvent.java | 0 .../api/webhook/AbstractPushEvent.java | 0 .../org/gitlab4j/api/webhook/BuildCommit.java | 2 +- .../org/gitlab4j/api/webhook/BuildEvent.java | 2 +- .../gitlab4j/api/webhook/ChangeContainer.java | 2 +- .../gitlab4j/api/webhook/DeploymentEvent.java | 2 +- .../java/org/gitlab4j/api/webhook/Event.java | 0 .../gitlab4j/api/webhook/EventChanges.java | 2 +- .../org/gitlab4j/api/webhook/EventCommit.java | 2 +- .../api/webhook/EventExternalStatusCheck.java | 2 +- .../org/gitlab4j/api/webhook/EventIssue.java | 2 +- .../org/gitlab4j/api/webhook/EventLabel.java | 4 +- .../api/webhook/EventMergeRequest.java | 2 +- .../gitlab4j/api/webhook/EventProject.java | 2 +- .../api/webhook/EventReleaseAssets.java | 2 +- .../api/webhook/EventReleaseLink.java | 2 +- .../api/webhook/EventReleaseSource.java | 2 +- .../gitlab4j/api/webhook/EventRepository.java | 2 +- .../gitlab4j/api/webhook/EventSnippet.java | 2 +- .../org/gitlab4j/api/webhook/EventUser.java | 2 +- .../gitlab4j/api/webhook/EventWorkItem.java | 2 +- .../api/webhook/ExternalStatusCheckEvent.java | 2 +- .../gitlab4j/api/webhook/IssueChanges.java | 0 .../org/gitlab4j/api/webhook/IssueEvent.java | 2 +- .../org/gitlab4j/api/webhook/JobEvent.java | 2 +- .../api/webhook/MergeRequestChanges.java | 0 .../api/webhook/MergeRequestEvent.java | 2 +- .../org/gitlab4j/api/webhook/NoteEvent.java | 4 +- .../gitlab4j/api/webhook/PipelineEvent.java | 2 +- .../org/gitlab4j/api/webhook/PushEvent.java | 2 +- .../gitlab4j/api/webhook/ReleaseEvent.java | 2 +- .../gitlab4j/api/webhook/TagPushEvent.java | 2 +- .../gitlab4j/api/webhook/WebHookListener.java | 0 .../gitlab4j/api/webhook/WikiPageEvent.java | 2 +- .../gitlab4j/api/webhook/WorkItemChanges.java | 0 .../gitlab4j/api/webhook/WorkItemEvent.java | 2 +- .../java/org/gitlab4j/models}/Constants.java | 8 +- .../java/org/gitlab4j/models/GitLabForm.java | 217 ++++++ .../gitlab4j/models}/utils/DurationUtils.java | 2 +- .../org/gitlab4j/models}/utils/FileUtils.java | 21 +- .../org/gitlab4j/models}/utils/ISO8601.java | 2 +- .../gitlab4j/models/utils/JacksonJson.java | 370 ++++++++++ .../models}/utils/JacksonJsonEnumHelper.java | 2 +- .../models/ApplicationSettingsTest.java | 13 +- .../java/org/gitlab4j/models/HelperUtils.java | 117 ++++ .../java/org/gitlab4j/models/JsonUtils.java | 246 +++++++ .../models/MembershipSourceTypeTest.java | 3 +- .../gitlab4j/models/PropertyConstants.java | 34 + .../org/gitlab4j/models}/TestDuration.java | 4 +- .../gitlab4j/models}/TestGitLabApiBeans.java | 121 +--- .../gitlab4j/models}/TestGitLabApiEvents.java | 57 +- .../org/gitlab4j/models}/TestISO8601.java | 4 +- .../org/gitlab4j/models}/access-request.json | 16 +- .../org/gitlab4j/models}/all-runners.json | 74 +- .../org/gitlab4j/models}/applications.json | 14 +- .../org/gitlab4j/models}/approval-rule.json | 96 +-- .../org/gitlab4j/models}/approval-state.json | 86 +-- .../org/gitlab4j/models}/approvals.json | 68 +- .../org/gitlab4j/models}/artifacts-file.json | 6 +- .../org/gitlab4j/models}/audit-events.json | 0 .../resources/org/gitlab4j/models}/avatar.png | Bin .../org/gitlab4j/models}/award-emoji.json | 32 +- .../org/gitlab4j/models}/bad-branch.json | 0 .../org/gitlab4j/models}/badges.json | 40 +- .../resources/org/gitlab4j/models}/blame.json | 42 +- .../org/gitlab4j/models}/branch.json | 0 .../org/gitlab4j/models}/bridge.json | 0 .../org/gitlab4j/models}/build-event.json | 82 +-- .../org/gitlab4j/models}/child-epic.json | 0 .../org/gitlab4j/models}/comment.json | 28 +- .../gitlab4j/models/commit-discussions.json | 70 ++ .../org/gitlab4j/models}/commit-payload.json | 50 +- .../org/gitlab4j/models}/commit-status.json | 44 +- .../resources/org/gitlab4j/models/commit.json | 37 + .../org/gitlab4j/models}/compare-results.json | 58 +- .../org/gitlab4j/models}/contributors.json | 24 +- .../gitlab4j/models}/created-child-epic.json | 0 .../org/gitlab4j/models}/deploy-keys.json | 30 +- .../org/gitlab4j/models}/deploy-tokens.json | 24 +- .../gitlab4j/models}/deployment-event.json | 0 .../org/gitlab4j/models}/deployment.json | 106 +-- .../resources/org/gitlab4j/models}/diff.json | 0 .../org/gitlab4j/models}/emails.json | 18 +- .../org/gitlab4j/models}/environment.json | 166 ++--- .../org/gitlab4j/models/epic-discussions.json | 70 ++ .../org/gitlab4j/models}/epic-issue-link.json | 0 .../org/gitlab4j/models}/epic-issue.json | 154 ++-- .../resources/org/gitlab4j/models}/epic.json | 84 +-- .../org/gitlab4j/models}/event-object.json | 0 .../resources/org/gitlab4j/models}/event.json | 0 .../org/gitlab4j/models}/events.json | 204 +++--- .../org/gitlab4j/models}/export-status.json | 28 +- .../models}/external-status-check-event.json | 0 .../models}/external-status-check-result.json | 0 .../external-status-check-statuses.json | 14 + .../models/external-status-checks.json | 18 + .../org/gitlab4j/models}/file-upload.json | 8 +- .../models}/gitlab-ci-template-elements.json | 0 .../gitlab4j/models}/gitlab-ci-template.json | 0 .../org/gitlab4j/models}/gpg-signature.json | 14 +- .../gitlab4j/models}/group-access-token.json | 0 .../org/gitlab4j/models}/group-hook.json | 0 .../group-member-system-hook-event.json | 24 +- .../models}/group-system-hook-event.json | 20 +- .../resources/org/gitlab4j/models}/group.json | 0 .../gitlab4j/models}/health-check-new.json | 46 +- .../org/gitlab4j/models}/health-check.json | 46 +- .../resources/org/gitlab4j/models}/hook.json | 0 .../gitlab4j/models}/impersonation-token.json | 30 +- .../org/gitlab4j/models}/import-status.json | 16 +- .../gitlab4j/models/issue-discussions.json | 69 ++ .../org/gitlab4j/models}/issue-event.json | 0 .../org/gitlab4j/models}/issue-link.json | 100 +-- .../resources/org/gitlab4j/models}/issue.json | 0 .../gitlab4j/models}/issues-closed-by-mr.json | 82 +-- .../gitlab4j/models}/issues-statistics.json | 16 +- .../org/gitlab4j/models}/iteration.json | 0 .../resources/org/gitlab4j/models}/jira.json | 44 +- .../org/gitlab4j/models}/job-event.json | 70 +- .../resources/org/gitlab4j/models}/job.json | 136 ++-- .../models}/key-system-hook-event.json | 14 +- .../resources/org/gitlab4j/models}/key.json | 0 .../org/gitlab4j/models}/label-events.json | 254 +++---- .../org/gitlab4j/models}/labels.json | 124 ++-- .../org/gitlab4j/models}/ldap-group-link.json | 0 .../org/gitlab4j/models}/linked-issues.json | 56 +- .../resources/org/gitlab4j/models/links.json | 16 + .../org/gitlab4j/models}/members.json | 0 .../models}/merge-request-comment.json | 0 .../gitlab4j/models}/merge-request-diff.json | 88 +-- .../gitlab4j/models}/merge-request-diffs.json | 36 +- .../models/merge-request-discussions.json | 72 ++ .../gitlab4j/models}/merge-request-event.json | 480 ++++++------- .../gitlab4j/models}/merge-request-note.json | 0 .../merge-request-system-hook-event.json | 116 +++ .../models}/merge-request-versions.json | 0 .../org/gitlab4j/models/merge-request.json | 107 +++ .../org/gitlab4j/models}/metadata.json | 0 .../org/gitlab4j/models}/milestone-group.json | 0 .../org/gitlab4j/models}/milestone.json | 0 .../gitlab4j/models}/note-commit-event.json | 128 ++-- .../gitlab4j/models}/note-issue-event.json | 108 +-- .../models}/note-merge-request-event.json | 216 +++--- .../gitlab4j/models}/note-snippet-event.json | 112 +-- .../resources/org/gitlab4j/models}/note.json | 0 .../models}/notification-settings.json | 32 +- .../org/gitlab4j/models}/oauth-token.json | 12 +- .../org/gitlab4j/models}/package-files.json | 62 +- .../org/gitlab4j/models}/packages.json | 30 +- .../models}/personal-access-token.json | 0 .../org/gitlab4j/models}/pipeline-event.json | 318 ++++----- .../gitlab4j/models}/pipeline-schedule.json | 0 .../gitlab4j/models}/pipeline-variables.json | 20 +- .../org/gitlab4j/models}/pipeline.json | 74 +- .../models}/project-access-token.json | 0 .../models}/project-approvals-config.json | 16 +- .../models}/project-audit-events.json | 0 .../org/gitlab4j/models}/project-board.json | 92 +-- .../org/gitlab4j/models}/project-events.json | 160 ++--- .../org/gitlab4j/models}/project-fetches.json | 52 +- .../org/gitlab4j/models}/project-groups.json | 0 .../gitlab4j/models}/project-languages.json | 10 +- .../models}/project-system-hook-event.json | 22 +- .../org/gitlab4j/models}/project-users.json | 34 +- .../models}/project-variable-details.json | 12 +- .../gitlab4j/models}/project-variables.json | 42 +- .../org/gitlab4j/models}/project.json | 0 .../gitlab4j/models}/protected-branch.json | 52 +- .../org/gitlab4j/models}/protected-tags.json | 38 +- .../org/gitlab4j/models}/push-event.json | 130 ++-- .../org/gitlab4j/models}/push-rule.json | 34 +- .../models}/push-system-hook-event.json | 96 +-- .../models}/registry-repositories.json | 32 +- .../gitlab4j/models}/related-epic-link.json | 0 .../org/gitlab4j/models}/related-epics.json | 0 .../org/gitlab4j/models}/releases.json | 348 ++++----- .../org/gitlab4j/models}/remote-mirror.json | 20 +- .../models}/repository-file-response.json | 0 .../org/gitlab4j/models}/repository-file.json | 22 +- .../models}/repository-system-hook-event.json | 60 +- .../org/gitlab4j/models}/runner-detail.json | 58 +- .../org/gitlab4j/models}/saml-group-link.json | 0 .../gitlab4j/models}/slack-notifications.json | 60 +- .../gitlab4j/models/snippet-discussions.json | 69 ++ .../org/gitlab4j/models}/snippet.json | 0 .../org/gitlab4j/models}/sshkey.json | 0 .../org/gitlab4j/models}/system-hook.json | 18 +- .../org/gitlab4j/models}/tag-push-event.json | 72 +- .../models}/tag-push-system-hook-event.json | 72 +- .../resources/org/gitlab4j/models}/tag.json | 0 .../team-member-system-hook-event.json | 28 +- .../resources/org/gitlab4j/models}/todos.json | 290 ++++---- .../resources/org/gitlab4j/models/topic.json | 8 + .../resources/org/gitlab4j/models}/tree.json | 0 .../org/gitlab4j/models}/trigger.json | 12 +- .../org/gitlab4j/models}/uploaded-file.json | 0 .../user-failed-login-system-hook-event.json | 18 +- .../org/gitlab4j/models/user-list.json | 662 ++++++++++++++++++ .../models}/user-system-hook-event.json | 18 +- .../resources/org/gitlab4j/models}/user.json | 0 .../org/gitlab4j/models}/wiki-blobs.json | 22 +- .../org/gitlab4j/models}/wiki-page-event.json | 76 +- .../org/gitlab4j/models}/workitem-event.json | 0 settings.gradle | 7 +- src/test/resources/test-gitlab4j.properties | 58 -- 596 files changed, 7114 insertions(+), 4602 deletions(-) create mode 100644 gitlab4j-api/build.gradle rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/AbstractApi.java (97%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ApplicationSettingsApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ApplicationsApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/AuditEventApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/AwardEmojiApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/BoardsApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/CommitsApi.java (99%) create mode 100644 gitlab4j-api/src/main/java/org/gitlab4j/api/Constants.java rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ContainerRegistryApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/DeployKeysApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/DeployTokensApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/DeploymentsApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/DiscussionsApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/EnvironmentsApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/EpicsApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/EventsApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ExternalStatusCheckApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/GitLabApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/GitLabApiClient.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/GitLabApiException.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/GitLabApiForm.java (96%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/GitLabCiYamlApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/GroupApi.java (98%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/HealthCheckApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/HookManager.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ImportExportApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/IssuesApi.java (98%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/JobApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/KeysApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/LabelsApi.java (98%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/LicenseApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/LicenseTemplatesApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/MarkdownApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/MergeRequestApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/MetadataApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/MilestonesApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/NamespaceApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/NotesApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/NotificationSettingsApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/PackagesApi.java (98%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/Pager.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/PagerSpliterator.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/PersonalAccessTokenApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/PipelineApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ProjectApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ProjectLicense.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ProtectedBranchesApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ProxyClientConfig.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ReleaseLinksApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ReleasesApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/RepositoryApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/RepositoryFileApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/RepositorySubmodulesApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ResourceLabelEventsApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ResourceStateEventsApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/RunnersApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/SearchApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/ServicesApi.java (97%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/SnippetsApi.java (100%) rename {src/main/java/org/gitlab4j/api/systemhooks => gitlab4j-api/src/main/java/org/gitlab4j/api}/SystemHookManager.java (94%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/SystemHooksApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/TagsApi.java (99%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/TodosApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/TopicsApi.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/UserApi.java (100%) rename {src/main/java/org/gitlab4j/api/webhook => gitlab4j-api/src/main/java/org/gitlab4j/api}/WebHookManager.java (94%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/WikisApi.java (100%) create mode 100644 gitlab4j-api/src/main/java/org/gitlab4j/api/systemhooks/SystemHookManager.java rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/utils/AccessTokenUtils.java (99%) create mode 100644 gitlab4j-api/src/main/java/org/gitlab4j/api/utils/DurationUtils.java rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/utils/EmailChecker.java (100%) create mode 100644 gitlab4j-api/src/main/java/org/gitlab4j/api/utils/FileUtils.java rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/utils/HttpRequestUtils.java (99%) create mode 100644 gitlab4j-api/src/main/java/org/gitlab4j/api/utils/ISO8601.java rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/utils/JacksonJson.java (99%) create mode 100644 gitlab4j-api/src/main/java/org/gitlab4j/api/utils/JacksonJsonEnumHelper.java rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/utils/MaskingLoggingFilter.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/utils/Oauth2LoginStreamingOutput.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/utils/SecretString.java (100%) rename {src => gitlab4j-api/src}/main/java/org/gitlab4j/api/utils/UrlEncoder.java (100%) create mode 100644 gitlab4j-api/src/main/java/org/gitlab4j/api/webhook/WebHookManager.java rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/AbstractIntegrationTest.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/HelperUtils.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/JsonUtils.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/MockResponse.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/MockServletInputStream.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/PagerSpliteratorTest.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/PropertyConstants.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/SetupIntegrationTestExtension.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestAccessToken.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestAccessTokenUtils.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestApplicationSettingsApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestApplicationsApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestAvatarUpload.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestCommitDiscussionsApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestCommitsApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestDeployKeysApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestDeployTokensApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestDeploymentsApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestEmailChecker.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestEnvironmentsApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestEpicDiscussionsApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestEventsApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestExternalStatusCheckApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestGitLabApi.java (100%) create mode 100644 gitlab4j-api/src/test/java/org/gitlab4j/api/TestGitLabApiBeans.java create mode 100644 gitlab4j-api/src/test/java/org/gitlab4j/api/TestGitLabApiEvents.java rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestGitLabApiException.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestGitLabCiYamlApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestGitLabLogin.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestGroupApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestGroupCustomAttributes.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestHealthCheckApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestIgnoreCertificateErrors.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestImportExportApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestIssueDiscussionsApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestIssuesApi.java (97%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestJobApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestLabelsApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestMarkdownApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestMergeRequestApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestMergeRequestDiscussionsApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestMetadataApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestNamespaceApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestNotesApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestNotificationSettingsApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestOauth2LoginStreamingOutput.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestPackageApi.java (97%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestPager.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestPipelineApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestProjectApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestProjectApiSnippets.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestProjectCustomAttributes.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestProtectedBranchesApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestReleaseLinksApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestReleasesApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestRepositoryApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestRepositoryFileApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestRepositorySubmodulesApi.java (97%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestRequestResponseLogging.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestResourceStateEventsApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestRunnersApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestSearchApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestServicesApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestSnippetDiscussionsApi.java (98%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestSnippetsApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestStreams.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestSystemHooksApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestTagsApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestTodosApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestTopicsApi.java (97%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestUnitMergeRequestApi.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestUpload.java (100%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestUserApi.java (99%) rename {src => gitlab4j-api/src}/test/java/org/gitlab4j/api/TestWikisApi.java (100%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/application-settings.json (97%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/commit-discussions.json (96%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/commit.json (100%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/epic-discussions.json (96%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/external-status-check-statuses.json (100%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/external-status-checks.json (100%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/issue-discussions.json (96%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/links.json (100%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/merge-request-discussions.json (96%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/merge-request-system-hook-event.json (97%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/merge-request.json (100%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/snippet-discussions.json (96%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/topic.json (100%) rename {src => gitlab4j-api/src}/test/resources/org/gitlab4j/api/user-list.json (100%) create mode 100644 gitlab4j-models/build.gradle rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AbstractEpic.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AbstractGroup.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AbstractIssue.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AbstractMinimalEpic.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AbstractUser.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AcceptMergeRequestParams.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AccessLevel.java (90%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AccessRequest.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AllowedTo.java (88%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Application.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ApplicationSettings.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ApprovalRule.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ApprovalRuleParams.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ApprovalState.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ApprovedBy.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Artifact.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ArtifactsFile.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Assets.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Assignee.java (84%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AuditEvent.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AuditEventDetail.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Author.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/AwardEmoji.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Badge.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Blame.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Board.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/BoardList.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Branch.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/BranchAccessLevel.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Bridge.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ChangelogPayload.java (91%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Changes.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ChildEpic.java (83%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Comment.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Commit.java (99%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/CommitAction.java (91%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/CommitPayload.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/CommitRef.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/CommitStats.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/CommitStatus.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/CommitStatusFilter.java (84%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/CompareResults.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Contributor.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/CreatedChildEpic.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/CustomAttribute.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/DeployKey.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/DeployToken.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Deployable.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Deployment.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/DeploymentFilter.java (91%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/DetailedStatus.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Diff.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/DiffRef.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Discussion.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/DownstreamPipeline.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Duration.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Email.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Environment.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Epic.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/EpicFilter.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/EpicInLink.java (83%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/EpicIssue.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/EpicIssueLink.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Event.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/EventData.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Exists.java (90%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ExportStatus.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ExternalStatusCheck.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ExternalStatusCheckProtectedBranch.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ExternalStatusCheckResult.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ExternalStatusCheckStatus.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/FileUpload.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GitLabCiTemplate.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GitLabCiTemplateElement.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GpgKey.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GpgSignature.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Group.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GroupAccessToken.java (91%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GroupFilter.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GroupHook.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GroupHookParams.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GroupParams.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/GroupProjectsFilter.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/HealthCheckInfo.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/HealthCheckItem.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/HealthCheckStatus.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Identity.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ImpersonationToken.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ImportStatus.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Issue.java (90%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/IssueEpic.java (83%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/IssueEvent.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/IssueFilter.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/IssueLink.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/IssuesStatistics.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/IssuesStatisticsFilter.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Iteration.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/IterationFilter.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Job.java (99%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/JobAttribute.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/JobAttributes.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/JobStatus.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Key.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Label.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/LabelEvent.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/LdapGroupLink.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/License.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/LicenseTemplate.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Link.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/LinkType.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/LinkedIssue.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Markdown.java (90%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/MarkdownRequest.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Member.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Membership.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/MembershipSourceType.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/MergeRequest.java (99%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/MergeRequestDiff.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/MergeRequestFilter.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/MergeRequestParams.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/MergeRequestVersion.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Metadata.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Milestone.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Namespace.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Note.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/NotificationSettings.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/OauthTokenResponse.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Owner.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Package.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/PackageFile.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/PackageFilter.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/PackageType.java (92%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Participant.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Permissions.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/PersonalAccessToken.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Pipeline.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/PipelineFilter.java (80%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/PipelineSchedule.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/PipelineStatus.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Position.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Project.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectAccess.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectAccessToken.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectApprovalsConfig.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectFetches.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectFilter.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectGroup.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectGroupsFilter.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectHook.java (99%) create mode 100644 gitlab4j-models/src/main/java/org/gitlab4j/api/models/ProjectLicense.java rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectStatistics.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProjectUser.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProtectedBranch.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ProtectedTag.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/PushData.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/PushRules.java (99%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/References.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/RegistryRepository.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/RegistryRepositoryTag.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/RelatedEpic.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/RelatedEpicLink.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Release.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ReleaseLinkParams.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/ReleaseParams.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/RemoteMirror.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Repository.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/RepositoryArchiveParams.java (84%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/RepositoryFile.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/RepositoryFileResponse.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Reviewer.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Runner.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/RunnerDetail.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/SamlGroupLink.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/SearchBlob.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Setting.java (99%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/SharedGroup.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Snippet.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/SshKey.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/SystemHook.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Tag.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/TaskCompletionStatus.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/TimeStats.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Todo.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Topic.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/TopicParams.java (73%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/TreeItem.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Trigger.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/UploadedByUser.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/UploadedFile.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/User.java (99%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Variable.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Version.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/Visibility.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/WikiAttachment.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/models/WikiPage.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/services/BugzillaService.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/services/CustomIssueTrackerService.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/services/EmailOnPushService.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/services/ExternalWikiService.java (78%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/services/HipChatService.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/services/JiraService.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/services/MattermostService.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/services/NotificationService.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/services/SlackService.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/AbstractSystemHookEvent.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/GroupMemberSystemHookEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/GroupSystemHookEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/KeySystemHookEvent.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/MergeRequestSystemHookEvent.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/ProjectSystemHookEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/PushSystemHookEvent.java (89%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/RepositoryChange.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/RepositorySystemHookEvent.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/SystemHookEvent.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/SystemHookListener.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/TagPushSystemHookEvent.java (89%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/TeamMemberSystemHookEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/systemhooks/UserSystemHookEvent.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/AbstractEvent.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/AbstractPushEvent.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/BuildCommit.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/BuildEvent.java (99%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/ChangeContainer.java (91%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/DeploymentEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/Event.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventChanges.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventCommit.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventExternalStatusCheck.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventIssue.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventLabel.java (96%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventMergeRequest.java (99%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventProject.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventReleaseAssets.java (94%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventReleaseLink.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventReleaseSource.java (91%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventRepository.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventSnippet.java (97%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventUser.java (95%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/EventWorkItem.java (99%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/ExternalStatusCheckEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/IssueChanges.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/IssueEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/JobEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/MergeRequestChanges.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/MergeRequestEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/NoteEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/PipelineEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/PushEvent.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/ReleaseEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/TagPushEvent.java (93%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/WebHookListener.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/WikiPageEvent.java (98%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/WorkItemChanges.java (100%) rename {src => gitlab4j-models/src}/main/java/org/gitlab4j/api/webhook/WorkItemEvent.java (97%) rename {src/main/java/org/gitlab4j/api => gitlab4j-models/src/main/java/org/gitlab4j/models}/Constants.java (99%) create mode 100644 gitlab4j-models/src/main/java/org/gitlab4j/models/GitLabForm.java rename {src/main/java/org/gitlab4j/api => gitlab4j-models/src/main/java/org/gitlab4j/models}/utils/DurationUtils.java (99%) rename {src/main/java/org/gitlab4j/api => gitlab4j-models/src/main/java/org/gitlab4j/models}/utils/FileUtils.java (80%) rename {src/main/java/org/gitlab4j/api => gitlab4j-models/src/main/java/org/gitlab4j/models}/utils/ISO8601.java (99%) create mode 100644 gitlab4j-models/src/main/java/org/gitlab4j/models/utils/JacksonJson.java rename {src/main/java/org/gitlab4j/api => gitlab4j-models/src/main/java/org/gitlab4j/models}/utils/JacksonJsonEnumHelper.java (98%) rename {src/test/java/org/gitlab4j/api => gitlab4j-models/src/test/java/org/gitlab4j}/models/ApplicationSettingsTest.java (88%) create mode 100644 gitlab4j-models/src/test/java/org/gitlab4j/models/HelperUtils.java create mode 100644 gitlab4j-models/src/test/java/org/gitlab4j/models/JsonUtils.java rename {src/test/java/org/gitlab4j/api => gitlab4j-models/src/test/java/org/gitlab4j}/models/MembershipSourceTypeTest.java (89%) create mode 100644 gitlab4j-models/src/test/java/org/gitlab4j/models/PropertyConstants.java rename {src/test/java/org/gitlab4j/api => gitlab4j-models/src/test/java/org/gitlab4j/models}/TestDuration.java (98%) rename {src/test/java/org/gitlab4j/api => gitlab4j-models/src/test/java/org/gitlab4j/models}/TestGitLabApiBeans.java (85%) rename {src/test/java/org/gitlab4j/api => gitlab4j-models/src/test/java/org/gitlab4j/models}/TestGitLabApiEvents.java (85%) rename {src/test/java/org/gitlab4j/api => gitlab4j-models/src/test/java/org/gitlab4j/models}/TestISO8601.java (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/access-request.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/all-runners.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/applications.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/approval-rule.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/approval-state.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/approvals.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/artifacts-file.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/audit-events.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/avatar.png (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/award-emoji.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/bad-branch.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/badges.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/blame.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/branch.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/bridge.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/build-event.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/child-epic.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/comment.json (96%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/commit-discussions.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/commit-payload.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/commit-status.json (97%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/commit.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/compare-results.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/contributors.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/created-child-epic.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/deploy-keys.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/deploy-tokens.json (94%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/deployment-event.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/deployment.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/diff.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/emails.json (92%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/environment.json (96%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/epic-discussions.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/epic-issue-link.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/epic-issue.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/epic.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/event-object.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/event.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/events.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/export-status.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/external-status-check-event.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/external-status-check-result.json (100%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/external-status-check-statuses.json create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/external-status-checks.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/file-upload.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/gitlab-ci-template-elements.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/gitlab-ci-template.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/gpg-signature.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/group-access-token.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/group-hook.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/group-member-system-hook-event.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/group-system-hook-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/group.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/health-check-new.json (94%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/health-check.json (94%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/hook.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/impersonation-token.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/import-status.json (96%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/issue-discussions.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/issue-event.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/issue-link.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/issue.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/issues-closed-by-mr.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/issues-statistics.json (92%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/iteration.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/jira.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/job-event.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/job.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/key-system-hook-event.json (98%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/key.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/label-events.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/labels.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/ldap-group-link.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/linked-issues.json (96%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/links.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/members.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/merge-request-comment.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/merge-request-diff.json (98%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/merge-request-diffs.json (97%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/merge-request-discussions.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/merge-request-event.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/merge-request-note.json (100%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/merge-request-system-hook-event.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/merge-request-versions.json (100%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/merge-request.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/metadata.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/milestone-group.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/milestone.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/note-commit-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/note-issue-event.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/note-merge-request-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/note-snippet-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/note.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/notification-settings.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/oauth-token.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/package-files.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/packages.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/personal-access-token.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/pipeline-event.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/pipeline-schedule.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/pipeline-variables.json (93%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/pipeline.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-access-token.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-approvals-config.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-audit-events.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-board.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-events.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-fetches.json (93%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-groups.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-languages.json (94%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-system-hook-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-users.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-variable-details.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project-variables.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/project.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/protected-branch.json (94%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/protected-tags.json (94%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/push-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/push-rule.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/push-system-hook-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/registry-repositories.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/related-epic-link.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/related-epics.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/releases.json (98%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/remote-mirror.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/repository-file-response.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/repository-file.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/repository-system-hook-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/runner-detail.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/saml-group-link.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/slack-notifications.json (97%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/snippet-discussions.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/snippet.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/sshkey.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/system-hook.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/tag-push-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/tag-push-system-hook-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/tag.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/team-member-system-hook-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/todos.json (97%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/topic.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/tree.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/trigger.json (96%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/uploaded-file.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/user-failed-login-system-hook-event.json (96%) create mode 100644 gitlab4j-models/src/test/resources/org/gitlab4j/models/user-list.json rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/user-system-hook-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/user.json (100%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/wiki-blobs.json (95%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/wiki-page-event.json (97%) rename {src/test/resources/org/gitlab4j/api => gitlab4j-models/src/test/resources/org/gitlab4j/models}/workitem-event.json (100%) delete mode 100644 src/test/resources/test-gitlab4j.properties diff --git a/README.md b/README.md index 22fd2125f..6713f6cb3 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ You can also point to a specific commit: ```gradle dependencies { - implementation 'com.github.gitlab4j:gitlab4j-api:6561c93aaf' + implementation 'com.github.gitlab4j:gitlab4j-api:7dfec10189' } ``` @@ -127,12 +127,36 @@ dependencies { com.github.gitlab4j gitlab4j-api - 6561c93aaf + 7dfec10189 ``` ```java -//DEPS https://github.com/gitlab4j/gitlab4j-api/tree/6561c93aafa6bf35cb9bad0617127a0c249a8f9f +//DEPS https://github.com/gitlab4j/gitlab4j-api/tree/7dfec10189cdcb11e34fc9ead984abcd6316194a +``` + +--- + +### **Models jar** + +For some usages, the HTTP layer based on Jersey can't be used. +Those projects might want to use the Jackson-based model classes, and implement the REST call themself. + +**Gradle: build.gradle** +```java +dependencies { + ... + implementation 'org.gitlab4j:gitlab4j-models:6.0.0-rc.6' +} +``` + +**Maven: pom.xml** +```xml + + org.gitlab4j + gitlab4j-models + 6.0.0-rc.6 + ``` --- diff --git a/build.gradle b/build.gradle index 053aecef2..593b81764 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,5 @@ - plugins { - id 'java-library' - id 'com.diffplug.spotless' version '6.25.0' - id 'signing' - id 'maven-publish' + id 'com.diffplug.spotless' version '6.25.0' apply false id 'io.github.gradle-nexus.publish-plugin' version '1.3.0' id 'net.researchgate.release' version '3.0.2' } @@ -12,58 +8,52 @@ wrapper { gradleVersion = '7.6.2' } -group = 'org.gitlab4j' - -dependencies { - api 'jakarta.activation:jakarta.activation-api:2.1.1' - api 'org.glassfish.jersey.inject:jersey-hk2:3.1.1' - api 'org.glassfish.jersey.core:jersey-client:3.1.1' - api 'org.glassfish.jersey.connectors:jersey-apache-connector:3.1.1' - api 'org.glassfish.jersey.media:jersey-media-multipart:3.1.1' - api 'org.glassfish.jersey.media:jersey-media-json-jackson:3.1.1' - api 'jakarta.servlet:jakarta.servlet-api:6.0.0' - testImplementation 'org.mockito:mockito-core:5.2.0' - testImplementation 'org.mockito:mockito-junit-jupiter:5.2.0' - testImplementation 'org.hamcrest:hamcrest-all:1.3' - testImplementation 'uk.org.webcompere:system-stubs-jupiter:2.0.2' - testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.4" - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.4" -} +String groupId = 'org.gitlab4j' -signing { - useGpgCmd() - sign(publishing.publications) -} +subprojects { + apply plugin: 'java-library' + apply plugin: 'signing' + apply plugin: 'com.diffplug.spotless' + apply plugin: 'maven-publish' -tasks.withType(Sign) { - onlyIf { - project.hasProperty('signing.gnupg.keyName') + group = groupId + + signing { + useGpgCmd() + sign(publishing.publications) } -} -java { - withJavadocJar() - withSourcesJar() + tasks.withType(Sign) { + onlyIf { + project.hasProperty('signing.gnupg.keyName') + } + } + + java { + withJavadocJar() + withSourcesJar() - compileJava.options.encoding = "UTF-8" - toolchain { - languageVersion = JavaLanguageVersion.of(11) + compileJava.options.encoding = "UTF-8" + toolchain { + languageVersion = JavaLanguageVersion.of(11) + } } -} -tasks.named('test') { - useJUnitPlatform() -} + spotless { + java { + palantirJavaFormat() + importOrder 'java', 'javax', 'jakarta', 'org', 'com', '' + removeUnusedImports() + } + } -repositories { - mavenCentral() -} + repositories { + // mavenLocal() + mavenCentral() + } -spotless { - java { - palantirJavaFormat() - importOrder 'java', 'javax', 'jakarta', 'org', 'com', '' - removeUnusedImports() + tasks.named('test') { + useJUnitPlatform() } } @@ -78,51 +68,10 @@ nexusPublishing { } } -publishing { - publications { - mavenJava(MavenPublication) { - pom { - name = 'GitLab4J-API - GitLab API Java Client' - description = 'GitLab4J-API (gitlab4j-api) provides a full featured Java client library for working with GitLab repositories and servers via the GitLab REST API.' - packaging = 'jar' - url = 'https://' + "$githubRepositoryOwner" + '.github.io/' + "$githubRepositoryName" + '/' - licenses { - license { - name = 'The MIT License (MIT)' - url = 'http://opensource.org/licenses/MIT' - distribution = 'repo' - } - } - developers { - developer { - id = 'gmessner' - name = 'Greg Messner' - email = 'greg@messners.com' - } - developer { - id = 'gdesaintmartinlacaze' - name = 'Gautier de Saint Martin Lacaze' - email = 'gautier@jabby-techs.fr' - } - developer { - url = 'https://github.com/orgs/' + "$githubRepositoryOwner" + '/people' - } - } - scm { - connection = 'scm:git:https://github.com/' + "$githubRepositoryOwner" + '/' + "$githubRepositoryName" + '.git' - developerConnection = 'scm:git:https://github.com/' + "$githubRepositoryOwner" + '/' + "$githubRepositoryName" + '.git' - url = 'https://github.com/' + "$githubRepositoryOwner" + '/' + "$githubRepositoryName" + '/' - } - } - from components.java - } - } -} - release { buildTasks = ['doRelease'] git { - requireBranch.set('6.x') + requireBranch.set('main') } } @@ -147,13 +96,13 @@ def updateLastVersionValueTask = tasks.register('updateLastVersionValue') { } } -tasks.register('doRelease') { +task doRelease { dependsOn( - checkLastVersionValueTask, - 'initializeSonatypeStagingRepository', - 'clean', - 'build', - project.getTasksByName('publishToSonatype', true) + checkLastVersionValueTask, + 'initializeSonatypeStagingRepository', + 'clean', + 'build', + project.getTasksByName('publishToSonatype', true) ) } diff --git a/gitlab4j-api/build.gradle b/gitlab4j-api/build.gradle new file mode 100644 index 000000000..e1bf48f86 --- /dev/null +++ b/gitlab4j-api/build.gradle @@ -0,0 +1,57 @@ +dependencies { + api project(':gitlab4j-models') + api 'jakarta.activation:jakarta.activation-api:2.1.1' + api 'org.glassfish.jersey.inject:jersey-hk2:3.1.1' + api 'org.glassfish.jersey.core:jersey-client:3.1.1' + api 'org.glassfish.jersey.connectors:jersey-apache-connector:3.1.1' + api 'org.glassfish.jersey.media:jersey-media-multipart:3.1.1' + api 'org.glassfish.jersey.media:jersey-media-json-jackson:3.1.1' + api 'jakarta.servlet:jakarta.servlet-api:6.0.0' + testImplementation 'org.mockito:mockito-core:5.2.0' + testImplementation 'org.mockito:mockito-junit-jupiter:5.2.0' + testImplementation 'org.hamcrest:hamcrest-all:1.3' + testImplementation 'uk.org.webcompere:system-stubs-jupiter:2.0.2' + testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.4" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.4" +} + +publishing { + publications { + mavenJava(MavenPublication) { + pom { + name = 'GitLab4J-API - GitLab API Java Client' + description = 'GitLab4J-API (gitlab4j-api) provides a full featured Java client library for working with GitLab repositories and servers via the GitLab REST API.' + packaging = 'jar' + url = 'https://' + "$githubRepositoryOwner" + '.github.io/' + "$githubRepositoryName" + '/' + licenses { + license { + name = 'The MIT License (MIT)' + url = 'http://opensource.org/licenses/MIT' + distribution = 'repo' + } + } + developers { + developer { + id = 'gmessner' + name = 'Greg Messner' + email = 'greg@messners.com' + } + developer { + id = 'gdesaintmartinlacaze' + name = 'Gautier de Saint Martin Lacaze' + email = 'gautier@jabby-techs.fr' + } + developer { + url = 'https://github.com/orgs/' + "$githubRepositoryOwner" + '/people' + } + } + scm { + connection = 'scm:git:https://github.com/' + "$githubRepositoryOwner" + '/' + "$githubRepositoryName" + '.git' + developerConnection = 'scm:git:https://github.com/' + "$githubRepositoryOwner" + '/' + "$githubRepositoryName" + '.git' + url = 'https://github.com/' + "$githubRepositoryOwner" + '/' + "$githubRepositoryName" + '/' + } + } + from components.java + } + } +} diff --git a/src/main/java/org/gitlab4j/api/AbstractApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/AbstractApi.java similarity index 97% rename from src/main/java/org/gitlab4j/api/AbstractApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/AbstractApi.java index 18875281e..5ba97f25b 100644 --- a/src/main/java/org/gitlab4j/api/AbstractApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/AbstractApi.java @@ -17,6 +17,8 @@ import org.gitlab4j.api.models.Project; import org.gitlab4j.api.models.User; import org.gitlab4j.api.utils.UrlEncoder; +import org.gitlab4j.models.Constants; +import org.gitlab4j.models.GitLabForm; /** * This class is the base class for all the sub API classes. It provides implementations of @@ -621,6 +623,25 @@ protected Response putWithFormData(Response.Status expectedStatus, Form formData } } + /** + * Perform an HTTP PUT call with the specified form data and path objects, returning + * a ClientResponse instance with the data returned from the endpoint. + * + * @param expectedStatus the HTTP status that should be returned from the server + * @param form the Form containing the name/value pairs for the POST data + * @param pathArgs variable list of arguments used to build the URI + * @return a ClientResponse instance with the data returned from the endpoint + * @throws GitLabApiException if any exception occurs during execution + */ + protected Response putWithFormData(Response.Status expectedStatus, GitLabForm form, Object... pathArgs) + throws GitLabApiException { + try { + return validate(getApiClient().put(new GitLabApiForm(form), pathArgs), expectedStatus); + } catch (Exception e) { + throw handle(e); + } + } + /** * Perform a file upload using the HTTP PUT method with the specified File instance and path objects, * returning a ClientResponse instance with the data returned from the endpoint. diff --git a/src/main/java/org/gitlab4j/api/ApplicationSettingsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/ApplicationSettingsApi.java similarity index 99% rename from src/main/java/org/gitlab4j/api/ApplicationSettingsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/ApplicationSettingsApi.java index 518849af9..d978b1d60 100644 --- a/src/main/java/org/gitlab4j/api/ApplicationSettingsApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/ApplicationSettingsApi.java @@ -7,7 +7,7 @@ import org.gitlab4j.api.models.ApplicationSettings; import org.gitlab4j.api.models.Setting; -import org.gitlab4j.api.utils.ISO8601; +import org.gitlab4j.models.utils.ISO8601; import com.fasterxml.jackson.databind.JsonNode; diff --git a/src/main/java/org/gitlab4j/api/ApplicationsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/ApplicationsApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/ApplicationsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/ApplicationsApi.java diff --git a/src/main/java/org/gitlab4j/api/AuditEventApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/AuditEventApi.java similarity index 99% rename from src/main/java/org/gitlab4j/api/AuditEventApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/AuditEventApi.java index 0970e45f1..e2c019e4e 100644 --- a/src/main/java/org/gitlab4j/api/AuditEventApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/AuditEventApi.java @@ -8,7 +8,7 @@ import jakarta.ws.rs.core.Response; import org.gitlab4j.api.models.AuditEvent; -import org.gitlab4j.api.utils.ISO8601; +import org.gitlab4j.models.utils.ISO8601; /** * This class implements the client side API for the GitLab Instance Audit Event API. diff --git a/src/main/java/org/gitlab4j/api/AwardEmojiApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/AwardEmojiApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/AwardEmojiApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/AwardEmojiApi.java diff --git a/src/main/java/org/gitlab4j/api/BoardsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/BoardsApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/BoardsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/BoardsApi.java diff --git a/src/main/java/org/gitlab4j/api/CommitsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/CommitsApi.java similarity index 99% rename from src/main/java/org/gitlab4j/api/CommitsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/CommitsApi.java index a40e371d5..4424c12a8 100644 --- a/src/main/java/org/gitlab4j/api/CommitsApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/CommitsApi.java @@ -23,7 +23,7 @@ import org.gitlab4j.api.models.Diff; import org.gitlab4j.api.models.GpgSignature; import org.gitlab4j.api.models.MergeRequest; -import org.gitlab4j.api.utils.ISO8601; +import org.gitlab4j.models.utils.ISO8601; /** * This class implements the client side API for the GitLab commits calls. @@ -577,8 +577,9 @@ public List getCommitStatuses( throw new RuntimeException("sha cannot be null"); } - MultivaluedMap queryParams = - (filter != null ? filter.getQueryParams(page, perPage).asMap() : getPageQueryParams(page, perPage)); + MultivaluedMap queryParams = (filter != null + ? new GitLabApiForm(filter.getQueryParams(page, perPage)).asMap() + : getPageQueryParams(page, perPage)); Response response = get( Response.Status.OK, queryParams, @@ -615,7 +616,7 @@ public Pager getCommitStatuses( } MultivaluedMap queryParams = - (filter != null ? filter.getQueryParams().asMap() : null); + (filter != null ? new GitLabApiForm(filter.getQueryParams()).asMap() : null); return (new Pager( this, CommitStatus.class, diff --git a/gitlab4j-api/src/main/java/org/gitlab4j/api/Constants.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/Constants.java new file mode 100644 index 000000000..2cd15012d --- /dev/null +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/Constants.java @@ -0,0 +1,7 @@ +package org.gitlab4j.api; + +/** + * @deprecated use {@link org.gitlab4j.models.Constants} instead. + */ +@Deprecated +public interface Constants extends org.gitlab4j.models.Constants {} diff --git a/src/main/java/org/gitlab4j/api/ContainerRegistryApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/ContainerRegistryApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/ContainerRegistryApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/ContainerRegistryApi.java diff --git a/src/main/java/org/gitlab4j/api/DeployKeysApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/DeployKeysApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/DeployKeysApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/DeployKeysApi.java diff --git a/src/main/java/org/gitlab4j/api/DeployTokensApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/DeployTokensApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/DeployTokensApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/DeployTokensApi.java diff --git a/src/main/java/org/gitlab4j/api/DeploymentsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/DeploymentsApi.java similarity index 99% rename from src/main/java/org/gitlab4j/api/DeploymentsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/DeploymentsApi.java index dafde8189..55eff257e 100644 --- a/src/main/java/org/gitlab4j/api/DeploymentsApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/DeploymentsApi.java @@ -77,7 +77,7 @@ public Pager getProjectDeployments(Object projectIdOrPath, Deploymen */ public Pager getProjectDeployments(Object projectIdOrPath, DeploymentFilter filter, int itemsPerPage) throws GitLabApiException { - GitLabApiForm formData = (filter != null ? filter.getQueryParams() : new GitLabApiForm()); + GitLabApiForm formData = (filter != null ? new GitLabApiForm(filter.getQueryParams()) : new GitLabApiForm()); return (new Pager( this, Deployment.class, diff --git a/src/main/java/org/gitlab4j/api/DiscussionsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/DiscussionsApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/DiscussionsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/DiscussionsApi.java diff --git a/src/main/java/org/gitlab4j/api/EnvironmentsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/EnvironmentsApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/EnvironmentsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/EnvironmentsApi.java diff --git a/src/main/java/org/gitlab4j/api/EpicsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/EpicsApi.java similarity index 99% rename from src/main/java/org/gitlab4j/api/EpicsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/EpicsApi.java index 75be34821..42d12946d 100644 --- a/src/main/java/org/gitlab4j/api/EpicsApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/EpicsApi.java @@ -9,7 +9,6 @@ import jakarta.ws.rs.core.GenericType; import jakarta.ws.rs.core.Response; -import org.gitlab4j.api.Constants.StateEvent; import org.gitlab4j.api.models.ChildEpic; import org.gitlab4j.api.models.CreatedChildEpic; import org.gitlab4j.api.models.Epic; @@ -210,7 +209,7 @@ public Pager getEpics(Object groupIdOrPath, int itemsPerPage, EpicFilter f this, Epic.class, itemsPerPage, - filter.getQueryParams().asMap(), + new GitLabApiForm(filter.getQueryParams()).asMap(), "groups", getGroupIdOrPath(groupIdOrPath), "epics")); diff --git a/src/main/java/org/gitlab4j/api/EventsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/EventsApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/EventsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/EventsApi.java diff --git a/src/main/java/org/gitlab4j/api/ExternalStatusCheckApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/ExternalStatusCheckApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/ExternalStatusCheckApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/ExternalStatusCheckApi.java diff --git a/src/main/java/org/gitlab4j/api/GitLabApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApi.java similarity index 99% rename from src/main/java/org/gitlab4j/api/GitLabApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApi.java index 55817f085..0a67ea01a 100644 --- a/src/main/java/org/gitlab4j/api/GitLabApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApi.java @@ -12,13 +12,13 @@ import jakarta.ws.rs.core.MediaType; import jakarta.ws.rs.core.Response; -import org.gitlab4j.api.Constants.TokenType; import org.gitlab4j.api.models.OauthTokenResponse; import org.gitlab4j.api.models.User; import org.gitlab4j.api.models.Version; import org.gitlab4j.api.utils.MaskingLoggingFilter; import org.gitlab4j.api.utils.Oauth2LoginStreamingOutput; import org.gitlab4j.api.utils.SecretString; +import org.gitlab4j.models.Constants.TokenType; /** * This class is provides a simplified interface to a GitLab API server, and divides the API up into diff --git a/src/main/java/org/gitlab4j/api/GitLabApiClient.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApiClient.java similarity index 99% rename from src/main/java/org/gitlab4j/api/GitLabApiClient.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApiClient.java index 609466c50..55fbbf31c 100755 --- a/src/main/java/org/gitlab4j/api/GitLabApiClient.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApiClient.java @@ -33,10 +33,10 @@ import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.StreamingOutput; -import org.gitlab4j.api.Constants.TokenType; import org.gitlab4j.api.GitLabApi.ApiVersion; import org.gitlab4j.api.utils.JacksonJson; import org.gitlab4j.api.utils.MaskingLoggingFilter; +import org.gitlab4j.models.Constants.TokenType; import org.glassfish.jersey.apache.connector.ApacheConnectorProvider; import org.glassfish.jersey.client.ClientConfig; import org.glassfish.jersey.client.ClientProperties; diff --git a/src/main/java/org/gitlab4j/api/GitLabApiException.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApiException.java similarity index 100% rename from src/main/java/org/gitlab4j/api/GitLabApiException.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApiException.java diff --git a/src/main/java/org/gitlab4j/api/GitLabApiForm.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApiForm.java similarity index 96% rename from src/main/java/org/gitlab4j/api/GitLabApiForm.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApiForm.java index 7bda957c0..ecc1d2e1e 100644 --- a/src/main/java/org/gitlab4j/api/GitLabApiForm.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabApiForm.java @@ -10,7 +10,8 @@ import org.gitlab4j.api.models.AccessLevel; import org.gitlab4j.api.models.Variable; -import org.gitlab4j.api.utils.ISO8601; +import org.gitlab4j.models.GitLabForm; +import org.gitlab4j.models.utils.ISO8601; /** * This class extends the standard JAX-RS Form class to make it fluent. @@ -37,6 +38,13 @@ public GitLabApiForm(int page, int perPage) { withParam(AbstractApi.PER_PAGE_PARAM, (Integer) perPage); } + public GitLabApiForm(GitLabForm form) { + super(); + for (Entry e : form.getFormValues().entrySet()) { + this.param(e.getKey(), e.getValue()); + } + } + /** * Fluent method for adding query and form parameters to a get() or post() call. * diff --git a/src/main/java/org/gitlab4j/api/GitLabCiYamlApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabCiYamlApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/GitLabCiYamlApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/GitLabCiYamlApi.java diff --git a/src/main/java/org/gitlab4j/api/GroupApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/GroupApi.java similarity index 98% rename from src/main/java/org/gitlab4j/api/GroupApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/GroupApi.java index 4a66faf6d..51888bf07 100644 --- a/src/main/java/org/gitlab4j/api/GroupApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/GroupApi.java @@ -16,9 +16,29 @@ import jakarta.ws.rs.core.Response; import org.gitlab4j.api.GitLabApi.ApiVersion; -import org.gitlab4j.api.models.*; +import org.gitlab4j.api.models.AccessLevel; +import org.gitlab4j.api.models.AccessRequest; +import org.gitlab4j.api.models.AuditEvent; +import org.gitlab4j.api.models.Badge; +import org.gitlab4j.api.models.CustomAttribute; +import org.gitlab4j.api.models.Group; +import org.gitlab4j.api.models.GroupAccessToken; +import org.gitlab4j.api.models.GroupFilter; +import org.gitlab4j.api.models.GroupHook; +import org.gitlab4j.api.models.GroupHookParams; +import org.gitlab4j.api.models.GroupParams; +import org.gitlab4j.api.models.GroupProjectsFilter; import org.gitlab4j.api.models.ImpersonationToken.Scope; -import org.gitlab4j.api.utils.ISO8601; +import org.gitlab4j.api.models.Iteration; +import org.gitlab4j.api.models.IterationFilter; +import org.gitlab4j.api.models.LdapGroupLink; +import org.gitlab4j.api.models.Member; +import org.gitlab4j.api.models.Project; +import org.gitlab4j.api.models.SamlGroupLink; +import org.gitlab4j.api.models.UploadedFile; +import org.gitlab4j.api.models.Variable; +import org.gitlab4j.api.models.Visibility; +import org.gitlab4j.models.utils.ISO8601; /** * This class implements the client side API for the GitLab groups calls. @@ -175,7 +195,7 @@ public List getGroups(GroupFilter filter) throws GitLabApiException { * @throws GitLabApiException if any exception occurs */ public Pager getGroups(GroupFilter filter, int itemsPerPage) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams()); return (new Pager(this, Group.class, itemsPerPage, formData.asMap(), "groups")); } @@ -436,7 +456,7 @@ public List getDescendantGroups(Object groupIdOrPath, GroupFilter filter) */ public Pager getDescendantGroups(Object groupIdOrPath, GroupFilter filter, int itemsPerPage) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams()); return (new Pager( this, Group.class, @@ -488,7 +508,7 @@ public List getProjects(Object groupIdOrPath, GroupProjectsFilter filte */ public Pager getProjects(Object groupIdOrPath, GroupProjectsFilter filter, int itemsPerPage) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams()); return (new Pager( this, Project.class, @@ -2304,7 +2324,7 @@ public void deleteCustomAttribute(final Object groupIdOrPath, final String key) */ public List listGroupIterations(Object groupIdOrPath, IterationFilter filter) throws GitLabApiException { MultivaluedMap queryParams = - (filter == null) ? null : filter.getQueryParams().asMap(); + (filter == null) ? null : new GitLabApiForm(filter.getQueryParams()).asMap(); Response response = get(Response.Status.OK, queryParams, "groups", getGroupIdOrPath(groupIdOrPath), "iterations"); return (response.readEntity(new GenericType>() {})); diff --git a/src/main/java/org/gitlab4j/api/HealthCheckApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/HealthCheckApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/HealthCheckApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/HealthCheckApi.java diff --git a/src/main/java/org/gitlab4j/api/HookManager.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/HookManager.java similarity index 100% rename from src/main/java/org/gitlab4j/api/HookManager.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/HookManager.java diff --git a/src/main/java/org/gitlab4j/api/ImportExportApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/ImportExportApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/ImportExportApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/ImportExportApi.java diff --git a/src/main/java/org/gitlab4j/api/IssuesApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/IssuesApi.java similarity index 98% rename from src/main/java/org/gitlab4j/api/IssuesApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/IssuesApi.java index 7fca33125..918726cd3 100644 --- a/src/main/java/org/gitlab4j/api/IssuesApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/IssuesApi.java @@ -21,7 +21,8 @@ import org.gitlab4j.api.models.MergeRequest; import org.gitlab4j.api.models.Participant; import org.gitlab4j.api.models.TimeStats; -import org.gitlab4j.api.utils.DurationUtils; +import org.gitlab4j.models.Constants; +import org.gitlab4j.models.utils.DurationUtils; /** * This class provides an entry point to all the GitLab API Issue calls. @@ -177,7 +178,7 @@ public List getIssues(Object projectIdOrPath, IssueFilter filter) throws */ public List getIssues(Object projectIdOrPath, IssueFilter filter, int page, int perPage) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(page, perPage); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams(page, perPage)); Response response = get(Response.Status.OK, formData.asMap(), "projects", getProjectIdOrPath(projectIdOrPath), "issues"); return (response.readEntity(new GenericType>() {})); @@ -196,7 +197,7 @@ public List getIssues(Object projectIdOrPath, IssueFilter filter, int pag */ public Pager getIssues(Object projectIdOrPath, IssueFilter filter, int itemsPerPage) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams()); return (new Pager( this, Issue.class, @@ -248,7 +249,7 @@ public List getIssues(IssueFilter filter) throws GitLabApiException { * @throws GitLabApiException if any exception occurs */ public List getIssues(IssueFilter filter, int page, int perPage) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(page, perPage); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams(page, perPage)); Response response = get(Response.Status.OK, formData.asMap(), "issues"); return (response.readEntity(new GenericType>() {})); } @@ -265,7 +266,7 @@ public List getIssues(IssueFilter filter, int page, int perPage) throws G * @throws GitLabApiException if any exception occurs */ public Pager getIssues(IssueFilter filter, int itemsPerPage) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams()); return (new Pager(this, Issue.class, itemsPerPage, formData.asMap(), "issues")); } @@ -350,7 +351,7 @@ public List getGroupIssues(Object groupIdOrPath, IssueFilter filter) thro */ public Pager getGroupIssues(Object groupIdOrPath, IssueFilter filter, int itemsPerPage) throws GitLabApiException { - GitLabApiForm formData = (filter != null ? filter.getQueryParams() : new GitLabApiForm()); + GitLabApiForm formData = (filter != null ? new GitLabApiForm(filter.getQueryParams()) : new GitLabApiForm()); return (new Pager( this, Issue.class, @@ -1251,7 +1252,7 @@ public Stream getParticipantsStream(Object projectIdOrPath, Long is * @throws GitLabApiException if any exception occurs */ public IssuesStatistics getIssuesStatistics(IssuesStatisticsFilter filter) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams()); Response response = get(Response.Status.OK, formData.asMap(), "issues_statistics"); return (response.readEntity(IssuesStatistics.class)); } @@ -1268,7 +1269,7 @@ public IssuesStatistics getIssuesStatistics(IssuesStatisticsFilter filter) throw */ public IssuesStatistics getGroupIssuesStatistics(Object groupIdOrPath, IssuesStatisticsFilter filter) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams()); Response response = get( Response.Status.OK, formData.asMap(), @@ -1290,7 +1291,7 @@ public IssuesStatistics getGroupIssuesStatistics(Object groupIdOrPath, IssuesSta */ public IssuesStatistics geProjectIssuesStatistics(Object projectIdOrPath, IssuesStatisticsFilter filter) throws GitLabApiException { - GitLabApiForm formData = filter.getQueryParams(); + GitLabApiForm formData = new GitLabApiForm(filter.getQueryParams()); Response response = get( Response.Status.OK, formData.asMap(), diff --git a/src/main/java/org/gitlab4j/api/JobApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/JobApi.java similarity index 99% rename from src/main/java/org/gitlab4j/api/JobApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/JobApi.java index f5d38f5b4..4271e2ddf 100644 --- a/src/main/java/org/gitlab4j/api/JobApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/JobApi.java @@ -18,6 +18,7 @@ import org.gitlab4j.api.models.ArtifactsFile; import org.gitlab4j.api.models.Job; import org.gitlab4j.api.models.JobAttributes; +import org.gitlab4j.models.Constants; /** * This class provides an entry point to all the GitLab API job calls. diff --git a/src/main/java/org/gitlab4j/api/KeysApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/KeysApi.java similarity index 100% rename from src/main/java/org/gitlab4j/api/KeysApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/KeysApi.java diff --git a/src/main/java/org/gitlab4j/api/LabelsApi.java b/gitlab4j-api/src/main/java/org/gitlab4j/api/LabelsApi.java similarity index 98% rename from src/main/java/org/gitlab4j/api/LabelsApi.java rename to gitlab4j-api/src/main/java/org/gitlab4j/api/LabelsApi.java index 77e658d6a..7b431fb45 100644 --- a/src/main/java/org/gitlab4j/api/LabelsApi.java +++ b/gitlab4j-api/src/main/java/org/gitlab4j/api/LabelsApi.java @@ -113,7 +113,7 @@ public Optional