Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ lazy val jbAnnotVersion = "26.0.2"
// https://youtrack.jetbrains.com/articles/IDEA-A-2100661679/IntelliJ-IDEA-2023.3-Latest-Builds
// NOTE: Latest-Builds 233
lazy val intellijVersion = "252.25557.131"
lazy val pluginVersion = s"0.8.1-$intellijVersion"
lazy val pluginVersion = s"0.8.2-$intellijVersion"

ThisBuild / version := pluginVersion

Expand Down
86 changes: 45 additions & 41 deletions src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@
<resource-bundle>messages.SbtDependencyAnalyzerBundle</resource-bundle>

<extensions defaultExtensionNs="com.intellij">
<!-- https://plugins.jetbrains.com/feature#name_dependencySupport -->
<dependencySupport kind="java" coordinate="org.scala-sbt:sbt" displayName="sbt"/>
<dependencySupport kind="java" coordinate="sbt" displayName="sbt"/>
<!-- plugin recommendations, https://github.com/bzixilu/dotplugin -->
<fileType name="dependency dot file" implementationClass="bitlap.sbt.analyzer.parser.DotFileType" fieldName="INSTANCE" language="Dot" extensions="dot"/>
<externalSystemDependencyAnalyzer implementation="bitlap.sbt.analyzer.SbtDependencyAnalyzerExtension"/>
<notificationGroup id="Sbt.DependencyAnalyzer.Notification" displayType="BALLOON"/>

Expand Down Expand Up @@ -134,15 +133,20 @@
</ul>
</ul>
<br/>
Visit GitHub for instructions on how to properly use this plugin!</br>
Visit <a href="https://github.com/bitlap/intellij-sbt-dependency-analyzer">GitHub</a> for instructions on how to properly use this plugin!</br>
]]>
</description>

