org.eclipse.ui.wizards.datatransfer.ProjectConfigurator#org.apache.tools.ant.taskdefs.Expand源码实例Demo

下面列出了org.eclipse.ui.wizards.datatransfer.ProjectConfigurator#org.apache.tools.ant.taskdefs.Expand 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: antiplag   文件: AntFile.java
public static int unzip(File src,File dest){
	int res = -1;
	try {
		Project prj=new Project(); 
		Expand expand=new Expand(); 
		expand.setProject(prj); 
		expand.setSrc(src); 
		expand.setOverwrite(true); 
		expand.setDest(dest); 
		expand.execute();
		res = 1;
	} catch (BuildException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();			
	} 
	return res;
}
 
源代码2 项目: PoseidonX   文件: JarExpander.java
private void unzipJar(String jar)
    throws IOException
{
    File jarFile = new File(jar);
    LOG.info("unzip jar {} to {}", jar, expandDir.getCanonicalPath());
    Expand expand = createExpand(jarFile);
    expand.execute();
}
 
源代码3 项目: PoseidonX   文件: JarExpander.java
private Expand createExpand(File jarFile)
{
    String outputDir = expandDir + File.separator + jarFile.getName();

    Project prj = new Project();
    FileSet fileSet = createFileSetForJarFile(jarFile, prj);
    PatternSet patternSet = createPatternSet(prj);
    Expand expand = new Expand();
    expand.setProject(prj);
    expand.setOverwrite(true);
    expand.setDest(new File(outputDir));
    expand.addFileset(fileSet);
    expand.addPatternset(patternSet);
    return expand;
}
 
源代码4 项目: thym   文件: ImportTest.java
@Test
public void test() throws Exception {
	ReadableByteChannel channel = null;
	try {
		channel = Channels.newChannel(new URL("https://github.com/apache/cordova-app-hello-world/archive/master.zip").openStream()); //$NON-NLS-1$
	} catch (IOException ex) {
		Assume.assumeNoException("This test require ability to connect to Internet", ex); //$NON-NLS-1$
	}
	File outputFile = File.createTempFile("cordova-app-hello-world", ".zip"); //$NON-NLS-1$ //$NON-NLS-2$
	FileOutputStream fos = new FileOutputStream(outputFile);
	fos.getChannel().transferFrom(channel, 0, Long.MAX_VALUE);
	channel.close();
	fos.close();
	Expand expand = new Expand();
	expand.setSrc(outputFile);
	File outputDirectory = Files.createTempDirectory("cordova-app-hello-world").toFile(); //$NON-NLS-1$
	expand.setDest(outputDirectory);
	expand.execute();
	outputFile.delete();

	Set<IProject> newProjects = null;
	SmartImportJob job = new SmartImportJob(outputDirectory, Collections.EMPTY_SET, true, true);
	try {
		Map<File, List<ProjectConfigurator>> proposals = job.getImportProposals(new NullProgressMonitor());
		Assert.assertEquals("Expected only 1 project to import", 1, proposals.size()); //$NON-NLS-1$
		boolean thymConfiguratorFound = false;
		for (ProjectConfigurator configurator : proposals.values().iterator().next()) {
			if (configurator instanceof CordovaProjectConfigurator) {
				thymConfiguratorFound = true;
			}
		}
		Assert.assertTrue("Cordova configurator not found while checking directory", thymConfiguratorFound); //$NON-NLS-1$
		
		// accept proposals
		job.setDirectoriesToImport(proposals.keySet());

		IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
		Set<IProject> beforeImport = new HashSet<>(Arrays.asList(wsRoot.getProjects()));
		job.run(new NullProgressMonitor());
		job.join();
		newProjects = new HashSet<>(Arrays.asList(wsRoot.getProjects()));
		newProjects.removeAll(beforeImport);
		Assert.assertEquals("Expected only 1 new project", 1, newProjects.size()); //$NON-NLS-1$
		IProject newProject = newProjects.iterator().next();
		boolean startsWith = newProject.getLocation().toFile().getAbsolutePath().startsWith(outputDirectory.toPath().toRealPath().toAbsolutePath().toString());
		Assert.assertTrue(startsWith);
		HybridProject hybridProject = HybridProject.getHybridProject(newProject);
		Assert.assertNotNull("Project not configured as hybrid", hybridProject); //$NON-NLS-1$
	} finally {
		if (newProjects != null) {
			for (IProject project : newProjects) {
				project.delete(true, true, new NullProgressMonitor());
			}
		}
	}
}
 
源代码5 项目: ci.maven   文件: BasicSupport.java
protected void installFromFile() throws Exception {
    // Check if there is a different/newer archive or missing marker to trigger assembly install
    File installMarker = new File(installDirectory, ".installed");

    if (!refresh) {
        if (!installMarker.exists()) {
            refresh = true;
        } else if (assemblyArchive.lastModified() > installMarker.lastModified()) {
            log.debug(MessageFormat.format(messages.getString("debug.detect.assembly.archive"), ""));
            refresh = true;
        } else if(!assemblyArchive.getCanonicalPath().equals(FileUtils.fileRead(installMarker))) {
            refresh = true;
        }
    } else {
        log.debug(MessageFormat.format(messages.getString("debug.request.refresh"), ""));
    }

    String userDirectoryPath = userDirectory.getCanonicalPath();
    if (refresh && installDirectory.exists() && installDirectory.isDirectory()) {
        log.info(MessageFormat.format(messages.getString("info.uninstalling.server.home"), installDirectory));
        // Delete everything in the install directory except usr directory
        for(File f : installDirectory.listFiles()) {
            if(!(f.isDirectory() && f.getCanonicalPath().equals(userDirectoryPath))) {
                FileUtils.forceDelete(f);
            }
        }
    }

    // Install the assembly
    if (!installMarker.exists()) {
        log.info("Installing assembly...");

        FileUtils.forceMkdir(installDirectory);

        Expand unzip = (Expand) ant.createTask("unzip");

        unzip.setSrc(assemblyArchive);
        unzip.setDest(assemblyInstallDirectory.getCanonicalFile());
        unzip.execute();

        // Make scripts executable, since Java unzip ignores perms
        Chmod chmod = (Chmod) ant.createTask("chmod");
        chmod.setPerm("ugo+rx");
        chmod.setDir(installDirectory);
        chmod.setIncludes("bin/*");
        chmod.setExcludes("bin/*.bat");
        chmod.execute();

        // delete installMarker first in case it was packaged with the assembly
        installMarker.delete();
        installMarker.createNewFile();
        
        // Write the assembly archive path so we can determine whether to install a different assembly in future invocations
        FileUtils.fileWrite(installMarker, assemblyArchive.getCanonicalPath());
    } else {
        log.info(MessageFormat.format(messages.getString("info.reuse.installed.assembly"), ""));
    }
}