diff --git a/BuildServer/lib/builder.ts b/BuildServer/lib/builder.ts index ab4b13f..5900121 100644 --- a/BuildServer/lib/builder.ts +++ b/BuildServer/lib/builder.ts @@ -8,8 +8,8 @@ import { join } from "path"; import settings from "../settings"; import { ReportResult } from "../types"; -import { createGithub } from "./github-wrapper"; import { gitLoader } from "./git/loader"; +import { createGithub } from "./github-wrapper"; import { send as sendMail } from "./mail-sender"; import { writeReport } from "./report-processor"; import { processTask } from "./task-processor"; diff --git a/BuildServer/types.d.ts b/BuildServer/types.d.ts deleted file mode 100644 index 291f170..0000000 --- a/BuildServer/types.d.ts +++ /dev/null @@ -1,77 +0,0 @@ -interface Message { - readonly message: string; - readonly prefix: string; -} - -interface PartialMessagesLeaf { - readonly $messages?: string[]; -} - -interface PartialMessagesRecursive { - readonly [propName: string]: Messages | string[] | Message[]; // workaround for compatibility with PartialMessagesLeaf and PartialMessagesRoot -} - -interface PartialMessagesRoot { - readonly $allMessages: Message[]; -} - -type Messages = PartialMessagesLeaf & PartialMessagesRecursive; - -type MessagesRoot = PartialMessagesLeaf & PartialMessagesRecursive & PartialMessagesRoot; - -interface ReportResult { - readonly errors: MessagesRoot; - readonly warns: MessagesRoot; - readonly infos: MessagesRoot; - readonly messages: MessagesRoot; -} - -interface Report { - readonly date: number; - readonly err?: string; - readonly result?: ReportResult; -} - -interface TaskProcessorCallback { - (err: string): void; -} - -interface TaskProcessorCore { - readonly onError: (message: string | Error, prefix?: string) => void; - readonly onWarn: (message: string, prefix?: string) => void; - readonly onInfo: (message: string, prefix?: string) => void; - readonly context?: any; -} - -interface TaskProcessor extends TaskProcessorCore { - readonly process: () => void; - readonly processTask: (task: TaskInfo, innerCallback: TaskProcessorCallback) => void; - readonly done: () => void; -} - -interface TaskInfo { - name?: string; - type: string; - params: any; -} - -interface Task { - (params: any, processor: TaskProcessor): () => void; -} - -interface Tasks { - readonly [taskName: string]: Task; -} - -export { - Message, - MessagesRoot, - Report, - ReportResult, - Task, - TaskInfo, - TaskProcessor, - TaskProcessorCore, - TaskProcessorCallback, - Tasks, -} diff --git a/BuildServer/types/index.ts b/BuildServer/types/index.ts new file mode 100644 index 0000000..61c6d56 --- /dev/null +++ b/BuildServer/types/index.ts @@ -0,0 +1,15 @@ +import * as ReportTypes from "./report-types"; +import * as TaskProcessorTypes from "./task-processor-types"; + +export type Message = ReportTypes.IMessage; +export type Messages = ReportTypes.Messages; +export type MessagesRoot = ReportTypes.MessagesRoot; +export type Report = ReportTypes.IReport; +export type ReportResult = ReportTypes.IReportResult; + +export type Task = TaskProcessorTypes.Task; +export type TaskInfo = TaskProcessorTypes.ITaskInfo; +export type TaskProcessor = TaskProcessorTypes.ITaskProcessor; +export type TaskProcessorCallback = TaskProcessorTypes.TaskProcessorCallback; +export type TaskProcessorCore = TaskProcessorTypes.ITaskProcessorCore; +export type Tasks = TaskProcessorTypes.ITasks; diff --git a/BuildServer/types/report-types.ts b/BuildServer/types/report-types.ts new file mode 100644 index 0000000..21005a4 --- /dev/null +++ b/BuildServer/types/report-types.ts @@ -0,0 +1,41 @@ +export interface IMessage { + readonly message: string; + readonly prefix: string; +} + +type IPartialMessageLeafContent = string[]; +type IPartialMessageRootContent = IMessage[]; + +interface IPartialMessagesLeaf { + readonly $messages?: string[]; +} + +// workaround for compatibility with PartialMessagesLeaf and PartialMessagesRoot +interface IPartialMessagesRecursive { + readonly [propName: string]: Messages | IPartialMessageLeafContent; +} + +interface IPartialMessagesRecursiveRoot { + readonly [propName: string]: Messages | IPartialMessageRootContent | IPartialMessageLeafContent; +} + +interface IPartialMessagesRoot { + readonly $allMessages: IPartialMessageRootContent; +} + +export type Messages = IPartialMessagesRecursive & IPartialMessagesLeaf; + +export type MessagesRoot = IPartialMessagesRecursiveRoot & IPartialMessagesRoot & IPartialMessagesLeaf; + +export interface IReportResult { + readonly errors: MessagesRoot; + readonly warns: MessagesRoot; + readonly infos: MessagesRoot; + readonly messages: MessagesRoot; +} + +export interface IReport { + readonly date: number; + readonly err?: string; + readonly result?: IReportResult; +} diff --git a/BuildServer/types/task-processor-types.ts b/BuildServer/types/task-processor-types.ts new file mode 100644 index 0000000..68bfa93 --- /dev/null +++ b/BuildServer/types/task-processor-types.ts @@ -0,0 +1,26 @@ +export type TaskProcessorCallback = (err: string) => void; + +export interface ITaskProcessorCore { + readonly onError: (message: string | Error, prefix?: string) => void; + readonly onWarn: (message: string, prefix?: string) => void; + readonly onInfo: (message: string, prefix?: string) => void; + readonly context?: any; +} + +export interface ITaskProcessor extends ITaskProcessorCore { + readonly process: () => void; + readonly processTask: (task: ITaskInfo, innerCallback: TaskProcessorCallback) => void; + readonly done: () => void; +} + +export interface ITaskInfo { + name?: string; + type: string; + params: any; +} + +export type Task = (params: any, processor: ITaskProcessor) => () => void; + +export interface ITasks { + readonly [taskName: string]: Task; +}