JComponent () { // checking new gradle version on creating component String latestVersion = PropertiesComponent.getInstance().getValue(LATEST_GRADLE_VERSION_KEY); long timeCheck = PropertiesComponent.getInstance().getLong(LATEST_UPDATING_TIME_KEY, System.currentTimeMillis()); if (latestVersion == null || TimeUnit.MILLISECONDS.toDays(System.currentTimeMillis() - timeCheck) >= 1) { ModalityState modalityState = ModalityState.defaultModalityState(); Lazy.EXECUTOR.execute(() -> { try { // sadly plugins.gradle.org has no API and doesn't support meta-versions like latest. // Let's parse HTML with REGEXPs String content = HttpRequests.request("https://plugins.gradle.org/plugin/org.jetbrains.intellij") .productNameAsUserAgent() .readString(new EmptyProgressIndicator(modalityState)); Matcher matcher = Pattern.compile("Version ([\\d.]+) \\(latest\\)").matcher(content); if (matcher.find()) { PropertiesComponent.getInstance().setValue(LATEST_GRADLE_VERSION_KEY, matcher.group(1)); PropertiesComponent.getInstance().setValue(LATEST_UPDATING_TIME_KEY, String.valueOf(System.currentTimeMillis())); } } catch (IOException ignore) { } }); } final HyperlinkLabel linkLabel = new HyperlinkLabel(); linkLabel.setHtmlText(DevKitGradleBundle.message("module.wizard.gradle.learn.title")); linkLabel.setHyperlinkTarget("https://plugins.jetbrains.com/docs/intellij/developing-plugins.html?from=DevkitGradleProjectWizard"); return linkLabel; }