@@ -7,17 +7,17 @@ import (
77 "crypto/sha256"
88 "fmt"
99 "io"
10- "io/fs"
1110 "os"
1211 "path/filepath"
1312 "strings"
13+ "time"
1414)
1515
1616type UploadAsset struct {
17- File os. File
18- Name string
19- Infos fs. FileInfo
20- Hash []byte
17+ Name string
18+ ModTime time. Time
19+ FilePath string
20+ Hash []byte
2121}
2222
2323// GetAsset takes a string as argument which must be in the format `<assetformat>=<filename>`.
@@ -34,33 +34,32 @@ type UploadAsset struct {
3434//
3535// An error will be returned if the asset format is not supported or if an
3636// error occurs while creating the asset.
37- func GetAsset (assetLocation string ) (asset * UploadAsset , err error ) {
37+ func GetAsset (assetLocation string ) (asset UploadAsset , err error ) {
3838 assetName := strings .Split (assetLocation , "=" )
3939
4040 switch assetName [0 ] {
41-
4241 case "file" :
4342 file , err := os .OpenFile (assetName [1 ], os .O_RDWR , 0644 )
4443 if err != nil {
45- return nil , err
44+ return UploadAsset {} , err
4645 }
4746 if err := asset .New (assetName [1 ], file ); err != nil {
48- return nil , err
47+ return UploadAsset {} , err
4948 }
5049 return asset , nil
5150 case "zip" :
5251 return createZipFile (assetName [1 ])
5352 case "tgz" :
5453 return createTgzFile (assetName [1 ])
5554 default :
56- return nil , fmt .Errorf ("not an valid asset format" )
55+ return UploadAsset {} , fmt .Errorf ("not an valid asset format" )
5756 }
5857}
5958
60- func createZipFile (name string ) (asset * UploadAsset , err error ) {
61- tmpFile , err := os .CreateTemp ("awesome-ci" , "upload-asset-" )
59+ func createZipFile (name string ) (asset UploadAsset , err error ) {
60+ tmpFile , err := os .CreateTemp ("awesome-ci" , "upload-asset-* " )
6261 if err != nil {
63- return nil , err
62+ return UploadAsset {} , err
6463 }
6564 defer tmpFile .Close ()
6665 zipWriter := zip .NewWriter (tmpFile )
@@ -88,24 +87,24 @@ func createZipFile(name string) (asset *UploadAsset, err error) {
8887 return nil
8988 })
9089 if err != nil {
91- return nil , err
90+ return UploadAsset {} , err
9291 }
9392 err = zipWriter .Close ()
9493 if err != nil {
95- return nil , err
94+ return UploadAsset {} , err
9695 }
9796
98- if err := asset .New (fmt .Sprintf ("%s.zip" , filepath . Base ( name ) ), tmpFile ); err != nil {
99- return nil , err
97+ if err := asset .New (fmt .Sprintf ("%s.zip" , name ), tmpFile ); err != nil {
98+ return UploadAsset {} , err
10099 }
101100
102101 return
103102}
104103
105- func createTgzFile (name string ) (asset * UploadAsset , err error ) {
106- tmpFile , err := os .CreateTemp ("awesome-ci" , "upload-asset-" )
104+ func createTgzFile (name string ) (asset UploadAsset , err error ) {
105+ tmpFile , err := os .CreateTemp ("awesome-ci" , "upload-asset-* " )
107106 if err != nil {
108- return nil , err
107+ return UploadAsset {} , err
109108 }
110109 defer tmpFile .Close ()
111110 gzipWriter := gzip .NewWriter (tmpFile )
@@ -138,19 +137,19 @@ func createTgzFile(name string) (asset *UploadAsset, err error) {
138137 return nil
139138 })
140139 if err != nil {
141- return nil , err
140+ return UploadAsset {} , err
142141 }
143142 err = tarWriter .Close ()
144143 if err != nil {
145- return nil , err
144+ return UploadAsset {} , err
146145 }
147146 err = gzipWriter .Close ()
148147 if err != nil {
149- return nil , err
148+ return UploadAsset {} , err
150149 }
151150
152- if err := asset .New (fmt .Sprintf ("%s.tgz" , filepath . Base ( name ) ), tmpFile ); err != nil {
153- return nil , err
151+ if err := asset .New (fmt .Sprintf ("%s.tgz" , name ), tmpFile ); err != nil {
152+ return UploadAsset {} , err
154153 }
155154
156155 return
@@ -169,9 +168,9 @@ func (ua *UploadAsset) New(name string, file *os.File) (err error) {
169168 }
170169
171170 // set values
172- ua .Name = name
173- ua .File = * file
174- ua .Infos = info
171+ ua .Name = info . Name ()
172+ ua .FilePath = name
173+ ua .ModTime = info . ModTime ()
175174 ua .Hash = h .Sum (nil )
176175 return nil
177176}
0 commit comments