use of org.apache.maven.plugin.AbstractMojo in project maven-plugins by apache.
the class AbstractSiteDeployWebDavTest method davDeployThruProxyWitAuthzInProxy.
@Test
public void davDeployThruProxyWitAuthzInProxy() throws Exception {
FileUtils.cleanDirectory(siteTargetPath);
// SimpleDavServerHandler simpleDavServerHandler = new SimpleDavServerHandler( siteTargetPath );
Map<String, String> authentications = new HashMap<String, String>();
authentications.put("foo", "titi");
AuthAsyncProxyServlet servlet = new AuthAsyncProxyServlet(authentications, siteTargetPath);
SimpleDavServerHandler simpleDavServerHandler = new SimpleDavServerHandler(servlet);
try {
File pluginXmlFile = getTestFile("src/test/resources/unit/deploy-dav/pom.xml");
AbstractMojo mojo = getMojo(pluginXmlFile);
assertNotNull(mojo);
SiteMavenProjectStub siteMavenProjectStub = new SiteMavenProjectStub("deploy-dav");
siteMavenProjectStub.getDistributionManagement().getSite().setUrl("dav:http://toto.com/site/");
setVariableValueToObject(mojo, "project", siteMavenProjectStub);
Settings settings = new Settings();
Proxy proxy = new Proxy();
// dummy proxy
proxy.setActive(true);
proxy.setHost("localhost");
proxy.setPort(simpleDavServerHandler.getPort());
proxy.setProtocol("dav");
proxy.setUsername("foo");
proxy.setPassword("titi");
proxy.setNonProxyHosts("www.google.com|*.somewhere.com");
settings.addProxy(proxy);
setVariableValueToObject(mojo, "settings", settings);
MavenExecutionRequest request = new DefaultMavenExecutionRequest();
request.setProxies(Arrays.asList(proxy));
MavenSession mavenSession = new MavenSession(getContainer(), null, request, null);
setVariableValueToObject(mojo, "mavenSession", mavenSession);
File inputDirectory = new File("src/test/resources/unit/deploy-dav/target/site");
// test which mojo we are using
if (ReflectionUtils.getFieldByNameIncludingSuperclasses("inputDirectory", mojo.getClass()) != null) {
setVariableValueToObject(mojo, "inputDirectory", inputDirectory);
} else {
ArtifactRepositoryFactory artifactRepositoryFactory = getContainer().lookup(ArtifactRepositoryFactory.class);
setVariableValueToObject(mojo, "stagingDirectory", inputDirectory);
setVariableValueToObject(mojo, "reactorProjects", Collections.emptyList());
setVariableValueToObject(mojo, "localRepository", artifactRepositoryFactory.createArtifactRepository("local", "foo", "default", null, null));
setVariableValueToObject(mojo, "siteTool", getContainer().lookup(SiteTool.class));
setVariableValueToObject(mojo, "siteDirectory", new File("foo"));
setVariableValueToObject(mojo, "repositories", Collections.emptyList());
}
mojo.execute();
assertContentInFiles();
assertTrue(requestsContainsProxyUse(servlet.httpRequests));
assertAtLeastOneRequestContainsHeader(servlet.httpRequests, "Proxy-Authorization");
for (HttpRequest rq : servlet.httpRequests) {
log.info(rq.toString());
}
} finally {
simpleDavServerHandler.stop();
}
}
use of org.apache.maven.plugin.AbstractMojo in project m2e-nar by maven-nar.
the class MavenUtils method readSettings.
public static <T extends AbstractCompileMojo> NarExecution readSettings(final ConfiguratorContext context, final IMavenProjectFacade facade, final MojoExecution compileExecution, final Class<T> mojoType, final String buildType, final IProgressMonitor monitor) throws CoreException {
final IMaven maven = context.getMaven();
final MavenProject mavenProject = facade.getMavenProject();
NarExecution settings = null;
if (compileExecution != null) {
// Load plugin with Maven in order to check config
// and to get at aol.properties resource inside the plugin
AbstractMojo narMojo = loadMojo(maven, mavenProject, compileExecution, AbstractMojo.class, monitor);
try {
// ClassRealm pluginRealm =
// compileExecution.getMojoDescriptor().getPluginDescriptor().getClassRealm();
// NarClassloader classloader = new NarClassloader(pluginRealm);
// INarExecutionBuilder builder =
// classloader.createNarExecutionBuilder(mavenProject,
// compileMojo);
// settings = builder.build(NarExecution.MAIN);
T compileMojo = getConfiguredMojo(maven, mavenProject, compileExecution, mojoType, narMojo.getLog(), monitor);
compileMojo.setNarProperties(new NarProperties(mavenProject, narMojo.getClass()));
// Need to call validate to set up defaults
compileMojo.validate();
// Resolve the NAR artifacts, possibly from workspace
compileMojo.prepareNarArtifacts(context, facade, monitor);
NarExecutionBuilder builder = new NarExecutionBuilder(compileMojo, compileExecution);
settings = builder.build(buildType);
} catch (MojoFailureException e) {
throw new CoreException(new Status(IStatus.ERROR, MavenNarPlugin.PLUGIN_ID, "Couldn't configure mojo"));
} catch (MojoExecutionException e) {
throw new CoreException(new Status(IStatus.ERROR, MavenNarPlugin.PLUGIN_ID, "Couldn't configure mojo"));
} finally {
releaseMojo(maven, mavenProject, narMojo, compileExecution, monitor);
}
} else {
throw new CoreException(new Status(IStatus.ERROR, MavenNarPlugin.PLUGIN_ID, "Couldn't find default-nar-compile execution"));
}
return settings;
}
use of org.apache.maven.plugin.AbstractMojo in project maven-plugins by apache.
the class AbstractSiteDeployWebDavTest method davDeployThruProxyWithoutAuthzInProxy.
@Test
public void davDeployThruProxyWithoutAuthzInProxy() throws Exception {
FileUtils.cleanDirectory(siteTargetPath);
SimpleDavServerHandler simpleDavServerHandler = new SimpleDavServerHandler(siteTargetPath);
try {
File pluginXmlFile = getTestFile("src/test/resources/unit/deploy-dav/pom.xml");
AbstractMojo mojo = getMojo(pluginXmlFile);
assertNotNull(mojo);
SiteMavenProjectStub siteMavenProjectStub = new SiteMavenProjectStub("deploy-dav");
// olamy, Note : toto is something like foo or bar for french folks :-)
String siteUrl = "dav:http://toto.com/site/";
siteMavenProjectStub.getDistributionManagement().getSite().setUrl(siteUrl);
setVariableValueToObject(mojo, "project", siteMavenProjectStub);
Settings settings = new Settings();
Proxy proxy = new Proxy();
// dummy proxy
proxy.setActive(true);
proxy.setHost("localhost");
proxy.setPort(simpleDavServerHandler.getPort());
proxy.setProtocol("http");
proxy.setNonProxyHosts("www.google.com|*.somewhere.com");
settings.addProxy(proxy);
setVariableValueToObject(mojo, "settings", settings);
MavenExecutionRequest request = new DefaultMavenExecutionRequest();
request.setProxies(Arrays.asList(proxy));
MavenSession mavenSession = new MavenSession(getContainer(), null, request, null);
setVariableValueToObject(mojo, "mavenSession", mavenSession);
File inputDirectory = new File("src/test/resources/unit/deploy-dav/target/site");
setVariableValueToObject(mojo, "inputDirectory", inputDirectory);
mojo.execute();
assertContentInFiles();
assertTrue(requestsContainsProxyUse(simpleDavServerHandler.httpRequests));
for (HttpRequest rq : simpleDavServerHandler.httpRequests) {
log.info(rq.toString());
}
} finally {
simpleDavServerHandler.stop();
}
}
use of org.apache.maven.plugin.AbstractMojo in project maven-plugins by apache.
the class AbstractSiteDeployWebDavTest method noAuthzDavDeploy.
@Test
public void noAuthzDavDeploy() throws Exception {
FileUtils.cleanDirectory(siteTargetPath);
SimpleDavServerHandler simpleDavServerHandler = new SimpleDavServerHandler(siteTargetPath);
try {
File pomFile = getTestFile("src/test/resources/unit/deploy-dav/pom.xml");
AbstractMojo mojo = getMojo(pomFile);
assertNotNull(mojo);
SiteMavenProjectStub siteMavenProjectStub = new SiteMavenProjectStub("deploy-dav");
assertTrue("dav server port not available: " + simpleDavServerHandler.getPort(), simpleDavServerHandler.getPort() > 0);
siteMavenProjectStub.getDistributionManagement().getSite().setUrl("dav:http://localhost:" + simpleDavServerHandler.getPort() + "/site/");
setVariableValueToObject(mojo, "project", siteMavenProjectStub);
Settings settings = new Settings();
setVariableValueToObject(mojo, "settings", settings);
File inputDirectory = new File("src/test/resources/unit/deploy-dav/target/site");
setVariableValueToObject(mojo, "inputDirectory", inputDirectory);
mojo.execute();
assertContentInFiles();
assertFalse(requestsContainsProxyUse(simpleDavServerHandler.httpRequests));
} finally {
simpleDavServerHandler.stop();
}
}
Aggregations