-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Jenkins 1.397 master and slaves
Linux Debian/Ubuntu
Whereas setting environment variable in Jenkins configuration, nor in slave/node configuration, it seems unavailable to Maven:
ANDROID_HOME=/opt/build/tools/android/
The sample configuration (attached file) requires Android SDK to succeed, but even without it, you should be able to encounter the following issue:
Parsing POMs
ERROR: Failed to parse POMs
hudson.util.IOException2: remote file operation failed: /home/hudsonslave/tmp/workspace/android-5.4 at hudson.remoting.Channel@71211a9c:thorin
at hudson.FilePath.act(FilePath.java:752)
at hudson.FilePath.act(FilePath.java:738)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:698)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:531)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:420)
at hudson.model.Run.run(Run.java:1362)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:405)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:145)
Caused by: hudson.remoting.ProxyException: hudson.maven.MavenModuleSetBuild$MavenExecutionException: org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[ERROR] 'dependencies.dependency.systemPath' for com.google.android:android-sdk-nx:jar must specify an absolute path but is ${env.ANDROID_HOME}/platforms/android-8/android.jar @ line 23, column 19
I tried to set ANDROID_HOME from different places, the only working workaround is to use Parameterized Build plugin.
When locally building that project on my computer, "export ANDROID_HOME=/path/to/..." is enough.
I also encountered that issue with freestyle projects where the fix was to set the export at the beginning of the Shell command.