Skip to content

Commit

Permalink
Fix adding/replacing a grammar (github-linguist#4097)
Browse files Browse the repository at this point in the history
* Licensed needs a full path now

* Add docker installed/running guard

* Docker is required for adding/replacing grammars

* Use more elegant method

Hat-tip to @Alhadis 🎩
  • Loading branch information
lildude authored Apr 12, 2018
1 parent a9ff59a commit cc4da98
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ To run Linguist from the cloned repository:

### Dependencies

Linguist uses the [`charlock_holmes`](https://github.com/brianmario/charlock_holmes) character encoding detection library which in turn uses [ICU](http://site.icu-project.org/), and the libgit2 bindings for Ruby provided by [`rugged`](https://github.com/libgit2/rugged). These components have their own dependencies - `icu4c`, and `cmake` and `pkg-config` respectively - which you may need to install before you can install Linguist.
Linguist uses the [`charlock_holmes`](https://github.com/brianmario/charlock_holmes) character encoding detection library which in turn uses [ICU](http://site.icu-project.org/), and the libgit2 bindings for Ruby provided by [`rugged`](https://github.com/libgit2/rugged). [Docker](https://www.docker.com/) is also required when adding or updating grammars. These components have their own dependencies - `icu4c`, and `cmake` and `pkg-config` respectively - which you may need to install before you can install Linguist.

For example, on macOS with [Homebrew](http://brew.sh/): `brew install cmake pkg-config icu4c` and on Ubuntu: `apt-get install cmake pkg-config libicu-dev`.
For example, on macOS with [Homebrew](http://brew.sh/): `brew install cmake pkg-config icu4c docker` and on Ubuntu: `apt-get install cmake pkg-config libicu-dev docker-ce`.

## Adding an extension to a language

Expand Down
5 changes: 5 additions & 0 deletions script/add-grammar
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ unless $url
exit 1;
end

# Exit early if docker isn't installed or running.
log "Checking docker is installed and running"
command('docker', 'ps')

# Ensure the given URL is an HTTPS link
parts = parse_url $url
https = "https://#{parts[:host]}/#{parts[:user]}/#{parts[:repo]}"
Expand All @@ -107,6 +111,7 @@ log "Confirming license"
if repo_old
command('script/licensed')
else
repo_new = File.absolute_path(repo_new)
command('script/licensed', '--module', repo_new)
end

Expand Down

0 comments on commit cc4da98

Please sign in to comment.