2021-12-13 20:47:02 +03:00
|
|
|
## How to develop
|
|
|
|
|
2023-12-11 23:13:26 +03:00
|
|
|
To build Neovim for development, i.e., no universal binary, do the following
|
2021-12-13 20:47:02 +03:00
|
|
|
|
|
|
|
```bash
|
2023-12-11 23:13:26 +03:00
|
|
|
clean=false for_dev=true ./bin/build_nvimserver.sh
|
2021-12-13 20:47:02 +03:00
|
|
|
```
|
|
|
|
|
2022-06-30 22:27:20 +03:00
|
|
|
You can set `clean=true` if you want to clean the existing build.
|
2021-12-13 20:47:02 +03:00
|
|
|
|
2023-12-17 22:26:29 +03:00
|
|
|
### Generating sources when upgrading Neovim
|
|
|
|
|
|
|
|
```bash
|
|
|
|
clean=true ./RxPack/bin/generate_sources.sh # generate API methods
|
|
|
|
clean=false for_dev=true ./bin/build_nvimserver.sh # generate auto commands and cursor modes
|
|
|
|
```
|
|
|
|
|
2023-12-16 21:57:53 +03:00
|
|
|
### How to enable the Debug menu in Release build
|
|
|
|
|
|
|
|
```bash
|
|
|
|
defaults write com.qvacua.VimR enable-debug-menu 1
|
|
|
|
```
|
|
|
|
|
2021-12-13 20:47:02 +03:00
|
|
|
## How to release
|
|
|
|
|
2024-05-27 17:52:13 +03:00
|
|
|
### Neovim
|
|
|
|
|
|
|
|
* Commit and push the new release of Neovim.
|
|
|
|
* Tag and push with the following
|
|
|
|
```bash
|
|
|
|
version=neovim-vX.Y.Z-$(date "+%Y%m%d.%H%M%S"); git tag -a "${version}" -m "${version}"; git push origin "${version}"
|
|
|
|
```
|
|
|
|
|
|
|
|
### VimR
|
|
|
|
|
2021-12-13 20:47:02 +03:00
|
|
|
* Set a new version of VimR via
|
|
|
|
```bash
|
2022-03-24 20:08:11 +03:00
|
|
|
is_snapshot=true ./bin/set_new_versions.sh # for snapshot or
|
|
|
|
is_snapshot=false marketing_version=0.38.3 ./bin/set_new_versions.sh # for release
|
2021-12-13 20:47:02 +03:00
|
|
|
```
|
2022-03-24 20:08:11 +03:00
|
|
|
and commit. This will create a `${bundle_version}-snapshot/release.sh` file to be used
|
2022-06-16 16:51:12 +03:00
|
|
|
with `build_release.sh` and `release-notes.temp.md` for release notes.
|
2021-12-13 20:47:02 +03:00
|
|
|
* Tag with the name
|
|
|
|
- Snapshot: `snapshot/yyyymmdd.HHMMSS`
|
2022-03-12 22:25:52 +03:00
|
|
|
- Release: `vX.Y.Z-yyyymmdd.HHMMSS`
|
2022-03-24 20:08:11 +03:00
|
|
|
* Push
|
2022-06-16 16:51:12 +03:00
|
|
|
* Add release notes to `release-notes.temp.md`.
|
2021-12-13 20:47:02 +03:00
|
|
|
* Build, package and upload via
|
|
|
|
```bash
|
2022-03-24 20:08:11 +03:00
|
|
|
create_gh_release=true upload=true update_appcast=true \
|
|
|
|
release_spec_file=....sh \
|
2021-12-13 20:47:02 +03:00
|
|
|
./bin/build_release.sh
|
|
|
|
```
|
|
|
|
* The `appcast{-snapshot}.xml` file is modified. Check and push.
|