diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..f324f51 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,49 @@ +name: Build and Publish + +on: + push: + branches: [ master, publish ] + tags: [ 'v*' ] + pull_request: + branches: [ master ] + workflow_dispatch: + +jobs: + build: + name: Build & Publish + runs-on: windows-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: '17' + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Build Plugin + run: ./gradlew buildPlugin + + - name: Run Tests + run: ./gradlew testDotNet + + - name: Publish Plugin + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') + shell: pwsh + env: + PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }} + run: | + if (-not $env:PUBLISH_TOKEN) { + Write-Error "PUBLISH_TOKEN secret is not set. Please add it to GitHub Secrets." + exit 1 + } + ./gradlew publishPlugin -PPublishToken="$env:PUBLISH_TOKEN" diff --git a/README.md b/README.md index 1f49da3..56823ae 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # AutoMapper.FindUsage for Rider and ReSharper +[![Rider](https://img.shields.io/jetbrains/plugin/v/31907.svg?label=Rider&colorB=0A7BBB&style=for-the-badge&logo=rider)](https://plugins.jetbrains.com/plugin/31907) +[![ReSharper](https://img.shields.io/jetbrains/plugin/v/31907.svg?label=ReSharper&colorB=0A7BBB&style=for-the-badge&logo=resharper)](https://plugins.jetbrains.com/plugin/31907) + **AutoMapper.FindUsage** is a plugin for JetBrains Rider and ReSharper that provides seamless navigation between DTOs and Models based on your AutoMapper configurations. ## Features @@ -17,6 +20,8 @@ 3. Press `Alt + Enter` to open Context Actions. 4. Select **AutoMapper. Navigate to source: .** to jump to the corresponding member. +![Navigate to source](navigate_1.png) + ## Supported Configurations The plugin analyzes your codebase to find various mapping patterns: @@ -31,7 +36,9 @@ CreateMap().ReverseMap(); ## Installation -Currently, the plugin is in early development. You can build it from source: +You can install the plugin directly from the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/31907-automapper-findusage). + +Alternatively, you can build it from source: 1. Clone the repository. 2. Build the solution: diff --git a/ReSharperPlugin.AutoMapper.FindUsage.sln b/ReSharperPlugin.AutoMapper.FindUsage.sln index 0aa43ba..de9a26a 100644 --- a/ReSharperPlugin.AutoMapper.FindUsage.sln +++ b/ReSharperPlugin.AutoMapper.FindUsage.sln @@ -14,6 +14,8 @@ ProjectSection(SolutionItems) = preProject src\rider\main\resources\META-INF\plugin.xml = src\rider\main\resources\META-INF\plugin.xml build.gradle.kts = build.gradle.kts gradle.properties = gradle.properties + navigate_1.png = navigate_1.png + navigate_2.png = navigate_2.png EndProjectSection EndProject Global diff --git a/gradle.properties b/gradle.properties index b784b2b..3c6619c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,8 +3,8 @@ DotnetPluginId=ReSharperPlugin.AutoMapper.FindUsage DotnetSolution=ReSharperPlugin.AutoMapper.FindUsage.sln -RiderPluginId=com.jetbrains.rider.plugins.automapper.findusage -PluginVersion=0.1 +RiderPluginId=me.rogatnev.automapper.findusage +PluginVersion=0.1.1 BuildConfiguration=Debug diff --git a/navigate_1.png b/navigate_1.png new file mode 100644 index 0000000..9582310 Binary files /dev/null and b/navigate_1.png differ diff --git a/navigate_2.png b/navigate_2.png new file mode 100644 index 0000000..39b5b9e Binary files /dev/null and b/navigate_2.png differ diff --git a/src/rider/main/resources/META-INF/plugin.xml b/src/rider/main/resources/META-INF/plugin.xml index 5644ee7..3ff4f63 100644 --- a/src/rider/main/resources/META-INF/plugin.xml +++ b/src/rider/main/resources/META-INF/plugin.xml @@ -1,7 +1,7 @@ - com.jetbrains.rider.plugins.automapper.findusage + me.rogatnev.automapper.findusage AutoMapper.FindUsage - 0.1 + 0.1.1 Sergey Rogatnev com.intellij.modules.rider