|
4 | 4 | "bytes" |
5 | 5 | "encoding/json" |
6 | 6 | "fmt" |
| 7 | + "io" |
7 | 8 | "os" |
8 | 9 | "path/filepath" |
9 | 10 | "strings" |
@@ -47,6 +48,30 @@ func main() { |
47 | 48 | } |
48 | 49 |
|
49 | 50 | fmt.Println("package.json created") |
| 51 | + |
| 52 | + err = copyFile( |
| 53 | + "README.md", |
| 54 | + outDir, |
| 55 | + "README.md", |
| 56 | + ) |
| 57 | + |
| 58 | + if err != nil { |
| 59 | + fmt.Println("[ERROR] [copy README.md] ", err) |
| 60 | + return |
| 61 | + } |
| 62 | + |
| 63 | + err = copyFile( |
| 64 | + "./scripts/templates/go-npm.mjs", |
| 65 | + outDir, |
| 66 | + "go-npm.mjs", |
| 67 | + ) |
| 68 | + |
| 69 | + if err != nil { |
| 70 | + fmt.Println("[ERROR] [copy go-npm.mjs] ", err) |
| 71 | + return |
| 72 | + } |
| 73 | + |
| 74 | + fmt.Println("README.md copied") |
50 | 75 | } |
51 | 76 |
|
52 | 77 | func getDistFolderPath() (string, error) { |
@@ -89,7 +114,7 @@ func getPackageJsonString(meta ReleaserMetaData) (string, error) { |
89 | 114 |
|
90 | 115 | temp.Execute(&buff, PkgJsonTemplate{ |
91 | 116 | Version: meta.GetVersion(), |
92 | | - URL: fmt.Sprintf("https://github.com/raulfdm/node-versions-cli/releases/download/v{{version}}/%s_{{version}}_{{platform}}_{{arch}}.tar.gz", meta.ProjectName), |
| 117 | + URL: meta.GetRemoteUrl(), |
93 | 118 | }) |
94 | 119 |
|
95 | 120 | result := buff.String() |
@@ -124,6 +149,10 @@ func (r *ReleaserMetaData) GetVersion() string { |
124 | 149 | return r.Tag[1:] |
125 | 150 | } |
126 | 151 |
|
| 152 | +func (r *ReleaserMetaData) GetRemoteUrl() string { |
| 153 | + return fmt.Sprintf("https://github.com/raulfdm/node-versions-cli/releases/download/v{{version}}/%s_{{platform}}_{{arch}}.tar.gz", r.ProjectName) |
| 154 | +} |
| 155 | + |
127 | 156 | func getReleaserMetaData() (*ReleaserMetaData, error) { |
128 | 157 | fullPath, err := filepath.Abs("./") |
129 | 158 |
|
@@ -151,3 +180,38 @@ func getReleaserMetaData() (*ReleaserMetaData, error) { |
151 | 180 |
|
152 | 181 | return &meta, nil |
153 | 182 | } |
| 183 | + |
| 184 | +func copyFile(relativeSrc string, outDir string, filename string) error { |
| 185 | + fullPath, err := filepath.Abs("./") |
| 186 | + |
| 187 | + if err != nil { |
| 188 | + return err |
| 189 | + } |
| 190 | + |
| 191 | + readmeSrc := filepath.Join(fullPath, relativeSrc) |
| 192 | + readmeDest := filepath.Join(outDir, filename) |
| 193 | + |
| 194 | + srcFile, err := os.Open(readmeSrc) |
| 195 | + |
| 196 | + if err != nil { |
| 197 | + return err |
| 198 | + } |
| 199 | + |
| 200 | + defer srcFile.Close() |
| 201 | + |
| 202 | + destFile, err := os.Create(readmeDest) |
| 203 | + |
| 204 | + if err != nil { |
| 205 | + return err |
| 206 | + } |
| 207 | + |
| 208 | + defer destFile.Close() |
| 209 | + |
| 210 | + _, err = io.Copy(destFile, srcFile) |
| 211 | + |
| 212 | + if err != nil { |
| 213 | + return err |
| 214 | + } |
| 215 | + |
| 216 | + return nil |
| 217 | +} |
0 commit comments