Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
507f16e
Remove AutoRest core generator, options, and NPM installer
christianhelle Jul 6, 2026
f3868d1
Remove AutoRest from enum, dependency installer, package dependencies…
christianhelle Jul 6, 2026
10137fc
Remove AutoRest CLI command and tests
christianhelle Jul 6, 2026
4e7bf36
Remove AutoRest from VSIX shared project, command tables, and manifests
christianhelle Jul 6, 2026
a1c2d36
Remove AutoRest from VSIX extensibility project
christianhelle Jul 6, 2026
e0a2bfb
Remove AutoRest from Visual Studio for Mac integration
christianhelle Jul 6, 2026
54069b9
Remove AutoRest from VSCode extension
christianhelle Jul 6, 2026
f3a77a7
Remove AutoRest from IntelliJ plugin
christianhelle Jul 6, 2026
4438477
Delete AutoRest test fixtures and generated sample projects
christianhelle Jul 6, 2026
8eba2d1
Remove AutoRest/NPM references from remaining test classes and fixtures
christianhelle Jul 6, 2026
e6778e3
Remove AutoRest steps and Node matrix from CI/CD workflows and Azure …
christianhelle Jul 6, 2026
478ac27
Remove AutoRest references from documentation
christianhelle Jul 6, 2026
848bfc3
Remove AutoRest references from project README, changelog, and config
christianhelle Jul 6, 2026
22c3d0d
Remove AutoRest references from VSCode extension docs
christianhelle Jul 6, 2026
0c1392b
Remove AutoRest and NPM troubleshooting references from website
christianhelle Jul 6, 2026
7092400
Remove AutoRest-V2/V3 from test utility scripts
christianhelle Jul 6, 2026
9c8c797
Validate IProcessLauncher is not null in DependencyInstaller
christianhelle Jul 6, 2026
d246495
Remove Verify IntelliJ plugin step
christianhelle Jul 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This is a **multi-platform code generation tool** that wraps external OpenAPI/Sw
- **Core**: Shared .NET libraries implementing `ICodeGenerator` interface pattern
- **CLI Tool** (`rapicgen`): Cross-platform command-line interface
- **IDE Extensions**: Visual Studio (VSIX), VS Code (TypeScript), Visual Studio for Mac, IntelliJ/Rider
- **External Dependencies**: Wraps NSwag, OpenAPI Generator (Java), Swagger Codegen (Java), AutoRest (NPM), Refitter (.NET), Kiota (.NET)
- **External Dependencies**: Wraps NSwag, OpenAPI Generator (Java), Swagger Codegen (Java), Refitter (.NET), Kiota (.NET)

### Key Design Patterns
- **Factory Pattern**: `ICodeGeneratorFactory` creates generators based on `SupportedCodeGenerator` enum
Expand All @@ -29,7 +29,7 @@ This is a **multi-platform code generation tool** that wraps external OpenAPI/Sw
Install required dependencies in this order:
- .NET 8.0 SDK (required for all builds and CLI tool)
- Java 17+ Runtime (required for code generators like Swagger Codegen, OpenAPI Generator)
- Node.js v20+ and NPM (required for VSCode extension and some code generators)
- Node.js v20+ and NPM (required for VSCode extension)

