diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index 4362e955..f26f5f2c 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -21,14 +21,14 @@ flipper = "0.93.0" gjf = "1.16.0" gradle-android-plugin = "7.4.2" gradle-errorprone-plugin = "1.3.0" -gradle-intellij-plugin = "1.13.1" +gradle-intellij-plugin = "1.15.0" gradle-maven-publish-plugin = "0.25.2" gradle-nullaway-plugin = "1.0.2" gradle-spotless-plugin = "6.18.0" gson = "2.8.7" guava-android = "27.1-android" guava-jre = "27.1-jre" -intellij = "2022.2.4" +intellij = "2023.2" javapoet = "1.11.1" jsr250 = "1.0" junit = "4.12" diff --git a/android/libraries/rib-compiler-test/build.gradle b/android/libraries/rib-compiler-test/build.gradle index 33eff4ef..62522ca3 100644 --- a/android/libraries/rib-compiler-test/build.gradle +++ b/android/libraries/rib-compiler-test/build.gradle @@ -23,7 +23,7 @@ plugins { } dependencies { - implementation(project(":libraries:rib-compiler-app")) + api(project(":libraries:rib-compiler-app")) implementation(libs.javapoet) compileOnly(libs.annotation) diff --git a/android/tooling/rib-intellij-plugin/build.gradle b/android/tooling/rib-intellij-plugin/build.gradle index 9975a418..4fcd9734 100644 --- a/android/tooling/rib-intellij-plugin/build.gradle +++ b/android/tooling/rib-intellij-plugin/build.gradle @@ -11,29 +11,27 @@ repositories { mavenCentral() } -dependencies { +intellij { + plugins = ['java', 'Kotlin', 'android'] + version = libs.versions.intellij + pluginName = "uber-ribs" + updateSinceUntilBuild = false + sandboxDir = "${project.gradle.gradleHomeDir}/caches/intellij" + downloadSources = false +} - testImplementation(project(":libraries:rib-base")) { - transitive = false - } - compileOnly(project(path: ":libraries:rib-android", configuration: 'default')) { - transitive = false +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) } +} - testImplementation(project(":libraries:rib-test")) { - transitive = false - } - testImplementation(project(":libraries:rib-compiler-app")) { - transitive = false - } - testImplementation(project(":libraries:rib-compiler-test")) { - transitive = false - } +dependencies { + testImplementation(project(":libraries:rib-test")) + testImplementation(project(":libraries:rib-compiler-test")) testImplementation(libs.dagger.compiler) testImplementation(libs.javax.inject) testImplementation(libs.dagger.library) - testImplementation(libs.autodispose.library) - testImplementation(libs.autodispose.lifecycle) testImplementation(testLibs.truth) testImplementation(testLibs.compileTesting) testImplementation(testLibs.mockito) @@ -54,14 +52,6 @@ def isReleaseBuild() { ext.pluginXml = new XmlSlurper().parse(file("src/main/resources/META-INF/plugin.xml")) version = pluginXml.version -intellij { - plugins = ['java', 'Kotlin', 'android'] - version = libs.versions.intellij - pluginName = "uber-ribs" - updateSinceUntilBuild = false - sandboxDir = "${project.gradle.gradleHomeDir}/caches/intellij" - downloadSources = false -} task sourcesJar(type: Jar, dependsOn: classes) { archiveClassifier = "sources" @@ -73,5 +63,4 @@ afterEvaluate { archives sourcesJar archives project.tasks.getByName("buildPlugin") } - } diff --git a/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibIcons.kt b/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibIcons.kt new file mode 100644 index 00000000..f3f328ee --- /dev/null +++ b/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibIcons.kt @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2023. Uber Technologies + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.uber.intellij.plugin.android.rib + +import com.intellij.openapi.util.IconLoader +import javax.swing.Icon + +public object RibIcons { + @JvmField public val RibIcon: Icon = IconLoader.getIcon("/icons/rib.png", javaClass) +} diff --git a/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibProjectService.kt b/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibProjectService.kt index f2aeb952..08e0d3b7 100644 --- a/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibProjectService.kt +++ b/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/RibProjectService.kt @@ -28,7 +28,6 @@ import com.intellij.openapi.progress.ProgressManager import com.intellij.openapi.progress.Task import com.intellij.openapi.project.DumbService import com.intellij.openapi.project.Project -import com.intellij.openapi.util.IconLoader import com.intellij.openapi.wm.ToolWindow import com.intellij.openapi.wm.ToolWindowAnchor import com.intellij.openapi.wm.ToolWindowManager @@ -216,7 +215,7 @@ public class RibProjectService(public val project: Project) : if (toolWindowManager.getToolWindow(TOOL_WINDOW_ID) == null) { val toolWindow: ToolWindow = toolWindowManager.registerToolWindow(TOOL_WINDOW_ID, true, ToolWindowAnchor.RIGHT) - toolWindow.setIcon(IconLoader.getIcon("/icons/rib.png")) + toolWindow.setIcon(RibIcons.RibIcon) toolWindow.title = TOOL_WINDOW_TITLE ribPanel = RibHierarchyPanel(project, model) @@ -231,7 +230,7 @@ public class RibProjectService(public val project: Project) : } private fun createRibContent(toolWindow: ToolWindow): Content { - val content = ContentFactory.SERVICE.getInstance().createContent(ribPanel, TAB_NAME_RIBS, true) + val content = ContentFactory.getInstance().createContent(ribPanel, TAB_NAME_RIBS, true) content.isCloseable = false toolWindow.contentManager.addContent(content) return content diff --git a/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/HierarchyBrowserBase.kt b/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/HierarchyBrowserBase.kt index 296c835a..c0e5fe76 100644 --- a/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/HierarchyBrowserBase.kt +++ b/android/tooling/rib-intellij-plugin/src/main/kotlin/com/uber/intellij/plugin/android/rib/ui/HierarchyBrowserBase.kt @@ -42,12 +42,10 @@ public abstract class HierarchyBrowserBase( ) : HierarchyBrowserBaseEx(project, rootElement) { override fun doRefresh(currentBuilderOnly: Boolean) { + super.doRefresh(currentBuilderOnly) ApplicationManager.getApplication().invokeLater { - super.doRefresh(currentBuilderOnly) - ApplicationManager.getApplication().invokeLater { - expandAll() - onRefreshComplete() - } + expandAll() + onRefreshComplete() } } diff --git a/android/tooling/rib-intellij-plugin/src/main/resources/META-INF/plugin.xml b/android/tooling/rib-intellij-plugin/src/main/resources/META-INF/plugin.xml index 4db03f07..dbb21199 100755 --- a/android/tooling/rib-intellij-plugin/src/main/resources/META-INF/plugin.xml +++ b/android/tooling/rib-intellij-plugin/src/main/resources/META-INF/plugin.xml @@ -1,7 +1,7 @@ com.uber.rib.intellij-plugin RIBs - 0.1.4 + 0.1.5 Uber Mobile Platform Team @@ -17,7 +17,7 @@ 0.1.5
0.1.4