/** * Returns the directory containing the robots. * * @return a File for the robot directory containing all robots. * * @since 1.7.1 */ public static File getRobotsDir() { return FileUtil.getRobotsDir(); }
@Override public File getRobotsDirectory() { return FileUtil.getRobotsDir(); }
/** * Returns the robot database file. * * @return a File that is the directory containing the robot cache. */ public static File getRobotDatabaseFile() { return new File(getRobotsDir(), "/robot.database"); }
public RobocodeEditor(IRepositoryManager repositoryManager, IWindowManager windowManager) { super(); this.windowManager = (IWindowManagerExt) windowManager; this.repositoryManager = repositoryManager; robotsDirectory = FileUtil.getRobotsDir(); initialize(); }
/** * Returns the directory containing data files of robots. * * @return a File that is the directory containing the robot data. */ public static File getRobotsDataDir() { return createDir(new File(getRobotsDir(), "/.data/")); }
private static String getClassPath() { StringBuilder sb = new StringBuilder("-classpath "); if (JavaVersion.getJavaMajorVersion() < 9) { // rt.jar is not supported by Java 9+ anymore sb.append(getJavaLib()).append(File.pathSeparator); } sb.append("libs").append(File.separator); sb.append("robocode.jar").append(File.pathSeparator); sb.append(FileUtil.quoteFileName(FileUtil.getRobotsDir().toString())); return sb.toString(); }
private static void addTeamItemToJar(JarOutputStream target, Set<String> jarEntries, TeamItem teamItem, RobotProperties props) throws IOException { String robotPathWithoutFileExt = teamItem.getRelativePath() + '/' + teamItem.getShortClassName(); String fileExt = ".team"; File file = new File(FileUtil.getRobotsDir(), robotPathWithoutFileExt + fileExt); // Store .team file into local robot dir FileOutputStream fis = null; try { fis = new FileOutputStream(file); teamItem.storeProperties(fis, props); } finally { FileUtil.cleanupStream(fis); } // Store .team file into jar file addToJar(target, jarEntries, FileUtil.getRobotsDir().getPath(), robotPathWithoutFileExt, fileExt); }
public static void initContainerForRobocodeEngine(File robocodeHome, IBattleListener listener) { try { if (robocodeHome == null) { robocodeHome = FileUtil.getCwd(); } FileUtil.setCwd(robocodeHome); File robotsDir = FileUtil.getRobotsDir(); if (robotsDir == null) { throw new RuntimeException("No valid robot directory is specified"); } else if (!(robotsDir.exists() && robotsDir.isDirectory())) { throw new RuntimeException('\'' + robotsDir.getAbsolutePath() + "' is not a valid robot directory"); } } catch (IOException e) { System.err.println(e); return; } // here we cross transition to EngineClassLoader classes using interface which is defined in system classLoader RobocodeMainBase main = Container.getComponent(RobocodeMainBase.class); main.initForRobocodeEngine(listener); } }
public static void extractJar(URL url) { File dest = FileUtil.getRobotsDir(); InputStream is = null; BufferedInputStream bis = null; JarInputStream jarIS = null; try { final URLConnection con = URLJarCollector.openConnection(url); is = con.getInputStream(); bis = new BufferedInputStream(is); jarIS = new JarInputStream(bis); JarEntry entry = jarIS.getNextJarEntry(); while (entry != null) { if (entry.isDirectory()) { File dir = new File(dest, entry.getName()); if (!dir.exists() && !dir.mkdirs()) { Logger.logError("Cannot create dir: " + dir); } } else { extractFile(dest, jarIS, entry); } entry = jarIS.getNextJarEntry(); } } catch (IOException e) { Logger.logError(e); } finally { FileUtil.cleanupStream(jarIS); FileUtil.cleanupStream(bis); FileUtil.cleanupStream(is); } }
public void componentShown(ComponentEvent e) { String fileName = FileUtil.getRobotsDir().getAbsolutePath() + File.separator; File outgoingFile = new File(fileName); if (!outgoingFile.exists()) { if (!outgoingFile.mkdirs()) { Logger.logError("Cannot create: " + outgoingFile); } } String jarName = "myrobots.jar"; List<IRobotSpecItem> selectedRobots = robotPackager.getRobotSelectionPanel().getSelectedRobots(); if (selectedRobots != null && selectedRobots.size() == 1) { jarName = selectedRobots.get(0).getFullClassName() + "_" + robotPackager.getPackagerOptionsPanel().getVersionField().getText() + ".jar"; } getFilenameField().setText(fileName + jarName); Caret caret = getFilenameField().getCaret(); caret.setDot(fileName.length()); caret.moveDot(fileName.length() + jarName.length() - 4); getFilenameField().requestFocus(); } }
File robotsDir = FileUtil.getRobotsDir();