├── .dockerignore ├── .gitattributes ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .jcheck └── conf ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── Unzip.java ├── args ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── args │ │ ├── Argument.java │ │ ├── ArgumentParser.java │ │ ├── Arguments.java │ │ ├── Command.java │ │ ├── CommandCtor.java │ │ ├── CommandHelpText.java │ │ ├── CommandMain.java │ │ ├── Default.java │ │ ├── Executable.java │ │ ├── Flag.java │ │ ├── FlagValue.java │ │ ├── Input.java │ │ ├── InputDescriber.java │ │ ├── InputQualifier.java │ │ ├── InputQuantifier.java │ │ ├── Main.java │ │ ├── MultiCommandParser.java │ │ ├── Option.java │ │ ├── OptionDescribe.java │ │ ├── OptionFullname.java │ │ ├── OptionHelptext.java │ │ ├── OptionQualifier.java │ │ ├── Switch.java │ │ ├── SwitchFullname.java │ │ ├── SwitchHelptext.java │ │ └── SwitchQualifier.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── args │ ├── InputTests.java │ └── SwitchTests.java ├── bot ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bot │ │ ├── Bot.java │ │ ├── BotConfiguration.java │ │ ├── BotFactory.java │ │ ├── BotRunner.java │ │ ├── BotRunnerConfiguration.java │ │ ├── BotTaskAggregationHandler.java │ │ ├── BotWatchdog.java │ │ ├── ConfigurationError.java │ │ ├── LivenessHandler.java │ │ ├── LogContext.java │ │ ├── LogContextMap.java │ │ ├── MetricsHandler.java │ │ ├── ProfileHandler.java │ │ ├── ReadinessHandler.java │ │ ├── VersionHandler.java │ │ ├── WebhookHandler.java │ │ └── WorkItem.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── bot │ ├── BotRunnerConfigurationTests.java │ ├── BotRunnerTests.java │ ├── BotTaskAggregationHandlerTests.java │ └── LogContextTests.java ├── bots.dockerfile ├── bots ├── bridgekeeper │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── bridgekeeper │ │ │ ├── BridgekeeperBotFactory.java │ │ │ ├── PullRequestCloserBot.java │ │ │ └── PullRequestPrunerBot.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── bridgekeeper │ │ ├── BridgekeeperBotFactoryTest.java │ │ ├── PullRequestCloserBotTests.java │ │ └── PullRequestPrunerBotTests.java ├── censussync │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── censussync │ │ │ ├── CensusSyncBotFactory.java │ │ │ ├── CensusSyncSplitBot.java │ │ │ └── CensusSyncUnifyBot.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── censussync │ │ └── CensusSyncBotFactoryTest.java ├── checkout │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── checkout │ │ │ ├── CheckoutBot.java │ │ │ ├── CheckoutBotFactory.java │ │ │ └── MarkStorage.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── checkout │ │ ├── CheckoutBotFactoryTest.java │ │ └── CheckoutBotTests.java ├── cli │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── cli │ │ │ ├── BotConsoleHandler.java │ │ │ ├── BotLauncher.java │ │ │ ├── BotLogstashHandler.java │ │ │ └── BotSlackHandler.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── cli │ │ ├── BotLogstashHandlerTests.java │ │ ├── BotSlackHandlerTests.java │ │ ├── LoggingBot.java │ │ └── RestReceiver.java ├── common │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── common │ │ ├── BotUtils.java │ │ ├── CommandNameEnum.java │ │ ├── PatternEnum.java │ │ ├── PullRequestConstants.java │ │ └── SolvesTracker.java ├── forward │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── forward │ │ │ ├── ForwardBot.java │ │ │ └── ForwardBotFactory.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── forward │ │ ├── ForwardBotFactoryTest.java │ │ └── ForwardBotTests.java ├── hgbridge │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── hgbridge │ │ │ ├── Exporter.java │ │ │ ├── ExporterConfig.java │ │ │ ├── JBridgeBot.java │ │ │ └── JBridgeBotFactory.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── hgbridge │ │ ├── BridgeBotTests.java │ │ └── JBridgeBotFactoryTest.java ├── merge │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── merge │ │ │ ├── Clock.java │ │ │ ├── MergeBot.java │ │ │ └── MergeBotFactory.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── merge │ │ ├── MergeBotFactoryTest.java │ │ └── MergeBotTests.java ├── mirror │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── mirror │ │ │ ├── MirrorBot.java │ │ │ └── MirrorBotFactory.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── mirror │ │ ├── MirrorBotFactoryTest.java │ │ └── MirrorBotTests.java ├── mlbridge │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── mlbridge │ │ │ ├── ArchiveItem.java │ │ │ ├── ArchiveMessages.java │ │ │ ├── ArchiveReaderWorkItem.java │ │ │ ├── ArchiveWorkItem.java │ │ │ ├── BridgedComment.java │ │ │ ├── CensusInstance.java │ │ │ ├── CommentPosterWorkItem.java │ │ │ ├── CooldownQuarantine.java │ │ │ ├── EmojiTable.java │ │ │ ├── HostUserToEmailAuthor.java │ │ │ ├── HostUserToRole.java │ │ │ ├── HostUserToUsername.java │ │ │ ├── LabelsUpdaterWorkItem.java │ │ │ ├── MailingListArchiveReaderBot.java │ │ │ ├── MailingListBridgeBot.java │ │ │ ├── MailingListBridgeBotBuilder.java │ │ │ ├── MailingListBridgeBotFactory.java │ │ │ ├── MailingListConfiguration.java │ │ │ ├── MarkdownToText.java │ │ │ ├── QuoteFilter.java │ │ │ ├── ReviewArchive.java │ │ │ ├── TextToMarkdown.java │ │ │ ├── WebrevDescription.java │ │ │ ├── WebrevNotification.java │ │ │ └── WebrevStorage.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── mlbridge │ │ ├── ArchiveItemTests.java │ │ ├── BridgedCommentTests.java │ │ ├── LabelsUpdaterTests.java │ │ ├── MailingListArchiveReaderBotTests.java │ │ ├── MailingListBridgeBotFactoryTest.java │ │ ├── MailingListBridgeBotTests.java │ │ ├── MarkdownToTextTests.java │ │ ├── QuoteFilterTests.java │ │ ├── TextToMarkdownTests.java │ │ └── WebrevStorageTests.java ├── notify │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── notify │ │ │ ├── CommitFormatters.java │ │ │ ├── Emitter.java │ │ │ ├── NonRetriableException.java │ │ │ ├── Notifier.java │ │ │ ├── NotifierFactory.java │ │ │ ├── NotifyBot.java │ │ │ ├── NotifyBotBuilder.java │ │ │ ├── NotifyBotFactory.java │ │ │ ├── PullRequestListener.java │ │ │ ├── PullRequestState.java │ │ │ ├── PullRequestWorkItem.java │ │ │ ├── RepositoryListener.java │ │ │ ├── RepositoryWorkItem.java │ │ │ ├── UpdateHistory.java │ │ │ ├── UpdatedBranch.java │ │ │ ├── UpdatedTag.java │ │ │ ├── comment │ │ │ ├── CommitCommentNotifier.java │ │ │ └── CommitCommentNotifierFactory.java │ │ │ ├── issue │ │ │ ├── CensusInstance.java │ │ │ ├── IssueNotifier.java │ │ │ ├── IssueNotifierBuilder.java │ │ │ └── IssueNotifierFactory.java │ │ │ ├── json │ │ │ ├── JsonNotifier.java │ │ │ ├── JsonNotifierFactory.java │ │ │ └── JsonWriter.java │ │ │ ├── mailinglist │ │ │ ├── MailingListNotifier.java │ │ │ ├── MailingListNotifierBuilder.java │ │ │ └── MailingListNotifierFactory.java │ │ │ ├── notes │ │ │ ├── CommitNoteNotifier.java │ │ │ └── CommitNoteNotifierFactory.java │ │ │ ├── prbranch │ │ │ ├── PullRequestBranchNotifier.java │ │ │ └── PullRequestBranchNotifierFactory.java │ │ │ └── slack │ │ │ ├── SlackNotifier.java │ │ │ └── SlackNotifierFactory.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── notify │ │ ├── NotifyBotFactoryTest.java │ │ ├── RepositoryWorkItemTests.java │ │ ├── TestUtils.java │ │ ├── UpdateHistoryTests.java │ │ ├── UpdaterTests.java │ │ ├── comment │ │ └── CommitCommentNotifierTests.java │ │ ├── issue │ │ └── IssueNotifierTests.java │ │ ├── json │ │ └── JsonNotifierTests.java │ │ ├── mailinglist │ │ └── MailingListNotifierTests.java │ │ ├── notes │ │ └── CommitNoteNotiferTests.java │ │ └── prbranch │ │ └── PullRequestBranchNotifierTests.java ├── pr │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── pr │ │ │ ├── AdditionalConfiguration.java │ │ │ ├── Approval.java │ │ │ ├── ApprovalCommand.java │ │ │ ├── ApproveCommand.java │ │ │ ├── AuthorCommand.java │ │ │ ├── BackportCommand.java │ │ │ ├── BranchCommand.java │ │ │ ├── CSRCommand.java │ │ │ ├── CSRIssueBot.java │ │ │ ├── CSRIssueWorkItem.java │ │ │ ├── CensusInstance.java │ │ │ ├── CheckRun.java │ │ │ ├── CheckWorkItem.java │ │ │ ├── CheckablePullRequest.java │ │ │ ├── CleanCommand.java │ │ │ ├── CommandExtractor.java │ │ │ ├── CommandHandler.java │ │ │ ├── CommandInvocation.java │ │ │ ├── CommitCommandWorkItem.java │ │ │ ├── CommitCommentsWorkItem.java │ │ │ ├── ContributorCommand.java │ │ │ ├── Contributors.java │ │ │ ├── IntegrateCommand.java │ │ │ ├── IntegrationLock.java │ │ │ ├── IssueBot.java │ │ │ ├── IssueCommand.java │ │ │ ├── JEPCommand.java │ │ │ ├── LabelCommand.java │ │ │ ├── LabelTracker.java │ │ │ ├── LabelerWorkItem.java │ │ │ ├── LimitedCensusInstance.java │ │ │ ├── MergePullRequestReviewConfiguration.java │ │ │ ├── OpenCommand.java │ │ │ ├── OverridingAuthor.java │ │ │ ├── PRRecord.java │ │ │ ├── PullRequestBot.java │ │ │ ├── PullRequestBotBuilder.java │ │ │ ├── PullRequestBotFactory.java │ │ │ ├── PullRequestCheckIssueVisitor.java │ │ │ ├── PullRequestCommandWorkItem.java │ │ │ ├── PullRequestWorkItem.java │ │ │ ├── ReadyForSponsorTracker.java │ │ │ ├── ReviewCoverage.java │ │ │ ├── ReviewerCommand.java │ │ │ ├── Reviewers.java │ │ │ ├── ReviewersCommand.java │ │ │ ├── ReviewersTracker.java │ │ │ ├── ScratchArea.java │ │ │ ├── SponsorCommand.java │ │ │ ├── Summary.java │ │ │ ├── SummaryCommand.java │ │ │ ├── TagCommand.java │ │ │ └── TouchCommand.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── pr │ │ ├── AdditionalConfigurationTests.java │ │ ├── ApprovalAndApproveCommandTests.java │ │ ├── ApprovalTests.java │ │ ├── AuthorCommandTests.java │ │ ├── BackportCommitCommandTests.java │ │ ├── BackportPRCommandTests.java │ │ ├── BackportTests.java │ │ ├── BranchCommitCommandTests.java │ │ ├── CSRBotTests.java │ │ ├── CSRCommandTests.java │ │ ├── CheckTests.java │ │ ├── CleanCommandTests.java │ │ ├── CommitCommandAsserts.java │ │ ├── CommitCommandTests.java │ │ ├── ContributorTests.java │ │ ├── IntegrateTests.java │ │ ├── IntegrationLockTests.java │ │ ├── IssueBotTests.java │ │ ├── IssueTests.java │ │ ├── JEPCommandTests.java │ │ ├── LabelTests.java │ │ ├── LabelerTests.java │ │ ├── MergeTests.java │ │ ├── OpenCommandTests.java │ │ ├── PreIntegrateTests.java │ │ ├── PullRequestAsserts.java │ │ ├── PullRequestBotFactoryTest.java │ │ ├── PullRequestCommandTests.java │ │ ├── ReviewerTests.java │ │ ├── ReviewersTests.java │ │ ├── SponsorTests.java │ │ ├── SummaryTests.java │ │ └── TagCommitCommandTests.java ├── submit │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── submit │ │ │ ├── CheckUpdater.java │ │ │ ├── ShellExecutor.java │ │ │ ├── ShellExecutorFactory.java │ │ │ ├── SubmitBot.java │ │ │ ├── SubmitBotFactory.java │ │ │ ├── SubmitBotWorkItem.java │ │ │ ├── SubmitExecutor.java │ │ │ └── SubmitExecutorFactory.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── submit │ │ ├── CheckUpdaterTests.java │ │ ├── ShellExecutorTests.java │ │ ├── SubmitBotFactoryTest.java │ │ └── SubmitBotTests.java ├── synclabel │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── synclabel │ │ │ ├── SyncLabelBot.java │ │ │ ├── SyncLabelBotFactory.java │ │ │ ├── SyncLabelBotFindMainIssueWorkItem.java │ │ │ └── SyncLabelBotUpdateLabelWorkItem.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── synclabel │ │ ├── SyncLabelBotFactoryTest.java │ │ └── SyncLabelBotTests.java ├── tester │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── tester │ │ │ ├── Stage.java │ │ │ ├── State.java │ │ │ ├── TestBot.java │ │ │ ├── TestBotFactory.java │ │ │ ├── TestUpdateNeededWorkItem.java │ │ │ └── TestWorkItem.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── tester │ │ ├── InMemoryContinuousIntegration.java │ │ ├── InMemoryHost.java │ │ ├── InMemoryHostedRepository.java │ │ ├── InMemoryJob.java │ │ ├── InMemoryPullRequest.java │ │ ├── StateTests.java │ │ ├── TestBotFactoryTest.java │ │ ├── TestBotTests.java │ │ └── TestWorkItemTests.java ├── testinfo │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ ├── module-info.java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── bots │ │ │ └── testinfo │ │ │ ├── TestInfoBot.java │ │ │ ├── TestInfoBotFactory.java │ │ │ ├── TestInfoBotWorkItem.java │ │ │ └── TestResults.java │ │ └── test │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── testinfo │ │ ├── TestInfoBotFactoryTest.java │ │ ├── TestInfoTests.java │ │ └── TestResultsTests.java └── topological │ ├── build.gradle │ └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── bots │ │ └── topological │ │ ├── Edge.java │ │ ├── TopologicalBot.java │ │ ├── TopologicalBotFactory.java │ │ └── TopologicalSort.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── bots │ └── topological │ ├── TopologicalBotFactoryTest.java │ ├── TopologicalBotTests.java │ └── TopologicalSortTest.java ├── build.gradle ├── census ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── census │ │ ├── Census.java │ │ ├── Contributor.java │ │ ├── Contributors.java │ │ ├── Group.java │ │ ├── Member.java │ │ ├── Namespace.java │ │ ├── Parser.java │ │ ├── Project.java │ │ └── Version.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── census │ ├── CensusTests.java │ ├── GroupTests.java │ ├── MemberTests.java │ └── ProjectTests.java ├── ci ├── build.gradle └── src │ └── main │ └── java │ ├── module-info.java │ └── org │ └── openjdk │ └── skara │ └── ci │ ├── Build.java │ ├── ContinuousIntegration.java │ ├── ContinuousIntegrationFactory.java │ ├── Job.java │ └── Test.java ├── cli ├── build.gradle ├── resources │ └── man │ │ └── man1 │ │ ├── git-jcheck.1 │ │ ├── git-verify-import.1 │ │ └── git-webrev.1 └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── cli │ │ ├── ForgeUtils.java │ │ ├── GitBackport.java │ │ ├── GitCommitComments.java │ │ ├── GitCredentials.java │ │ ├── GitDefpath.java │ │ ├── GitFork.java │ │ ├── GitHgExport.java │ │ ├── GitInfo.java │ │ ├── GitJCheck.java │ │ ├── GitPr.java │ │ ├── GitProxy.java │ │ ├── GitPublish.java │ │ ├── GitSkara.java │ │ ├── GitSync.java │ │ ├── GitToken.java │ │ ├── GitTranslate.java │ │ ├── GitTrees.java │ │ ├── GitWebrev.java │ │ ├── JCheckCLIVisitor.java │ │ ├── Logging.java │ │ ├── MinimalFormatter.java │ │ ├── Remote.java │ │ ├── SkaraDebug.java │ │ ├── debug │ │ ├── GitMlRules.java │ │ ├── GitOpenJDKImport.java │ │ ├── GitVerifyImport.java │ │ ├── HgOpenJDKImport.java │ │ ├── IssueRedecorate.java │ │ └── SkaraDebugHelp.java │ │ └── pr │ │ ├── GitPrApply.java │ │ ├── GitPrCC.java │ │ ├── GitPrCSR.java │ │ ├── GitPrCheckout.java │ │ ├── GitPrClose.java │ │ ├── GitPrContributor.java │ │ ├── GitPrCreate.java │ │ ├── GitPrFetch.java │ │ ├── GitPrHelp.java │ │ ├── GitPrInfo.java │ │ ├── GitPrIntegrate.java │ │ ├── GitPrIssue.java │ │ ├── GitPrList.java │ │ ├── GitPrReview.java │ │ ├── GitPrReviewer.java │ │ ├── GitPrSet.java │ │ ├── GitPrShow.java │ │ ├── GitPrSponsor.java │ │ ├── GitPrSummary.java │ │ ├── GitPrTest.java │ │ └── Utils.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── cli │ └── debug │ └── TestGitMlRules.java ├── config └── mailinglist │ └── rules │ └── jdk.json ├── deps.env ├── email ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── email │ │ ├── Email.java │ │ ├── EmailAddress.java │ │ ├── EmailBuilder.java │ │ ├── MimeText.java │ │ ├── SMTP.java │ │ └── SMTPSession.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── email │ ├── EmailAddressTests.java │ ├── EmailTests.java │ ├── MimeTextTests.java │ └── SMTPTests.java ├── encoding ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── encoding │ │ └── Base85.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── encoding │ └── Base85Tests.java ├── forge ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── forge │ │ ├── Check.java │ │ ├── CheckAnnotation.java │ │ ├── CheckAnnotationBuilder.java │ │ ├── CheckAnnotationLevel.java │ │ ├── CheckBuilder.java │ │ ├── CheckStatus.java │ │ ├── Collaborator.java │ │ ├── CommitComment.java │ │ ├── CommitFailure.java │ │ ├── Forge.java │ │ ├── ForgeFactory.java │ │ ├── HostedBranch.java │ │ ├── HostedCommit.java │ │ ├── HostedRepository.java │ │ ├── HostedRepositoryPool.java │ │ ├── LabelConfiguration.java │ │ ├── LabelConfigurationHostedRepository.java │ │ ├── LabelConfigurationJson.java │ │ ├── MemberState.java │ │ ├── PreIntegrations.java │ │ ├── PullRequest.java │ │ ├── PullRequestBody.java │ │ ├── PullRequestPoller.java │ │ ├── PullRequestUpdateCache.java │ │ ├── PullRequestUtils.java │ │ ├── ReferenceChange.java │ │ ├── Review.java │ │ ├── ReviewComment.java │ │ ├── WebHook.java │ │ ├── WorkflowStatus.java │ │ ├── bitbucket │ │ ├── BitbucketForgeFactory.java │ │ ├── BitbucketHost.java │ │ └── BitbucketRepository.java │ │ ├── github │ │ ├── GitHubApplication.java │ │ ├── GitHubForgeFactory.java │ │ ├── GitHubHost.java │ │ ├── GitHubPullRequest.java │ │ └── GitHubRepository.java │ │ ├── gitlab │ │ ├── GitLabForgeFactory.java │ │ ├── GitLabHost.java │ │ ├── GitLabMergeRequest.java │ │ └── GitLabRepository.java │ │ └── internal │ │ └── ForgeUtils.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── forge │ ├── CheckBuilderTests.java │ ├── ForgeIntegrationTests.java │ ├── ForgeTests.java │ ├── HostedRepositoryPoolTests.java │ ├── LabelConfigurationTests.java │ ├── PullRequestBodyTests.java │ ├── PullRequestPollerTests.java │ ├── PullRequestTests.java │ ├── PullRequestUtilsTests.java │ ├── github │ ├── GitHubApplicationTests.java │ ├── GitHubHostTests.java │ └── GitHubIntegrationTests.java │ └── gitlab │ └── GitLabIntegrationTests.java ├── gradle.properties ├── gradle ├── plugins │ ├── .gitignore │ ├── build.gradle │ ├── skara-images │ │ ├── build.gradle │ │ ├── settings.gradle │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── gradle │ │ │ └── images │ │ │ ├── DownloadJDKTask.java │ │ │ ├── ImageEnvironment.java │ │ │ ├── ImagesPlugin.java │ │ │ ├── LaunchersTask.java │ │ │ └── LinkTask.java │ ├── skara-module │ │ ├── build.gradle │ │ ├── settings.gradle │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── gradle │ │ │ └── module │ │ │ ├── ModuleExtension.java │ │ │ └── ModulePlugin.java │ ├── skara-proxy │ │ ├── build.gradle │ │ ├── settings.gradle │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── gradle │ │ │ └── proxy │ │ │ └── ProxyPlugin.java │ ├── skara-reproduce │ │ ├── build.gradle │ │ ├── settings.gradle │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── gradle │ │ │ └── reproduce │ │ │ ├── ReproducePlugin.java │ │ │ └── ReproduceTask.java │ └── skara-version │ │ ├── build.gradle │ │ ├── settings.gradle │ │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── gradle │ │ └── version │ │ └── VersionPlugin.java └── wrapper │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── host ├── build.gradle └── src │ └── main │ └── java │ ├── module-info.java │ └── org │ └── openjdk │ └── skara │ └── host │ ├── Credential.java │ ├── Host.java │ └── HostUser.java ├── ini ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── ini │ │ ├── INI.java │ │ └── Section.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── ini │ └── INITests.java ├── issuetracker ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── issuetracker │ │ ├── ActiveUserTracker.java │ │ ├── Comment.java │ │ ├── Issue.java │ │ ├── IssueLinkBuilder.java │ │ ├── IssueProject.java │ │ ├── IssueProjectPoller.java │ │ ├── IssueTracker.java │ │ ├── IssueTrackerFactory.java │ │ ├── IssueTrackerIssue.java │ │ ├── Label.java │ │ ├── Link.java │ │ ├── WebLinkBuilder.java │ │ └── jira │ │ ├── JiraHost.java │ │ ├── JiraIssue.java │ │ ├── JiraIssueTrackerFactory.java │ │ ├── JiraLinkType.java │ │ ├── JiraProject.java │ │ └── JiraVault.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── issuetracker │ ├── IssueProjectPollerTests.java │ ├── IssueTrackerTests.java │ └── jira │ └── JiraIntegrationTests.java ├── jbs ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── jbs │ │ ├── Backports.java │ │ ├── BuildCompare.java │ │ └── JdkVersion.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── jbs │ ├── BackportsIntegrationTests.java │ ├── BackportsTests.java │ ├── BuildCompareTests.java │ └── JdkVersionTests.java ├── jcheck ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── jcheck │ │ ├── AuthorCheck.java │ │ ├── AuthorEmailIssue.java │ │ ├── AuthorNameIssue.java │ │ ├── BinaryCheck.java │ │ ├── BinaryIssue.java │ │ ├── BranchIssue.java │ │ ├── BranchesCheck.java │ │ ├── CensusConfiguration.java │ │ ├── Check.java │ │ ├── ChecksConfiguration.java │ │ ├── CommitCheck.java │ │ ├── CommitIssue.java │ │ ├── CommitterCheck.java │ │ ├── CommitterConfiguration.java │ │ ├── CommitterEmailIssue.java │ │ ├── CommitterIssue.java │ │ ├── CommitterNameIssue.java │ │ ├── CopyrightFormatCheck.java │ │ ├── CopyrightFormatConfiguration.java │ │ ├── CopyrightFormatIssue.java │ │ ├── DuplicateIssuesCheck.java │ │ ├── DuplicateIssuesIssue.java │ │ ├── ExecutableCheck.java │ │ ├── ExecutableIssue.java │ │ ├── GeneralConfiguration.java │ │ ├── HgTagCommitCheck.java │ │ ├── HgTagCommitIssue.java │ │ ├── InvalidReviewersIssue.java │ │ ├── Issue.java │ │ ├── IssueVisitor.java │ │ ├── IssuesCheck.java │ │ ├── IssuesConfiguration.java │ │ ├── IssuesIssue.java │ │ ├── IssuesTitleCheck.java │ │ ├── IssuesTitleIssue.java │ │ ├── JCheck.java │ │ ├── JCheckConfiguration.java │ │ ├── MergeConfiguration.java │ │ ├── MergeMessageCheck.java │ │ ├── MergeMessageIssue.java │ │ ├── MessageCheck.java │ │ ├── MessageIssue.java │ │ ├── MessageWhitespaceIssue.java │ │ ├── ProblemListsCheck.java │ │ ├── ProblemListsConfiguration.java │ │ ├── ProblemListsIssue.java │ │ ├── RepositoryCheck.java │ │ ├── RepositoryConfiguration.java │ │ ├── ReviewersCheck.java │ │ ├── ReviewersConfiguration.java │ │ ├── SelfReviewIssue.java │ │ ├── Severity.java │ │ ├── SymlinkCheck.java │ │ ├── SymlinkIssue.java │ │ ├── TagIssue.java │ │ ├── TagsCheck.java │ │ ├── TooFewReviewersIssue.java │ │ ├── Utilities.java │ │ ├── WhitespaceCheck.java │ │ ├── WhitespaceConfiguration.java │ │ ├── WhitespaceIssue.java │ │ └── iterators │ │ ├── ConcatIterator.java │ │ ├── FlatMapIterator.java │ │ └── MapIterator.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── jcheck │ ├── AuthorCheckTests.java │ ├── BinaryCheckTests.java │ ├── BranchesCheckTests.java │ ├── CommitterCheckTests.java │ ├── CopyrightFormatCheckTests.java │ ├── DuplicateIssuesCheckTests.java │ ├── ExecutableCheckTests.java │ ├── HgTagCommitCheckTests.java │ ├── IssuesCheckTests.java │ ├── JCheckTests.java │ ├── MergeMessageCheckTests.java │ ├── MessageCheckTests.java │ ├── ProblemListsCheckTests.java │ ├── ReviewersCheckTests.java │ ├── SymlinkCheckTests.java │ ├── TagsCheckTests.java │ ├── TestRepository.java │ └── WhitespaceCheckTests.java ├── json ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── json │ │ ├── JSON.java │ │ ├── JSONArray.java │ │ ├── JSONBoolean.java │ │ ├── JSONDecimal.java │ │ ├── JSONNull.java │ │ ├── JSONNumber.java │ │ ├── JSONObject.java │ │ ├── JSONParser.java │ │ ├── JSONString.java │ │ ├── JSONValue.java │ │ └── JWCC.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── json │ ├── JSONParserTests.java │ └── JWCCTests.java ├── mailinglist ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── mailinglist │ │ ├── Conversation.java │ │ ├── MailingListReader.java │ │ ├── MailingListServer.java │ │ ├── MailingListServerFactory.java │ │ ├── Mbox.java │ │ ├── mailman │ │ ├── MailmanListReader.java │ │ └── MailmanServer.java │ │ └── mboxfile │ │ ├── MboxFileListReader.java │ │ └── MboxFileListServer.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── mailinglist │ ├── MailmanTests.java │ └── MboxTests.java ├── metrics ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── metrics │ │ ├── Collector.java │ │ ├── CollectorRegistry.java │ │ ├── Counter.java │ │ ├── Exporter.java │ │ ├── Gauge.java │ │ ├── Metric.java │ │ └── PrometheusExporter.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── metrics │ ├── CollectorRegistryTests.java │ ├── CounterTests.java │ ├── GaugeTests.java │ └── PrometheusExpoterTests.java ├── network ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── network │ │ ├── RestRequest.java │ │ ├── RestRequestCache.java │ │ ├── URIBuilder.java │ │ └── UncheckedRestException.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── network │ ├── RestRequestTests.java │ └── URIBuilderTests.java ├── process ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── process │ │ ├── Execution.java │ │ └── Process.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── process │ └── ProcessTests.java ├── proxy ├── build.gradle └── src │ └── main │ └── java │ ├── module-info.java │ └── org │ └── openjdk │ └── skara │ └── proxy │ └── HttpProxy.java ├── settings.gradle ├── skara.gitconfig ├── skara.py ├── skara.sh ├── storage ├── build.gradle └── src │ ├── main │ └── java │ │ ├── module-info.java │ │ └── org │ │ └── openjdk │ │ └── skara │ │ └── storage │ │ ├── FileStorage.java │ │ ├── HostedRepositoryStorage.java │ │ ├── RepositoryStorage.java │ │ ├── Storage.java │ │ ├── StorageBuilder.java │ │ ├── StorageDeserializer.java │ │ └── StorageSerializer.java │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── storage │ ├── FileStorageTests.java │ ├── HostedRepositoryStorageTests.java │ └── RepositoryStorageTests.java ├── test.dockerfile ├── test ├── build.gradle └── src │ └── main │ └── java │ ├── module-info.java │ └── org │ └── openjdk │ └── skara │ └── test │ ├── CensusBuilder.java │ ├── CheckableRepository.java │ ├── DisableAllBotsTestsOnWindows.java │ ├── EnabledIfTestProperties.java │ ├── HostCredentials.java │ ├── SMTPServer.java │ ├── TemporaryDirectory.java │ ├── TestBotFactory.java │ ├── TestBotRunner.java │ ├── TestHost.java │ ├── TestHostedRepository.java │ ├── TestIssue.java │ ├── TestIssueProject.java │ ├── TestIssueStore.java │ ├── TestIssueTrackerIssue.java │ ├── TestIssueTrackerIssueStore.java │ ├── TestMailmanServer.java │ ├── TestProperties.java │ ├── TestPullRequest.java │ ├── TestPullRequestStore.java │ ├── TestWebrevServer.java │ └── TestableRepository.java ├── vcs ├── build.gradle └── src │ ├── main │ ├── java │ │ ├── module-info.java │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── vcs │ │ │ ├── Author.java │ │ │ ├── BinaryHunk.java │ │ │ ├── BinaryPatch.java │ │ │ ├── Bookmark.java │ │ │ ├── Branch.java │ │ │ ├── Commit.java │ │ │ ├── CommitMetadata.java │ │ │ ├── Commits.java │ │ │ ├── Diff.java │ │ │ ├── DiffComparator.java │ │ │ ├── FileEntry.java │ │ │ ├── FileType.java │ │ │ ├── Hash.java │ │ │ ├── Hunk.java │ │ │ ├── Patch.java │ │ │ ├── Range.java │ │ │ ├── ReadOnlyRepository.java │ │ │ ├── Reference.java │ │ │ ├── Repository.java │ │ │ ├── Status.java │ │ │ ├── StatusEntry.java │ │ │ ├── Submodule.java │ │ │ ├── Tag.java │ │ │ ├── TextualPatch.java │ │ │ ├── Tree.java │ │ │ ├── UnifiedDiffParser.java │ │ │ ├── VCS.java │ │ │ ├── WebrevStats.java │ │ │ ├── git │ │ │ ├── GitCombinedDiffParser.java │ │ │ ├── GitCommitIterator.java │ │ │ ├── GitCommitMetadata.java │ │ │ ├── GitCommits.java │ │ │ ├── GitRepository.java │ │ │ └── GitVersion.java │ │ │ ├── hg │ │ │ ├── HgCommitIterator.java │ │ │ ├── HgCommitMetadata.java │ │ │ ├── HgCommits.java │ │ │ └── HgRepository.java │ │ │ ├── openjdk │ │ │ ├── CommitMessage.java │ │ │ ├── CommitMessageBuilder.java │ │ │ ├── CommitMessageFormatter.java │ │ │ ├── CommitMessageFormatters.java │ │ │ ├── CommitMessageParser.java │ │ │ ├── CommitMessageParsers.java │ │ │ ├── CommitMessageSyntax.java │ │ │ ├── Issue.java │ │ │ ├── OpenJDKTag.java │ │ │ └── convert │ │ │ │ ├── Attribution.java │ │ │ │ ├── Converter.java │ │ │ │ ├── ConverterCommitMessageParser.java │ │ │ │ ├── GitCommitMetadata.java │ │ │ │ ├── GitToHgConverter.java │ │ │ │ ├── HgToGitConverter.java │ │ │ │ ├── Mark.java │ │ │ │ └── Pipe.java │ │ │ └── tools │ │ │ ├── GitRawDiffParser.java │ │ │ ├── PatchHeader.java │ │ │ └── UnixStreamReader.java │ └── resources │ │ └── ext.py │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── vcs │ ├── AuthorTests.java │ ├── RepositoryTests.java │ ├── UnifiedDiffParserTests.java │ ├── git │ └── GitVersionTest.java │ └── openjdk │ ├── CommitMessageBuilderTests.java │ ├── CommitMessageFormattersTests.java │ ├── CommitMessageParsersTests.java │ ├── IssueTests.java │ ├── OpenJDKTagTests.java │ └── converter │ ├── GitToHgConverterTests.java │ └── HgToGitConverterTests.java ├── version ├── build.gradle └── src │ └── main │ └── java │ ├── module-info.java │ └── org │ └── openjdk │ └── skara │ └── version │ └── Version.java ├── webrev ├── build.gradle └── src │ ├── main │ ├── java │ │ ├── module-info.java │ │ └── org │ │ │ └── openjdk │ │ │ └── skara │ │ │ └── webrev │ │ │ ├── AddedFileView.java │ │ │ ├── AddedPatchView.java │ │ │ ├── CDiffView.java │ │ │ ├── DiffTooLargeException.java │ │ │ ├── FileView.java │ │ │ ├── FramesView.java │ │ │ ├── FullView.java │ │ │ ├── HTML.java │ │ │ ├── HunkCoalescer.java │ │ │ ├── IndexView.java │ │ │ ├── MetadataFormatter.java │ │ │ ├── ModifiedFileView.java │ │ │ ├── Navigation.java │ │ │ ├── PatchView.java │ │ │ ├── RawView.java │ │ │ ├── RemovedFileView.java │ │ │ ├── RemovedPatchView.java │ │ │ ├── SDiffView.java │ │ │ ├── Stats.java │ │ │ ├── Template.java │ │ │ ├── UDiffView.java │ │ │ ├── View.java │ │ │ ├── ViewUtils.java │ │ │ ├── Webrev.java │ │ │ └── WebrevMetaData.java │ └── resources │ │ ├── nanoduke.ico │ │ ├── navigation.html │ │ ├── navigation.js │ │ └── style.css │ └── test │ └── java │ └── org │ └── openjdk │ └── skara │ └── webrev │ ├── HTMLTests.java │ ├── HunkCoalescerTest.java │ └── WebrevTests.java └── xml ├── build.gradle └── src └── main └── java ├── module-info.java └── org └── openjdk └── skara └── xml └── XML.java /.dockerignore: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | # 5 | # This code is free software; you can redistribute it and/or modify it 6 | # under the terms of the GNU General Public License version 2 only, as 7 | # published by the Free Software Foundation. 8 | # 9 | # This code is distributed in the hope that it will be useful, but WITHOUT 10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | # version 2 for more details (a copy is included in the LICENSE file that 13 | # accompanied this code). 14 | # 15 | # You should have received a copy of the GNU General Public License version 16 | # 2 along with this work; if not, write to the Free Software Foundation, 17 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | # 19 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | # or visit www.oracle.com if you need additional information or have any 21 | # questions. 22 | # 23 | **/.* 24 | **/build/ 25 | **/out/ 26 | **/bin/ 27 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | # 5 | # This code is free software; you can redistribute it and/or modify it 6 | # under the terms of the GNU General Public License version 2 only, as 7 | # published by the Free Software Foundation. 8 | # 9 | # This code is distributed in the hope that it will be useful, but WITHOUT 10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | # version 2 for more details (a copy is included in the LICENSE file that 13 | # accompanied this code). 14 | # 15 | # You should have received a copy of the GNU General Public License version 16 | # 2 along with this work; if not, write to the Free Software Foundation, 17 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | # 19 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | # or visit www.oracle.com if you need additional information or have any 21 | # questions. 22 | # 23 | gradlew.bat text eol=crlf 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | # 5 | # This code is free software; you can redistribute it and/or modify it 6 | # under the terms of the GNU General Public License version 2 only, as 7 | # published by the Free Software Foundation. 8 | # 9 | # This code is distributed in the hope that it will be useful, but WITHOUT 10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | # version 2 for more details (a copy is included in the LICENSE file that 13 | # accompanied this code). 14 | # 15 | # You should have received a copy of the GNU General Public License version 16 | # 2 along with this work; if not, write to the Free Software Foundation, 17 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | # 19 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | # or visit www.oracle.com if you need additional information or have any 21 | # questions. 22 | # 23 | .gradle 24 | .jdk 25 | .jib 26 | .classpath 27 | .idea 28 | .project 29 | .settings 30 | *.iml 31 | build/ 32 | out/ 33 | bin/ 34 | test.properties 35 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thank you for considering contributing to project 4 | [Skara](https://openjdk.org/projects/skara)! For information about 5 | contributing to [OpenJDK](https://openjdk.org/) projects, which include 6 | Skara, please see . 7 | 8 | ## Mailing List 9 | 10 | Project Skara happily accept contributions in the forms of patches sent to 11 | our mailing list, `skara-dev@openjdk.org`. See 12 | for instructions 13 | on how to subscribe of if you want to read the archives 14 | 15 | ## Pull Requests 16 | 17 | Project Skara also gladly accepts contributions in the form of pull requests 18 | on [GitHub](https://github.com/openjdk/skara/pulls/). 19 | 20 | ## Issues 21 | 22 | You can find open issues to work on in the Skara project in the 23 | [JDK Bug System](https://bugs.openjdk.org/): 24 | . 25 | 26 | ## Larger Contributions 27 | 28 | If you have a larger contribution in mind then we highly encourage you to first 29 | discuss your changes on the Skara mailing list, `skara-dev@openjdk.org`, 30 | _before_ you start to write the code. 31 | 32 | ## Questions 33 | 34 | If you have a question or need help, please send an email to our mailing list 35 | `skara-dev@openjdk.org` or stop by the IRC channel `#openjdk` on 36 | [OFTC](https://www.oftc.net/) (see for details). 37 | -------------------------------------------------------------------------------- /args/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.args' 26 | test { 27 | requires 'org.junit.jupiter.api' 28 | opens 'org.openjdk.skara.args' to 'org.junit.platform.commons' 29 | } 30 | } 31 | 32 | publishing { 33 | publications { 34 | args(MavenPublication) { 35 | from components.java 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /args/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.args { 24 | exports org.openjdk.skara.args; 25 | } 26 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/CommandCtor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public interface CommandCtor { 26 | T construct(String name, String helpText, Main main); 27 | } 28 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/CommandHelpText.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class CommandHelpText { 26 | private final CommandCtor ctor; 27 | private final String name; 28 | 29 | CommandHelpText(CommandCtor ctor, String name) { 30 | this.ctor = ctor; 31 | this.name = name; 32 | } 33 | 34 | public CommandMain helptext(String helpText) { 35 | return new CommandMain<>(ctor, name, helpText); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/CommandMain.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class CommandMain { 26 | private final CommandCtor ctor; 27 | private final String name; 28 | private final String helpText; 29 | 30 | CommandMain(CommandCtor ctor, String name, String helpText) { 31 | this.ctor = ctor; 32 | this.name = name; 33 | this.helpText = helpText; 34 | } 35 | 36 | public T main(Main main) { 37 | return ctor.construct(name, helpText, main); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/Default.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class Default extends Command { 26 | Default(String name, String helpText, Main main) { 27 | super(name, helpText, main); 28 | } 29 | 30 | public static CommandHelpText name(String name) { 31 | return new CommandHelpText<>(Default::new, name); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/Executable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | @FunctionalInterface 26 | public interface Executable { 27 | void execute() throws Exception; 28 | } 29 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/InputDescriber.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class InputDescriber { 26 | private final int position; 27 | 28 | InputDescriber(int position) { 29 | this.position = position; 30 | } 31 | 32 | public InputQuantifier describe(String description) { 33 | return new InputQuantifier(position, description); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/Main.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | @FunctionalInterface 26 | public interface Main { 27 | void main(String[] args) throws Exception; 28 | } 29 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/Option.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class Option { 26 | public static OptionFullname shortcut(String s) { 27 | return new OptionFullname(s); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/OptionDescribe.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class OptionDescribe { 26 | private final String shortcut; 27 | private final String fullname; 28 | 29 | OptionDescribe(String shortcut, String fullname) { 30 | this.shortcut = shortcut; 31 | this.fullname = fullname; 32 | } 33 | 34 | public OptionHelptext describe(String desc) { 35 | return new OptionHelptext(shortcut, fullname, desc); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/OptionFullname.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class OptionFullname { 26 | private final String shortcut; 27 | 28 | OptionFullname(String shortcut) { 29 | this.shortcut = shortcut; 30 | } 31 | 32 | public OptionDescribe fullname(String name) { 33 | return new OptionDescribe(shortcut, name); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/OptionHelptext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class OptionHelptext { 26 | private final String shortcut; 27 | private final String fullname; 28 | private final String description; 29 | 30 | OptionHelptext(String shortcut, String fullname, String description) { 31 | this.shortcut = shortcut; 32 | this.fullname = fullname; 33 | this.description = description; 34 | } 35 | 36 | public OptionQualifier helptext(String help) { 37 | return new OptionQualifier(shortcut, fullname, description, help); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/Switch.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class Switch { 26 | public static SwitchFullname shortcut(String s) { 27 | return new SwitchFullname(s); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/SwitchFullname.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class SwitchFullname { 26 | private final String shortcut; 27 | 28 | SwitchFullname(String shortcut) { 29 | this.shortcut = shortcut; 30 | } 31 | 32 | public SwitchHelptext fullname(String name) { 33 | return new SwitchHelptext(shortcut, name); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /args/src/main/java/org/openjdk/skara/args/SwitchHelptext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | public class SwitchHelptext { 26 | private final String shortcut; 27 | private final String fullname; 28 | 29 | SwitchHelptext(String shortcut, String fullname) { 30 | this.shortcut = shortcut; 31 | this.fullname = fullname; 32 | } 33 | 34 | public SwitchQualifier helptext(String help) { 35 | return new SwitchQualifier(shortcut, fullname, help); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /args/src/test/java/org/openjdk/skara/args/SwitchTests.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.args; 24 | 25 | import org.junit.jupiter.api.Test; 26 | 27 | import static org.junit.jupiter.api.Assertions.assertTrue; 28 | 29 | public class SwitchTests { 30 | @Test 31 | void testFlagDescIsSwitch() { 32 | var f = Switch.shortcut("s") 33 | .fullname("switch") 34 | .helptext("This is a switch") 35 | .optional(); 36 | assertTrue(f.isSwitch()); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /bot/src/main/java/org/openjdk/skara/bot/Bot.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bot; 24 | 25 | import org.openjdk.skara.json.JSONValue; 26 | 27 | import java.util.List; 28 | 29 | public interface Bot { 30 | List getPeriodicItems(); 31 | default List processWebHook(JSONValue body) { 32 | return List.of(); 33 | }; 34 | String name(); 35 | } 36 | -------------------------------------------------------------------------------- /bot/src/main/java/org/openjdk/skara/bot/ConfigurationError.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bot; 24 | 25 | public class ConfigurationError extends Exception { 26 | ConfigurationError(String message) { 27 | super(message); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /bot/src/main/java/org/openjdk/skara/bot/LogContextMap.java: -------------------------------------------------------------------------------- 1 | package org.openjdk.skara.bot; 2 | 3 | import java.util.Collections; 4 | import java.util.HashMap; 5 | import java.util.Map; 6 | import java.util.Set; 7 | 8 | /** 9 | * This class holds a static thread local hashmap to store temporary log 10 | * metadata which our custom StreamHandlers can pick up and include in log 11 | * messages. 12 | */ 13 | public class LogContextMap { 14 | 15 | private static final ThreadLocal> threadContextMap = new ThreadLocal<>(); 16 | 17 | public static void put(String key, String value) { 18 | if (threadContextMap.get() == null) { 19 | threadContextMap.set(new HashMap<>()); 20 | } 21 | var map = threadContextMap.get(); 22 | map.put(key, value); 23 | } 24 | 25 | public static String get(String key) { 26 | if (threadContextMap.get() != null) { 27 | return threadContextMap.get().get(key); 28 | } else { 29 | return null; 30 | } 31 | } 32 | 33 | public static String remove(String key) { 34 | if (threadContextMap.get() != null) { 35 | return threadContextMap.get().remove(key); 36 | } else { 37 | return null; 38 | } 39 | } 40 | 41 | public static Set> entrySet() { 42 | if (threadContextMap.get() != null) { 43 | return threadContextMap.get().entrySet(); 44 | } else { 45 | return Collections.emptySet(); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /bot/src/test/java/org/openjdk/skara/bot/LogContextTests.java: -------------------------------------------------------------------------------- 1 | package org.openjdk.skara.bot; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static org.junit.jupiter.api.Assertions.assertEquals; 6 | import static org.junit.jupiter.api.Assertions.assertNull; 7 | 8 | public class LogContextTests { 9 | 10 | @Test 11 | public void simple() { 12 | String key = "keyname"; 13 | assertNull(LogContextMap.get(key), "Key " + key + " already present in context"); 14 | try (var __ = new LogContext(key, "value")) { 15 | assertEquals("value", LogContextMap.get(key), "Context property not set"); 16 | } 17 | assertNull(LogContextMap.get(key), "Context property not removed"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /bots/bridgekeeper/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | import org.openjdk.skara.bots.bridgekeeper.BridgekeeperBotFactory; 2 | 3 | /* 4 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 5 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6 | * 7 | * This code is free software; you can redistribute it and/or modify it 8 | * under the terms of the GNU General Public License version 2 only, as 9 | * published by the Free Software Foundation. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 | * or visit www.oracle.com if you need additional information or have any 23 | * questions. 24 | */ 25 | module org.openjdk.skara.bots.bridgekeeper { 26 | requires org.openjdk.skara.bot; 27 | requires java.logging; 28 | 29 | provides org.openjdk.skara.bot.BotFactory with BridgekeeperBotFactory; 30 | } 31 | -------------------------------------------------------------------------------- /bots/checkout/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.checkout { 24 | requires org.openjdk.skara.vcs; 25 | requires org.openjdk.skara.host; 26 | requires org.openjdk.skara.network; 27 | requires org.openjdk.skara.bot; 28 | requires org.openjdk.skara.process; 29 | requires org.openjdk.skara.storage; 30 | requires java.logging; 31 | 32 | provides org.openjdk.skara.bot.BotFactory with org.openjdk.skara.bots.checkout.CheckoutBotFactory; 33 | } 34 | -------------------------------------------------------------------------------- /bots/cli/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.cli { 24 | requires org.openjdk.skara.vcs; 25 | requires org.openjdk.skara.jcheck; 26 | requires org.openjdk.skara.host; 27 | requires org.openjdk.skara.bot; 28 | requires org.openjdk.skara.census; 29 | requires org.openjdk.skara.json; 30 | requires org.openjdk.skara.args; 31 | requires org.openjdk.skara.process; 32 | requires org.openjdk.skara.proxy; 33 | requires org.openjdk.skara.network; 34 | requires org.openjdk.skara.version; 35 | 36 | requires java.net.http; 37 | requires java.sql; 38 | 39 | exports org.openjdk.skara.bots.cli; 40 | } 41 | 42 | -------------------------------------------------------------------------------- /bots/forward/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.forward { 24 | requires org.openjdk.skara.bot; 25 | requires org.openjdk.skara.vcs; 26 | requires java.logging; 27 | 28 | provides org.openjdk.skara.bot.BotFactory with org.openjdk.skara.bots.forward.ForwardBotFactory; 29 | } 30 | -------------------------------------------------------------------------------- /bots/hgbridge/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.hgbridge { 24 | requires org.openjdk.skara.vcs; 25 | requires org.openjdk.skara.host; 26 | requires org.openjdk.skara.network; 27 | requires org.openjdk.skara.census; 28 | requires org.openjdk.skara.bot; 29 | requires org.openjdk.skara.process; 30 | requires java.logging; 31 | 32 | provides org.openjdk.skara.bot.BotFactory with org.openjdk.skara.bots.hgbridge.JBridgeBotFactory; 33 | } 34 | -------------------------------------------------------------------------------- /bots/merge/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.merge { 24 | requires org.openjdk.skara.bot; 25 | requires org.openjdk.skara.vcs; 26 | requires org.openjdk.skara.jcheck; 27 | requires java.logging; 28 | 29 | provides org.openjdk.skara.bot.BotFactory with org.openjdk.skara.bots.merge.MergeBotFactory; 30 | } 31 | -------------------------------------------------------------------------------- /bots/merge/src/main/java/org/openjdk/skara/bots/merge/Clock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.merge; 24 | 25 | import java.time.ZonedDateTime; 26 | 27 | interface Clock { 28 | ZonedDateTime now(); 29 | } 30 | -------------------------------------------------------------------------------- /bots/mirror/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.mirror { 24 | requires org.openjdk.skara.bot; 25 | requires org.openjdk.skara.vcs; 26 | requires java.logging; 27 | 28 | provides org.openjdk.skara.bot.BotFactory with org.openjdk.skara.bots.mirror.MirrorBotFactory; 29 | } 30 | -------------------------------------------------------------------------------- /bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/HostUserToEmailAuthor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.mlbridge; 24 | 25 | import org.openjdk.skara.email.EmailAddress; 26 | import org.openjdk.skara.host.HostUser; 27 | 28 | @FunctionalInterface 29 | interface HostUserToEmailAuthor { 30 | EmailAddress author(HostUser user); 31 | } 32 | -------------------------------------------------------------------------------- /bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/HostUserToRole.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.mlbridge; 24 | 25 | import org.openjdk.skara.host.HostUser; 26 | 27 | @FunctionalInterface 28 | interface HostUserToRole { 29 | String role(HostUser user); 30 | } 31 | -------------------------------------------------------------------------------- /bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/HostUserToUsername.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.mlbridge; 24 | 25 | import org.openjdk.skara.host.HostUser; 26 | 27 | @FunctionalInterface 28 | interface HostUserToUsername { 29 | String username(HostUser user); 30 | } 31 | -------------------------------------------------------------------------------- /bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/MailingListConfiguration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.mlbridge; 24 | 25 | import org.openjdk.skara.email.EmailAddress; 26 | 27 | import java.util.*; 28 | 29 | class MailingListConfiguration { 30 | private EmailAddress list; 31 | private Set labels; 32 | 33 | MailingListConfiguration(EmailAddress list, Set labels) { 34 | this.list = list; 35 | this.labels = labels; 36 | } 37 | 38 | EmailAddress list() { 39 | return list; 40 | } 41 | 42 | Set labels() { 43 | return labels; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /bots/mlbridge/src/main/java/org/openjdk/skara/bots/mlbridge/WebrevNotification.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.mlbridge; 24 | 25 | import java.util.List; 26 | 27 | @FunctionalInterface 28 | interface WebrevNotification { 29 | void notify(int index, List webrevDescriptions); 30 | } 31 | -------------------------------------------------------------------------------- /bots/notify/src/main/java/org/openjdk/skara/bots/notify/Emitter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | package org.openjdk.skara.bots.notify; 25 | 26 | public interface Emitter { 27 | void registerPullRequestListener(PullRequestListener listener); 28 | void registerRepositoryListener(RepositoryListener listener); 29 | } 30 | -------------------------------------------------------------------------------- /bots/notify/src/main/java/org/openjdk/skara/bots/notify/NonRetriableException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.notify; 24 | 25 | public class NonRetriableException extends Exception { 26 | private final Throwable cause; 27 | 28 | public NonRetriableException(Throwable cause) { 29 | this.cause = cause; 30 | } 31 | 32 | public Throwable cause() { 33 | return cause; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /bots/pr/src/main/java/org/openjdk/skara/bots/pr/MergePullRequestReviewConfiguration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.pr; 24 | 25 | enum MergePullRequestReviewConfiguration { 26 | ALWAYS, 27 | NEVER, 28 | JCHECK 29 | } 30 | -------------------------------------------------------------------------------- /bots/pr/src/main/java/org/openjdk/skara/bots/pr/PRRecord.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.pr; 24 | 25 | public record PRRecord(String repoName, String prId) { 26 | } 27 | -------------------------------------------------------------------------------- /bots/pr/src/test/java/org/openjdk/skara/bots/pr/CommitCommandAsserts.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.pr; 24 | 25 | import org.openjdk.skara.forge.CommitComment; 26 | 27 | import java.util.List; 28 | 29 | import static org.junit.jupiter.api.Assertions.assertTrue; 30 | 31 | public class CommitCommandAsserts { 32 | public static void assertLastCommentContains(List comments, String contains) { 33 | assertTrue(!comments.isEmpty()); 34 | var lastComment = comments.getLast(); 35 | assertTrue(lastComment.body().contains(contains), lastComment.body()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /bots/submit/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | import org.openjdk.skara.bots.submit.*; 24 | 25 | module org.openjdk.skara.bots.submit { 26 | requires org.openjdk.skara.bot; 27 | requires org.openjdk.skara.host; 28 | requires org.openjdk.skara.census; 29 | requires org.openjdk.skara.json; 30 | requires org.openjdk.skara.vcs; 31 | requires java.logging; 32 | 33 | provides org.openjdk.skara.bot.BotFactory with SubmitBotFactory; 34 | provides org.openjdk.skara.bots.submit.SubmitExecutorFactory with ShellExecutorFactory; 35 | 36 | uses org.openjdk.skara.bots.submit.SubmitExecutorFactory; 37 | } 38 | -------------------------------------------------------------------------------- /bots/submit/src/main/java/org/openjdk/skara/bots/submit/SubmitExecutor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.submit; 24 | 25 | import org.openjdk.skara.forge.CheckBuilder; 26 | 27 | import java.time.Duration; 28 | import java.nio.file.Path; 29 | 30 | public interface SubmitExecutor { 31 | Duration timeout(); 32 | String checkName(); 33 | void run(Path prFiles, CheckBuilder checkBuilder, Runnable updateProgress); 34 | } 35 | -------------------------------------------------------------------------------- /bots/synclabel/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.synclabel { 24 | requires org.openjdk.skara.vcs; 25 | requires org.openjdk.skara.host; 26 | requires org.openjdk.skara.network; 27 | requires org.openjdk.skara.bot; 28 | requires org.openjdk.skara.process; 29 | requires org.openjdk.skara.storage; 30 | requires org.openjdk.skara.jbs; 31 | requires java.logging; 32 | 33 | provides org.openjdk.skara.bot.BotFactory with org.openjdk.skara.bots.synclabel.SyncLabelBotFactory; 34 | } 35 | -------------------------------------------------------------------------------- /bots/tester/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.tester { 24 | requires org.openjdk.skara.bot; 25 | requires org.openjdk.skara.vcs; 26 | requires org.openjdk.skara.ci; 27 | requires org.openjdk.skara.census; 28 | requires org.openjdk.skara.jcheck; 29 | 30 | requires java.logging; 31 | 32 | provides org.openjdk.skara.bot.BotFactory with org.openjdk.skara.bots.tester.TestBotFactory; 33 | } 34 | -------------------------------------------------------------------------------- /bots/tester/src/main/java/org/openjdk/skara/bots/tester/Stage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.bots.tester; 24 | 25 | enum Stage { 26 | NA, 27 | ERROR, 28 | REQUESTED, 29 | PENDING, 30 | APPROVED, 31 | STARTED, 32 | CANCELLED, 33 | FINISHED 34 | } 35 | -------------------------------------------------------------------------------- /bots/testinfo/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.testinfo { 24 | requires org.openjdk.skara.vcs; 25 | requires org.openjdk.skara.host; 26 | requires org.openjdk.skara.network; 27 | requires org.openjdk.skara.bot; 28 | requires org.openjdk.skara.process; 29 | requires org.openjdk.skara.storage; 30 | requires java.logging; 31 | 32 | provides org.openjdk.skara.bot.BotFactory with org.openjdk.skara.bots.testinfo.TestInfoBotFactory; 33 | } 34 | -------------------------------------------------------------------------------- /bots/topological/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.bots.topological { 24 | requires org.openjdk.skara.bot; 25 | requires org.openjdk.skara.vcs; 26 | requires org.openjdk.skara.json; 27 | requires java.logging; 28 | 29 | provides org.openjdk.skara.bot.BotFactory with org.openjdk.skara.bots.topological.TopologicalBotFactory; 30 | } 31 | -------------------------------------------------------------------------------- /census/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.census { 24 | requires org.openjdk.skara.xml; 25 | requires static org.openjdk.skara.forge; 26 | requires java.xml; 27 | requires java.net.http; 28 | requires java.logging; 29 | exports org.openjdk.skara.census; 30 | } 31 | -------------------------------------------------------------------------------- /census/src/test/java/org/openjdk/skara/census/MemberTests.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.census; 24 | 25 | import org.junit.jupiter.api.Test; 26 | import static org.junit.jupiter.api.Assertions.*; 27 | 28 | class MemberTests { 29 | @Test 30 | void testToString() { 31 | var m = new Member(new Contributor("user_1", "User Number 1"), 1); 32 | assertEquals("user_1 (User Number 1) [1,)", m.toString()); 33 | 34 | m = new Member(new Contributor("user_1", "User Number 1"), 1, 2); 35 | assertEquals("user_1 (User Number 1) [1,2)", m.toString()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /ci/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.ci' 26 | test { 27 | requires 'org.junit.jupiter.api' 28 | requires 'org.openjdk.skara.test' 29 | opens 'org.openjdk.skara.ci' to 'org.junit.platform.commons' 30 | } 31 | } 32 | 33 | dependencies { 34 | implementation project(':host') 35 | implementation project(':json') 36 | implementation project(':forge') 37 | implementation project(':issuetracker') 38 | } 39 | -------------------------------------------------------------------------------- /ci/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.ci { 24 | requires org.openjdk.skara.host; 25 | requires org.openjdk.skara.json; 26 | requires org.openjdk.skara.forge; 27 | 28 | uses org.openjdk.skara.ci.ContinuousIntegrationFactory; 29 | exports org.openjdk.skara.ci; 30 | } 31 | -------------------------------------------------------------------------------- /ci/src/main/java/org/openjdk/skara/ci/ContinuousIntegrationFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.ci; 24 | 25 | import org.openjdk.skara.json.JSONObject; 26 | 27 | import java.net.URI; 28 | import java.util.*; 29 | import java.util.stream.*; 30 | 31 | public interface ContinuousIntegrationFactory { 32 | ContinuousIntegration create(URI uri, JSONObject configuration); 33 | 34 | static List factories() { 35 | return StreamSupport.stream(ServiceLoader.load(ContinuousIntegrationFactory.class).spliterator(), false) 36 | .collect(Collectors.toList()); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ci/src/main/java/org/openjdk/skara/ci/Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.ci; 24 | 25 | public class Test { 26 | public static enum Kind { 27 | SINGLE, 28 | GROUP 29 | } 30 | 31 | private final Kind kind; 32 | private final String name; 33 | 34 | public Test(Kind kind, String name) { 35 | this.kind = kind; 36 | this.name = name; 37 | } 38 | 39 | public Kind kind() { 40 | return kind; 41 | } 42 | 43 | public String name() { 44 | return name; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /cli/resources/man/man1/git-jcheck.1: -------------------------------------------------------------------------------- 1 | \" 2 | \" Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | \" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | \" 5 | \" This code is free software; you can redistribute it and/or modify it 6 | \" under the terms of the GNU General Public License version 2 only, as 7 | \" published by the Free Software Foundation. 8 | \" 9 | \" This code is distributed in the hope that it will be useful, but WITHOUT 10 | \" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | \" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | \" version 2 for more details (a copy is included in the LICENSE file that 13 | \" accompanied this code). 14 | \" 15 | \" You should have received a copy of the GNU General Public License version 16 | \" 2 along with this work; if not, write to the Free Software Foundation, 17 | \" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | \" 19 | \" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | \" or visit www.oracle.com if you need additional information or have any 21 | \" questions. 22 | \" 23 | .TH GIT-JCHECK 1 24 | .SH NAME 25 | git-jcheck \- check that changes conform to OpenJDK standards 26 | .SH SYNOPSIS 27 | \fIgit jcheck\fR [] 28 | .SH DESCRIPTION 29 | Check that changes conforms to OpenJDK standards. 30 | .PP 31 | .TP 32 | \fIgit jcheck\fR [] 33 | Check changes in (defaults to HEAD^..HEAD). 34 | .SH OPTIONS 35 | None 36 | .SH SEE ALSO 37 | \fBgit-diff(1)\fR, \fBgitrevisions(7)\fR 38 | -------------------------------------------------------------------------------- /cli/resources/man/man1/git-verify-import.1: -------------------------------------------------------------------------------- 1 | \" 2 | \" Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | \" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | \" 5 | \" This code is free software; you can redistribute it and/or modify it 6 | \" under the terms of the GNU General Public License version 2 only, as 7 | \" published by the Free Software Foundation. 8 | \" 9 | \" This code is distributed in the hope that it will be useful, but WITHOUT 10 | \" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | \" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | \" version 2 for more details (a copy is included in the LICENSE file that 13 | \" accompanied this code). 14 | \" 15 | \" You should have received a copy of the GNU General Public License version 16 | \" 2 along with this work; if not, write to the Free Software Foundation, 17 | \" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | \" 19 | \" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | \" or visit www.oracle.com if you need additional information or have any 21 | \" questions. 22 | \" 23 | .TH GIT-VERIFY-IMPORT 1 24 | .SH NAME 25 | git-verify-import \- verifies that a fast-import was done correctly 26 | .SH SYNOPSIS 27 | \fIgit verify-import\fR 28 | .SH DESCRIPTION 29 | Verifies that a fast-import from a Mercurial (hg) repository was done correctly. 30 | .PP 31 | .TP 32 | \fIgit verify-import\fR 33 | Check that the repository was successfully imported. 34 | .SH OPTIONS 35 | .TP 36 | -h, --help 37 | Show help message 38 | .PP 39 | .TP 40 | -v, --verbose 41 | Turn on verbose output, useful for debugging 42 | .SH SEE ALSO 43 | \fBgit-fast-import(1)\fR 44 | -------------------------------------------------------------------------------- /deps.env: -------------------------------------------------------------------------------- 1 | JDK_LINUX_X64_URL="https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_linux-x64_bin.tar.gz" 2 | JDK_LINUX_X64_SHA256="7e80146b2c3f719bf7f56992eb268ad466f8854d5d6ae11805784608e458343f" 3 | 4 | JDK_LINUX_AARCH64_URL="https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_linux-aarch64_bin.tar.gz" 5 | JDK_LINUX_AARCH64_SHA256="f5e4e4622756fafe05ac0105a8efefa1152c8aad085a2bbb9466df0721bf2ba4" 6 | 7 | JDK_MACOS_X64_URL="https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_macos-x64_bin.tar.gz" 8 | JDK_MACOS_X64_SHA256="1ca6db9e6c09752f842eee6b86a2f7e51b76ae38e007e936b9382b4c3134e9ea" 9 | 10 | JDK_MACOS_AARCH64_URL="https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_macos-aarch64_bin.tar.gz" 11 | JDK_MACOS_AARCH64_SHA256="9760eaa019b6d214a06bd44a304f3700ac057d025000bdfb9739b61080969a96" 12 | 13 | JDK_WINDOWS_X64_URL="https://download.java.net/java/GA/jdk21.0.1/415e3f918a1f4062a0074a2794853d0d/12/GPL/openjdk-21.0.1_windows-x64_bin.zip" 14 | JDK_WINDOWS_X64_SHA256="77ea464f4fa7cbcbffe0124af44707e8e5ad8c1ce2373f1d94a64d9b20ba0c69" 15 | 16 | GRADLE_URL="https://services.gradle.org/distributions/gradle-8.5-bin.zip" 17 | GRADLE_SHA256="9d926787066a081739e8200858338b4a69e837c3a821a33aca9db09dd4a41026" 18 | -------------------------------------------------------------------------------- /email/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.email' 26 | test { 27 | requires 'org.openjdk.skara.test' 28 | requires 'org.junit.jupiter.api' 29 | opens 'org.openjdk.skara.email' to 'org.junit.platform.commons' 30 | } 31 | } 32 | 33 | dependencies { 34 | testImplementation project(':test') 35 | } 36 | 37 | publishing { 38 | publications { 39 | email(MavenPublication) { 40 | from components.java 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /email/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.email { 24 | requires java.logging; 25 | 26 | exports org.openjdk.skara.email; 27 | } 28 | -------------------------------------------------------------------------------- /encoding/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.encoding' 26 | test { 27 | requires 'org.junit.jupiter.api' 28 | opens 'org.openjdk.skara.encoding' to 'org.junit.platform.commons' 29 | } 30 | } 31 | 32 | publishing { 33 | publications { 34 | encoding(MavenPublication) { 35 | from components.java 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /encoding/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.encoding { 24 | exports org.openjdk.skara.encoding; 25 | } 26 | 27 | -------------------------------------------------------------------------------- /forge/src/main/java/org/openjdk/skara/forge/CheckAnnotationLevel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.forge; 24 | 25 | public enum CheckAnnotationLevel { 26 | NOTICE, 27 | WARNING, 28 | FAILURE 29 | } 30 | -------------------------------------------------------------------------------- /forge/src/main/java/org/openjdk/skara/forge/CheckStatus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.forge; 24 | 25 | public enum CheckStatus { 26 | IN_PROGRESS, 27 | SUCCESS, 28 | FAILURE, 29 | CANCELLED, 30 | SKIPPED, 31 | STALE 32 | } 33 | -------------------------------------------------------------------------------- /forge/src/main/java/org/openjdk/skara/forge/Collaborator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.forge; 24 | 25 | import org.openjdk.skara.host.HostUser; 26 | 27 | /** 28 | * A repository collaborator is a user and a set of permissions, currently only 29 | * 'canPush'. 30 | */ 31 | public record Collaborator(HostUser user, boolean canPush) { 32 | } 33 | -------------------------------------------------------------------------------- /forge/src/main/java/org/openjdk/skara/forge/CommitFailure.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.forge; 24 | 25 | public class CommitFailure extends Exception { 26 | public CommitFailure(String reason) { 27 | super(reason); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /forge/src/main/java/org/openjdk/skara/forge/LabelConfiguration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.forge; 24 | 25 | import java.nio.file.Path; 26 | import java.util.Set; 27 | 28 | public interface LabelConfiguration { 29 | Set label(Set changes); 30 | Set allowed(); 31 | boolean isAllowed(String s); 32 | } 33 | -------------------------------------------------------------------------------- /forge/src/main/java/org/openjdk/skara/forge/MemberState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.forge; 24 | 25 | /** 26 | * Forge group member states 27 | */ 28 | public enum MemberState { 29 | ACTIVE, 30 | PENDING, 31 | MISSING 32 | } 33 | -------------------------------------------------------------------------------- /forge/src/main/java/org/openjdk/skara/forge/ReferenceChange.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.forge; 24 | 25 | import java.time.ZonedDateTime; 26 | 27 | public record ReferenceChange(String from, String to, ZonedDateTime at) { 28 | } 29 | -------------------------------------------------------------------------------- /forge/src/main/java/org/openjdk/skara/forge/WebHook.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.forge; 24 | 25 | import java.util.List; 26 | 27 | public class WebHook { 28 | 29 | private final List updatedPullRequests; 30 | 31 | public WebHook(List updatedPullRequests) { 32 | this.updatedPullRequests = updatedPullRequests; 33 | } 34 | 35 | public List updatedPullRequests() { 36 | return updatedPullRequests; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /forge/src/main/java/org/openjdk/skara/forge/WorkflowStatus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.forge; 24 | 25 | public enum WorkflowStatus { 26 | NOT_CONFIGURED, 27 | ENABLED, 28 | DISABLED, 29 | } 30 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.vfs.watch=true 2 | org.gradle.parallel=true 3 | org.gradle.jvmargs=-Xmx2048M 4 | -------------------------------------------------------------------------------- /gradle/plugins/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | # 5 | # This code is free software; you can redistribute it and/or modify it 6 | # under the terms of the GNU General Public License version 2 only, as 7 | # published by the Free Software Foundation. 8 | # 9 | # This code is distributed in the hope that it will be useful, but WITHOUT 10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | # version 2 for more details (a copy is included in the LICENSE file that 13 | # accompanied this code). 14 | # 15 | # You should have received a copy of the GNU General Public License version 16 | # 2 along with this work; if not, write to the Free Software Foundation, 17 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | # 19 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | # or visit www.oracle.com if you need additional information or have any 21 | # questions. 22 | # 23 | .gradle 24 | .idea 25 | .project 26 | .vscode 27 | /gradle/ 28 | *.iml 29 | build/ 30 | out/ 31 | bin/ 32 | -------------------------------------------------------------------------------- /gradle/plugins/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | plugins { 25 | id 'java-library' 26 | } 27 | 28 | dependencies { 29 | runtimeOnly subprojects.collect { owner.project(it.path) } 30 | } 31 | 32 | defaultTasks 'compileJava' 33 | -------------------------------------------------------------------------------- /gradle/plugins/skara-images/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | plugins { 25 | id 'java-gradle-plugin' 26 | } 27 | 28 | group = 'org.openjdk.skara.gradle' 29 | 30 | gradlePlugin { 31 | plugins { 32 | simplePlugin { 33 | id = 'skara-images' 34 | implementationClass = 'org.openjdk.skara.gradle.images.ImagesPlugin' 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /gradle/plugins/skara-images/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'skara-images' 2 | -------------------------------------------------------------------------------- /gradle/plugins/skara-module/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | plugins { 25 | id 'java-gradle-plugin' 26 | } 27 | 28 | group = 'org.openjdk.skara.gradle' 29 | 30 | gradlePlugin { 31 | plugins { 32 | simplePlugin { 33 | id = 'skara-module' 34 | implementationClass = 'org.openjdk.skara.gradle.module.ModulePlugin' 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /gradle/plugins/skara-module/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'skara-module' 2 | -------------------------------------------------------------------------------- /gradle/plugins/skara-proxy/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | plugins { 25 | id 'java-gradle-plugin' 26 | } 27 | 28 | group = 'org.openjdk.skara.gradle' 29 | 30 | gradlePlugin { 31 | plugins { 32 | simplePlugin { 33 | id = 'skara-proxy' 34 | implementationClass = 'org.openjdk.skara.gradle.proxy.ProxyPlugin' 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /gradle/plugins/skara-proxy/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'skara-proxy' 2 | -------------------------------------------------------------------------------- /gradle/plugins/skara-reproduce/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | plugins { 25 | id 'java-gradle-plugin' 26 | } 27 | 28 | group = 'org.openjdk.skara.gradle' 29 | 30 | gradlePlugin { 31 | plugins { 32 | simplePlugin { 33 | id = 'skara-reproduce' 34 | implementationClass = 'org.openjdk.skara.gradle.reproduce.ReproducePlugin' 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /gradle/plugins/skara-reproduce/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'skara-reproduce' 2 | -------------------------------------------------------------------------------- /gradle/plugins/skara-version/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | plugins { 25 | id 'java-gradle-plugin' 26 | } 27 | 28 | group = 'org.openjdk.skara.gradle' 29 | 30 | gradlePlugin { 31 | plugins { 32 | simplePlugin { 33 | id = 'skara-version' 34 | implementationClass = 'org.openjdk.skara.gradle.version.VersionPlugin' 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /gradle/plugins/skara-version/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'skara-version' 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 2 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 | # 4 | # This code is free software; you can redistribute it and/or modify it 5 | # under the terms of the GNU General Public License version 2 only, as 6 | # published by the Free Software Foundation. 7 | # 8 | # This code is distributed in the hope that it will be useful, but WITHOUT 9 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11 | # version 2 for more details (a copy is included in the LICENSE file that 12 | # accompanied this code). 13 | # 14 | # You should have received a copy of the GNU General Public License version 15 | # 2 along with this work; if not, write to the Free Software Foundation, 16 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 17 | # 18 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 19 | # or visit www.oracle.com if you need additional information or have any 20 | # questions. 21 | 22 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 23 | distributionSha256Sum=9d926787066a081739e8200858338b4a69e837c3a821a33aca9db09dd4a41026 24 | -------------------------------------------------------------------------------- /host/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.host' 26 | test { 27 | requires 'org.openjdk.skara.test' 28 | requires 'org.junit.jupiter.api' 29 | opens 'org.openjdk.skara.host' to 'org.junit.platform.commons' 30 | } 31 | } 32 | 33 | dependencies { 34 | testImplementation project(':test') 35 | } 36 | 37 | publishing { 38 | publications { 39 | host(MavenPublication) { 40 | from components.java 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /host/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.host { 24 | exports org.openjdk.skara.host; 25 | } 26 | -------------------------------------------------------------------------------- /host/src/main/java/org/openjdk/skara/host/Credential.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.host; 24 | 25 | public class Credential { 26 | private final String username; 27 | private final String password; 28 | 29 | public Credential(String username, String password) { 30 | this.username = username; 31 | this.password = password; 32 | } 33 | 34 | public String password() { 35 | return password; 36 | } 37 | 38 | public String username() { 39 | return username; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /ini/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.ini' 26 | test { 27 | requires 'org.junit.jupiter.api' 28 | opens 'org.openjdk.skara.ini' to 'org.junit.platform.commons' 29 | } 30 | } 31 | 32 | publishing { 33 | publications { 34 | ini(MavenPublication) { 35 | from components.java 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ini/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.ini { 24 | exports org.openjdk.skara.ini; 25 | } 26 | -------------------------------------------------------------------------------- /issuetracker/src/main/java/org/openjdk/skara/issuetracker/IssueLinkBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.issuetracker; 24 | 25 | public class IssueLinkBuilder { 26 | private final IssueTrackerIssue linked; 27 | private final String relationship; 28 | 29 | IssueLinkBuilder(IssueTrackerIssue issue, String relationship) { 30 | this.linked = issue; 31 | this.relationship = relationship; 32 | } 33 | 34 | public Link build() { 35 | return new Link(null, null, relationship, null, null, null, null, null, false, linked); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /issuetracker/src/main/java/org/openjdk/skara/issuetracker/jira/JiraLinkType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.issuetracker.jira; 24 | 25 | public class JiraLinkType { 26 | private final String name; 27 | private final String inward; 28 | private final String outward; 29 | 30 | JiraLinkType(String name, String inward, String outward) { 31 | this.name = name; 32 | this.inward = inward; 33 | this.outward = outward; 34 | } 35 | 36 | String name() { 37 | return name; 38 | } 39 | 40 | String inward() { 41 | return inward; 42 | } 43 | 44 | String outward() { 45 | return outward; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /jbs/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.jbs { 24 | requires java.net.http; 25 | requires java.logging; 26 | 27 | requires org.openjdk.skara.issuetracker; 28 | requires org.openjdk.skara.json; 29 | 30 | exports org.openjdk.skara.jbs; 31 | } 32 | -------------------------------------------------------------------------------- /jcheck/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.jcheck { 24 | requires transitive org.openjdk.skara.vcs; 25 | requires transitive org.openjdk.skara.census; 26 | requires org.openjdk.skara.ini; 27 | requires java.logging; 28 | 29 | exports org.openjdk.skara.jcheck; 30 | } 31 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/AuthorEmailIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public class AuthorEmailIssue extends CommitIssue { 26 | AuthorEmailIssue(CommitIssue.Metadata metadata) { 27 | super(metadata); 28 | } 29 | 30 | @Override 31 | public void accept(IssueVisitor v) { 32 | v.visit(this); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/AuthorNameIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public class AuthorNameIssue extends CommitIssue { 26 | AuthorNameIssue(CommitIssue.Metadata metadata) { 27 | super(metadata); 28 | } 29 | 30 | @Override 31 | public void accept(IssueVisitor v) { 32 | v.visit(this); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/BinaryIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | import java.nio.file.Path; 26 | 27 | public class BinaryIssue extends CommitIssue { 28 | private final Path path; 29 | 30 | BinaryIssue(Path path, CommitIssue.Metadata metadata) { 31 | super(metadata); 32 | this.path = path; 33 | } 34 | 35 | public Path path() { 36 | return path; 37 | } 38 | 39 | @Override 40 | public void accept(IssueVisitor v) { 41 | v.visit(this); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/BranchIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | import org.openjdk.skara.vcs.Branch; 26 | 27 | public class BranchIssue extends Issue { 28 | private final Branch branch; 29 | 30 | BranchIssue(Branch branch, Check check) { 31 | super(Severity.ERROR, check); 32 | this.branch = branch; 33 | } 34 | 35 | public Branch branch() { 36 | return this.branch; 37 | } 38 | 39 | @Override 40 | public void accept(IssueVisitor v) { 41 | v.visit(this); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/Check.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public interface Check { 26 | String name(); 27 | String description(); 28 | } 29 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/CommitCheck.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | import org.openjdk.skara.census.Census; 26 | import org.openjdk.skara.vcs.openjdk.CommitMessage; 27 | import org.openjdk.skara.vcs.Commit; 28 | 29 | import java.util.Arrays; 30 | import java.util.Iterator; 31 | 32 | abstract class CommitCheck implements Check { 33 | abstract Iterator check(Commit commit, CommitMessage message, JCheckConfiguration conf, Census census); 34 | 35 | protected Iterator iterator(Issue... issues) { 36 | return Arrays.asList(issues).iterator(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/CommitterEmailIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public class CommitterEmailIssue extends CommitIssue { 26 | private final String expectedDomain; 27 | 28 | CommitterEmailIssue(String expectedDomain, CommitIssue.Metadata metadata) { 29 | super(metadata); 30 | this.expectedDomain = expectedDomain; 31 | } 32 | 33 | public String expectedDomain() { 34 | return expectedDomain; 35 | } 36 | 37 | @Override 38 | public void accept(IssueVisitor v) { 39 | v.visit(this); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/CommitterIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | import org.openjdk.skara.census.Project; 26 | 27 | public class CommitterIssue extends CommitIssue { 28 | private final Project project; 29 | 30 | public CommitterIssue(Project project, CommitIssue.Metadata metadata) { 31 | super(metadata); 32 | this.project = project; 33 | } 34 | 35 | public Project project() { 36 | return project; 37 | } 38 | 39 | @Override 40 | public void accept(IssueVisitor v) { 41 | v.visit(this); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/CommitterNameIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public class CommitterNameIssue extends CommitIssue { 26 | CommitterNameIssue(CommitIssue.Metadata metadata) { 27 | super(metadata); 28 | } 29 | 30 | @Override 31 | public void accept(IssueVisitor v) { 32 | v.visit(this); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/ExecutableIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | import java.nio.file.Path; 26 | 27 | public class ExecutableIssue extends CommitIssue { 28 | private final Path path; 29 | 30 | ExecutableIssue(Path path, CommitIssue.Metadata metadata) { 31 | super(metadata); 32 | this.path = path; 33 | } 34 | 35 | public Path path() { 36 | return path; 37 | } 38 | 39 | @Override 40 | public void accept(IssueVisitor v) { 41 | v.visit(this); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/Issue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public abstract class Issue { 26 | private final Severity severity; 27 | private final Check check; 28 | 29 | Issue(Severity severity, Check check) { 30 | this.severity = severity; 31 | this.check = check; 32 | } 33 | 34 | public abstract void accept(IssueVisitor v); 35 | 36 | public Severity severity() { 37 | return severity; 38 | } 39 | 40 | public Check check() { 41 | return check; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/IssuesIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public class IssuesIssue extends CommitIssue { 26 | IssuesIssue(CommitIssue.Metadata metadata) { 27 | super(metadata); 28 | } 29 | 30 | @Override 31 | public void accept(IssueVisitor visitor) { 32 | visitor.visit(this); 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/MergeMessageIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public class MergeMessageIssue extends CommitIssue { 26 | private final String expected; 27 | 28 | MergeMessageIssue(String expected, CommitIssue.Metadata metadata) { 29 | super(metadata); 30 | this.expected = expected; 31 | } 32 | 33 | public String expected() { 34 | return expected; 35 | } 36 | 37 | @Override 38 | public void accept(IssueVisitor v) { 39 | v.visit(this); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/MessageIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public class MessageIssue extends CommitIssue { 26 | MessageIssue(CommitIssue.Metadata metadata) { 27 | super(metadata); 28 | } 29 | 30 | @Override 31 | public void accept(IssueVisitor visitor) { 32 | visitor.visit(this); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/RepositoryCheck.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | import org.openjdk.skara.vcs.ReadOnlyRepository; 26 | 27 | import java.io.IOException; 28 | import java.util.Arrays; 29 | import java.util.Iterator; 30 | 31 | abstract class RepositoryCheck implements Check { 32 | abstract Iterator check(ReadOnlyRepository repository); 33 | 34 | protected Iterator iterator(Issue... issues) { 35 | return Arrays.asList(issues).iterator(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/SelfReviewIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public class SelfReviewIssue extends CommitIssue { 26 | SelfReviewIssue(CommitIssue.Metadata metadata) { 27 | super(metadata); 28 | } 29 | 30 | @Override 31 | public void accept(IssueVisitor v) { 32 | v.visit(this); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/Severity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | public enum Severity { 26 | ERROR, 27 | WARNING; 28 | 29 | @Override 30 | public String toString() { 31 | switch (this) { 32 | case ERROR: 33 | return "error"; 34 | case WARNING: 35 | return "warning"; 36 | default: 37 | throw new IllegalArgumentException(); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/SymlinkIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | import java.nio.file.Path; 26 | 27 | public class SymlinkIssue extends CommitIssue { 28 | private final Path path; 29 | 30 | SymlinkIssue(Path path, CommitIssue.Metadata metadata) { 31 | super(metadata); 32 | this.path = path; 33 | } 34 | 35 | public Path path() { 36 | return path; 37 | } 38 | 39 | @Override 40 | public void accept(IssueVisitor v) { 41 | v.visit(this); 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /jcheck/src/main/java/org/openjdk/skara/jcheck/TagIssue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.jcheck; 24 | 25 | import org.openjdk.skara.vcs.Tag; 26 | 27 | public class TagIssue extends Issue { 28 | private final Tag tag; 29 | 30 | public TagIssue(Tag tag, Check check) { 31 | super(Severity.ERROR, check); 32 | 33 | this.tag = tag; 34 | } 35 | 36 | public Tag tag() { 37 | return tag; 38 | } 39 | 40 | @Override 41 | public void accept(IssueVisitor v) { 42 | v.visit(this); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /json/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.json' 26 | test { 27 | requires 'org.junit.jupiter.api' 28 | opens 'org.openjdk.skara.json' to 'org.junit.platform.commons' 29 | } 30 | } 31 | 32 | publishing { 33 | publications { 34 | json(MavenPublication) { 35 | from components.java 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /json/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.json { 24 | exports org.openjdk.skara.json; 25 | } 26 | -------------------------------------------------------------------------------- /json/src/main/java/org/openjdk/skara/json/JWCC.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.json; 24 | 25 | /** 26 | * JWCC is JSON With Commas and Comments. In addition to supporting all of JSON 27 | * JWCC also supports trailing commas and comments. Comments can be either 28 | * until single-line or multi-line. 29 | * 30 | * Comments are stripped and are not present in the parsed result. 31 | */ 32 | public class JWCC { 33 | public static JSONValue parse(String s) { 34 | return new JSONParser(true, true).parse(s); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /mailinglist/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.mailinglist' 26 | test { 27 | requires 'org.openjdk.skara.test' 28 | requires 'org.junit.jupiter.api' 29 | opens 'org.openjdk.skara.mailinglist' to 'org.junit.platform.commons' 30 | } 31 | } 32 | 33 | dependencies { 34 | implementation project(':network') 35 | implementation project(':vcs') 36 | implementation project(':email') 37 | implementation project(':metrics') 38 | 39 | testImplementation project(':test') 40 | } 41 | -------------------------------------------------------------------------------- /mailinglist/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.mailinglist { 24 | requires transitive org.openjdk.skara.metrics; 25 | requires java.net.http; 26 | requires java.logging; 27 | requires org.openjdk.skara.network; 28 | requires org.openjdk.skara.vcs; 29 | requires org.openjdk.skara.email; 30 | 31 | exports org.openjdk.skara.mailinglist; 32 | } 33 | -------------------------------------------------------------------------------- /mailinglist/src/main/java/org/openjdk/skara/mailinglist/MailingListReader.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.mailinglist; 24 | 25 | import java.time.Duration; 26 | import java.util.List; 27 | 28 | public interface MailingListReader { 29 | List conversations(Duration maxAge); 30 | } 31 | -------------------------------------------------------------------------------- /mailinglist/src/main/java/org/openjdk/skara/mailinglist/MailingListServer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.mailinglist; 24 | 25 | import org.openjdk.skara.email.Email; 26 | 27 | public interface MailingListServer { 28 | MailingListReader getListReader(String... listNames); 29 | void post(Email email); 30 | } 31 | -------------------------------------------------------------------------------- /metrics/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.metrics' 26 | test { 27 | requires 'org.junit.jupiter.api' 28 | opens 'org.openjdk.skara.metrics' to 'org.junit.platform.commons' 29 | } 30 | } 31 | 32 | publishing { 33 | publications { 34 | metrics(MavenPublication) { 35 | from components.java 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /metrics/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.metrics { 24 | requires java.management; 25 | requires jdk.management; 26 | exports org.openjdk.skara.metrics; 27 | } 28 | 29 | -------------------------------------------------------------------------------- /metrics/src/main/java/org/openjdk/skara/metrics/Collector.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.metrics; 24 | 25 | import java.util.List; 26 | 27 | public interface Collector { 28 | List collect(); 29 | } 30 | -------------------------------------------------------------------------------- /metrics/src/main/java/org/openjdk/skara/metrics/Exporter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.metrics; 24 | 25 | import java.util.List; 26 | 27 | public interface Exporter { 28 | String export(List metrics); 29 | } 30 | -------------------------------------------------------------------------------- /network/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.network' 26 | test { 27 | requires 'org.openjdk.skara.test' 28 | requires 'org.junit.jupiter.api' 29 | requires 'jdk.httpserver' 30 | opens 'org.openjdk.skara.network' to 'org.junit.platform.commons' 31 | } 32 | } 33 | 34 | dependencies { 35 | implementation project(':json') 36 | implementation project(':metrics') 37 | testImplementation project(':test') 38 | } 39 | 40 | publishing { 41 | publications { 42 | network(MavenPublication) { 43 | from components.java 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /network/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.network { 24 | requires java.logging; 25 | requires org.openjdk.skara.json; 26 | requires org.openjdk.skara.metrics; 27 | requires java.net.http; 28 | 29 | exports org.openjdk.skara.network; 30 | } 31 | -------------------------------------------------------------------------------- /process/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.process' 26 | test { 27 | requires 'org.junit.jupiter.api' 28 | opens 'org.openjdk.skara.process' to 'org.junit.platform.commons' 29 | } 30 | } 31 | 32 | publishing { 33 | publications { 34 | process(MavenPublication) { 35 | from components.java 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /process/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.process { 24 | requires java.logging; 25 | 26 | exports org.openjdk.skara.process; 27 | } 28 | -------------------------------------------------------------------------------- /proxy/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.proxy' 26 | test { 27 | requires 'org.junit.jupiter.api' 28 | opens 'org.openjdk.skara.args' to 'org.junit.platform.commons' 29 | } 30 | } 31 | 32 | publishing { 33 | publications { 34 | proxy(MavenPublication) { 35 | from components.java 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /proxy/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.proxy { 24 | requires java.logging; 25 | exports org.openjdk.skara.proxy; 26 | } 27 | -------------------------------------------------------------------------------- /storage/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.storage { 24 | requires org.openjdk.skara.network; 25 | requires org.openjdk.skara.host; 26 | requires org.openjdk.skara.forge; 27 | requires org.openjdk.skara.vcs; 28 | requires java.logging; 29 | 30 | exports org.openjdk.skara.storage; 31 | } 32 | -------------------------------------------------------------------------------- /storage/src/main/java/org/openjdk/skara/storage/StorageDeserializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.storage; 24 | 25 | import java.util.Set; 26 | 27 | public interface StorageDeserializer { 28 | Set deserialize(String serialized); 29 | } 30 | -------------------------------------------------------------------------------- /storage/src/main/java/org/openjdk/skara/storage/StorageSerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.storage; 24 | 25 | import java.util.*; 26 | 27 | public interface StorageSerializer { 28 | String serialize(Collection added, Set existing); 29 | } 30 | -------------------------------------------------------------------------------- /test/src/main/java/org/openjdk/skara/test/TestableRepository.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.test; 24 | 25 | import org.openjdk.skara.vcs.Repository; 26 | import org.openjdk.skara.vcs.VCS; 27 | 28 | import java.io.IOException; 29 | import java.nio.file.Path; 30 | 31 | public class TestableRepository { 32 | public static Repository init(Path p, VCS vcs) throws IOException { 33 | Repository.ignoreConfiguration(); 34 | return Repository.init(p, vcs); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vcs/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.vcs { 24 | requires java.logging; 25 | requires org.openjdk.skara.process; 26 | requires org.openjdk.skara.encoding; 27 | 28 | exports org.openjdk.skara.vcs; 29 | exports org.openjdk.skara.vcs.git; 30 | exports org.openjdk.skara.vcs.openjdk; 31 | exports org.openjdk.skara.vcs.openjdk.convert; 32 | } 33 | -------------------------------------------------------------------------------- /vcs/src/main/java/org/openjdk/skara/vcs/openjdk/CommitMessageFormatter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.vcs.openjdk; 24 | 25 | import java.util.List; 26 | import java.util.stream.Collectors; 27 | 28 | import org.openjdk.skara.vcs.Author; 29 | 30 | @FunctionalInterface 31 | public interface CommitMessageFormatter { 32 | List format(CommitMessage message); 33 | } 34 | -------------------------------------------------------------------------------- /vcs/src/main/java/org/openjdk/skara/vcs/openjdk/CommitMessageParser.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.vcs.openjdk; 24 | 25 | import org.openjdk.skara.vcs.Commit; 26 | import org.openjdk.skara.vcs.CommitMetadata; 27 | 28 | import java.util.List; 29 | 30 | @FunctionalInterface 31 | public interface CommitMessageParser { 32 | CommitMessage parse(List lines); 33 | default CommitMessage parse(Commit c) { 34 | return parse(c.message()); 35 | } 36 | default CommitMessage parse(CommitMetadata metadata) { 37 | return parse(metadata.message()); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vcs/src/main/java/org/openjdk/skara/vcs/openjdk/convert/Converter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.vcs.openjdk.convert; 24 | 25 | import org.openjdk.skara.vcs.Repository; 26 | import org.openjdk.skara.vcs.ReadOnlyRepository; 27 | 28 | import java.io.IOException; 29 | import java.net.URI; 30 | import java.util.List; 31 | 32 | public interface Converter { 33 | List convert(ReadOnlyRepository from, Repository to) throws IOException; 34 | List pull(Repository gitRepo, URI source, Repository hgRepo, List oldMarks) throws IOException; 35 | } 36 | -------------------------------------------------------------------------------- /version/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.version' 26 | } 27 | 28 | jar { 29 | manifest { 30 | attributes("Implementation-Title": "org.openjdk.skara.version", "Implementation-Version": archiveVersion) 31 | } 32 | } 33 | 34 | publishing { 35 | publications { 36 | version(MavenPublication) { 37 | from components.java 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /version/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.version { 24 | exports org.openjdk.skara.version; 25 | } 26 | -------------------------------------------------------------------------------- /webrev/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.webrev { 24 | requires org.openjdk.skara.vcs; 25 | requires org.openjdk.skara.json; 26 | requires java.net.http; 27 | requires java.logging; 28 | 29 | exports org.openjdk.skara.webrev; 30 | } 31 | -------------------------------------------------------------------------------- /webrev/src/main/java/org/openjdk/skara/webrev/DiffTooLargeException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.webrev; 24 | 25 | public class DiffTooLargeException extends Exception { 26 | public DiffTooLargeException() { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /webrev/src/main/java/org/openjdk/skara/webrev/FileView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.webrev; 24 | 25 | interface FileView extends View { 26 | Stats stats(); 27 | } 28 | 29 | 30 | -------------------------------------------------------------------------------- /webrev/src/main/java/org/openjdk/skara/webrev/HTML.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.webrev; 24 | 25 | class HTML { 26 | public static String escape(String s) { 27 | return s.replace("&", "&") 28 | .replace("<", "<") 29 | .replace(">", ">") 30 | .replace("\"", """) 31 | .replace("'", "'"); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /webrev/src/main/java/org/openjdk/skara/webrev/Navigation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.webrev; 24 | 25 | import java.nio.file.Path; 26 | 27 | class Navigation { 28 | final Path previous; 29 | final Path next; 30 | 31 | Navigation(Path previous, Path next) { 32 | this.previous = previous; 33 | this.next = next; 34 | } 35 | 36 | Path previous() { 37 | return previous; 38 | } 39 | 40 | Path next() { 41 | return next; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /webrev/src/main/java/org/openjdk/skara/webrev/View.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.webrev; 24 | 25 | import java.io.*; 26 | 27 | interface View { 28 | void render(Writer w) throws IOException; 29 | } 30 | -------------------------------------------------------------------------------- /webrev/src/main/resources/nanoduke.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openjdk/skara/d27f01f9cdf0a06a0d1a20b05165a6ded8e48dbb/webrev/src/main/resources/nanoduke.ico -------------------------------------------------------------------------------- /webrev/src/test/java/org/openjdk/skara/webrev/HTMLTests.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | package org.openjdk.skara.webrev; 24 | 25 | import org.junit.jupiter.api.Test; 26 | 27 | import static org.junit.jupiter.api.Assertions.assertEquals; 28 | 29 | public class HTMLTests { 30 | @Test 31 | void testSingleQuoteEscape() { 32 | var text = "'7"; 33 | var html = HTML.escape(text); 34 | assertEquals("'7", html); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /xml/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | 24 | module { 25 | name = 'org.openjdk.skara.xml' 26 | } 27 | 28 | publishing { 29 | publications { 30 | xml(MavenPublication) { 31 | from components.java 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /xml/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. 8 | * 9 | * This code is distributed in the hope that it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 | * version 2 for more details (a copy is included in the LICENSE file that 13 | * accompanied this code). 14 | * 15 | * You should have received a copy of the GNU General Public License version 16 | * 2 along with this work; if not, write to the Free Software Foundation, 17 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 | * 19 | * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 | * or visit www.oracle.com if you need additional information or have any 21 | * questions. 22 | */ 23 | module org.openjdk.skara.xml { 24 | requires java.xml; 25 | exports org.openjdk.skara.xml; 26 | } 27 | --------------------------------------------------------------------------------