package com.perforce.maven.mojo.workspace;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.scm.repository.ScmRepository;
import com.perforce.maven.mojo.P4Mojo;
import com.perforce.maven.scm.provider.p4.manager.P4ServerManager;
import com.perforce.maven.scm.provider.p4.repository.P4ScmProviderRepository;
/**
* Remove current workspace
*/
@Mojo( name = "remove-current-workspace", requiresProject = true, threadSafe = true, defaultPhase = LifecyclePhase.INITIALIZE, aggregator = true )
public class P4RemoveCurrentWorkspaceMojo
extends P4Mojo
{
@Component
private P4ServerManager p4ServerManager;
@Override
public void execute()
throws MojoExecutionException, MojoFailureException
{
try
{
// construct the repo base on the value found under project scm's element
ScmRepository repository = getScmRepository();
P4ScmProviderRepository providerRepo = (P4ScmProviderRepository) repository.getProviderRepository();
String clientName = p4ClientManager.discoverClientName( providerRepo, this.project.getBasedir() );
p4ServerManager.getServer( providerRepo ).deleteClient( clientName, false );
}
catch ( Exception e )
{
throw new MojoExecutionException( "Unable to remove current client workspace", e );
}
}
}
# |
Change |
User |
Description |
Committed |
|
#2
|
14825 |
dantran |
remove p4mojo:remove-current-workspace, no need to provide one |
|
|
#1
|
14824 |
dantran |
* add p4mojo:remove-current-workspace
* Update maven-invoker-plugin for maven 3.3.x+ support |
|
|