Skip to content

Commit 3f15bfd

Browse files
authored
Revert "better conditional taskfile running" (#872)
Reverts #864 There's a typo here that's breaking the Taskfile
1 parent 20f4ff6 commit 3f15bfd

File tree

4 files changed

+59
-94
lines changed

4 files changed

+59
-94
lines changed

Taskfile.yml

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,6 @@ tasks:
5959
- build:server:linux
6060
- build:server:macos
6161
- build:server:windows
62-
sources:
63-
- "cmd/server/*.go"
64-
- "pkg/**/*.go"
6562

6663
build:server:macos:
6764
desc: Build the wavesrv component for macOS (Darwin) platforms (generates artifacts for both arm64 and amd64).
@@ -73,9 +70,6 @@ tasks:
7370
- task: build:server:internal
7471
vars:
7572
ARCHS: arm64,amd64
76-
sources:
77-
- "cmd/server/*.go"
78-
- "pkg/**/*.go"
7973

8074
build:server:windows:
8175
desc: Build the wavesrv component for Windows platforms (only generates artifacts for the current architecture).
@@ -88,9 +82,6 @@ tasks:
8882
vars:
8983
ARCHS:
9084
sh: echo {{if eq "arm" ARCH}}arm64{{else}}{{ARCH}}{{end}}
91-
sources:
92-
- "cmd/server/*.go"
93-
- "pkg/**/*.go"
9485

9586
build:server:linux:
9687
desc: Build the wavesrv component for Linux platforms (only generates artifacts for the current architecture).
@@ -105,9 +96,6 @@ tasks:
10596
sh: echo {{if eq "arm" ARCH}}arm64{{else}}{{ARCH}}{{end}}
10697
GO_ENV_VARS:
10798
sh: echo "{{if eq "amd64" ARCH}}CC=\"zig cc -target x86_64-linux-gnu.2.28\"{{end}}"
108-
sources:
109-
- "cmd/server/*.go"
110-
- "pkg/**/*.go"
11199

112100
build:server:internal:
113101
requires:
@@ -159,11 +147,6 @@ tasks:
159147
GOARCH: arm64
160148
deps:
161149
- generate
162-
sources:
163-
- "cmd/wsh/**/*.go"
164-
- "pkg/**/*.go"
165-
- go.mod
166-
- go.sum
167150

168151
dev:installwsh:
169152
desc: quick shortcut to rebuild wsh and install for macos arm64
@@ -191,8 +174,6 @@ tasks:
191174
sources:
192175
- "cmd/wsh/**/*.go"
193176
- "pkg/**/*.go"
194-
- go.mod
195-
- go.sum
196177
generates:
197178
- dist/bin/wsh-{{.VERSION}}-{{.GOOS}}.{{.NORMALIZEDARCH}}{{.EXT}}
198179
cmd: (CGO_ENABLED=0 GOOS={{.GOOS}} GOARCH={{.GOARCH}} go build -ldflags="-s -w -X main.BuildTime=$({{.DATE}} +'%Y%m%d%H%M') -X main.WaveVersion={{.VERSION}}" -o dist/bin/wsh-{{.VERSION}}-{{.GOOS}}.{{.NORMALIZEDARCH}}{{.EXT}} cmd/wsh/main-wsh.go)
@@ -208,12 +189,20 @@ tasks:
208189
sources:
209190
- "cmd/generatego/*.go"
210191
- "cmd/generatets/*.go"
211-
- "pkg/**/*.go"
212-
sources-excluce:
192+
- "pkg/service/**/*.go"
193+
- "pkg/waveobj/*.go"
194+
- "pkg/wconfig/**/*.go"
195+
- "pkg/wstore/*.go"
196+
- "pkg/wshrpc/**/*.go"
197+
- "pkg/tsgen/**/*.go"
198+
- "pkg/gogen/**/*.go"
199+
- "pkg/wconfig/**/*.go"
200+
- "pkg/eventbus/eventbus.go"
201+
generates:
202+
- frontend/types/gotypes.d.ts
213203
- pkg/wshrpc/wshclient/wshclient.go
214-
- pkg/waveobj/metaconsts.go
215-
- pkg/wconfig/metaconsts.go
216-
# remove the "generates" key since they are conditionally generated (otherwise task will re-run every time)
204+
- frontend/app/store/services.ts
205+
- frontend/app/store/wshserver.ts
217206

218207
version:
219208
desc: Get the current package version, or bump version if args are present. To pass args to `version.cjs`, add them after `--`. See `version.cjs` for usage definitions for the arguments.

cmd/generatego/main-generatego.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"strings"
1111

1212
"github.com/wavetermdev/waveterm/pkg/gogen"
13-
"github.com/wavetermdev/waveterm/pkg/tsgen"
1413
"github.com/wavetermdev/waveterm/pkg/util/utilfn"
1514
"github.com/wavetermdev/waveterm/pkg/waveobj"
1615
"github.com/wavetermdev/waveterm/pkg/wconfig"
@@ -43,7 +42,7 @@ func GenerateWshClient() {
4342
}
4443
}
4544
buf.WriteString("\n")
46-
err := tsgen.WriteFileIfChanged(WshClientFileName, []byte(buf.String()), true)
45+
err := os.WriteFile(WshClientFileName, []byte(buf.String()), 0644)
4746
if err != nil {
4847
panic(err)
4948
}
@@ -55,7 +54,7 @@ func GenerateWaveObjMetaConsts() {
5554
gogen.GenerateBoilerplate(&buf, "waveobj", []string{})
5655
gogen.GenerateMetaMapConsts(&buf, "MetaKey_", reflect.TypeOf(waveobj.MetaTSType{}))
5756
buf.WriteString("\n")
58-
err := tsgen.WriteFileIfChanged(WaveObjMetaConstsFileName, []byte(buf.String()), true)
57+
err := os.WriteFile(WaveObjMetaConstsFileName, []byte(buf.String()), 0644)
5958
if err != nil {
6059
panic(err)
6160
}
@@ -67,7 +66,7 @@ func GenerateSettingsMetaConsts() {
6766
gogen.GenerateBoilerplate(&buf, "wconfig", []string{})
6867
gogen.GenerateMetaMapConsts(&buf, "ConfigKey_", reflect.TypeOf(wconfig.SettingsType{}))
6968
buf.WriteString("\n")
70-
err := tsgen.WriteFileIfChanged(SettingsMetaConstsFileName, []byte(buf.String()), true)
69+
err := os.WriteFile(SettingsMetaConstsFileName, []byte(buf.String()), 0644)
7170
if err != nil {
7271
panic(err)
7372
}

cmd/generatets/main-generatets.go

Lines changed: 43 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,14 @@ import (
1717
)
1818

1919
func generateTypesFile(tsTypesMap map[reflect.Type]string) error {
20-
var buf strings.Builder
21-
fileName := "frontend/types/gotypes.d.ts"
22-
fmt.Fprintf(os.Stderr, "generating types file to %s\n", fileName)
20+
fd, err := os.Create("frontend/types/gotypes.d.ts")
21+
if err != nil {
22+
return err
23+
}
24+
defer fd.Close()
25+
fmt.Fprintf(os.Stderr, "generating types file to %s\n", fd.Name())
2326
tsgen.GenerateWaveObjTypes(tsTypesMap)
24-
err := tsgen.GenerateServiceTypes(tsTypesMap)
27+
err = tsgen.GenerateServiceTypes(tsTypesMap)
2528
if err != nil {
2629
fmt.Fprintf(os.Stderr, "Error generating service types: %v\n", err)
2730
os.Exit(1)
@@ -30,10 +33,10 @@ func generateTypesFile(tsTypesMap map[reflect.Type]string) error {
3033
if err != nil {
3134
return fmt.Errorf("error generating wsh server types: %w", err)
3235
}
33-
fmt.Fprintf(&buf, "// Copyright 2024, Command Line Inc.\n")
34-
fmt.Fprintf(&buf, "// SPDX-License-Identifier: Apache-2.0\n\n")
35-
fmt.Fprintf(&buf, "// generated by cmd/generate/main-generatets.go\n\n")
36-
fmt.Fprintf(&buf, "declare global {\n\n")
36+
fmt.Fprintf(fd, "// Copyright 2024, Command Line Inc.\n")
37+
fmt.Fprintf(fd, "// SPDX-License-Identifier: Apache-2.0\n\n")
38+
fmt.Fprintf(fd, "// generated by cmd/generate/main-generatets.go\n\n")
39+
fmt.Fprintf(fd, "declare global {\n\n")
3740
var keys []reflect.Type
3841
for key := range tsTypesMap {
3942
keys = append(keys, key)
@@ -45,68 +48,62 @@ func generateTypesFile(tsTypesMap map[reflect.Type]string) error {
4548
})
4649
for _, key := range keys {
4750
// don't output generic types
48-
if strings.Contains(key.Name(), "[") {
51+
if strings.Index(key.Name(), "[") != -1 {
4952
continue
5053
}
5154
tsCode := tsTypesMap[key]
5255
istr := utilfn.IndentString(" ", tsCode)
53-
fmt.Fprint(&buf, istr)
54-
}
55-
fmt.Fprintf(&buf, "}\n\n")
56-
fmt.Fprintf(&buf, "export {}\n")
57-
err = tsgen.WriteFileIfChanged(fileName, []byte(buf.String()), true)
58-
if err != nil {
59-
return err
56+
fmt.Fprint(fd, istr)
6057
}
58+
fmt.Fprintf(fd, "}\n\n")
59+
fmt.Fprintf(fd, "export {}\n")
6160
return nil
6261
}
6362

6463
func generateServicesFile(tsTypesMap map[reflect.Type]string) error {
65-
var buf strings.Builder
66-
fileName := "frontend/app/store/services.ts"
67-
fmt.Fprintf(os.Stderr, "generating services file to %s\n", fileName)
68-
fmt.Fprintf(&buf, "// Copyright 2024, Command Line Inc.\n")
69-
fmt.Fprintf(&buf, "// SPDX-License-Identifier: Apache-2.0\n\n")
70-
fmt.Fprintf(&buf, "// generated by cmd/generate/main-generatets.go\n\n")
71-
fmt.Fprintf(&buf, "import * as WOS from \"./wos\";\n\n")
64+
fd, err := os.Create("frontend/app/store/services.ts")
65+
if err != nil {
66+
return err
67+
}
68+
defer fd.Close()
69+
fmt.Fprintf(os.Stderr, "generating services file to %s\n", fd.Name())
70+
fmt.Fprintf(fd, "// Copyright 2024, Command Line Inc.\n")
71+
fmt.Fprintf(fd, "// SPDX-License-Identifier: Apache-2.0\n\n")
72+
fmt.Fprintf(fd, "// generated by cmd/generate/main-generatets.go\n\n")
73+
fmt.Fprintf(fd, "import * as WOS from \"./wos\";\n\n")
7274
orderedKeys := utilfn.GetOrderedMapKeys(service.ServiceMap)
7375
for _, serviceName := range orderedKeys {
7476
serviceObj := service.ServiceMap[serviceName]
7577
svcStr := tsgen.GenerateServiceClass(serviceName, serviceObj, tsTypesMap)
76-
fmt.Fprint(&buf, svcStr)
77-
fmt.Fprint(&buf, "\n")
78-
}
79-
err := tsgen.WriteFileIfChanged(fileName, []byte(buf.String()), true)
80-
if err != nil {
81-
return err
78+
fmt.Fprint(fd, svcStr)
79+
fmt.Fprint(fd, "\n")
8280
}
8381
return nil
8482
}
8583

8684
func generateWshClientApiFile(tsTypeMap map[reflect.Type]string) error {
87-
var buf strings.Builder
88-
fileName := "frontend/app/store/wshclientapi.ts"
85+
fd, err := os.Create("frontend/app/store/wshclientapi.ts")
86+
if err != nil {
87+
return err
88+
}
89+
defer fd.Close()
8990
declMap := wshrpc.GenerateWshCommandDeclMap()
90-
fmt.Fprintf(os.Stderr, "generating wshclientapi file to %s\n", fileName)
91-
fmt.Fprintf(&buf, "// Copyright 2024, Command Line Inc.\n")
92-
fmt.Fprintf(&buf, "// SPDX-License-Identifier: Apache-2.0\n\n")
93-
fmt.Fprintf(&buf, "// generated by cmd/generate/main-generatets.go\n\n")
94-
fmt.Fprintf(&buf, "import { WshClient } from \"./wshclient\";\n\n")
91+
fmt.Fprintf(os.Stderr, "generating wshclientapi file to %s\n", fd.Name())
92+
fmt.Fprintf(fd, "// Copyright 2024, Command Line Inc.\n")
93+
fmt.Fprintf(fd, "// SPDX-License-Identifier: Apache-2.0\n\n")
94+
fmt.Fprintf(fd, "// generated by cmd/generate/main-generatets.go\n\n")
95+
fmt.Fprintf(fd, "import { WshClient } from \"./wshclient\";\n\n")
9596
orderedKeys := utilfn.GetOrderedMapKeys(declMap)
96-
fmt.Fprintf(&buf, "// WshServerCommandToDeclMap\n")
97-
fmt.Fprintf(&buf, "class RpcApiType {\n")
97+
fmt.Fprintf(fd, "// WshServerCommandToDeclMap\n")
98+
fmt.Fprintf(fd, "class RpcApiType {\n")
9899
for _, methodDecl := range orderedKeys {
99100
methodDecl := declMap[methodDecl]
100101
methodStr := tsgen.GenerateWshClientApiMethod(methodDecl, tsTypeMap)
101-
fmt.Fprint(&buf, methodStr)
102-
fmt.Fprintf(&buf, "\n")
103-
}
104-
fmt.Fprintf(&buf, "}\n\n")
105-
fmt.Fprintf(&buf, "export const RpcApi = new RpcApiType();\n")
106-
err := tsgen.WriteFileIfChanged(fileName, []byte(buf.String()), true)
107-
if err != nil {
108-
return err
102+
fmt.Fprint(fd, methodStr)
103+
fmt.Fprintf(fd, "\n")
109104
}
105+
fmt.Fprintf(fd, "}\n\n")
106+
fmt.Fprintf(fd, "export const RpcApi = new RpcApiType();\n")
110107
return nil
111108
}
112109

pkg/tsgen/tsgen.go

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"bytes"
88
"context"
99
"fmt"
10-
"os"
1110
"reflect"
1211
"strings"
1312

@@ -65,25 +64,6 @@ var updatesRtnRType = reflect.TypeOf(waveobj.UpdatesRtnType{})
6564
var orefRType = reflect.TypeOf((*waveobj.ORef)(nil)).Elem()
6665
var wshRpcInterfaceRType = reflect.TypeOf((*wshrpc.WshRpcInterface)(nil)).Elem()
6766

68-
func checkIfFileUpdated(filename string, newContents []byte) bool {
69-
oldContents, err := os.ReadFile(filename)
70-
if err != nil {
71-
return true
72-
}
73-
return !bytes.Equal(oldContents, newContents)
74-
}
75-
76-
func WriteFileIfChanged(filename string, newContents []byte, verbose bool) error {
77-
shouldWrite := checkIfFileUpdated(filename, newContents)
78-
if !shouldWrite {
79-
if verbose {
80-
fmt.Printf("file %s has not changed (not writing)\n", filename)
81-
}
82-
return nil
83-
}
84-
return os.WriteFile(filename, []byte(newContents), 0644)
85-
}
86-
8767
func generateTSMethodTypes(method reflect.Method, tsTypesMap map[reflect.Type]string, skipFirstArg bool) error {
8868
for idx := 0; idx < method.Type.NumIn(); idx++ {
8969
if skipFirstArg && idx == 0 {

0 commit comments

Comments
 (0)