<change-notes>
<![CDATA[
<h1>0.8.2-252.25557.131</h1>
<ul>
<li>Add plugin recommendation if there is a dot file .</li>
</ul>
<!-- @@ -->
<h1>0.8.1-252.25557.131</h1>
<ul>
<li>Revert xml patch and fix JA locale message.</li>
<li>Revert xml patch and fix JA locale message .</li>
</ul>
<!-- @@ -->
<h1>0.8.0-252.25557.131</h1>
Expand Down Expand Up @@ -173,109 +177,109 @@
<!-- @@ -->
<h1>0.5.0-242.21829.142</h1>
<ul>
<li>Improve code and API compatibility.</li>
<li>Fix Open Config Action.</li>
<li>Add Exclude Dependency Action.</li>
<li>Improve code and API compatibility .</li>
<li>Fix Open Config Action .</li>
<li>Add Exclude Dependency Action .</li>
</ul>
<!-- @@ -->
<h1>0.4.0-242.21829.142</h1>
<ul>
<li>Support IDEA 2024.2.</li>
<li>Fix Goto dependency (Now supports custom dependencies for all projects).</li>
<li>Support IDEA 2024.2 .</li>
<li>Fix Goto dependency (Now supports custom dependencies for all projects) .</li>
</ul>
<!-- @@ -->
<h1>0.3.1-233.11799.241</h1>
<ul>
<li>Suppress errors and delete some errors</li>
<li>Filter ignores case</li>
<li>Suppress errors and delete some errors .</li>
<li>Filter ignores case .</li>
</ul>
<!-- @@ -->
<h1>0.3.0-233.11799.241</h1>
<ul>
<li>Support IDEA 2023.3.</li>
<li>Support IDEA 2023.3 .</li>
</ul>
<!-- @@ -->
<h1>0.3.0-RC1-231.9392.1</h1>
<ul>
<li>Add `sdap.sbt` to .git/info/exclude file.</li>
<li>Add Show Size to show jar package size.</li>
<li>Add shortcuts to open the analysis view: `Ctrl + Shift + L`.</li>
<li>Add `sdap.sbt` to .git/info/exclude file .</li>
<li>Add Show Size to show jar package size .</li>
<li>Add shortcuts to open the analysis view: `Ctrl + Shift + L` .</li>
</ul>
<!-- @@ -->
<h1>0.2.0-231.9392.1</h1>
<ul>
<li>Add moduleName cache.</li>
<li>Use the first non-root module when opening view (Multi-module project).</li>
<li>Update dependencies.</li>
<li>Add zh_CN message for What's new.</li>
<li>Use the first non-root module when opening view (Multi-module project) .</li>
<li>Update dependencies .</li>
<li>Add zh_CN message for What's new .</li>
</ul>
<!-- @@ -->
<h1>0.2.0-RC3-231.9392.1</h1>
<ul>
<li>🎉Add Intellij Settings.</li>
<li>🎉Add Intellij Settings .</li>
</ul>
<!-- @@ -->
<h1>0.2.0-RC2-231.9392.1</h1>
<ul>
<li>Update description and action name.</li>
<li>Add refresh snapshots button.</li>
<li>Add "project/sdap.sbt" to enable "sbt-dependency-tree", plugin no longer modify "project/plugins.sbt".</li>
<li>Improved notifications.</li>
<li>Update description and action name .</li>
<li>Add refresh snapshots button .</li>
<li>Add "project/sdap.sbt" to enable "sbt-dependency-tree", plugin no longer modify "project/plugins.sbt" .</li>
<li>Improved notifications .</li>
</ul>
<!-- @@ -->
<h1>0.2.0-RC1-231.9392.1</h1>
<ul>
<li>🎉Add locale zh_CN translation for notification.</li>
<li>🎉Add plugin update notification.</li>
<li>🎉Add What's New action in Help menu.</li>
<li>🎉Add locale zh_CN translation for notification .</li>
<li>🎉Add plugin update notification .</li>
<li>🎉Add What's New action in Help menu .</li>
</ul>
<!-- @@ -->
<h1>0.1.3-231.9392.1</h1>
<ul>
<li>Fix module recognition failure when analyzing cross-build projects for Scala2 and Scala3.</li>
<li>Improve notification,stop immediately when an exception occurs during the first task execution.</li>
<li>Fix module recognition failure when analyzing cross-build projects for Scala2 and Scala3 .</li>
<li>Improve notification,stop immediately when an exception occurs during the first task execution .</li>
</ul>
<!-- @@ -->
<h1>0.1.2-231.9392.1</h1>
<ul>
<li>Improving Error Notification.</li>
<li>Support for older versions of sbt.</li>
<li>Improving Error Notification .</li>
<li>Support for older versions of sbt .</li>
<li>Other improvements.</li>
</ul>
<!-- @@ -->
<h1>0.1.1-231.9392.1</h1>
<ul>
<li>Fix bug: Goto action can match scala library.</li>
<li>Add refresh action.</li>
<li>Add bootstrap prompt and automatically add the `addDependencyTreePlugin`.</li>
<li>Fix bug: Goto action can match scala library .</li>
<li>Add refresh action .</li>
<li>Add bootstrap prompt and automatically add the `addDependencyTreePlugin` .</li>
</ul>
<!-- @@ -->
<h1>0.1.0-231.9392.1</h1>
<ul>
<li>Update Action Name.</li>
<li>Cache files for one hour.</li>
<li>Update Action Name .</li>
<li>Cache files for one hour .</li>
<li>Refactor code.</li>
</ul>
<!-- @@ -->
<h1>0.1.0-231.9392.1-M7</h1>
<ul>
<li>🔥Show Conflict omitted status.</li>
<li>🔥Support Scala Js and Scala native.</li>
<li>🔥Show Conflict omitted status .</li>
<li>🔥Support Scala Js and Scala native .</li>
</ul>
<!-- @@ -->
<h1>0.1.0-231.9392.1-M6</h1>
<ul>
<li>🔥Highlight module dependencies.</li>
<li>🔥Highlight module dependencies .</li>
</ul>
<!-- @@ -->
<h1>0.1.0-231.9392.1-M5</h1>
<ul>
<li>🔥Significantly improve performance.</li>
<li>🔥Significantly improve performance .</li>
</ul>
<!-- @@ -->
<h1>0.1.0-231.9392.1-M4</h1>
<ul>
<li>🔥 First Blood.</li>
<li>🔥 First Blood .</li>
</ul>
]]>
</change-notes>
Expand Down
Binary file added src/main/resources/icons/dot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions src/main/scala/bitlap/sbt/analyzer/parser/DotFileType.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package bitlap.sbt.analyzer.parser

import javax.swing.Icon

import bitlap.sbt.analyzer.SbtDependencyAnalyzerIcons

import org.jetbrains.annotations.NotNull
import org.jetbrains.annotations.Nullable

import com.intellij.lang.Language
import com.intellij.openapi.fileTypes.LanguageFileType
import com.intellij.openapi.util.IconLoader

object DotIcons {
val FILE: Icon = IconLoader.getIcon("/icons/dot.png", SbtDependencyAnalyzerIcons.getClass)
}

object DotLanguage {
val INSTANCE = new DotLanguage
}

final class DotLanguage private extends Language("Dot")

final class DotFileType private extends LanguageFileType(DotLanguage.INSTANCE) {

@NotNull def getName: String = "dependency dot file"

@NotNull def getDescription: String = "Sbt generated the dependency dot file"

@NotNull def getDefaultExtension: String = "dot"

@Nullable def getIcon: Icon = DotIcons.FILE

}

object DotFileType {
val INSTANCE = new DotFileType
}