You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+75-3Lines changed: 75 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,41 @@ Framework for supporting different programming languages in TMC.
2
2
3
3
TMC-langs provides an interface that encapsulates everything needed to support a new language in TMC. The framework provides CLI wrappers so that it's fairly convenient to call from other languages like Ruby.
4
4
5
-
Currently a work in progress.
5
+
## Documentation
6
6
7
-
Documentation available at https://rage.github.io/tmc-langs-rust
7
+
Documentation for the latest release is available at https://rage.github.io/tmc-langs-rust
8
8
9
-
Supported targets:
9
+
## Building
10
+
11
+
Install Rust according to https://www.rust-lang.org/tools/install
12
+
13
+
```bash
14
+
git clone git@github.com:rage/tmc-langs-rust.git
15
+
cd tmc-langs-rust
16
+
cargo build
17
+
```
18
+
19
+
## Testing
20
+
21
+
```bash
22
+
cargo test
23
+
```
24
+
25
+
## Running the CLI
26
+
27
+
```bash
28
+
cargo run -p tmc-langs-cli help
29
+
```
30
+
31
+
## Development
32
+
33
+
Format using `cargo fmt`, use `cargo clippy` for linting.
34
+
35
+
## Deployment
36
+
37
+
Documentation and binaries for the supported targets are built and deployed to Google Cloud when creating a GitHub release. Each binary uses the release tag as a version number in the filename, for example `tmc-langs-cli-x86_64-unknown-linux-gnu-0.1.5-alpha` for the release `0.1.5-alpha`.
38
+
39
+
### Supported targets
10
40
11
41
- Linux 64-bit (x86_64-unknown-linux-gnu)
12
42
- Linux 32-bit (i686-unknown-linux-gnu)
@@ -15,3 +45,45 @@ Supported targets:
15
45
- MacOS 64-bit (x86_64-apple-darwin)
16
46
- ARM64 (aarch64-unknown-linux-gnu)
17
47
- Armv7 (armv7-unknown-linux-gnueabihf)
48
+
49
+
## Included projects
50
+
51
+
### tmc-langs-abstraction
52
+
53
+
A library containing some common types.
54
+
55
+
### tmc-langs-cli
56
+
57
+
A binary CLI interface for TMC-langs for IDEs.
58
+
59
+
### tmc-langs-core
60
+
61
+
A library for communicating with the TMC server.
62
+
63
+
### tmc-langs-framework
64
+
65
+
A library for creating language plugins.
66
+
67
+
### tmc-langs-java
68
+
69
+
A TMC plugin for Java. Supports Maven and Ant.
70
+
71
+
### tmc-langs-make
72
+
73
+
A TMC plugin for Make.
74
+
75
+
### tmc-langs-notests
76
+
77
+
A TMC plugin for projects with no tests.
78
+
79
+
### tmc-langs-python3
80
+
81
+
A TMC plugin for Python 3.
82
+
83
+
### tmc-langs-r
84
+
85
+
A TMC plugin for R.
86
+
87
+
### tmc-langs-util
88
+
89
+
A library that provides a convenient interface abstracting over all available language plugins.
0 commit comments