Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
3c201eb
Refactor utbot-intellij-python package names
tamarinvs19 Sep 11, 2023
8119ae3
First version for pycharm
tamarinvs19 Sep 13, 2023
bd81d2e
Forks in python fuzzing and refactoring (#2588)
tamarinvs19 Sep 12, 2023
df97053
Fix utbot-intellij
tamarinvs19 Sep 14, 2023
9a152a6
Fix python testing elements filter
tamarinvs19 Sep 18, 2023
1f7fafe
Replace codeInsightUtils by fileDescriptor
tamarinvs19 Sep 18, 2023
c4552ed
Update gradle
tamarinvs19 Sep 18, 2023
a144d51
Update go and js
tamarinvs19 Sep 18, 2023
9e293d6
Update build.gradle
tamarinvs19 Sep 19, 2023
32b4d74
Update gradle.properties
tamarinvs19 Sep 19, 2023
1987089
Update build.gradle.kts
tamarinvs19 Sep 19, 2023
7b59128
move tests
tamarinvs19 Sep 19, 2023
ce5dc47
Update gradle
tamarinvs19 Sep 20, 2023
1906da3
Update utbot go
tamarinvs19 Sep 20, 2023
4695a5c
Update build.gradle.kts
tamarinvs19 Sep 20, 2023
bcc4f1c
Update build.gradle.kts
tamarinvs19 Sep 20, 2023
16834d2
Update build.gradle.kts and js
tamarinvs19 Sep 20, 2023
9bff617
Update version
tamarinvs19 Sep 20, 2023
e513779
Remove mutable lists with no reason
tamarinvs19 Oct 11, 2023
f643b5c
Add ide version
tamarinvs19 Oct 11, 2023
410c248
Remove createNewFile
tamarinvs19 Oct 11, 2023
d260bf1
Reverse changes
tamarinvs19 Oct 11, 2023
7f29e80
Merge remote-tracking branch 'origin/main' into tamarinvs19/utbot-pyc…
tamarinvs19 Oct 11, 2023
bce8404
Move Configuration to utbot-intellij
tamarinvs19 Oct 11, 2023
e77cd6a
change ideVersion
tamarinvs19 Oct 11, 2023
52a949c
reverse changes
tamarinvs19 Oct 11, 2023
09309b4
Move RootUtilsTest.kt
tamarinvs19 Oct 11, 2023
834d397
Update imports in LanguageAssistant.kt
tamarinvs19 Oct 11, 2023
f3d3158
Split intellij settings
tamarinvs19 Oct 12, 2023
25907e8
Split intellij settings
tamarinvs19 Oct 12, 2023
eebe84f
update script
tamarinvs19 Oct 12, 2023
5980bbc
update github script
tamarinvs19 Oct 13, 2023
d048983
Move tests
tamarinvs19 Oct 13, 2023
078b9ab
Move tests
tamarinvs19 Oct 13, 2023
2d6457c
Merge remote-tracking branch 'origin/main' into tamarinvs19/utbot-pyc…
tamarinvs19 Oct 13, 2023
74618e6
Move readme.md
tamarinvs19 Oct 13, 2023
3bf4e5a
Add titled separators
tamarinvs19 Oct 13, 2023
204d172
Add enable experimental by default
tamarinvs19 Oct 13, 2023
5f7ca5d
Add setup ideVersion
tamarinvs19 Oct 20, 2023
e6da467
Remove unused test files, change combined-projects-matrix.json
tamarinvs19 Oct 23, 2023
5f3ac6f
Fix repositories in utbot-intellij
tamarinvs19 Oct 23, 2023
28be8be
Add ide version for goland
tamarinvs19 Oct 25, 2023
4e6fd48
Rename test module
tamarinvs19 Oct 25, 2023
5e5970f
Move java dependencies
tamarinvs19 Oct 25, 2023
70a524f
Add golandversion
tamarinvs19 Oct 26, 2023
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
10 changes: 6 additions & 4 deletions .github/workflows/publish-plugin-from-branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ jobs:
extra_options: "-PideType=IC -PprojectType=Community"
- plugin_type: IU
extra_options: "-PideType=IU -PprojectType=Ultimate"
- plugin_type: PY
extra_options: "-PideType=PY -PprojectType=Ultimate"
runs-on: ubuntu-20.04
container: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0
steps:
Expand Down Expand Up @@ -79,13 +81,13 @@ jobs:
- name: Build UTBot IntelliJ IDEA plugin
run: |
gradle clean buildPlugin --no-daemon --build-cache --no-parallel ${{ matrix.configuration.extra_options }} -Dorg.gradle.jvmargs=-Xmx2g -Dkotlin.daemon.jvm.options=-Xmx4g -PsemVer=${{ env.VERSION }}
cd utbot-intellij/build/distributions
unzip utbot-intellij-${{ env.VERSION }}.zip
rm utbot-intellij-${{ env.VERSION }}.zip
cd utbot-intellij-main/build/distributions
unzip utbot-intellij-main-${{ env.VERSION }}.zip
rm utbot-intellij-main-${{ env.VERSION }}.zip

- name: Archive UTBot IntelliJ IDEA plugin
if: ${{ inputs.upload-artifact == 'true' }}
uses: actions/upload-artifact@v3
with:
name: utbot-intellij-${{ matrix.configuration.plugin_type }}-${{ env.VERSION_ARCHIVE }}
path: utbot-intellij/build/distributions/*
path: utbot-intellij-main/build/distributions/*
2 changes: 1 addition & 1 deletion buildSrc/src/main/java/SettingsTemplateHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class SettingsTemplateHelper {
public static void proceed(Project project) {
File settingsSourceDir = new File(project.getBuildDir().getParentFile().getParentFile(), "utbot-framework-api/src/main/kotlin/org/utbot/framework/");
String sourceFileName = "UtSettings.kt";
File settingsResourceDir = new File(project.getBuildDir().getParentFile().getParentFile(), "utbot-intellij/src/main/resources/");
File settingsResourceDir = new File(project.getBuildDir().getParentFile().getParentFile(), "utbot-intellij-main/src/main/resources/");
String settingsFileName = "settings.properties";

Map<String, String> dictionary = new HashMap<>();
Expand Down
13 changes: 9 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
kotlin.code.style=official

#Project Type
# === IDE settings ===
# Project Type
# - Community: for Java + Spring + Python (IC supported features)
# - Ultimate: for Java + Spring + Python (IU supported features) + JavaScript + Go
projectType=Ultimate
Expand All @@ -11,14 +12,17 @@ ultimateEdition=Ultimate
# IU, IC, PC, PY
# IC for AndroidStudio
ideType=IC
ideVersion=232.8660.185
ideaVersion=232.8660.185
pycharmVersion=2023.2
golandVersion=2023.2
# ALL, NOJS
buildType=NOJS

javaIde=IC,IU
pythonIde=IC,IU,PC,PY
jsIde=IU,PY,WS
jsIde=IU,PY
jsBuild=ALL
goIde=IU
goIde=IU,GO

# In order to run Android Studio instead of IntelliJ Community, specify the path to your Android Studio installation
#androidStudioPath=your_path_to_android_studio
Expand All @@ -29,6 +33,7 @@ pythonCommunityPluginVersion=232.8660.185
pythonUltimatePluginVersion=232.8660.185
# Version numbers: https://plugins.jetbrains.com/plugin/9568-go/versions
goPluginVersion=232.8660.142
# === IDE settings ===

junit5Version=5.8.2
junit4Version=4.13.2
Expand Down
12 changes: 8 additions & 4 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ val ultimateEdition: String by settings
val ideType: String by settings
val buildType: String by settings

val javaIde: String by settings
val pythonIde: String by settings
val jsIde: String by settings
val jsBuild: String by settings
Expand All @@ -27,7 +28,6 @@ include("utbot-core")
include("utbot-framework")
include("utbot-framework-api")
include("utbot-modificators-analyzer")
include("utbot-intellij")
include("utbot-sample")
include("utbot-java-fuzzing")
include("utbot-fuzzing")
Expand Down Expand Up @@ -60,6 +60,12 @@ include("utbot-spring-framework")
include("utbot-spring-commons-api")
include("utbot-spring-commons")
include("utbot-spring-analyzer")
include("utbot-spring-sample")
include("utbot-spring-test")

if (javaIde.split(",").contains(ideType)) {
include("utbot-intellij")
}

if (pythonIde.split(",").contains(ideType)) {
include("utbot-python")
Expand All @@ -70,9 +76,6 @@ if (pythonIde.split(",").contains(ideType)) {
include("utbot-python-executor")
}

include("utbot-spring-sample")
include("utbot-spring-test")

if (projectType == ultimateEdition) {
if (jsBuild == buildType || jsIde.split(",").contains(ideType)) {
include("utbot-js")
Expand All @@ -88,3 +91,4 @@ if (projectType == ultimateEdition) {
}

include("utbot-light")
include("utbot-intellij-main")
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,4 @@ fun writeToFileAndSave(filename: String, fileContent: String) {
val file = File(filename)
file.parentFile?.mkdirs()
file.writeText(fileContent)
file.createNewFile()
}
64 changes: 54 additions & 10 deletions utbot-intellij-go/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,44 @@ val intellijPluginVersion: String? by rootProject
val kotlinLoggingVersion: String? by rootProject
val apacheCommonsTextVersion: String? by rootProject
val jacksonVersion: String? by rootProject
val ideType: String? by rootProject
val ideVersion: String by rootProject
val kotlinPluginVersion: String by rootProject

// === IDE settings ===
val projectType: String by rootProject
val communityEdition: String by rootProject
val ultimateEdition: String by rootProject

val ideType: String by rootProject
val androidStudioPath: String? by rootProject

val ideaVersion: String? by rootProject
val pycharmVersion: String? by rootProject
val golandVersion: String? by rootProject

val javaIde: String? by rootProject
val pythonIde: String? by rootProject
val jsIde: String? by rootProject
val goIde: String? by rootProject

val ideVersion = when(ideType) {
"PC", "PY" -> pycharmVersion
"GO" -> golandVersion
else -> ideaVersion
}

val pythonCommunityPluginVersion: String? by rootProject
val pythonUltimatePluginVersion: String? by rootProject
val goPluginVersion: String? by rootProject

// https://plugins.jetbrains.com/docs/intellij/android-studio.html#configuring-the-plugin-pluginxml-file
val ideTypeOrAndroidStudio = if (androidStudioPath == null) ideType else "IC"

project.tasks.asMap["runIde"]?.enabled = false
// === IDE settings ===

plugins {
id("org.jetbrains.intellij") version "1.13.1"
}
project.tasks.asMap["runIde"]?.enabled = false

tasks {
compileKotlin {
Expand Down Expand Up @@ -46,10 +73,16 @@ intellij {

val androidPlugins = listOf("org.jetbrains.android")

val jvmPlugins = listOf(
val jvmPlugins = mutableListOf(
"java"
)

val kotlinPlugins = listOf(
"org.jetbrains.kotlin"
)

androidStudioPath?.let { jvmPlugins += androidPlugins }

val pythonCommunityPlugins = listOf(
"PythonCore:${pythonCommunityPluginVersion}"
)
Expand All @@ -66,13 +99,24 @@ intellij {
"org.jetbrains.plugins.go:${goPluginVersion}"
)

val mavenUtilsPlugins = listOf(
"org.jetbrains.idea.maven"
)

val basePluginSet = jvmPlugins + kotlinPlugins + mavenUtilsPlugins + androidPlugins

plugins.set(
when (ideType) {
"IC" -> jvmPlugins + pythonCommunityPlugins + androidPlugins
"IU" -> jvmPlugins + pythonUltimatePlugins + jsPlugins + goPlugins + androidPlugins
"PC" -> pythonCommunityPlugins
"PU" -> pythonUltimatePlugins // something else, JS?
else -> jvmPlugins
when (projectType) {
communityEdition -> basePluginSet + pythonCommunityPlugins
ultimateEdition -> when (ideType) {
"IC" -> basePluginSet + pythonCommunityPlugins
"IU" -> basePluginSet + pythonUltimatePlugins + jsPlugins + goPlugins
"PC" -> pythonCommunityPlugins
"PY" -> pythonUltimatePlugins + jsPlugins
"GO" -> goPlugins
else -> basePluginSet
}
else -> basePluginSet
}
)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package org.utbot.intellij.plugin.language.go.generator
package org.utbot.intellij.plugin.go.generator

import com.intellij.codeInsight.CodeInsightUtil
import com.intellij.openapi.application.runWriteAction
import com.intellij.openapi.fileEditor.OpenFileDescriptor
import com.intellij.openapi.project.Project
import com.intellij.openapi.vfs.VirtualFileManager
import com.intellij.psi.PsiFile
import com.intellij.psi.PsiFileFactory
import com.intellij.psi.PsiManager
import com.intellij.util.IncorrectOperationException
import org.utbot.go.api.GoUtFile
import org.utbot.intellij.plugin.language.go.GoLanguageAssistant
import org.utbot.intellij.plugin.language.go.models.GenerateGoTestsModel
import org.utbot.intellij.plugin.go.language.GoLanguageAssistant
import org.utbot.intellij.plugin.go.models.GenerateGoTestsModel
import org.utbot.intellij.plugin.ui.utils.showErrorDialogLater
import java.nio.file.Paths

Expand All @@ -37,7 +37,7 @@ object GoUtTestsCodeFileWriter {
sourceFileDir.add(testPsiFile)

val testFile = sourceFileDir.findFile(testsFileNameWithExtension)!!
CodeInsightUtil.positionCursor(model.project, testFile, testFile)
OpenFileDescriptor(model.project, testFile.virtualFile).navigate(true)
}
} catch (e: IncorrectOperationException) {
showCreatingFileError(model.project, testsFileName)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.utbot.intellij.plugin.language.go.generator
package org.utbot.intellij.plugin.go.generator

import com.goide.project.DefaultGoRootsProvider
import com.goide.psi.GoFunctionOrMethodDeclaration
Expand All @@ -16,9 +16,9 @@ import com.intellij.openapi.ui.Messages
import org.utbot.go.gocodeanalyzer.GoParsingSourceCodeAnalysisResultException
import org.utbot.go.logic.GoUtTestsGenerationConfig
import org.utbot.go.worker.GoWorkerFailedException
import org.utbot.intellij.plugin.language.go.models.GenerateGoTestsModel
import org.utbot.intellij.plugin.language.go.ui.GenerateGoTestsDialogWindow
import org.utbot.intellij.plugin.language.go.ui.utils.resolveGoExecutablePath
import org.utbot.intellij.plugin.go.models.GenerateGoTestsModel
import org.utbot.intellij.plugin.go.ui.GenerateGoTestsDialogWindow
import org.utbot.intellij.plugin.go.ui.utils.resolveGoExecutablePath
import org.utbot.intellij.plugin.ui.utils.showErrorDialogLater
import java.nio.file.Paths

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.utbot.intellij.plugin.language.go.generator
package org.utbot.intellij.plugin.go.generator

import com.intellij.openapi.application.invokeLater
import com.intellij.openapi.progress.ProgressIndicator
Expand All @@ -7,7 +7,7 @@ import org.utbot.go.api.GoUtFunction
import org.utbot.go.api.GoUtFuzzedFunctionTestCase
import org.utbot.go.gocodeanalyzer.GoSourceCodeAnalyzer
import org.utbot.go.logic.AbstractGoUtTestsGenerationController
import org.utbot.intellij.plugin.language.go.models.GenerateGoTestsModel
import org.utbot.intellij.plugin.go.models.GenerateGoTestsModel
import org.utbot.intellij.plugin.ui.utils.showErrorDialogLater
import org.utbot.intellij.plugin.ui.utils.showWarningDialogLater
import java.nio.file.Path
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package org.utbot.intellij.plugin.language.go
package org.utbot.intellij.plugin.go.language

import com.goide.psi.*
import com.intellij.lang.Language
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.module.ModuleUtilCore
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFile
import com.intellij.psi.util.PsiTreeUtil
import org.jetbrains.kotlin.idea.base.util.module
import org.utbot.intellij.plugin.language.agnostic.LanguageAssistant
import org.utbot.intellij.plugin.language.go.generator.GoUtTestsDialogProcessor
import org.utbot.intellij.plugin.go.generator.GoUtTestsDialogProcessor

@Suppress("unused") // is used in org.utbot.intellij.plugin.language.agnostic.LanguageAssistant via reflection
object GoLanguageAssistant : LanguageAssistant() {
Expand All @@ -26,7 +26,7 @@ object GoLanguageAssistant : LanguageAssistant() {
override fun actionPerformed(e: AnActionEvent) {
val project = e.project ?: return
val file = e.getData(CommonDataKeys.PSI_FILE) as? GoFile ?: return
val module = file.module ?: return
val module = ModuleUtilCore.findModuleForFile(file) ?: return
val (targetFunctions, focusedTargetFunctions) = getPsiTargets(e) ?: return
GoUtTestsDialogProcessor.createDialogAndGenerateTests(
project,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.utbot.intellij.plugin.language.go.models
package org.utbot.intellij.plugin.go.models

import com.goide.psi.GoFunctionDeclaration
import com.goide.psi.GoFunctionOrMethodDeclaration
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.utbot.intellij.plugin.language.go.ui
package org.utbot.intellij.plugin.go.ui

import com.goide.psi.GoFunctionDeclaration
import com.goide.psi.GoFunctionOrMethodDeclaration
Expand All @@ -16,7 +16,7 @@ import com.intellij.util.ui.JBUI
import com.intellij.util.ui.UIUtil
import org.utbot.go.logic.GoUtTestsGenerationConfig
import org.utbot.go.logic.TestsGenerationMode
import org.utbot.intellij.plugin.language.go.models.GenerateGoTestsModel
import org.utbot.intellij.plugin.go.models.GenerateGoTestsModel
import org.utbot.intellij.plugin.settings.Settings
import java.text.ParseException
import java.util.concurrent.TimeUnit
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.utbot.intellij.plugin.language.go.ui
package org.utbot.intellij.plugin.go.ui

import com.goide.psi.GoNamedElement
import com.goide.refactor.ui.GoDeclarationInfo
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.utbot.intellij.plugin.language.go.ui.utils
package org.utbot.intellij.plugin.go.ui.utils

import com.goide.sdk.GoSdk
import java.nio.file.Paths
Expand Down
Loading