Verify installations:
```bash
Expand Down Expand Up @@ -241,7 +241,7 @@ src/
### External Tool Integration Patterns

**Dependency Installation Strategy** (`DependencyInstaller`):
- **NPM tools** (AutoRest, NSwag): Install via `npm install -g package-name`
- **NPM tools** (NSwag): Install via `npm install -g package-name`
- **Java tools** (OpenAPI Generator, Swagger): Download JAR files with SHA verification
- **.NET tools** (Kiota, Refitter): Install via `dotnet tool install --global`
- **Version checking**: Parse tool output to determine if updates needed
Expand Down
11 changes: 4 additions & 7 deletions .github/workflows/intellij.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ name: IntelliJ Plugin
on:
push:
paths:
- 'src/IntelliJ/**'
- '.github/workflows/intellij.yml'
- "src/IntelliJ/**"
- ".github/workflows/intellij.yml"
pull_request:
paths:
- 'src/IntelliJ/**'
- '.github/workflows/intellij.yml'
- "src/IntelliJ/**"
- ".github/workflows/intellij.yml"

env:
VERSION: 1.41.${{ github.run_number }}
Expand Down Expand Up @@ -41,9 +41,6 @@ jobs:
- name: Build IntelliJ Plugin
working-directory: src/IntelliJ
run: ./gradlew buildPlugin --no-daemon
- name: Verify IntelliJ Plugin
working-directory: src/IntelliJ
run: ./gradlew verifyPlugin --no-daemon
- name: Archive plugin artifact
uses: actions/upload-artifact@v7
with:
Expand Down
65 changes: 1 addition & 64 deletions .github/workflows/production-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@ jobs:

name: C#
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.os == 'macos-10.15' || matrix.os == 'macos-12' || matrix.node == 12 }}
continue-on-error: ${{ matrix.os == 'macos-10.15' || matrix.os == 'macos-12' }}
strategy:
fail-fast: false
matrix:
node: [12, 14, 15, 16, 18, 20]
format: [ json, yaml ]
version: [ V2, V3 ]
os: [
Expand All @@ -36,10 +35,6 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}

- name: Set up JDK 17
uses: actions/setup-java@v5
with:
Expand Down Expand Up @@ -233,64 +228,6 @@ jobs:
run: dotnet build ./GeneratedCode/SwaggerCodegen/NetStandard21/NetStandard21.csproj
working-directory: test

- name: Generate code with AutoRest
run: |
rapicgen csharp autorest ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs --no-logging
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net6/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net7/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net8/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net9/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net48/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net472/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net462/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net481/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard20/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard21/Output.cs
working-directory: test
continue-on-error: true

- name: Build .NET 6 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net6/Net6.csproj
working-directory: test

- name: Build .NET 7 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net7/Net7.csproj
working-directory: test

- name: Build .NET 8 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net8/Net8.csproj
working-directory: test

- name: Build .NET 9 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net9/Net9.csproj
working-directory: test

- name: Build .NET 4.8.1 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net481/Net481.csproj
if: ${{ matrix.version == 'V2' && matrix.os == 'windows-2022' }}
working-directory: test

- name: Build .NET 4.8 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net48/Net48.csproj
working-directory: test

- name: Build .NET 4.7.2 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net472/Net472.csproj
working-directory: test

- name: Build .NET 4.6.2 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net462/Net462.csproj
if: ${{ matrix.version == 'V2' }}
working-directory: test

- name: Build .NET Standard 2.0 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard20/NetStandard20.csproj
working-directory: test

- name: Build .NET Standard 2.1 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard21/NetStandard21.csproj
working-directory: test

- name: Generate code with Refitter
run: |
rapicgen csharp refitter ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/Refitter/Output.cs --no-logging
Expand Down
65 changes: 1 addition & 64 deletions .github/workflows/regression-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,10 @@ jobs:

name: C#
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.os == 'macos-10.15' || matrix.os == 'macos-12' || matrix.node == 12 }}
continue-on-error: ${{ matrix.os == 'macos-10.15' || matrix.os == 'macos-12' }}
strategy:
fail-fast: false
matrix:
node: [12, 14, 15, 16, 18, 20]
format: [ json, yaml ]
version: [ V2, V3 ]
os: [
Expand All @@ -37,10 +36,6 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}

- name: Set up JDK 17
uses: actions/setup-java@v5
with:
Expand Down Expand Up @@ -231,64 +226,6 @@ jobs:
run: dotnet build ./GeneratedCode/SwaggerCodegen/NetStandard21/NetStandard21.csproj
working-directory: test

- name: Generate code with AutoRest
run: |
dotnet run --project ../src/CLI/ApiClientCodeGen.CLI/ApiClientCodeGen.CLI.csproj -- csharp autorest ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs --no-logging
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net6/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net7/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net8/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net9/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net48/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net472/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net462/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net481/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard20/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard21/Output.cs
working-directory: test
continue-on-error: true

- name: Build .NET 6 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net6/Net6.csproj
working-directory: test

- name: Build .NET 7 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net7/Net7.csproj
working-directory: test

- name: Build .NET 8 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net8/Net8.csproj
working-directory: test

- name: Build .NET 9 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net9/Net9.csproj
working-directory: test

- name: Build .NET 4.8.1 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net481/Net481.csproj
if: ${{ matrix.version == 'V2' && matrix.os == 'windows-2022' }}
working-directory: test

- name: Build .NET 4.8 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net48/Net48.csproj
working-directory: test

- name: Build .NET 4.7.2 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net472/Net472.csproj
working-directory: test

- name: Build .NET 4.6.2 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net462/Net462.csproj
if: ${{ matrix.version == 'V2' }}
working-directory: test

- name: Build .NET Standard 2.0 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard20/NetStandard20.csproj
working-directory: test

- name: Build .NET Standard 2.1 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard21/NetStandard21.csproj
working-directory: test

- name: Generate code with Kiota
run: dotnet run --project ../src/CLI/ApiClientCodeGen.CLI/ApiClientCodeGen.CLI.csproj -- csharp kiota ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/Kiota/Output.cs --no-logging
working-directory: test
Expand Down
60 changes: 0 additions & 60 deletions .github/workflows/smoke-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6

- name: Set up JDK 17
uses: actions/setup-java@v5
with:
Expand Down Expand Up @@ -228,64 +226,6 @@ jobs:
run: dotnet build ./GeneratedCode/SwaggerCodegen/NetStandard21/NetStandard21.csproj
working-directory: test

- name: Generate code with AutoRest
run: |
dotnet run --project ../src/CLI/ApiClientCodeGen.CLI/ApiClientCodeGen.CLI.csproj -- csharp autorest ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs --no-logging
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net6/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net7/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net8/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net9/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net48/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net472/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net462/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net481/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard20/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard21/Output.cs
working-directory: test
continue-on-error: true

- name: Build .NET 6 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net6/Net6.csproj
working-directory: test

- name: Build .NET 7 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net7/Net7.csproj
working-directory: test

- name: Build .NET 8 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net8/Net8.csproj
working-directory: test

- name: Build .NET 9 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net9/Net9.csproj
working-directory: test

- name: Build .NET 4.8.1 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net481/Net481.csproj
if: ${{ matrix.version == 'V2' && matrix.os == 'windows-latest' }}
working-directory: test

- name: Build .NET 4.8 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net48/Net48.csproj
working-directory: test

- name: Build .NET 4.7.2 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net472/Net472.csproj
working-directory: test

- name: Build .NET 4.6.2 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net462/Net462.csproj
if: ${{ matrix.version == 'V2' }}
working-directory: test

- name: Build .NET Standard 2.0 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard20/NetStandard20.csproj
working-directory: test

- name: Build .NET Standard 2.1 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard21/NetStandard21.csproj
working-directory: test

- name: Generate code with Kiota
run: dotnet run --project ../src/CLI/ApiClientCodeGen.CLI/ApiClientCodeGen.CLI.csproj -- csharp kiota ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/Kiota/Output.cs --no-logging
working-directory: test
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,6 @@ src/tools/
src/.ionide/
src/MigrationBackup/
src/ApiClientCodeGen.CLI/Swagger.cs
**/AutoRestOutput.cs
**/NSwagOutput.cs
**/OpenApiOutput.cs
**/SwaggerOutput.cs
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

**Implemented enhancements:**

- Remove AutoRest after deprecation window [\#1520](https://github.com/christianhelle/apiclientcodegen/issues/1520)
- Microsoft Kiota v1.32.4 [\#1607](https://github.com/christianhelle/apiclientcodegen/pull/1607) ([christianhelle](https://github.com/christianhelle))
- Microsoft Kiota v1.32.3 [\#1606](https://github.com/christianhelle/apiclientcodegen/pull/1606) ([christianhelle](https://github.com/christianhelle))

Expand Down
4 changes: 2 additions & 2 deletions CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ seams instead of reinventing them. Domain terms first, then the shared modules.

- **Code generator** — a module that turns an OpenAPI/Swagger spec into client source. Each
generator implements `ICodeGenerator.GenerateCode(...)` (`Rapicgen.Core.Generators`). Concrete
generators: NSwag, OpenAPI Generator, Swagger Codegen, AutoRest (`[Obsolete]`), Refitter, Kiota,
generators: NSwag, OpenAPI Generator, Swagger Codegen, Refitter, Kiota,
plus TypeScript/JMeter variants.
- **External tool** — the third-party CLI/JAR a generator shells out to (NSwag, refitter, kiota,
swagger-codegen, openapi-generator, autorest). Tools are installed on demand.
swagger-codegen, openapi-generator). Tools are installed on demand.
- **Supported code generator** — the `SupportedCodeGenerator` enum the VSIX host dispatches on.

## Shared modules (the seams to reuse)
Expand Down
Loading
Loading