package xapi.mojo.gwt;
import org.eclipse.aether.RepositorySystemSession;
import xapi.annotation.inject.SingletonOverride;
import xapi.mojo.api.AbstractXapiMojo;
import xapi.mvn.impl.MvnServiceDefault;
import xapi.mvn.service.MvnService;
@SingletonOverride(implFor=MvnService.class,priority=0)
public class MavenServiceMojo extends MvnServiceDefault{
private static ThreadLocal<AbstractXapiMojo> mojos = new ThreadLocal<AbstractXapiMojo>();
public static void init(AbstractXapiMojo mojo) {
mojos.set(mojo);
}
public static void gc() {
mojos.remove();
}
@Override
protected RepositorySystemSession initLocalRepo() {
AbstractXapiMojo mojo = mojos.get();
if (mojo != null) {
return mojo.getSession().getRepositorySession();
}
return super.initLocalRepo();
}
@Override
public RepositorySystemSession getRepoSession() {
AbstractXapiMojo mojo = mojos.get();
if (mojo != null) {
return mojo.getSession().getRepositorySession();
}
return super.getRepoSession();
}
}