mirror of
https://github.com/packwiz/packwiz.git
synced 2025-10-14 06:54:32 +02:00
Pass through optional-disabled on CF import (fixes #93)
This commit is contained in:
@@ -162,7 +162,7 @@ func getModIDFromString(mod string) (bool, int, error) {
|
||||
return false, 0, nil
|
||||
}
|
||||
|
||||
func createModFile(modInfo modInfo, fileInfo modFileInfo, index *core.Index) error {
|
||||
func createModFile(modInfo modInfo, fileInfo modFileInfo, index *core.Index, optionalDisabled bool) error {
|
||||
updateMap := make(map[string]map[string]interface{})
|
||||
var err error
|
||||
|
||||
@@ -181,6 +181,14 @@ func createModFile(modInfo modInfo, fileInfo modFileInfo, index *core.Index) err
|
||||
|
||||
hash, hashFormat := fileInfo.getBestHash()
|
||||
|
||||
var optional *core.ModOption
|
||||
if optionalDisabled {
|
||||
optional = &core.ModOption{
|
||||
Optional: true,
|
||||
Default: false,
|
||||
}
|
||||
}
|
||||
|
||||
modMeta := core.Mod{
|
||||
Name: modInfo.Name,
|
||||
FileName: fileInfo.FileName,
|
||||
@@ -190,6 +198,7 @@ func createModFile(modInfo modInfo, fileInfo modFileInfo, index *core.Index) err
|
||||
HashFormat: hashFormat,
|
||||
Hash: hash,
|
||||
},
|
||||
Option: optional,
|
||||
Update: updateMap,
|
||||
}
|
||||
path := modMeta.SetMetaName(modInfo.Slug, *index)
|
||||
|
@@ -88,7 +88,7 @@ var detectCmd = &cobra.Command{
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
err = createModFile(modInfoData, v.File, &index)
|
||||
err = createModFile(modInfoData, v.File, &index, false)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
os.Exit(1)
|
||||
|
@@ -262,7 +262,7 @@ var importCmd = &cobra.Command{
|
||||
continue
|
||||
}
|
||||
|
||||
err = createModFile(modInfoValue, modFileInfoValue, &index)
|
||||
err = createModFile(modInfoValue, modFileInfoValue, &index, v.OptionalDisabled)
|
||||
if err != nil {
|
||||
fmt.Printf("Failed to save mod \"%s\": %s\n", modInfoValue.Name, err)
|
||||
os.Exit(1)
|
||||
|
@@ -215,7 +215,7 @@ var installCmd = &cobra.Command{
|
||||
ansNormal := strings.ToLower(strings.TrimSpace(answer))
|
||||
if !(len(ansNormal) > 0 && ansNormal[0] == 'n') {
|
||||
for _, v := range depsInstallable {
|
||||
err = createModFile(v.modInfo, v.fileInfo, &index)
|
||||
err = createModFile(v.modInfo, v.fileInfo, &index, false)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
os.Exit(1)
|
||||
@@ -229,7 +229,7 @@ var installCmd = &cobra.Command{
|
||||
}
|
||||
}
|
||||
|
||||
err = createModFile(modInfoData, fileInfoData, &index)
|
||||
err = createModFile(modInfoData, fileInfoData, &index, false)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
os.Exit(1)
|
||||
|
Reference in New Issue
Block a user