mirror of
https://github.com/mattermost/mattermost.git
synced 2026-04-15 14:08:55 -04:00
* inline mattermost-govet
* fix style issues
* simplify the openApiSync spec test
* README.md tweaks
* fix missing licenses
* simplify README.md
* trigger server-ci on tools/mattermost-govet/**
* Apply 470cf78253
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
45 lines
2.1 KiB
Markdown
45 lines
2.1 KiB
Markdown
# Tools
|
|
|
|
This directory aims to provide a set of tools that simplify and enhance various development tasks. This README file serves as a guide to help you understand the directory, features of these tools, and how to get started using it. This is a collection of utilities and scripts designed to streamline common development tasks for Mattermost. These tools aim to help automate repetitive tasks and improve productivity.
|
|
|
|
## Included tools
|
|
|
|
* **mattermost-govet**: custom Go vet analyzers enforcing Mattermost-specific code conventions (structured logging, error handling, SQL safety, etc.). Used by `make vet` in the server.
|
|
* **mmgotool**: is a CLI to help with i18n related checks for the mattermost/server development.
|
|
* **sharedchannel-test**: integration test tool that validates shared channel synchronization (posts, reactions, membership) between two real Mattermost server instances.
|
|
|
|
## Installation & Usage
|
|
|
|
### mmgotool
|
|
|
|
To install `mmgotool`, simply run the following command: `go install github.com/mattermost/mattermost/tools/mmgotool`
|
|
|
|
Make sure you have the necessary prerequisites such as [Go](https://go.dev/) compiler.
|
|
|
|
`mmgotool i18n` has following subcommands described below:
|
|
|
|
* `check`: Check translations
|
|
* `check-empty-src`: Check for empty translation source strings
|
|
* `clean-empty`: Clean empty translations
|
|
* `extract`: Extract translations
|
|
|
|
### sharedchannel-test
|
|
|
|
Stands up two Mattermost Enterprise instances, creates a remote cluster connection, and runs integration tests for shared channel synchronization (membership, posts, reactions).
|
|
|
|
**Prerequisites:**
|
|
- `make start-docker` (Postgres and friends running)
|
|
- Enterprise repo present at `../../enterprise`
|
|
- An enterprise license file
|
|
|
|
**Usage:**
|
|
|
|
```bash
|
|
# Managed mode (builds server, starts/stops both instances automatically)
|
|
cd tools/sharedchannel-test
|
|
go run . --license /path/to/license.mattermost-license --server-dir ../../server
|
|
|
|
# External mode (connect to already-running instances)
|
|
go run . --license /path/to/license.mattermost-license --manage=false \
|
|
--server-a http://localhost:9065 --server-b http://localhost:9066
|
|
```
|