mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-03 20:59:30 +08:00
114 lines
3.0 KiB
Go
114 lines
3.0 KiB
Go
package build
|
|
|
|
func packageApplication(_ *Options) error {
|
|
//
|
|
//// Check we have AppImage tools
|
|
//
|
|
//// Create AppImage build directory
|
|
//buildDirectory, err := getApplicationBuildDirectory(options, "linux")
|
|
//if err != nil {
|
|
// return err
|
|
//}
|
|
//
|
|
//defer deleteLinuxPackFiles(buildDirectory)
|
|
//
|
|
//// Get the name of the application and ensure we lower+kebab case it
|
|
//name := filepath.Base(options.ProjectData.OutputFilename)
|
|
//
|
|
//// Calculate asset directory
|
|
//assetDir := getPackageAssetsDirectory()
|
|
//
|
|
//// Copy default icon if one doesn't exist
|
|
//baseBuildDirectory, err := getBuildBaseDirectory(options)
|
|
//if err != nil {
|
|
// return err
|
|
//}
|
|
//iconFile := filepath.Join(baseBuildDirectory, "icon.png")
|
|
//if !fs.FileExists(iconFile) {
|
|
// err = fs.CopyFile(defaultIconPath(), iconFile)
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
//
|
|
//// Copy Icon
|
|
//targetIcon := filepath.Join(buildDirectory, name+".png")
|
|
//err = fs.CopyFile(iconFile, targetIcon)
|
|
//if err != nil {
|
|
// return err
|
|
//}
|
|
//
|
|
//// Copy app.desktop
|
|
//dotDesktopFile := filepath.Join(baseBuildDirectory, "linux", name+".desktop")
|
|
//if !fs.FileExists(dotDesktopFile) {
|
|
// bytes, err := ioutil.ReadFile(filepath.Join(assetDir, "app.desktop"))
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
// appDesktop := string(bytes)
|
|
// appDesktop = strings.ReplaceAll(appDesktop, `{{.Name}}`, name)
|
|
// err = ioutil.WriteFile(dotDesktopFile, []byte(appDesktop), 0644)
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//}
|
|
//
|
|
//// Copy AppRun file
|
|
//// targetFilename = filepath.Join(buildDirectory, "AppRun")
|
|
//// if !fs.FileExists(targetFilename) {
|
|
//// bytes, err := ioutil.ReadFile(filepath.Join(assetDir, "AppRun"))
|
|
//// if err != nil {
|
|
//// return err
|
|
//// }
|
|
//// appRun := string(bytes)
|
|
//// appRun = strings.ReplaceAll(appRun, `{{.OutputFilename}}`, name)
|
|
//
|
|
//// err = ioutil.WriteFile(targetFilename, []byte(appRun), 0644)
|
|
//// if err != nil {
|
|
//// return err
|
|
//// }
|
|
//// }
|
|
//
|
|
//// Copy Binary
|
|
//sourceFile := filepath.Join(options.ProjectData.Path, options.ProjectData.OutputFilename)
|
|
//targetFile := filepath.Join(buildDirectory, options.ProjectData.OutputFilename)
|
|
//err = fs.CopyFile(sourceFile, targetFile)
|
|
//if err != nil {
|
|
// return err
|
|
//}
|
|
//err = os.Chmod(targetFile, 0777)
|
|
//if err != nil {
|
|
// return err
|
|
//}
|
|
//
|
|
///** Pack App **/
|
|
//
|
|
//// Make file executable
|
|
//// Set environment variable: OUTPUT=outputfilename
|
|
//command := shell.NewCommand("linuxdeploy-x86_64.AppImage")
|
|
//command.Dir(buildDirectory)
|
|
//
|
|
//argslice := slicer.String()
|
|
//argslice.Add("--appdir", "AppDir")
|
|
//argslice.Add("-d", filepath.Join("..", name+".desktop"))
|
|
//argslice.Add("-i", name+".png")
|
|
//argslice.Add("-e", name)
|
|
//argslice.Add("--output", "appimage")
|
|
//command.AddArgs(argslice.AsSlice())
|
|
//
|
|
//command.Env("OUTPUT", name+".AppImage")
|
|
//
|
|
//err = command.Run()
|
|
//if err != nil {
|
|
// println(command.Stdout())
|
|
// println(command.Stderr())
|
|
// return err
|
|
//}
|
|
//
|
|
//// Copy app to project dir
|
|
//
|
|
//println(buildDirectory)
|
|
|
|
return nil
|
|
}
|