mirror of
https://github.com/jimeh/build-emacs-for-macos.git
synced 2026-02-19 13:06:38 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06ec20fabf | ||
|
97f77f3b10
|
|||
|
|
e0eb0d32a8 | ||
|
85041112ef
|
|||
|
af0b2b83ab
|
2
.github/.release-please-manifest.json
vendored
2
.github/.release-please-manifest.json
vendored
@@ -1,3 +1,3 @@
|
||||
{
|
||||
".": "0.6.43"
|
||||
".": "0.6.45"
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
brew 'python'
|
||||
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,5 +1,19 @@
|
||||
# Changelog
|
||||
|
||||
## [0.6.45](https://github.com/jimeh/build-emacs-for-macos/compare/v0.6.44...v0.6.45) (2023-11-20)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **builder/cask:** support shared helpers template ([97f77f3](https://github.com/jimeh/build-emacs-for-macos/commit/97f77f3b1043b66da6ec737e5db91605ec961d08))
|
||||
|
||||
## [0.6.44](https://github.com/jimeh/build-emacs-for-macos/compare/v0.6.43...v0.6.44) (2023-11-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **builder/cask:** ensure release info helpers return correct asset ([af0b2b8](https://github.com/jimeh/build-emacs-for-macos/commit/af0b2b83abd5af0e61a085da386cc0da389f6588))
|
||||
|
||||
## [0.6.43](https://github.com/jimeh/build-emacs-for-macos/compare/v0.6.42...v0.6.43) (2023-11-16)
|
||||
|
||||
|
||||
|
||||
6
Makefile
6
Makefile
@@ -46,16 +46,12 @@ SHELL := env \
|
||||
#
|
||||
|
||||
bootstrap: bootstrap-brew bootstrap-ruby
|
||||
bootstrap-ci: bootstrap-brew bootstrap-brew-ci bootstrap-ruby bootstrap-pip
|
||||
|
||||
bootstrap-ruby:
|
||||
bundle install
|
||||
|
||||
bootstrap-brew:
|
||||
brew bundle
|
||||
|
||||
bootstrap-brew-ci:
|
||||
brew bundle --file Brewfile.ci
|
||||
brew bundle --verbose --no-upgrade
|
||||
|
||||
bootstrap-pip:
|
||||
$(PIP) install -r requirements-ci.txt
|
||||
|
||||
@@ -28,10 +28,11 @@ func (s *ReleaseInfo) Asset(needles ...string) *ReleaseAsset {
|
||||
return assets[i].Filename < assets[j].Filename
|
||||
})
|
||||
|
||||
assetsLoop:
|
||||
for _, a := range assets {
|
||||
for _, needle := range needles {
|
||||
if !strings.Contains(a.Filename, needle) {
|
||||
continue
|
||||
continue assetsLoop
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
80
pkg/cask/release_info_test.go
Normal file
80
pkg/cask/release_info_test.go
Normal file
@@ -0,0 +1,80 @@
|
||||
package cask
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestAsset(t *testing.T) {
|
||||
// Define test cases
|
||||
tests := []struct {
|
||||
name string
|
||||
release ReleaseInfo
|
||||
needles []string
|
||||
want *ReleaseAsset
|
||||
}{
|
||||
{
|
||||
name: "single needle, exact match",
|
||||
release: ReleaseInfo{
|
||||
Assets: map[string]*ReleaseAsset{
|
||||
"asset1": {Filename: "asset1.zip"},
|
||||
"asset2": {Filename: "asset2.zip"},
|
||||
},
|
||||
},
|
||||
needles: []string{"asset1"},
|
||||
want: &ReleaseAsset{Filename: "asset1.zip"},
|
||||
},
|
||||
{
|
||||
name: "multiple needles, all",
|
||||
release: ReleaseInfo{
|
||||
Assets: map[string]*ReleaseAsset{
|
||||
"asset1": {Filename: "asset1.zip"},
|
||||
"asset2": {Filename: "asset2.zip"},
|
||||
},
|
||||
},
|
||||
needles: []string{"zip", "asset1"},
|
||||
want: &ReleaseAsset{Filename: "asset1.zip"},
|
||||
},
|
||||
{
|
||||
name: "multiple needles, one match",
|
||||
release: ReleaseInfo{
|
||||
Assets: map[string]*ReleaseAsset{
|
||||
"asset1": {Filename: "asset1.zip"},
|
||||
"asset2": {Filename: "asset2.zip"},
|
||||
},
|
||||
},
|
||||
needles: []string{"rar", "asset2"},
|
||||
want: nil,
|
||||
},
|
||||
{
|
||||
name: "multiple needles, no match",
|
||||
release: ReleaseInfo{
|
||||
Assets: map[string]*ReleaseAsset{
|
||||
"asset1": {Filename: "asset1.zip"},
|
||||
"asset2": {Filename: "asset2.zip"},
|
||||
},
|
||||
},
|
||||
needles: []string{"rar", "asset3"},
|
||||
want: nil,
|
||||
},
|
||||
{
|
||||
name: "no needles",
|
||||
release: ReleaseInfo{
|
||||
Assets: map[string]*ReleaseAsset{
|
||||
"asset1": {Filename: "asset1.zip"},
|
||||
"asset2": {Filename: "asset2.zip"},
|
||||
},
|
||||
},
|
||||
needles: nil,
|
||||
want: &ReleaseAsset{Filename: "asset1.zip"},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got := tt.release.Asset(tt.needles...)
|
||||
|
||||
assert.Equal(t, tt.want, got)
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -433,12 +433,24 @@ func (s *Updater) renderCask(
|
||||
}
|
||||
}
|
||||
|
||||
templateFile := filepath.Join(s.TemplatesDir, chk.Cask+".rb.tpl")
|
||||
tplContent, err := os.ReadFile(templateFile)
|
||||
tplContent, err := os.ReadFile(
|
||||
filepath.Join(s.TemplatesDir, chk.Cask+".rb.tpl"),
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
helperContent, err := os.ReadFile(
|
||||
filepath.Join(s.TemplatesDir, "_helpers.tpl"),
|
||||
)
|
||||
if err != nil && !os.IsNotExist(err) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if len(helperContent) > 0 {
|
||||
tplContent = append(helperContent, tplContent...)
|
||||
}
|
||||
|
||||
tpl, err := template.New(chk.Cask).Parse(string(tplContent))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user