Return-Path: <dev-return-26293-apmail-sling-dev-archive=sling.apache.org@sling.apache.org>
X-Original-To: apmail-sling-dev-archive@www.apache.org
Delivered-To: apmail-sling-dev-archive@www.apache.org
Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
	by minotaur.apache.org (Postfix) with SMTP id C03AA926F
	for <apmail-sling-dev-archive@www.apache.org>; Fri, 30 Mar 2012 03:16:33 +0000 (UTC)
Received: (qmail 11978 invoked by uid 500); 30 Mar 2012 03:16:33 -0000
Delivered-To: apmail-sling-dev-archive@sling.apache.org
Received: (qmail 11936 invoked by uid 500); 30 Mar 2012 03:16:33 -0000
Mailing-List: contact dev-help@sling.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:dev-help@sling.apache.org>
List-Unsubscribe: <mailto:dev-unsubscribe@sling.apache.org>
List-Post: <mailto:dev@sling.apache.org>
List-Id: <dev.sling.apache.org>
Reply-To: dev@sling.apache.org
Delivered-To: mailing list dev@sling.apache.org
Received: (qmail 11912 invoked by uid 99); 30 Mar 2012 03:16:32 -0000
Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230)
    by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Mar 2012 03:16:32 +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.8] (HELO aegis.apache.org) (140.211.11.8)
    by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Mar 2012 03:16:26 +0000
Received: from aegis.apache.org (localhost [127.0.0.1])
	by aegis.apache.org (Postfix) with ESMTP id 3E8CBC00A0
	for <dev@sling.apache.org>; Fri, 30 Mar 2012 03:16:05 +0000 (UTC)
Date: Fri, 30 Mar 2012 03:16:05 +0000 (UTC)
From: Apache Jenkins Server <jenkins@builds.apache.org>
To: dev@sling.apache.org
Message-ID: <1937985321.105.1333077365240.JavaMail.hudson@aegis>
In-Reply-To: <1953604574.1290.1332996985382.JavaMail.hudson@aegis>
References: <1953604574.1290.1332996985382.JavaMail.hudson@aegis>
Subject: Build failed in Jenkins: sling-samples-1.5 #298
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Jenkins-Job: sling-samples-1.5
X-Jenkins-Result: FAILURE

See <https://builds.apache.org/job/sling-samples-1.5/298/>

------------------------------------------
[...truncated 946 lines...]
[INFO] Preparing source:jar
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/framework-fragment/pom.xml> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling$org.apache.sling.samples.frameworkfragment/builds/2012-03-30_03-13-43/archive/org.apache.sling/org.apache.sling.samples.frameworkfragment/0.9.9-SNAPSHOT/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT.pom
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/framework-fragment/target/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT.jar> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling$org.apache.sling.samples.frameworkfragment/builds/2012-03-30_03-13-43/archive/org.apache.sling/org.apache.sling.samples.frameworkfragment/0.9.9-SNAPSHOT/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT.jar
[INFO] [enforcer:enforce {execution: enforce-java}]
[INFO] [source:jar {execution: attach-sources}]
[INFO] META-INF already added, skipping
[INFO] META-INF/LICENSE already added, skipping
[INFO] META-INF/NOTICE already added, skipping
[INFO] META-INF/DEPENDENCIES already added, skipping
[INFO] Building jar: <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/framework-fragment/target/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT-sources.jar>
[INFO] META-INF already added, skipping
[INFO] META-INF/LICENSE already added, skipping
[INFO] META-INF/NOTICE already added, skipping
[INFO] META-INF/DEPENDENCIES already added, skipping
[INFO] [ianal:verify-legal-files {execution: default}]
[INFO] Checking legal files in: org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT.jar
[INFO] Checking legal files in: org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT-sources.jar
[INFO] [install:install {execution: default-install}]
[INFO] Installing <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/framework-fragment/target/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT.jar> to /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/sling/org.apache.sling.samples.frameworkfragment/0.9.9-SNAPSHOT/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT.jar
[INFO] Installing <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/framework-fragment/target/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT-sources.jar> to /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/sling/org.apache.sling.samples.frameworkfragment/0.9.9-SNAPSHOT/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT-sources.jar
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/framework-fragment/target/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT-sources.jar> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling$org.apache.sling.samples.frameworkfragment/builds/2012-03-30_03-13-43/archive/org.apache.sling/org.apache.sling.samples.frameworkfragment/0.9.9-SNAPSHOT/org.apache.sling.samples.frameworkfragment-0.9.9-SNAPSHOT-sources.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Sling User Manager UI sample
[INFO]    task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] artifact net.alchim31.maven:yuicompressor-maven-plugin: checking for updates from oss.sonatype.org
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/target>
[INFO] [enforcer:enforce {execution: enforce-java}]
[INFO] [remote-resources:process {execution: default}]
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 28 resources
[INFO] Copying 3 resources
[WARNING] DEPRECATED [tasks]: Use target instead
[INFO] [antrun:run {execution: default}]
[WARNING] Parameter tasks is deprecated, use target instead
[INFO] Executing tasks

