Return-Path: X-Original-To: apmail-hadoop-yarn-commits-archive@minotaur.apache.org Delivered-To: apmail-hadoop-yarn-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C75C3FC59 for ; Mon, 1 Apr 2013 16:48:43 +0000 (UTC) Received: (qmail 98373 invoked by uid 500); 1 Apr 2013 16:48:43 -0000 Delivered-To: apmail-hadoop-yarn-commits-archive@hadoop.apache.org Received: (qmail 98319 invoked by uid 500); 1 Apr 2013 16:48:43 -0000 Mailing-List: contact yarn-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: yarn-commits@hadoop.apache.org Delivered-To: mailing list yarn-commits@hadoop.apache.org Received: (qmail 98310 invoked by uid 99); 1 Apr 2013 16:48:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Apr 2013 16:48:43 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Apr 2013 16:48:40 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id E8B592388C28; Mon, 1 Apr 2013 16:47:42 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1463203 [8/8] - in /hadoop/common/branches/HDFS-347/hadoop-yarn-project: ./ hadoop-yarn/ hadoop-yarn/bin/ hadoop-yarn/conf/ hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/ hadoop-yarn/hadoop-yarn-api/src/main/java/org... Date: Mon, 01 Apr 2013 16:47:34 -0000 To: yarn-commits@hadoop.apache.org From: todd@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130401164742.E8B592388C28@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerManagerSecurity.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerManagerSecurity.java?rev=1463203&r1=1463202&r2=1463203&view=diff ============================================================================== --- hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerManagerSecurity.java (original) +++ hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerManagerSecurity.java Mon Apr 1 16:47:16 2013 @@ -22,7 +22,6 @@ import static org.junit.Assert.fail; import java.io.File; import java.io.FileNotFoundException; -import java.io.FileWriter; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; @@ -51,6 +50,7 @@ import org.apache.hadoop.security.Access import org.apache.hadoop.security.SecurityUtil; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.security.token.Token; +import org.apache.hadoop.util.Shell; import org.apache.hadoop.yarn.api.AMRMProtocol; import org.apache.hadoop.yarn.api.ContainerManager; import org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest; @@ -69,11 +69,8 @@ import org.apache.hadoop.yarn.api.record import org.apache.hadoop.yarn.api.records.ContainerLaunchContext; import org.apache.hadoop.yarn.api.records.ContainerToken; import org.apache.hadoop.yarn.api.records.LocalResource; -import org.apache.hadoop.yarn.api.records.LocalResourceType; -import org.apache.hadoop.yarn.api.records.LocalResourceVisibility; import org.apache.hadoop.yarn.api.records.Resource; import org.apache.hadoop.yarn.api.records.ResourceRequest; -import org.apache.hadoop.yarn.api.records.URL; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnRemoteException; import org.apache.hadoop.yarn.factories.RecordFactory; @@ -88,7 +85,6 @@ import org.apache.hadoop.yarn.server.res import org.apache.hadoop.yarn.server.resourcemanager.security.ApplicationTokenSecretManager; import org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager; import org.apache.hadoop.yarn.util.BuilderUtils; -import org.apache.hadoop.yarn.util.ConverterUtils; import org.apache.hadoop.yarn.util.Records; import org.junit.AfterClass; import org.junit.BeforeClass; @@ -401,10 +397,15 @@ public class TestContainerManagerSecurit UnsupportedFileSystemException, YarnRemoteException, InterruptedException { + // Use ping to simulate sleep on Windows. + List cmd = Shell.WINDOWS ? + Arrays.asList("ping", "-n", "100", "127.0.0.1", ">nul") : + Arrays.asList("sleep", "100"); + ContainerLaunchContext amContainer = BuilderUtils .newContainerLaunchContext(null, "testUser", BuilderUtils .newResource(1024, 1), Collections.emptyMap(), - new HashMap(), Arrays.asList("sleep", "100"), + new HashMap(), cmd, new HashMap(), null, new HashMap()); @@ -480,14 +481,14 @@ public class TestContainerManagerSecurit // Request a container allocation. List ask = new ArrayList(); - ask.add(BuilderUtils.newResourceRequest(BuilderUtils.newPriority(0), "*", - BuilderUtils.newResource(1024, 1), 1)); + ask.add(BuilderUtils.newResourceRequest(BuilderUtils.newPriority(0), + ResourceRequest.ANY, BuilderUtils.newResource(1024, 1), 1)); AllocateRequest allocateRequest = BuilderUtils.newAllocateRequest( BuilderUtils.newApplicationAttemptId(appID, 1), 0, 0F, ask, new ArrayList()); List allocatedContainers = scheduler.allocate(allocateRequest) - .getAMResponse().getAllocatedContainers(); + .getAllocatedContainers(); // Modify ask to request no more. allocateRequest.clearAsks(); @@ -499,7 +500,7 @@ public class TestContainerManagerSecurit Thread.sleep(1000); allocateRequest.setResponseId(allocateRequest.getResponseId() + 1); allocatedContainers = scheduler.allocate(allocateRequest) - .getAMResponse().getAllocatedContainers(); + .getAllocatedContainers(); } Assert.assertNotNull("Container is not allocted!", allocatedContainers); Modified: hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestRMNMSecretKeys.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestRMNMSecretKeys.java?rev=1463203&r1=1463202&r2=1463203&view=diff ============================================================================== --- hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestRMNMSecretKeys.java (original) +++ hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestRMNMSecretKeys.java Mon Apr 1 16:47:16 2013 @@ -27,9 +27,9 @@ import org.apache.hadoop.security.UserGr import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.event.Dispatcher; import org.apache.hadoop.yarn.event.DrainDispatcher; -import org.apache.hadoop.yarn.server.api.records.HeartbeatResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; +import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerResponse; import org.apache.hadoop.yarn.server.api.records.MasterKey; -import org.apache.hadoop.yarn.server.api.records.RegistrationResponse; import org.apache.hadoop.yarn.server.resourcemanager.MockNM; import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager; import org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager; @@ -62,12 +62,12 @@ public class TestRMNMSecretKeys { rm.start(); MockNM nm = new MockNM("host:1234", 3072, rm.getResourceTrackerService()); - RegistrationResponse registrationResponse = nm.registerNode(); + RegisterNodeManagerResponse registrationResponse = nm.registerNode(); MasterKey masterKey = registrationResponse.getMasterKey(); Assert.assertNotNull("Registration should cause a key-update!", masterKey); dispatcher.await(); - HeartbeatResponse response = nm.nodeHeartbeat(true); + NodeHeartbeatResponse response = nm.nodeHeartbeat(true); Assert.assertNull( "First heartbeat after registration shouldn't get any key updates!", response.getMasterKey()); Modified: hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java?rev=1463203&r1=1463202&r2=1463203&view=diff ============================================================================== --- hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java (original) +++ hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java Mon Apr 1 16:47:16 2013 @@ -66,6 +66,7 @@ public class WebAppProxyServlet extends public static final String PROXY_USER_COOKIE_NAME = "proxy-user"; private final List trackingUriPlugins; + private final String rmAppPageUrlBase; private static class _ implements Hamlet._ { //Empty @@ -91,6 +92,8 @@ public class WebAppProxyServlet extends this.trackingUriPlugins = conf.getInstances(YarnConfiguration.YARN_TRACKING_URL_GENERATOR, TrackingUriPlugin.class); + this.rmAppPageUrlBase = StringHelper.pjoin( + YarnConfiguration.getRMWebAppURL(conf), "cluster", "app"); } /** @@ -291,25 +294,10 @@ public class WebAppProxyServlet extends if (original != null) { trackingUri = ProxyUriUtils.getUriFromAMUrl(original); } + // fallback to ResourceManager's app page if no tracking URI provided if(original == null || original.equals("N/A")) { - String message; - switch(applicationReport.getFinalApplicationStatus()) { - case FAILED: - case KILLED: - case SUCCEEDED: - message = - "The requested application exited before setting a tracking URL."; - break; - case UNDEFINED: - message = "The requested application does not appear to be running " - +"yet, and has not set a tracking URL."; - break; - default: - //This should never happen, but just to be safe - message = "The requested application has not set a tracking URL."; - break; - } - notFound(resp, message); + resp.sendRedirect(resp.encodeRedirectURL( + StringHelper.pjoin(rmAppPageUrlBase, id.toString()))); return; } Modified: hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/test/java/org/apache/hadoop/yarn/server/webproxy/amfilter/TestAmFilter.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/test/java/org/apache/hadoop/yarn/server/webproxy/amfilter/TestAmFilter.java?rev=1463203&r1=1463202&r2=1463203&view=diff ============================================================================== --- hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/test/java/org/apache/hadoop/yarn/server/webproxy/amfilter/TestAmFilter.java (original) +++ hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/test/java/org/apache/hadoop/yarn/server/webproxy/amfilter/TestAmFilter.java Mon Apr 1 16:47:16 2013 @@ -19,41 +19,39 @@ package org.apache.hadoop.yarn.server.webproxy.amfilter; import java.io.IOException; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; +import javax.servlet.*; +import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import junit.framework.Assert; +import static junit.framework.Assert.*; +import org.apache.hadoop.yarn.server.webproxy.WebAppProxyServlet; +import org.glassfish.grizzly.servlet.HttpServletResponseImpl; import org.junit.Test; import org.mockito.Mockito; +/** + * Test AmIpFilter. Requests to a no declared hosts should has way through + * proxy. Another requests can be filtered with (without) user name. + * + */ +public class TestAmFilter { -public class TestAmFilter { - - private String proxyHost = "bogushost.com"; + private String proxyHost = "localhost"; private String proxyUri = "http://bogus"; + private String doFilterRequest; + private AmIpServletRequestWrapper servletWrapper; private class TestAmIpFilter extends AmIpFilter { private Set proxyAddresses = null; protected Set getProxyAddresses() { - if(proxyAddresses == null) { + if (proxyAddresses == null) { proxyAddresses = new HashSet(); } proxyAddresses.add(proxyHost); @@ -61,12 +59,10 @@ public class TestAmFilter { } } - private static class DummyFilterConfig implements FilterConfig { final Map map; - - DummyFilterConfig(Map map) { + DummyFilterConfig(Map map) { this.map = map; } @@ -74,22 +70,24 @@ public class TestAmFilter { public String getFilterName() { return "dummy"; } + @Override public String getInitParameter(String arg0) { return map.get(arg0); } + @Override public Enumeration getInitParameterNames() { return Collections.enumeration(map.keySet()); } + @Override public ServletContext getServletContext() { return null; } } - - @Test + @Test(timeout = 5000) public void filterNullCookies() throws Exception { HttpServletRequest request = Mockito.mock(HttpServletRequest.class); @@ -97,13 +95,12 @@ public class TestAmFilter { Mockito.when(request.getRemoteAddr()).thenReturn(proxyHost); HttpServletResponse response = Mockito.mock(HttpServletResponse.class); - final AtomicBoolean invoked = new AtomicBoolean(); FilterChain chain = new FilterChain() { @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) - throws IOException, ServletException { + public void doFilter(ServletRequest servletRequest, + ServletResponse servletResponse) throws IOException, ServletException { invoked.set(true); } }; @@ -115,7 +112,93 @@ public class TestAmFilter { Filter filter = new TestAmIpFilter(); filter.init(conf); filter.doFilter(request, response, chain); - Assert.assertTrue(invoked.get()); + assertTrue(invoked.get()); filter.destroy(); } + + /** + * Test AmIpFilter + */ + @Test(timeout = 1000) + public void testFilter() throws Exception { + Map params = new HashMap(); + params.put(AmIpFilter.PROXY_HOST, proxyHost); + params.put(AmIpFilter.PROXY_URI_BASE, proxyUri); + FilterConfig config = new DummyFilterConfig(params); + + // dummy filter + FilterChain chain = new FilterChain() { + @Override + public void doFilter(ServletRequest servletRequest, + ServletResponse servletResponse) throws IOException, ServletException { + doFilterRequest = servletRequest.getClass().getName(); + if (servletRequest instanceof AmIpServletRequestWrapper) { + servletWrapper = (AmIpServletRequestWrapper) servletRequest; + + } + } + }; + AmIpFilter testFilter = new AmIpFilter(); + testFilter.init(config); + + HttpServletResponseForTest response = new HttpServletResponseForTest(); + // Test request should implements HttpServletRequest + + ServletRequest failRequest = Mockito.mock(ServletRequest.class); + try { + testFilter.doFilter(failRequest, response, chain); + fail(); + } catch (ServletException e) { + assertEquals("This filter only works for HTTP/HTTPS", e.getMessage()); + } + + // request with HttpServletRequest + HttpServletRequest request = Mockito.mock(HttpServletRequest.class); + Mockito.when(request.getRemoteAddr()).thenReturn("redirect"); + Mockito.when(request.getRequestURI()).thenReturn("/redirect"); + testFilter.doFilter(request, response, chain); + // address "redirect" is not in host list + assertEquals("http://bogus/redirect", response.getRedirect()); + // "127.0.0.1" contains in host list. Without cookie + Mockito.when(request.getRemoteAddr()).thenReturn("127.0.0.1"); + testFilter.doFilter(request, response, chain); + + assertTrue(doFilterRequest + .contains("javax.servlet.http.HttpServletRequest")); + // cookie added + Cookie[] cookies = new Cookie[1]; + cookies[0] = new Cookie(WebAppProxyServlet.PROXY_USER_COOKIE_NAME, "user"); + + Mockito.when(request.getCookies()).thenReturn(cookies); + testFilter.doFilter(request, response, chain); + + assertEquals( + "org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpServletRequestWrapper", + doFilterRequest); + // request contains principal from cookie + assertEquals("user", servletWrapper.getUserPrincipal().getName()); + assertEquals("user", servletWrapper.getRemoteUser()); + assertFalse(servletWrapper.isUserInRole("")); + + } + + private class HttpServletResponseForTest extends HttpServletResponseImpl { + String redirectLocation = ""; + + public String getRedirect() { + return redirectLocation; + } + + @Override + public void sendRedirect(String location) throws IOException { + redirectLocation = location; + } + + @Override + public String encodeRedirectURL(String url) { + return url; + } + + } + } Modified: hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml?rev=1463203&r1=1463202&r2=1463203&view=diff ============================================================================== --- hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml (original) +++ hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/pom.xml Mon Apr 1 16:47:16 2013 @@ -28,6 +28,27 @@ hadoop-yarn-server pom + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + ${basedir}/../../../../hadoop-common-project/hadoop-common/target + + + + listener + org.apache.hadoop.test.TimedOutTestsListener + + + + + + + org.apache.hadoop Modified: hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/WritingYarnApplications.apt.vm URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/WritingYarnApplications.apt.vm?rev=1463203&r1=1463202&r2=1463203&view=diff ============================================================================== --- hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/WritingYarnApplications.apt.vm (original) +++ hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/WritingYarnApplications.apt.vm Mon Apr 1 16:47:16 2013 @@ -493,7 +493,7 @@ Hadoop MapReduce Next Generation - Writi +---+ * The AllocateResponse sent back from the ResourceManager provides the - following information via the AMResponse object: + following information: * Reboot flag: For scenarios when the ApplicationMaster may get out of sync with the ResourceManager. @@ -511,7 +511,9 @@ Hadoop MapReduce Next Generation - Writi allocated container, it will receive an update from the ResourceManager when the container completes. The ApplicationMaster can look into the status of the completed container and take appropriate actions such as - re-trying a particular sub-task in case of a failure. + re-trying a particular sub-task in case of a failure. + + * Number of cluster nodes: The number of hosts available on the cluster. [] @@ -525,13 +527,11 @@ Hadoop MapReduce Next Generation - Writi containers. +---+ - // Get AMResponse from AllocateResponse - AMResponse amResp = allocateResponse.getAMResponse(); // Retrieve list of allocated containers from the response // and on each allocated container, lets assume we are launching // the same job. - List allocatedContainers = amResp.getAllocatedContainers(); + List allocatedContainers = allocateResponse.getAllocatedContainers(); for (Container allocatedContainer : allocatedContainers) { LOG.info("Launching shell command on a new container." + ", containerId=" + allocatedContainer.getId() @@ -553,7 +553,7 @@ Hadoop MapReduce Next Generation - Writi } // Check what the current available resources in the cluster are - Resource availableResources = amResp.getAvailableResources(); + Resource availableResources = allocateResponse.getAvailableResources(); // Based on this information, an ApplicationMaster can make appropriate // decisions @@ -561,7 +561,7 @@ Hadoop MapReduce Next Generation - Writi // Let's assume we are keeping a count of total completed containers, // containers that failed and ones that completed successfully. List completedContainers = - amResp.getCompletedContainersStatuses(); + allocateResponse.getCompletedContainersStatuses(); for (ContainerStatus containerStatus : completedContainers) { LOG.info("Got container status for containerID= " + containerStatus.getContainerId() @@ -611,7 +611,7 @@ Hadoop MapReduce Next Generation - Writi +---+ - //Assuming an allocated Container obtained from AMResponse + //Assuming an allocated Container obtained from AllocateResponse Container container; // Connect to ContainerManager on the allocated container String cmIpPortStr = container.getNodeId().getHost() + ":" Modified: hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/pom.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/pom.xml?rev=1463203&r1=1463202&r2=1463203&view=diff ============================================================================== --- hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/pom.xml (original) +++ hadoop/common/branches/HDFS-347/hadoop-yarn-project/hadoop-yarn/pom.xml Mon Apr 1 16:47:16 2013 @@ -85,7 +85,7 @@ guice-servlet - org.jboss.netty + io.netty netty @@ -159,6 +159,10 @@ org.apache.maven.plugins maven-surefire-plugin + + + ${basedir}/../../../hadoop-common-project/hadoop-common/target + listener Modified: hadoop/common/branches/HDFS-347/hadoop-yarn-project/pom.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-347/hadoop-yarn-project/pom.xml?rev=1463203&r1=1463202&r2=1463203&view=diff ============================================================================== --- hadoop/common/branches/HDFS-347/hadoop-yarn-project/pom.xml (original) +++ hadoop/common/branches/HDFS-347/hadoop-yarn-project/pom.xml Mon Apr 1 16:47:16 2013 @@ -59,7 +59,7 @@ ant - org.jboss.netty + io.netty netty @@ -149,7 +149,7 @@ junit - org.jboss.netty + io.netty netty @@ -180,15 +180,8 @@ - - which cygpath 2> /dev/null - if [ $? = 1 ]; then - BUILD_DIR="${project.build.directory}" - else - BUILD_DIR=`cygpath --unix '${project.build.directory}'` - fi - cd $BUILD_DIR - tar czf ${project.artifactId}-${project.version}.tar.gz ${project.artifactId}-${project.version} + cd "${project.build.directory}" + tar cf - ${project.artifactId}-${project.version} | gzip > ${project.artifactId}-${project.version}.tar.gz