Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move PluginUpdateManager to core and enable both Toolkit and Q auto-update #4258

Merged
merged 12 commits into from
Apr 15, 2024

Conversation

andrewyuq
Copy link
Contributor

@andrewyuq andrewyuq commented Apr 10, 2024

Create PluginUpdateManager in core module. It will be called on core plugin startup to start auto-updating core, amazonq and toolkit if any of them is detected to be installed. The auto-update setting is shared across all three plugins in the AWS settings pane.

Screen.Recording.2024-04-12.at.12.28.45.PM.mov

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Description

Checklist

  • My code follows the code style of this project
  • I have added tests to cover my changes
  • A short description of the change has been added to the CHANGELOG if the change is customer-facing in the IDE.
  • I have added metrics for my changes (if required)

License

I confirm that my contribution is made under the terms of the Apache 2.0 license.

@andrewyuq andrewyuq requested review from rli and Will-ShaoHua April 10, 2024 23:21
@andrewyuq andrewyuq requested review from a team as code owners April 10, 2024 23:21
@andrewyuq andrewyuq requested a review from manodnyab April 10, 2024 23:57
@andrewyuq andrewyuq requested review from a team as code owners April 12, 2024 19:20
@andrewyuq
Copy link
Contributor Author

/retryBuilds

@rli
Copy link
Contributor

rli commented Apr 15, 2024

Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953   java.lang.NoClassDefFoundError: Could not initialize class software.aws.toolkits.jetbrains.AwsToolkit
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at software.aws.toolkits.jetbrains.services.codewhisperer.CodeWhispererTelemetryServiceTest.setup(CodeWhispererTelemetryServiceTest.kt:93)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.lang.reflect.Method.invoke(Method.java:568)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.testFramework.ApplicationRule$apply$1.evaluate(FixtureRule.kt:71)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.testFramework.ApplicationRule$apply$1.evaluate(FixtureRule.kt:71)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.lang.reflect.Method.invoke(Method.java:568)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at jdk.proxy2/jdk.proxy2.$Proxy5.stop(Unknown Source)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953   Caused by: java.lang.ExceptionInInitializerError: Exception java.nio.file.InvalidPathException: Illegal char <:> [in thread "ApplicationImpl pooled thread 6"]
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:177)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.nio.file.Path.of(Path.java:147)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.nio.file.Paths.get(Paths.java:69)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at software.aws.toolkits.jetbrains.PluginInfo.<init>(AwsToolkit.kt:49)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at software.aws.toolkits.jetbrains.AwsToolkit.<clinit>(AwsToolkit.kt:22)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at software.aws.toolkits.jetbrains.core.plugin.PluginUpdateManager.checkForUpdates(PluginUpdateManager.kt:68)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at software.aws.toolkits.jetbrains.core.plugin.PluginUpdateManager$scheduleAutoUpdate$2$1.run(PluginUpdateManager.kt:54)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:477)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:133)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressSynchronously$9(CoreProgressManager.java:567)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.ProgressRunner.lambda$new$0(ProgressRunner.java:86)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:250)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:100)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:221)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:46)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:220)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:202)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:100)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$5(ProgressRunner.java:250)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at com.intellij.openapi.progress.impl.ProgressRunner$ProgressRunnable.run(ProgressRunner.java:500)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
Windows-Unit-Tests-2024-1 352b9eb1-fc6f-4fb2-9246-23a6ba258953       at java.base/java.lang.Thread.run(Thread.java:840)

Copy link

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

@andrewyuq
Copy link
Contributor Author

#4258 (comment)
give path a lazy get() should resolve this.

@rli rli merged commit 5270e44 into aws:feature/q-extension Apr 15, 2024
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants