You've already forked goreleaser
							
							
				mirror of
				https://github.com/goreleaser/goreleaser.git
				synced 2025-10-30 23:58:09 +02:00 
			
		
		
		
	fix: avoid duplicated files inside the archive
This commit is contained in:
		
							
								
								
									
										12
									
								
								Gopkg.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										12
									
								
								Gopkg.lock
									
									
									
										generated
									
									
									
								
							| @@ -16,6 +16,12 @@ | |||||||
|   revision = "70dc48d5d792f20f684a8f1d29bbac298f4b2ef4" |   revision = "70dc48d5d792f20f684a8f1d29bbac298f4b2ef4" | ||||||
|   version = "v1.0.0" |   version = "v1.0.0" | ||||||
|  |  | ||||||
|  | [[projects]] | ||||||
|  |   branch = "master" | ||||||
|  |   name = "github.com/campoy/unique" | ||||||
|  |   packages = ["."] | ||||||
|  |   revision = "8da0a74979c676510b9de445041ce14b6e450e24" | ||||||
|  |  | ||||||
| [[projects]] | [[projects]] | ||||||
|   name = "github.com/davecgh/go-spew" |   name = "github.com/davecgh/go-spew" | ||||||
|   packages = ["spew"] |   packages = ["spew"] | ||||||
| @@ -53,8 +59,8 @@ | |||||||
|     "tar", |     "tar", | ||||||
|     "zip" |     "zip" | ||||||
|   ] |   ] | ||||||
|   revision = "407d9188600f1b6584964bc532a5ce882cefdaba" |   revision = "35c6d4e271a22e46cc7133b7a6ae58b8e52acc01" | ||||||
|   version = "v1.0.1" |   version = "v1.0.2" | ||||||
|  |  | ||||||
| [[projects]] | [[projects]] | ||||||
|   name = "github.com/masterminds/semver" |   name = "github.com/masterminds/semver" | ||||||
| @@ -160,6 +166,6 @@ | |||||||
| [solve-meta] | [solve-meta] | ||||||
|   analyzer-name = "dep" |   analyzer-name = "dep" | ||||||
|   analyzer-version = 1 |   analyzer-version = 1 | ||||||
|   inputs-digest = "29cc5012bc98dd429a87d7a638a221b2d0f5b12eaf5bea67576ffd362d88105b" |   inputs-digest = "dd48a71cfd5292f26507d405996eb4ee06aea79c2308e6ee16e54fa6cd493832" | ||||||
|   solver-name = "gps-cdcl" |   solver-name = "gps-cdcl" | ||||||
|   solver-version = 1 |   solver-version = 1 | ||||||
|   | |||||||
| @@ -47,3 +47,7 @@ | |||||||
| [[constraint]] | [[constraint]] | ||||||
|   name = "github.com/fatih/color" |   name = "github.com/fatih/color" | ||||||
|   version = "1.5.0" |   version = "1.5.0" | ||||||
|  |  | ||||||
|  | [[constraint]] | ||||||
|  |   branch = "master" | ||||||
|  |   name = "github.com/campoy/unique" | ||||||
|   | |||||||
| @@ -10,6 +10,7 @@ import ( | |||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	"github.com/apex/log" | 	"github.com/apex/log" | ||||||
|  | 	"github.com/campoy/unique" | ||||||
| 	"github.com/mattn/go-zglob" | 	"github.com/mattn/go-zglob" | ||||||
| 	"golang.org/x/sync/errgroup" | 	"golang.org/x/sync/errgroup" | ||||||
|  |  | ||||||
| @@ -99,12 +100,15 @@ func create(ctx *context.Context, binaries []artifact.Artifact) error { | |||||||
| 		return fmt.Errorf("failed to find files to archive: %s", err.Error()) | 		return fmt.Errorf("failed to find files to archive: %s", err.Error()) | ||||||
| 	} | 	} | ||||||
| 	for _, f := range files { | 	for _, f := range files { | ||||||
|  | 		log.Debugf("adding %s", f) | ||||||
| 		if err = a.Add(wrap(ctx, f, folder), f); err != nil { | 		if err = a.Add(wrap(ctx, f, folder), f); err != nil { | ||||||
| 			return fmt.Errorf("failed to add %s to the archive: %s", f, err.Error()) | 			return fmt.Errorf("failed to add %s to the archive: %s", f, err.Error()) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	for _, binary := range binaries { | 	for _, binary := range binaries { | ||||||
| 		if err := a.Add(wrap(ctx, binary.Name, folder), binary.Path); err != nil { | 		var bin = wrap(ctx, binary.Name, folder) | ||||||
|  | 		log.Debugf("adding %s", bin) | ||||||
|  | 		if err := a.Add(bin, binary.Path); err != nil { | ||||||
| 			return fmt.Errorf("failed to add %s -> %s to the archive: %s", binary.Path, binary.Name, err.Error()) | 			return fmt.Errorf("failed to add %s -> %s to the archive: %s", binary.Path, binary.Name, err.Error()) | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| @@ -142,6 +146,10 @@ func findFiles(ctx *context.Context) (result []string, err error) { | |||||||
| 		} | 		} | ||||||
| 		result = append(result, files...) | 		result = append(result, files...) | ||||||
| 	} | 	} | ||||||
|  | 	// remove duplicates | ||||||
|  | 	unique.Slice(&result, func(i, j int) bool { | ||||||
|  | 		return strings.Compare(result[i], result[j]) < 0 | ||||||
|  | 	}) | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user