protected void openProgramPathDialog(IProject project) {
// TODO: this should be refactored to show only main packages
try {
ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), new LabelProvider() {
@Override
public String getText(Object element) {
GoPackageName goPackageName = (GoPackageName) element;
return goPackageName.getFullNameAsString();
}
});
dialog.setTitle("Select Go main package");
dialog.setMessage("Select Go main package");
GoEnvironment goEnv = GoProjectEnvironment.getGoEnvironment(project);
Collection<GoPackageName> sourcePackages = GoProjectEnvironment.getSourcePackages(project, goEnv);
dialog.setElements(ArrayUtil.createFrom(sourcePackages));
if (dialog.open() == IDialogConstants.OK_ID) {
GoPackageName goPackageName = (GoPackageName) dialog.getFirstResult();
String packageResourcePath = goPackageName.getFullNameAsString();
if(!GoProjectEnvironment.isProjectInsideGoPath(project, goEnv.getGoPath())) {
packageResourcePath = "src/" + packageResourcePath;
} else {