Skip to content

A library and CLI for supporting different programming languages in the TestMyCode programming assignment evaluator.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

rage/tmc-langs-rust

Repository files navigation

Framework for supporting different programming languages in TMC.

TMC-langs provides an interface that encapsulates everything needed to support a new language in TMC by providing functionality such as downloading exercises, running tests and submitting them. A CLI wrapper is provided so that it's fairly convenient to call from other languages like Ruby.

Documentation

Documentation for the latest release is available at https://rage.github.io/tmc-langs-rust. Documentation is automatically built and deployed when creating a GitHub release.

Additional documentation for other aspects of TMC such as configuration file formats is included in the docs directory.

Included projects

tmc-langs-cli

A "frontend" for tmc-langs. A binary CLI client for TMC-langs for IDEs. Intended to be used programmatically, for a CLI meant for manual use see tmc-cli-rust.

bindings/tmc-langs-node

Bindings for using tmc-langs from Node.js.

tmc-langs

The "backend". A library that provides a convenient API for implementing different frontends. A frontend (such as a CLI) should only depend on this library. The other libraries are considered internal.

tmc-client

A library for communicating with the TMC server.

tmc-langs-framework

A library for creating language plugins.

tmc-langs-plugins

A library that provides a convenient API abstracting over all the different language plugins.

tmc-langs-util

A utility library that contains various kinds of useful functionality for other projects.

plugins/csharp

A TMC plugin for C#.

plugins/java

TMC plugins for Maven and Ant projects.

plugins/make

A TMC plugin for Make.

plugins/notests

A TMC plugin for projects with no tests.

plugins/python3

A TMC plugin for Python 3.

plugins/r

A TMC plugin for R.

Supported targets

  • Linux 64-bit (x86_64-unknown-linux-gnu)
  • Linux 32-bit (i686-unknown-linux-gnu)
  • Windows MSVC 64-bit (x86_64-pc-windows-msvc)
  • Windows MSVC 32-bit (i686-pc-windows-msvc)
  • MacOS x86 (x86_64-apple-darwin)
  • MacOS M1 (aarch64-apple-darwin)
  • ARM64 (aarch64-unknown-linux-gnu)
  • Armv7 (armv7-unknown-linux-gnueabihf)

Contributing

See CONTRIBUTING.

License

Licensed under either of

at your option.

About

A library and CLI for supporting different programming languages in the TestMyCode programming assignment evaluator.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Contributors 8