JetBrains-Research / TestSpark

TestSpark - a plugin for generating unit tests. TestSpark natively integrates different AI-based test generation tools and techniques in the IDE. Started by SERG TU Delft. Currently under implementation by JetBrains Research (Software Testing Research) for research purposes.
MIT License
52 stars 22 forks source link

Warning during plugin build: "Invalid plugin descriptor 'plugin.xml'. The plugin ID 'org.jetbrains.research.testgenie' has a prefix 'org.jetbrains' that is not allowed" #253

Open Vladislav0Art opened 5 months ago

Vladislav0Art commented 5 months ago

Describe the bug The build trace (I found it on the GitHub Actions pipeline) contained the following:

The following files specified for the verification are not valid plugins:
    /home/runner/work/TestSpark/TestSpark/build/distributions/TestSpark-0.2.1.zip
        Plugin problems:
            Invalid plugin descriptor 'plugin.xml'. The plugin ID 'org.jetbrains.research.testgenie' has a prefix 'org.jetbrains' that is not allowed.

The full build log:

Run ./gradlew runPluginVerifier -Pplugin.verifier.home.dir=~/.pluginVerifier
> Task :initializeIntelliJPlugin SKIPPED
> Task :JUnitRunner:compileJava UP-TO-DATE
> Task :JUnitRunner:processResources NO-SOURCE
> Task :JUnitRunner:classes UP-TO-DATE
> Task :JUnitRunner:jar UP-TO-DATE
> Task :copyJUnitRunnerLib UP-TO-DATE
> Task :updateEvosuite
> Task :patchPluginXml UP-TO-DATE
> Task :verifyPluginConfiguration
> Task :core:compileKotlin UP-TO-DATE
> Task :core:compileJava NO-SOURCE
> Task :core:processResources NO-SOURCE
> Task :core:classes UP-TO-DATE
> Task :core:jar UP-TO-DATE
> Task :compileKotlin UP-TO-DATE
> Task :compileJava NO-SOURCE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :instrumentCode UP-TO-DATE
> Task :classpathIndexCleanup
> Task :instrumentedJar UP-TO-DATE
> Task :jar UP-TO-DATE
> Task :prepareSandbox
> Task :buildSearchableOptions
CompileCommand: exclude com/intellij/openapi/vfs/impl/FilePartNodeRoot.trieDescend bool exclude = true
2024-06-05 18:51:08,[7](https://github.com/JetBrains-Research/TestSpark/actions/runs/9389603680/job/25857482809?pr=250#step:9:8)79 [   1671]   WARN - #c.i.i.s.p.i.BundledSharedIndexProvider - Bundled shared index is not found at: /home/runner/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.idea/ideaIC/2024.1/1[8](https://github.com/JetBrains-Research/TestSpark/actions/runs/9389603680/job/25857482809?pr=250#step:9:9)1fa36f74690e64a81a8e06ceda9480d2a6c626/ideaIC-2024.1/jdk-shared-indexes
2024-06-05 18:51:11,25[9](https://github.com/JetBrains-Research/TestSpark/actions/runs/9389603680/job/25857482809?pr=250#step:9:10) [   4151]   WARN - java.util.prefs - Prefs file removed in background /home/runner/.java/.userPrefs/prefs.xml
2024-06-05 18:51:18,3[10](https://github.com/JetBrains-Research/TestSpark/actions/runs/9389603680/job/25857482809?pr=250#step:9:11) [  11202]   WARN - #c.i.u.j.JBCefApp - JCEF is manually disabled in headless env via 'ide.browser.jcef.headless.enabled=false'
Found 209 configurables
2024-06-05 18:51:20,072 [  12964]   WARN - #c.i.o.a.ActionStub - ActionGroup should be registered using <group> tag: id="GitBranchesTreePopupFilterSeparatorWithText" class="git4idea.ui.branch.popup.GitBranchesTreePopupFilterSeparatorWithText"
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/textmate.jar/search/textmate.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/markdown.jar/search/markdown.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/IntelliLang.jar/search/IntelliLang.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/eclipse.jar/search/eclipse.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/sh.jar/search/sh.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/tasks-core.jar/search/tasks-core.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/java-coverage.jar/search/java-coverage.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/java-impl.jar!/search/java-impl.jar!.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/javaFX.jar!/search/javaFX.jar!.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/kotlin-plugin-shared.jar/search/kotlin-plugin-shared.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/searchEverywhereMl.jar/search/searchEverywhereMl.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/idea-junit.jar!/search/idea-junit.jar!.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/uiDesigner.jar/search/uiDesigner.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/javaFX.jar/search/javaFX.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/dev.jar/search/dev.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/cwm-plugin-terminal.jar/search/cwm-plugin-terminal.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/vcs-svn.jar/search/vcs-svn.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/byteCodeViewer.jar/search/byteCodeViewer.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/testng-plugin.jar!/search/testng-plugin.jar!.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/marketplace.jar/search/marketplace.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/copyright.jar/search/copyright.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/maven.jar/search/maven.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/maven.jar!/search/maven.jar!.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/Groovy.jar/search/Groovy.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/gradle-java.jar/search/gradle-java.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/terminal.jar/search/terminal.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/properties.jar/search/properties.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/performanceTesting-async.jar/search/performanceTesting-async.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/java-impl.jar/search/java-impl.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/app-client.jar/search/app-client.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/html-tools.jar/search/html-tools.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/java-debugger-streams.jar/search/java-debugger-streams.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/vcs-perforce.jar/search/vcs-perforce.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/gradle.jar/search/gradle.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/testng-plugin.jar/search/testng-plugin.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/grazie.jar/search/grazie.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/qodana.jar/search/qodana.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/app.jar/search/app.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/completionMlRanking.jar/search/completionMlRanking.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/java-decompiler.jar/search/java-decompiler.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/vcs-hg.jar/search/vcs-hg.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/performanceTesting.jar/search/performanceTesting.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/vcs-gitlab.jar/search/vcs-gitlab.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/instrumented-TestSpark-0.2.1.jar/search/instrumented-TestSpark-0.2.1.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/cwm-common.jar/search/cwm-common.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/java-i18n.jar/search/java-i18n.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/Groovy.jar!/search/Groovy.jar!.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/toml.jar/search/toml.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/platform-ijent-impl.jar/search/platform-ijent-impl.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/idea-junit.jar/search/idea-junit.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/yaml.jar/search/yaml.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/packageChecker.jar/search/packageChecker.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/platform-tracing-ide.jar/search/platform-tracing-ide.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/editorconfig.jar/search/editorconfig.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/vcs-github.jar/search/vcs-github.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/platform-langInjection.jar/search/platform-langInjection.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/platform-images.jar/search/platform-images.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/kotlin-plugin.jar/search/kotlin-plugin.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/vcs-git.jar/search/vcs-git.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/modules.jar/search/modules.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/indexing-shared.jar/search/indexing-shared.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/featuresTrainer.jar/search/featuresTrainer.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/kotlin-plugin.jar!/search/kotlin-plugin.jar!.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/cwm-host.jar/search/cwm-host.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/gradle-java-maven.jar/search/gradle-java-maven.jar.searchableOptions.xml
Output written to /home/runner/work/TestSpark/TestSpark/build/searchableOptions/settingsSync.jar/search/settingsSync.jar.searchableOptions.xml
Searchable options index builder completed
> Task :jarSearchableOptions
> Task :buildPlugin
> Task :downloadAndroidStudioProductReleasesXml
> Task :downloadIdeaProductReleasesXml
> Task :listProductsReleases UP-TO-DATE
> Task :verifyPlugin
> Task :runPluginVerifier
Starting the IntelliJ Plugin Verifier 1.367
Verification reports directory: /home/runner/work/TestSpark/TestSpark/build/reports/pluginVerifier
2024-06-05T18:51:48 [main] INFO  verification - Reading IDE /home/runner/.cache/pluginVerifier/ides/IC-2024.1
2024-06-05T18:51:48 [main] INFO  c.j.p.options.OptionsParser - Reading IDE from /home/runner/.cache/pluginVerifier/ides/IC-2024.1
2024-06-05T18:51:48 [main] INFO  c.j.p.options.OptionsParser - Using Java runtime from /home/runner/.gradle/caches/modules-2/files-2.1/com.jetbrains/jbre/jbr_jcef-17.0.10-linux-x64-b1207.12/extracted/jbr_jcef-17.0.10-linux-x64-b1207.12
2024-06-05T18:51:57 [main] INFO  verification - Reading plugin to check from /home/runner/work/TestSpark/TestSpark/build/distributions/TestSpark-0.2.1.zip
2024-06-05T18:51:57 [main] INFO  verification - Plugin is invalid in /home/runner/work/TestSpark/TestSpark/build/distributions/TestSpark-0.2.1.zip: Invalid plugin descriptor 'plugin.xml'. The plugin ID 'org.jetbrains.research.testgenie' has a prefix 'org.jetbrains' that is not allowed.
2024-06-05T18:52:00 [main] INFO  verification - Task check-plugin parameters:
Scheduled verifications (0):
The following files specified for the verification are not valid plugins:
    /home/runner/work/TestSpark/TestSpark/build/distributions/TestSpark-0.2.1.zip
        Plugin problems:
            Invalid plugin descriptor 'plugin.xml'. The plugin ID 'org.jetbrains.research.testgenie' has a prefix 'org.jetbrains' that is not allowed.
                This plugin problem has been reported since 2024-03-26. If the plugin was previously uploaded to the JetBrains Marketplace, it can be suppressed using the `-mute ForbiddenPluginIdPrefix` command-line switch.
2024-06-05T18:52:00 [main] INFO  verification - Total time spent downloading plugins and their dependencies: 0 ms
2024-06-05T18:52:00 [main] INFO  verification - Total amount of plugins and dependencies downloaded: 0 B
2024-06-05T18:52:00 [main] INFO  verification - Total amount of space used for plugins and dependencies: 0 B
2024-06-05T18:52:00 [main] INFO  verification - Total time spent in plugin verification: [11](https://github.com/JetBrains-Research/TestSpark/actions/runs/9389603680/job/25857482809?pr=250#step:9:12) s 23 ms
BUILD SUCCESSFUL in 1m 6s
23 actionable tasks: 11 executed, [12](https://github.com/JetBrains-Research/TestSpark/actions/runs/9389603680/job/25857482809?pr=250#step:9:13) up-to-date

To Reproduce Steps to reproduce the behavior:

  1. Execute the plugin build and observe the logs
  2. See the warning

Expected behavior We do not want a warning during the build, or at least we need to clarify explicitly that this warning is not a problem.

pderakhshanfar commented 5 months ago

Hey this is because our plugin ID contains jetbrains and the validator does not recognize it as part of jetbrains product. We have always seen this warning from marketplace validators. But, if I am not mistaken, @NikolaiSviridov has resolved the warning in the marketplace.

Frosendroska commented 5 months ago

Probably related to this issue:

For Kotlin support, I have to add a line to the plugin.xml.

<depends>org.jetbrains.kotlin</depends>

For some reason, after this, the logo gf the plugin changes. From the original one to elephant.

https://github.com/JetBrains-Research/TestSpark/pull/223#pullrequestreview-2081522356

NikolaiSviridov commented 5 months ago

Yes, there was a small discussion related to jetbrains word in ID. We shouldn't worry about it on the marketplace side (it's already solved by hand and will not appear in the future). There is, probably, a way to ignore it locally via Gradle itself. I can check it later