/** * Reads a target definition file from the tests/targets/target-files location with the given * name. Note that ".target" will be appended. * * @param name * @return target definition * @throws Exception */ protected ITargetDefinition readOldTarget(String name) throws Exception { URL url = MacroPlugin.getBundleContext() .getBundle() .getEntry("/tests/targets/target-files/" + name + ".target"); File file = new File(FileLocator.toFileURL(url).getFile()); ITargetDefinition target = getNewTarget(); FileInputStream stream = new FileInputStream(file); TargetDefinitionPersistenceHelper.initFromXML(target, stream); stream.close(); return target; }
/* * Copy the bundle with the given id to the specified location. (location * is parent directory) */ public void copyBundle(String bundlename, File source, File destination) throws IOException { if (destination == null) destination = output; destination = new File(destination, "eclipse/plugins"); if (source == null) { Bundle bundle = TestActivator.getBundle(bundlename); if (bundle == null) { throw new IOException("Could not find: " + bundlename); } String location = bundle.getLocation(); if (location.startsWith("reference:")) location = location.substring("reference:".length()); source = new File(FileLocator.toFileURL(new URL(location)).getFile()); } destination = new File(destination, source.getName()); if (destination.exists()) return; FileUtils.copy(source, destination, new File(""), false); // if the target of the copy doesn't exist, then signal an error assertTrue("Unable to copy " + source + " to " + destination, destination.exists()); }