blob: 615ce5905b01cbc95f3c5acdc11c2ac6c7cebf9e [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* James Blackburn (Broadcom Corp.) - ongoing development
*******************************************************************************/
package org.eclipse.core.tests.internal.builders;
import java.io.FileOutputStream;
import java.util.Map;
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.*;
/**
* This builder is for investigating a PR. It creates java files on disk, then
* does refresh local to bring them into the workspace. It creates the same file
* regardless of full vs. incremental build, or what the delta is.
*/
public class RefreshLocalJavaFileBuilder extends TestBuilder {
public static final String BUILDER_NAME = "org.eclipse.core.tests.resources.refreshbuilder";
@Override
protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException {
super.build(kind, args, monitor);
IProject project = getProject();
IFile file = project.getFile("A.java");
IPath localLocation = project.getLocation().append(file.getName());
java.io.File localFile = localLocation.toFile();
try {
if (localFile.exists()) {
localFile.delete();
}
FileOutputStream out = new FileOutputStream(localFile);
out.write("public class A {}".getBytes());
out.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
project.refreshLocal(IResource.DEPTH_INFINITE, null);
return null;
}
}