main:
     [echo] **************** WARNING (SLING-443/SLING-1782) ******************************
     [echo] On most platforms, you'll get OutOfMemoryErrors when building unless you set
     [echo] on 32bit platforms: MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=256M", see SLING-443
     [echo] on 64bit platforms: MAVEN_OPTS="-Xmx512M -XX:MaxPermSize=512M", see SLING-1782
     [echo] ******************************************************************************
[INFO] Executed tasks
[INFO] [yuicompressor:compress {execution: default}]
[INFO] nothing to do, <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/src/main/resources/js/usermanager/usermanager.min.js> is younger than original, use 'force' option or clean your target
[INFO] nothing to do, <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/src/main/resources/css/usermanager/usermanager.min.css> is younger than original, use 'force' option or clean your target
[INFO] nothing to do, <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/src/main/resources/js/usermanager/usermanager.min.js> is younger than original, use 'force' option or clean your target
[INFO] nothing to do, <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/src/main/resources/css/usermanager/usermanager.min.css> is younger than original, use 'force' option or clean your target
[INFO] nb warnings: 0, nb errors: 0
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 1 source file to <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/target/classes>
[INFO] [scr:scr {execution: generate-scr-scrdescriptor}]
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/src/test/resources>
[INFO] Copying 3 resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/target/surefire-reports>

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
There are no tests to run.

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[JENKINS] Recording test results[INFO] [animal-sniffer:check {execution: default}]
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java15:1.0

[INFO] [bundle:bundle {execution: default-bundle}]
[INFO] Preparing source:jar
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/pom.xml> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling.samples$org.apache.sling.samples.usermanager.ui/builds/2012-03-30_03-13-43/archive/org.apache.sling.samples/org.apache.sling.samples.usermanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT.pom
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/target/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT.jar> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling.samples$org.apache.sling.samples.usermanager.ui/builds/2012-03-30_03-13-43/archive/org.apache.sling.samples/org.apache.sling.samples.usermanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT.jar
[INFO] [enforcer:enforce {execution: enforce-java}]
[INFO] [source:jar {execution: attach-sources}]
[INFO] META-INF already added, skipping
[INFO] META-INF/LICENSE already added, skipping
[INFO] META-INF/NOTICE already added, skipping
[INFO] META-INF/DEPENDENCIES already added, skipping
[INFO] Building jar: <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/target/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT-sources.jar>
[INFO] META-INF already added, skipping
[INFO] META-INF/LICENSE already added, skipping
[INFO] META-INF/NOTICE already added, skipping
[INFO] META-INF/DEPENDENCIES already added, skipping
[INFO] [ianal:verify-legal-files {execution: default}]
[INFO] Checking legal files in: org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT.jar
[INFO] Checking legal files in: org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT-sources.jar
[INFO] [install:install {execution: default-install}]
[INFO] Installing <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/target/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT.jar> to /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/sling/samples/org.apache.sling.samples.usermanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT.jar
[INFO] Installing <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/target/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT-sources.jar> to /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/sling/samples/org.apache.sling.samples.usermanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT-sources.jar
[INFO] [bundle:install {execution: default-install}]
[INFO] Local OBR update disabled (enable with -DobrRepository)
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/usermanager-ui/target/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT-sources.jar> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling.samples$org.apache.sling.samples.usermanager.ui/builds/2012-03-30_03-13-43/archive/org.apache.sling.samples/org.apache.sling.samples.usermanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.usermanager.ui-0.9-SNAPSHOT-sources.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Sling Access Manager UI sample
[INFO]    task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/target>
[INFO] [enforcer:enforce {execution: enforce-java}]
[INFO] [remote-resources:process {execution: default}]
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 14 resources
[INFO] Copying 3 resources
[WARNING] DEPRECATED [tasks]: Use target instead
[INFO] [antrun:run {execution: default}]
[WARNING] Parameter tasks is deprecated, use target instead
[INFO] Executing tasks

