/* * SK's Minecraft Launcher * Copyright (C) 2010-2014 Albert Pham <http://www.sk89q.com> and contributors * Please see LICENSE.txt for license information. */ package com.skcraft.launcher.buildtools; import com.skcraft.launcher.builder.BuilderOptions; import lombok.Getter; import javax.swing.*; import java.io.File; import java.lang.reflect.InvocationTargetException; class ProjectDirectoryChooser { @Getter private File inputDir; public ProjectDirectoryChooser(File inputDir) { this.inputDir = inputDir; } public File choose() throws InvocationTargetException, InterruptedException { final File currentDir = new File("."); if (inputDir == null) { if (new File(currentDir, BuilderOptions.DEFAULT_CONFIG_FILENAME).exists()) { inputDir = currentDir; } else { SwingUtilities.invokeAndWait(new Runnable() { @Override public void run() { inputDir = ProjectDirectoryDialog.showDirectoryDialog(null, currentDir); } }); } } return inputDir; } }