@Nullable @Override public ValidationInfo validate() { if (getSdkData() == null) { return new ValidationInfo(GoBundle.message("error.invalid.sdk.path", mySdkPath.getText())); } String goSdkPath = mySdkPath.getText(); GoSdkType goSdk = new GoSdkType(); if (!goSdk.isValidSdkHome(goSdkPath)) { return new ValidationInfo(GoBundle.message("error.invalid.sdk.path", mySdkPath.getText())); } GoSdkData goSdkData = GoSdkUtil.testGoogleGoSdk(goSdkPath); if (goSdkData == null) { return new ValidationInfo(GoBundle.message("error.invalid.sdk.path", mySdkPath.getText())); } goSdkData.GO_GOPATH_PATH = gopathPath.getText(); labelSdkVersion.setText(goSdkData.VERSION_MAJOR); if (goSdkData.TARGET_OS != null && goSdkData.TARGET_ARCH != null) { labelSdkTarget.setText( String.format( "%s-%s (%s, %s)", goSdkData.TARGET_OS.getName(), goSdkData.TARGET_ARCH.getName(), GoSdkUtil.getCompilerName(goSdkData.TARGET_ARCH), GoSdkUtil.getLinkerName(goSdkData.TARGET_ARCH))); } else { labelSdkTarget.setText("Unknown target"); } labelBinariesPath.setText(goSdkData.GO_BIN_PATH); return null; }