提交 857ddeeb 编写于 作者: yanghye's avatar yanghye

energy-command-line, 添加 build, package 命令选项功能

上级 e6725b2a
//----------------------------------------
//
// Copyright © yanghy. All Rights Reserved.
//
// Licensed under Apache License Version 2.0, January 2004
//
// https://www.apache.org/licenses/LICENSE-2.0
//
//----------------------------------------
package assets
import "embed"
//go:embed assets
var assets embed.FS
func ReadFile(name string) ([]byte, error) {
return assets.ReadFile(name)
}
{
"name": "energyapp",
"projectPath": "",
"buildAssetsDir": "assets",
"buildAssetsDir": "assets/packager",
"outputFilename": "",
"frameworkPath": "",
"info": {
......
{
"name": "{{.Name}}",
"projectPath": "",
"buildAssetsDir": "assets",
"outputFilename": "",
"frameworkPath": "",
"info": {
"icon": "icon.ico",
"companyName": "",
"productName": "",
"filetVersion": "1.0.0",
"productVersion": "1.0.0",
"copyright": "Copyright.........",
"comments": "Built using ENERGY (https://github.com/energye/energy)",
"license": "",
"language": ""
},
"author": {
"name": "yanghy",
"email": "snxamdf@126.com"
}
}
......@@ -11,9 +11,9 @@
package initialize
import (
"embed"
"errors"
"fmt"
"github.com/energye/energy/v2/cmd/internal/assets"
"github.com/energye/energy/v2/cmd/internal/command"
"github.com/energye/energy/v2/cmd/internal/tools"
toolsCommand "github.com/energye/golcl/tools/command"
......@@ -24,9 +24,6 @@ import (
"strings"
)
//go:embed assets
var assets embed.FS
func InitEnergyProject(c *command.Config) error {
// 检查环境
checkEnv(&c.Init)
......@@ -96,7 +93,7 @@ func generaProject(c *command.Config) error {
}
// 创建 main.go
if mainText, err := assets.ReadFile(fmt.Sprintf("assets/app_load_res.go.%s", c.Init.ResLoad)); err != nil {
if mainText, err := assets.ReadFile(fmt.Sprintf("assets/initialize/app_load_res.go.%s", c.Init.ResLoad)); err != nil {
return err
} else {
path := filepath.Join(projectPath, "main.go")
......@@ -106,7 +103,7 @@ func generaProject(c *command.Config) error {
}
// 创建 go.mod
if modText, err := assets.ReadFile("assets/go.mod.t"); err != nil {
if modText, err := assets.ReadFile("assets/initialize/go.mod.t"); err != nil {
return err
} else {
data := make(map[string]any)
......@@ -127,7 +124,7 @@ func generaProject(c *command.Config) error {
if err := os.Mkdir(filepath.Join(projectPath, "resources"), fs.ModePerm); err != nil {
return err
} else {
if indexText, err := assets.ReadFile("assets/index.html"); err != nil {
if indexText, err := assets.ReadFile("assets/initialize/index.html"); err != nil {
return err
} else {
path := filepath.Join(projectPath, "resources", "index.html")
......@@ -138,7 +135,7 @@ func generaProject(c *command.Config) error {
}
// 创建 README.md
if readmeText, err := assets.ReadFile("assets/README.md"); err != nil {
if readmeText, err := assets.ReadFile("assets/initialize/README.md"); err != nil {
return err
} else {
data := make(map[string]any)
......
......@@ -11,9 +11,9 @@
package packager
import (
"embed"
"errors"
"fmt"
"github.com/energye/energy/v2/cmd/internal/assets"
"github.com/energye/energy/v2/cmd/internal/project"
"github.com/energye/energy/v2/cmd/internal/tools"
"github.com/energye/golcl/tools/command"
......@@ -23,9 +23,6 @@ import (
"runtime"
)
//go:embed assets
var assets embed.FS
const (
windowsNsis = "windows/installer-nsis.nsi"
windowsNsisTools = "windows/installer-tools.nsh"
......@@ -134,7 +131,7 @@ func readFile(projectData *project.Project, file string) ([]byte, error) {
localFilePath := assetsPath(projectData, file)
content, err := os.ReadFile(localFilePath)
if errors.Is(err, fs.ErrNotExist) {
content, err = fs.ReadFile(assets, localFilePath)
content, err = assets.ReadFile(localFilePath)
if err != nil {
return nil, err
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册