main:
     [echo] **************** WARNING (SLING-443/SLING-1782) ******************************
     [echo] On most platforms, you'll get OutOfMemoryErrors when building unless you set
     [echo] on 32bit platforms: MAVEN_OPTS="-Xmx256M -XX:MaxPermSize=256M", see SLING-443
     [echo] on 64bit platforms: MAVEN_OPTS="-Xmx512M -XX:MaxPermSize=512M", see SLING-1782
     [echo] ******************************************************************************
[INFO] Executed tasks
[INFO] [yuicompressor:compress {execution: default}]
[INFO] nothing to do, <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/src/main/resources/js/accessmanager/accessmanager.min.js> is younger than original, use 'force' option or clean your target
[INFO] nothing to do, <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/src/main/resources/css/accessmanager/accessmanager.min.css> is younger than original, use 'force' option or clean your target
[INFO] nothing to do, <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/src/main/resources/js/accessmanager/accessmanager.min.js> is younger than original, use 'force' option or clean your target
[INFO] nothing to do, <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/src/main/resources/css/accessmanager/accessmanager.min.css> is younger than original, use 'force' option or clean your target
[INFO] nb warnings: 0, nb errors: 0
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Nothing to compile - all classes are up to date
[INFO] [scr:scr {execution: generate-scr-scrdescriptor}]
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/src/test/resources>
[INFO] Copying 3 resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/target/surefire-reports>

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
There are no tests to run.

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[JENKINS] Recording test results[INFO] [animal-sniffer:check {execution: default}]
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java15:1.0

