public int runDirectorToInstall( String message, File installFolder, String sourceRepo, String iuToInstall) { String[] command = new String[] { // "-application", "org.eclipse.equinox.p2.director", // "-repository", sourceRepo, "-installIU", iuToInstall, // "-destination", installFolder.getAbsolutePath(), // "-bundlepool", installFolder.getAbsolutePath(), // "-roaming", "-profile", "PlatformProfile", "-profileProperties", "org.eclipse.update.install.features=true", // "-p2.os", Platform.getOS(), "-p2.ws", Platform.getWS(), "-p2.arch", Platform.getOSArch() }; return runEclipse(message, command); }
private String getValueFor(String property) { if (property == null) return null; String result = TestActivator.getContext().getProperty(property); if (result == null && archiveAndRepositoryProperties == null) return null; if (result == null) archiveAndRepositoryProperties.getProperty(property); if (result == null) result = archiveAndRepositoryProperties.getProperty(property + '.' + Platform.getOS()); return result; }
protected static String getExeFolder() { String eclipseFolder = "eclipse/"; if (Platform.getWS().equals(Platform.WS_COCOA)) eclipseFolder = "Eclipse.app/Contents/MacOS/"; return eclipseFolder; }
/* * Return a file handle pointing to the platform binary zip. Method never returns null because * it will fail an assert before that. */ private File getPlatformZip() { String property = null; File file = null; if (propertyToPlatformArchive != null) { property = getValueFor(propertyToPlatformArchive); String message = "Need to set the " + "\"" + propertyToPlatformArchive + "\" system property with a valid path to the platform binary drop or copy the archive to be a sibling of the install folder."; if (property == null) { fail(message); } file = new File(property); assertNotNull(message, file); assertTrue(message, file.exists()); assertTrue("File is zero length: " + file.getAbsolutePath(), file.length() > 0); return file; } property = getValueFor("org.eclipse.equinox.p2.reconciler.tests.platform.archive"); if (property == null) { // the releng test framework copies the zip so let's look for it... // it will be a sibling of the eclipse/ folder that we are running File installLocation = getInstallLocation(); if (Platform.getWS().equals(Platform.WS_COCOA)) installLocation = installLocation.getParentFile().getParentFile(); if (installLocation != null) { // parent will be "eclipse" and the parent's parent will be "eclipse-testing" File parent = installLocation.getParentFile(); if (parent != null) { parent = parent.getParentFile(); if (parent != null) { File[] children = parent.listFiles( new FileFilter() { public boolean accept(File pathname) { String name = pathname.getName(); return name.startsWith("eclipse-platform-"); } }); if (children != null && children.length == 1) file = children[0]; } } } } else { file = new File(property); } StringBuffer detailedMessage = new StringBuffer(600); detailedMessage .append(" propertyToPlatformArchive was ") .append(propertyToPlatformArchive == null ? " not set " : propertyToPlatformArchive) .append('\n'); detailedMessage .append(" org.eclipse.equinox.p2.reconciler.tests.platform.archive was ") .append(property == null ? " not set " : property) .append('\n'); detailedMessage.append(" install location is ").append(getInstallLocation()).append('\n'); String message = "Need to set the \"org.eclipse.equinox.p2.reconciler.tests.platform.archive\" system property with a valid path to the platform binary drop or copy the archive to be a sibling of the install folder."; assertNotNull(message + "\n" + detailedMessage, file); assertTrue(message, file.exists()); assertTrue("File is zero length: " + file.getAbsolutePath(), file.length() > 0); return file; }