Cleanup Emitter helper functions in language repos
- Dominant language
- C#
- Stars
- 135
- Forks
- 260
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 143
Description
The main 4 repos have the following common functions in the `Language-Settings.ps1` file. As part of cleaning previous tooling, we should delete these functions.
These are only used by the https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/scripts/TypeSpec-Project-Generate.ps1
[.NET](https://github.com/Azure/azure-sdk-for-net/blob/main/eng/scripts/Language-Settings.ps1#L419C1-L425C2):
```
function Get-dotnet-EmitterName() {
return "@azure-tools/typespec-csharp"
}
function Get-dotnet-EmitterAdditionalOptions([string]$projectDirectory) {
return "--option @azure-tools/typespec-csharp.emitter-output-dir=$projectDirectory/src"
}
```
[Java](https://github.com/Azure/azure-sdk-for-java/blob/main/eng/scripts/Language-Settings.ps1#L515C1-L521C2):
```
function Get-java-EmitterName() {
return "@azure-tools/typespec-java"
}
function Get-java-EmitterAdditionalOptions([string]$projectDirectory) {
return "--option @azure-tools/typespec-java.emitter-output-dir=$projectDirectory/"
}
```
[Python](https://github.com/Azure/azure-sdk-for-python/blob/main/eng/scripts/Language-Settings.ps1#L443C1-L449C2)
```
function Get-python-EmitterName() {
return "@azure-tools/typespec-python"
}
function Get-python-EmitterAdditionalOptions([string]$projectDirectory) {
return "--option @azure-tools/typespec-python.emitter-output-dir=$projectDirectory/"
}
```
[JS](https://github.com/Azure/azure-sdk-for-js/blob/main/eng/scripts/Language-Settings.ps1#L25C1-L31C2)
```
function Get-javascript-EmitterName() {
return "@azure-tools/typespec-ts"
}
function Get-javascript-EmitterAdditionalOptions([string]$projectDirectory) {
return "--option @azure-tools/typespec-ts.emitter-output-dir=$projectDirectory/"
}
```
Contributor guide
Research direction
Start with the four linked Language-Settings.ps1 files in the .NET, Java, Python, and JS repositories, and review their use by eng/common/scripts/TypeSpec-Project-Generate.ps1. Remove the listed Emitter helper functions from each file; the work is done when those functions are gone from all four repositories.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- powershell
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 58/100