Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
mike-solomon authored Jan 7, 2025
1 parent 618a1ca commit 288ebcf
Showing 1 changed file with 39 additions and 8 deletions.
47 changes: 39 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,43 @@
## Rewrite C#
<p align="center">
<a href="https://docs.openrewrite.org/">
<img src="https://github.com/openrewrite/rewrite/raw/main/doc/logo-oss.png" alt="OpenRewrite">
</a>
</p>

Implements OpenRewrite support for the C# language.
Most of OpenRewrite including the core framework is Java-based, so a remoting mechanism is used to communicate between the Java and C# runtimes.
<div align="center">
<h1>rewrite-csharp</h1>
</div>

## Project Folders Structure
<div align="center">

<!-- Keep the gap above this line, otherwise they won't render correctly! -->
[![ci](https://github.com/openrewrite/rewrite-csharp/actions/workflows/ci.yml/badge.svg)](https://github.com/openrewrite/rewrite-csharp/actions/workflows/ci.yml)
[![Maven Central](https://img.shields.io/maven-central/v/org.openrewrite/rewrite-csharp.svg)](https://mvnrepository.com/artifact/org.openrewrite/rewrite-csharp)
[![Revved up by Gradle Enterprise](https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A)](https://ge.openrewrite.org/scans)
[![Contributing Guide](https://img.shields.io/badge/Contributing-Guide-informational)](https://github.com/openrewrite/.github/blob/main/CONTRIBUTING.md)
</div>

## Introduction

This project contains a variety of OpenRewrite recipes, visitors, and supporting code for the C# language. Most of OpenRewrite, including the core framework, is Java-based, so a remoting mechanism is used to communicate between the Java and C# runtimes.

**Note**: For now, this language and the associated recipes are only supported via the [Moderne CLI](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro) or the [Moderne Platform](https://docs.moderne.io/user-documentation/moderne-platform/getting-started/running-your-first-recipe) (at least until native build tool support catches up). That being said, the Moderne CLI is free to use for open-source repositories. If your repository is closed-source, though, you will need to obtain a license to use the CLI or the Moderne Platform. [Please contact Moderne to learn more](https://www.moderne.ai/contact-us).

## Getting started

For help getting started with the Moderne CLI, check out our [getting started guide](https://docs.moderne.io/user-documentation/moderne-cli/getting-started/cli-intro). Or, if you'd like to try running these recipes in the Moderne Platform, check out the [Moderne Platform quickstart guide](https://docs.moderne.io/user-documentation/moderne-platform/getting-started/running-your-first-recipe).

## Contributing

We appreciate all types of contributions. See the [contributing guide](https://github.com/openrewrite/.github/blob/main/CONTRIBUTING.md) for detailed instructions on how to get started.

## Development information

### Project structure

* `Rewrite` - OpenRewrite port to C#
* `rewrite-csharp` - module with pure C# related LST classes written in Java.
* `rewrite-csharp-remoting` - module with the generated C# serializers/deserializers classes required for cross-process communication
* `rewrite-test-engine-remote` - test engine used to power the OpenRewrite LST test written in C#
* `rewrite-csharp-remote-server` - the embedded C# based tcp server zipped dlls required to run C# lang server during CLI executions (build/recipe run/ etc )
* `rewrite-csharp` - Module with pure C# related LST classes written in Java
* `rewrite-csharp-remoting` - Module with the generated C# serializers/deserializers classes required for cross-process communication
* `rewrite-test-engine-remote` - Test engine used to power the OpenRewrite LST test written in C#
* `rewrite-csharp-remote-server` - The embedded C# based tcp server zipped dlls required to run C# lang server during CLI executions (build/recipe run/ etc )

0 comments on commit 288ebcf

Please sign in to comment.