[INFO] [bundle:bundle {execution: default-bundle}]
[WARNING] Warning building bundle org.apache.sling.samples:org.apache.sling.samples.accessmanager.ui:bundle:0.9-SNAPSHOT : Did not find matching referal for *
[INFO] Preparing source:jar
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/pom.xml> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling.samples$org.apache.sling.samples.accessmanager.ui/builds/2012-03-30_03-13-43/archive/org.apache.sling.samples/org.apache.sling.samples.accessmanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT.pom
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/target/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT.jar> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling.samples$org.apache.sling.samples.accessmanager.ui/builds/2012-03-30_03-13-43/archive/org.apache.sling.samples/org.apache.sling.samples.accessmanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT.jar
[INFO] [enforcer:enforce {execution: enforce-java}]
[INFO] [source:jar {execution: attach-sources}]
[INFO] META-INF already added, skipping
[INFO] META-INF/LICENSE already added, skipping
[INFO] META-INF/NOTICE already added, skipping
[INFO] META-INF/DEPENDENCIES already added, skipping
[INFO] Building jar: <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/target/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT-sources.jar>
[INFO] META-INF already added, skipping
[INFO] META-INF/LICENSE already added, skipping
[INFO] META-INF/NOTICE already added, skipping
[INFO] META-INF/DEPENDENCIES already added, skipping
[INFO] [ianal:verify-legal-files {execution: default}]
[INFO] Checking legal files in: org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT.jar
[INFO] Checking legal files in: org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT-sources.jar
[INFO] [install:install {execution: default-install}]
[INFO] Installing <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/target/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT.jar> to /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/sling/samples/org.apache.sling.samples.accessmanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT.jar
[INFO] Installing <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/target/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT-sources.jar> to /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/sling/samples/org.apache.sling.samples.accessmanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT-sources.jar
[INFO] [bundle:install {execution: default-install}]
[INFO] Local OBR update disabled (enable with -DobrRepository)
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/accessmanager-ui/target/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT-sources.jar> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling.samples$org.apache.sling.samples.accessmanager.ui/builds/2012-03-30_03-13-43/archive/org.apache.sling.samples/org.apache.sling.samples.accessmanager.ui/0.9-SNAPSHOT/org.apache.sling.samples.accessmanager.ui-0.9-SNAPSHOT-sources.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Sling Samples (Builder)
[INFO]    task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
[INFO] [install:install {execution: default-install}]
[INFO] Installing <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/pom.xml> to /home/jenkins/jenkins-slave/maven-repositories/0/org/apache/sling/sling-samples-builder/2-SNAPSHOT/sling-samples-builder-2-SNAPSHOT.pom
[JENKINS] Archiving <https://builds.apache.org/job/sling-samples-1.5/ws/contrib-1.5/pom.xml> to /home/hudson/hudson/jobs/sling-samples-1.5/modules/org.apache.sling$sling-samples-builder/builds/2012-03-30_03-13-42/archive/org.apache.sling/sling-samples-builder/2-SNAPSHOT/sling-samples-builder-2-SNAPSHOT.pom
[INFO] 
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Apache Sling ESP blog sample .......................... SUCCESS [20.231s]
[INFO] Apache Sling Javashell sample ......................... SUCCESS [3.668s]
[INFO] Apache Sling Sample Path Based Resource Type Provider . SUCCESS [12.550s]
[INFO] Apache Sling Sample Post Servlet Extensions ........... SUCCESS [5.441s]
[INFO] Apache Sling Sample Application ....................... SUCCESS [8.255s]
[INFO] Apache Sling - Slingshot Demo ......................... SUCCESS [5.227s]
[INFO] Apache Sling Webloader Service ........................ SUCCESS [3.886s]
[INFO] Apache Sling Webloader User Interface ................. SUCCESS [3.669s]
[INFO] Apache Sling Sample Custom Login Form ................. SUCCESS [4.275s]
[INFO] Apache Sling Slingbucks - sample coffee store management application  SUCCESS [4.470s]
[INFO] Dependency Install Sample ............................. SUCCESS [3.199s]
[INFO] Apache Sling Sample Framework Fragment Bundle ......... SUCCESS [7.564s]
[INFO] Apache Sling User Manager UI sample ................... SUCCESS [5.916s]
[INFO] Apache Sling Access Manager UI sample ................. SUCCESS [3.523s]
[INFO] Apache Sling Samples (Builder) ........................ SUCCESS [1.059s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 minute 50 seconds
[INFO] Finished at: Fri Mar 30 03:16:02 UTC 2012
[INFO] Final Memory: 71M/106M
[INFO] ------------------------------------------------------------------------
channel stopped
[locks-and-latches] Releasing all the locks
[locks-and-latches] All the locks released
Maven RedeployPublished use remote ubuntu1 maven settings from : /home/jenkins/.m2/settings.xml
[INFO] Deployment in https://repository.apache.org/content/repositories/snapshots/ (id=,uniqueVersion=false)
Deploying the main artifact installing-dependencies-sample-0.0.1-SNAPSHOT.jar
ERROR: Error deploying artifact: Failed to transfer file: https://repository.apache.org/content/repositories/snapshots/org/apache/sling/installing-dependencies-sample/0.0.1-SNAPSHOT/installing-dependencies-sample-0.0.1-SNAPSHOT.jar. Return code is: 401, ReasonPhrase:Unauthorized.
org.apache.maven.artifact.deployer.ArtifactDeploymentException: Error deploying artifact: Failed to transfer file: https://repository.apache.org/content/repositories/snapshots/org/apache/sling/installing-dependencies-sample/0.0.1-SNAPSHOT/installing-dependencies-sample-0.0.1-SNAPSHOT.jar. Return code is: 401, ReasonPhrase:Unauthorized.
	at hudson.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:175)
	at hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:182)
	at hudson.maven.RedeployPublisher.perform(RedeployPublisher.java:176)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
	at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:703)
	at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:678)
	at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:998)
	at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:625)
	at hudson.model.Run.run(Run.java:1435)
	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:481)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:238)
Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer file: https://repository.apache.org/content/repositories/snapshots/org/apache/sling/installing-dependencies-sample/0.0.1-SNAPSHOT/installing-dependencies-sample-0.0.1-SNAPSHOT.jar. Return code is: 401, ReasonPhrase:Unauthorized.
	at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:562)
	at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:471)
	at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:451)
	at org.apache.maven.repository.legacy.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:543)
	at org.apache.maven.repository.legacy.DefaultWagonManager.putArtifact(DefaultWagonManager.java:494)
	at hudson.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:160)
	... 11 more
[INFO] Deployment failed after 1.4 sec
Build step 'Deploy artifacts to Maven repository' changed build result to FAILURE
