Seperate Module and Topdata Pipeline
This commit is contained in:
+14
-25
@@ -63,6 +63,15 @@ type hakChunk struct {
|
||||
type ProgressFunc func(string)
|
||||
|
||||
func Build(p *project.Project) (BuildResult, error) {
|
||||
var topPackage topdata.PackageResult
|
||||
var err error
|
||||
if p.HasTopData() {
|
||||
topPackage, err = topdata.BuildAndPackage(p, nil)
|
||||
if err != nil {
|
||||
return BuildResult{}, err
|
||||
}
|
||||
}
|
||||
|
||||
moduleResult, err := BuildModule(p)
|
||||
if err != nil {
|
||||
return BuildResult{}, err
|
||||
@@ -74,6 +83,9 @@ func Build(p *project.Project) (BuildResult, error) {
|
||||
moduleResult.HAKPaths = hakResult.HAKPaths
|
||||
moduleResult.Manifest = hakResult.Manifest
|
||||
moduleResult.HAKAssets = hakResult.HAKAssets
|
||||
moduleResult.TopPackageHAK = topPackage.OutputHAKPath
|
||||
moduleResult.TopPackageTLK = topPackage.OutputTLKPath
|
||||
moduleResult.TopPackageFiles = topPackage.HAKResources
|
||||
return moduleResult, nil
|
||||
}
|
||||
|
||||
@@ -91,26 +103,6 @@ func buildModule(p *project.Project, progress ProgressFunc) (BuildResult, error)
|
||||
return BuildResult{}, err
|
||||
}
|
||||
|
||||
var topPackage topdata.PackageResult
|
||||
var err error
|
||||
if p.HasTopData() {
|
||||
progressf(progress, "Building native topdata...")
|
||||
nativeTopData, buildErr := topdata.BuildNative(p, func(message string) {
|
||||
progressf(progress, "Top package: "+message)
|
||||
})
|
||||
if buildErr != nil {
|
||||
return BuildResult{}, buildErr
|
||||
}
|
||||
|
||||
progressf(progress, "Packaging native top package...")
|
||||
topPackage, err = topdata.BuildPackageFromBuild(p, nativeTopData, func(message string) {
|
||||
progressf(progress, "Top package: "+message)
|
||||
})
|
||||
if err != nil {
|
||||
return BuildResult{}, err
|
||||
}
|
||||
}
|
||||
|
||||
progressf(progress, "Resolving module HAK order...")
|
||||
moduleHakOrder, err := plannedModuleHAKOrder(p)
|
||||
if err != nil {
|
||||
@@ -136,11 +128,8 @@ func buildModule(p *project.Project, progress ProgressFunc) (BuildResult, error)
|
||||
}
|
||||
|
||||
return BuildResult{
|
||||
ModulePath: outputPath,
|
||||
Resources: len(moduleResources),
|
||||
TopPackageHAK: topPackage.OutputHAKPath,
|
||||
TopPackageTLK: topPackage.OutputTLKPath,
|
||||
TopPackageFiles: topPackage.HAKResources,
|
||||
ModulePath: outputPath,
|
||||
Resources: len(moduleResources),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user