You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
3.1 KiB
132 lines
3.1 KiB
7 months ago
|
package entities
|
||
|
|
||
|
import (
|
||
|
"repodiff/constants"
|
||
|
)
|
||
|
|
||
|
type Project struct {
|
||
|
URL string `json:"url"`
|
||
|
Branch string `json:"branch"`
|
||
|
}
|
||
|
|
||
|
type DiffTarget struct {
|
||
|
Upstream Project `json:"upstream"`
|
||
|
Downstream Project `json:"downstream"`
|
||
|
}
|
||
|
|
||
|
type ApplicationConfig struct {
|
||
|
OutputDirectory string `json:"output_directory"`
|
||
|
AndroidProjectDir string `json:"android_project_dir"`
|
||
|
DiffScript string `json:"diff_script"`
|
||
|
DiffTargets []DiffTarget `json:"diff_targets"`
|
||
|
Port int `json:"port"`
|
||
|
CommonUpstream Project `json:"common_upstream"`
|
||
|
}
|
||
|
|
||
|
type DiffRow struct {
|
||
|
Date string
|
||
|
DownstreamProject string
|
||
|
UpstreamProject string
|
||
|
DiffStatus int
|
||
|
FilesChanged int
|
||
|
LineInsertions int
|
||
|
LineDeletions int
|
||
|
LineChanges int
|
||
|
CommitsNotUpstreamed int
|
||
|
DBInsertTimestamp int64
|
||
|
}
|
||
|
|
||
|
type AnalyzedDiffRow struct {
|
||
|
DiffRow
|
||
|
Type constants.ProjectType
|
||
|
}
|
||
|
|
||
|
type CommitRow struct {
|
||
|
Date string
|
||
|
Commit string
|
||
|
DownstreamProject string
|
||
|
Author string
|
||
|
Subject string
|
||
|
}
|
||
|
|
||
|
type AnalyzedCommitRow struct {
|
||
|
CommitRow
|
||
|
Type constants.ProjectType
|
||
|
}
|
||
|
|
||
|
type MappedDiffTarget struct {
|
||
|
UpstreamTarget int16
|
||
|
DownstreamTarget int16
|
||
|
}
|
||
|
|
||
|
type StatusMessage struct {
|
||
|
JobStatus string
|
||
|
Meta string
|
||
|
}
|
||
|
|
||
|
type remote struct {
|
||
|
Text string `xml:",chardata"`
|
||
|
Fetch string `xml:"fetch,attr"`
|
||
|
Name string `xml:"name,attr"`
|
||
|
Review string `xml:"review,attr"`
|
||
|
}
|
||
|
|
||
|
// "default" is the actual corresponding name in the XML tree but is also a reserved keyword in Golang; renamed as "defaultXML"
|
||
|
type defaultXML struct {
|
||
|
Text string `xml:",chardata"`
|
||
|
DestBranch string `xml:"dest-branch,attr"`
|
||
|
Remote string `xml:"remote,attr"`
|
||
|
Revision string `xml:"revision,attr"`
|
||
|
SyncJ string `xml:"sync-j,attr"`
|
||
|
}
|
||
|
|
||
|
type manifestServer struct {
|
||
|
Text string `xml:",chardata"`
|
||
|
URL string `xml:"url,attr"`
|
||
|
}
|
||
|
|
||
|
type copyFile struct {
|
||
|
Text string `xml:",chardata"`
|
||
|
Dest string `xml:"dest,attr"`
|
||
|
Src string `xml:"src,attr"`
|
||
|
}
|
||
|
|
||
|
type linkFile struct {
|
||
|
Text string `xml:",chardata"`
|
||
|
Dest string `xml:"dest,attr"`
|
||
|
Src string `xml:"src,attr"`
|
||
|
}
|
||
|
|
||
|
type ManifestProject struct {
|
||
|
Text string `xml:",chardata"`
|
||
|
Groups string `xml:"groups,attr"`
|
||
|
Name string `xml:"name,attr"`
|
||
|
CloneDepth string `xml:"clone-depth,attr"`
|
||
|
Path string `xml:"path,attr"`
|
||
|
Copyfile copyFile `xml:"copyfile"`
|
||
|
Linkfile []linkFile `xml:"linkfile"`
|
||
|
}
|
||
|
|
||
|
type repoHooks struct {
|
||
|
Text string `xml:",chardata"`
|
||
|
EnabledList string `xml:"enabled-list,attr"`
|
||
|
InProject string `xml:"in-project,attr"`
|
||
|
}
|
||
|
|
||
|
type ManifestFile struct {
|
||
|
Text string `xml:",chardata"`
|
||
|
Remote remote `xml:"remote"`
|
||
|
Default defaultXML `xml:"default"`
|
||
|
ManifestServer manifestServer `xml:"manifest-server"`
|
||
|
Projects []ManifestProject `xml:"project"`
|
||
|
RepoHooks repoHooks `xml:"repo-hooks"`
|
||
|
}
|
||
|
|
||
|
type ManifestFileGroup struct {
|
||
|
Common ManifestFile
|
||
|
Upstream ManifestFile
|
||
|
Downstream ManifestFile
|
||
|
}
|
||
|
|
||
|
type RepoTimestamp int64
|