Use same version number for web and desktop (#932)

With the new release process in place, I think keeping a separate
version number for desktop is confusing and unnecessary. This PR remove
it so the desktop version reports the version number of the web version
embedded in the binary.

## Launch Checklist

<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->


 - [x] Briefly describe the changes in this PR.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.
This commit is contained in:
Kevin Schaul
2024-09-05 09:19:32 -05:00
committed by GitHub
parent 00f431c50e
commit d940c02faf
6 changed files with 87 additions and 16 deletions

6
.gitignore vendored
View File

@@ -39,4 +39,8 @@ public
# IDE # IDE
.vscode/ .vscode/
.idea/ .idea/
# Window metadata files
/desktop/winres/winres.json
/desktop/*.syso

View File

@@ -2,6 +2,7 @@
### ✨ Features and improvements ### ✨ Features and improvements
- Add german translation - Add german translation
- Use same version number for web and desktop versions
- _...Add new stuff here..._ - _...Add new stuff here..._
### 🐞 Bug fixes ### 🐞 Bug fixes

View File

@@ -1,16 +1,22 @@
SOURCEDIR=. SOURCEDIR=.
SOURCES := $(shell find $(SOURCEDIR) -name '*.go') SOURCES := $(shell find $(SOURCEDIR) -name '*.go')
BINARY=maputnik BINARY=maputnik
DESKTOP_VERSION := 1.1.1 VERSION := $(shell node -p "require('../package.json').version")
EDITOR_VERSION := $(shell node -p "require('../package.json').version")
GOPATH := $(if $(GOPATH),$(GOPATH),$(HOME)/go) GOPATH := $(if $(GOPATH),$(GOPATH),$(HOME)/go)
GOBIN := $(if $(GOBIN),$(GOBIN),$(HOME)/go/bin) GOBIN := $(if $(GOBIN),$(GOBIN),$(HOME)/go/bin)
all: $(BINARY) all: $(BINARY)
$(BINARY): $(GOBIN)/gox $(SOURCES) version.go rice-box.go $(BINARY): $(GOBIN)/gox $(GOBIN)/go-winres $(SOURCES) version.go rice-box.go winres/winres.json
$(GOBIN)/go-winres make --product-version=$(VERSION)
$(GOBIN)/gox -osarch "windows/amd64 linux/amd64 darwin/amd64" -output "bin/{{.OS}}/${BINARY}" $(GOBIN)/gox -osarch "windows/amd64 linux/amd64 darwin/amd64" -output "bin/{{.OS}}/${BINARY}"
winres/winres.json: winres/winres_template.json
sed 's/{{.Version}}/$(VERSION)/g' winres/winres_template.json > $@
$(GOBIN)/go-winres:
go install github.com/tc-hib/go-winres@latest
# Copy the current release into ./editor/maputnik so it can be # Copy the current release into ./editor/maputnik so it can be
# embedded in the binary # embedded in the binary
editor/pull_release: editor/pull_release:
@@ -23,13 +29,12 @@ $(GOBIN)/gox:
$(GOBIN)/rice: $(GOBIN)/rice:
go install github.com/GeertJohan/go.rice/rice@v1.0.3 go install github.com/GeertJohan/go.rice/rice@v1.0.3
# Embed the current version numbers in the executable by writing version.go # Embed the current version number in the executable by writing version.go
.PHONY: version.go .PHONY: version.go
version.go: version.go:
@echo "// DO NOT EDIT: Autogenerated by Makefile\n" > version.go @echo "// DO NOT EDIT: Autogenerated by Makefile\n" > version.go
@echo "package main\n" >> version.go @echo "package main\n" >> version.go
@echo "const DesktopVersion = \"$(DESKTOP_VERSION)\"" >> version.go @echo "const Version = \"$(VERSION)\"" >> version.go
@echo "const EditorVersion = \"$(EDITOR_VERSION)\"" >> version.go
rice-box.go: $(GOBIN)/rice editor/pull_release rice-box.go: $(GOBIN)/rice editor/pull_release
$(GOBIN)/rice embed-go $(GOBIN)/rice embed-go

View File

@@ -1,4 +1,5 @@
# Maputnik Desktop [![GitHub CI status](https://github.com/maplibre/maputnik/workflows/ci/badge.svg)][github-action-ci] # Maputnik Desktop [![GitHub CI status](https://github.com/maplibre/maputnik/workflows/ci/badge.svg)][github-action-ci]
--- ---
A Golang based cross platform executable for integrating Maputnik locally. A Golang based cross platform executable for integrating Maputnik locally.
@@ -11,7 +12,7 @@ Report issues on [maplibre/maputnik](https://github.com/maplibre/maputnik).
## Install ## Install
You can download a single binary for Linux, OSX or Windows from [the latest releases of **maplibre/maputnik**](https://github.com/maplibre/maputnik/editor/releases/latest). You can download a zip file containing desktop binaries for Linux, OSX and Windows from [the latest releases of **maplibre/maputnik**](https://github.com/maplibre/maputnik/releases/latest).
### Usage ### Usage
@@ -53,12 +54,12 @@ maputnik --static ./localFolder
`maputnik` exposes the configured styles via a HTTP API. `maputnik` exposes the configured styles via a HTTP API.
| Method | Description | Method | Description |
|---------------------------------|--------------------------------------- | ------------------------ | ------------------------------------------------------ |
| `GET /styles` | List the ID of all configured style files | `GET /styles` | List the ID of all configured style files |
| `GET /styles/{filename}` | Get contents of a single style file | `GET /styles/{filename}` | Get contents of a single style file |
| `PUT /styles/{filename}` | Update contents of a style file | `PUT /styles/{filename}` | Update contents of a style file |
| `WEBSOCKET /ws` | Listen to change events for the configured style files | `WEBSOCKET /ws` | Listen to change events for the configured style files |
### Build ### Build
@@ -69,4 +70,4 @@ npm install
npm run build-desktop npm run build-desktop
``` ```
You should now find the `maputnik` binary in your `bin` directory. You should now find the `maputnik` binary in your `desktop/bin` directory.

View File

@@ -17,7 +17,7 @@ func main() {
app := cli.NewApp() app := cli.NewApp()
app.Name = "maputnik" app.Name = "maputnik"
app.Usage = "Server for integrating Maputnik locally" app.Usage = "Server for integrating Maputnik locally"
app.Version = "Editor: " + EditorVersion + "; Desktop: " + DesktopVersion app.Version = Version
app.Flags = []cli.Flag{ app.Flags = []cli.Flag{
&cli.StringFlag{ &cli.StringFlag{

View File

@@ -0,0 +1,60 @@
{
"RT_GROUP_ICON": {
"APP": {
"0000": [
"../../src/img/maputnik.png"
]
}
},
"RT_MANIFEST": {
"#1": {
"0409": {
"identity": {
"name": "Maputnik",
"version": "{{.Version}}"
},
"description": "A MapLibre GL visual style editor",
"minimum-os": "win7",
"execution-level": "as invoker",
"ui-access": false,
"auto-elevate": false,
"dpi-awareness": "system",
"disable-theming": false,
"disable-window-filtering": false,
"high-resolution-scrolling-aware": false,
"ultra-high-resolution-scrolling-aware": false,
"long-path-aware": false,
"printer-driver-isolation": false,
"gdi-scaling": false,
"segment-heap": false,
"use-common-controls-v6": false
}
}
},
"RT_VERSION": {
"#1": {
"0000": {
"fixed": {
"file_version": "{{.Version}}",
"product_version": "{{.Version}}"
},
"info": {
"0409": {
"Comments": "https://github.com/maplibre/maputnik",
"CompanyName": "Maputnik",
"FileDescription": "A MapLibre GL visual style editor",
"FileVersion": "{{.Version}}",
"InternalName": "Maputnik",
"LegalCopyright": "MIT License",
"LegalTrademarks": "",
"OriginalFilename": "Maputnik.exe",
"PrivateBuild": "",
"ProductName": "Maputnik",
"ProductVersion": "{{.Version}}",
"SpecialBuild": ""
}
}
}
}
}
}