Add a coursier_launch integration

This is a follow up to the repository based coursier integration. The
standard coursier integration is to this integration what the docker
integration is to the docker_image integration.

This is meant to target either maven coordinates or coursier apps
directly without depending on a hook repository containing app
descriptors and hook configs making this integration highly suitable
for local hooks.

An example of hook local targets are bellow
```yaml
- repo: local
  hooks:
    - id: scalafmt
      name: scalafmt
      entry: scalafmt # coursier app target
      language: coursier_launch
      files: (\.scala|\.sbt|\.sc)$
    - id: scalafix
      name: scalafix
      entry: ch.epfl.scala:::scalafix-cli:latest.release # maven coordinates target
      language: coursier_launch
      files: (\.scala|\.sbt|\.sc)$
    - id: echo-java
      name: echo-java
      entry: echo-java
      language: coursier_launch
      args: ["--", "hello from java"] # forward arguments to the app
```
This commit is contained in:
Joseph Moniz 2020-11-06 12:55:21 -05:00
parent c972205214
commit 0603c3c931
5 changed files with 41 additions and 4 deletions

View file

@ -2,9 +2,9 @@
import sys
LANGUAGES = [
'conda', 'coursier', 'docker', 'dotnet', 'docker_image', 'fail', 'golang',
'node', 'perl', 'pygrep', 'python', 'ruby', 'rust', 'script', 'swift',
'system',
'conda', 'coursier', 'coursier_launch', 'docker', 'dotnet', 'docker_image',
'fail', 'golang', 'node', 'perl', 'pygrep', 'python', 'ruby', 'rust',
'script', 'swift', 'system',
]
FIELDS = [
'ENVIRONMENT_DIR', 'get_default_version', 'healthy', 'install_environment',

View file

@ -0,0 +1,5 @@
- id: echo-java
name: echo-java
description: echo from java
entry: echo-java
language: coursier_launch