[ 
https://issues.jenkins-ci.org/browse/JENKINS-13917?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Camden Holt updated JENKINS-13917:
----------------------------------

    Description: 
We have a job using an Ant script to perform the build.  One of the targets in 
this script generates instrumented classes to enable us to generate a Cobertura 
coverage report.

As part of our set of standard libraries, we include various jars from the 
slf4j suite.  When we enable the Artifactory plugin for this job, the Cobertura 
Ant target fails, because of an incompatible set of jars being used.  The 
snippet of output below is generated with verbose logging from the VM:

12:19:40  cobertura-instrumented-src-classes:
12:19:40  [Loaded net.sourceforge.cobertura.ant.CommonMatchingTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.InstrumentTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.MergeTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.CheckTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.ReportTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.Ignore from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.IgnoreBranches from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.IncludeClasses from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.ExcludeClasses from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded org.apache.tools.ant.taskdefs.ImportTask from 
file:/opt/apache-ant-1.8.1/lib/ant.jar]
12:19:40  [Loaded net.sourceforge.cobertura.util.CommandLineBuilder from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded org.apache.log4j.Category from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/log4j-over-slf4j-1.6.4.jar]
12:19:40  [Loaded org.apache.log4j.Logger from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/log4j-over-slf4j-1.6.4.jar]
* 12:19:40  [Loaded org.slf4j.MarkerFactory from 
file:/opt/jenkins/plugins/artifactory/WEB-INF/lib/slf4j-api-1.5.8.jar]
12:19:40  [Loaded org.apache.tools.ant.util.DateUtils from 
file:/opt/apache-ant-1.8.1/lib/ant.jar]

The line prefixed with * shows the problem; the slf4j-api-1.5.8.jar is being 
loaded from the artifactory plugin directory. This is an older version than 
that supplied with our project which is 1.6.4 - and this is causing a problem 
when the compilation step occurs.
 When we run this from the command line using ant directly we can see that the 
correct jar from within our project is loaded.

I'm afraid I don't understand fully how the addition of plugins affects the 
build environment technically, but I assume that the Artifactory plugin has 
been able to modify the environment/build path somehow to ensure that it's 
available at the appropriate time. Unfortunately this seems to cause problems 
if newer libraries are needed elsewhere.

We can work around this by using the Ant/Ivy/Artifactory integration from the 
build script directly, but it would be good to be able to do this from Jenkins 
and simplify our scripts.

  was:
We have a job using an Ant script to perform the build.  One of the targets in 
this script generates instrumented classes to enable us to generate a Cobertura 
coverage report.

As part of our set of standard libraries, we include various jars from the 
slf4j suite.  When we enable the Artifactory plugin for this job, the Cobertura 
Ant target fails, because of an incompatible set of jars being used.  The 
snippet of output below is generated with verbose logging from the VM:

12:19:40  cobertura-instrumented-src-classes:
12:19:40  [Loaded net.sourceforge.cobertura.ant.CommonMatchingTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.InstrumentTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.MergeTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.CheckTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.ReportTask from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.Ignore from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.IgnoreBranches from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.IncludeClasses from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded net.sourceforge.cobertura.ant.ExcludeClasses from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded org.apache.tools.ant.taskdefs.ImportTask from 
file:/opt/apache-ant-1.8.1/lib/ant.jar]
12:19:40  [Loaded net.sourceforge.cobertura.util.CommandLineBuilder from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
12:19:40  [Loaded org.apache.log4j.Category from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/log4j-over-slf4j-1.6.4.jar]
12:19:40  [Loaded org.apache.log4j.Logger from 
file:/opt/jenkins/jobs/data-processing/workspace/test-lib/log4j-over-slf4j-1.6.4.jar]
** 12:19:40  [Loaded org.slf4j.MarkerFactory from 
file:/opt/jenkins/plugins/artifactory/WEB-INF/lib/slf4j-api-1.5.8.jar]
12:19:40  [Loaded org.apache.tools.ant.util.DateUtils from 
file:/opt/apache-ant-1.8.1/lib/ant.jar]

The line prefixed with ** shows the problem; the slf4j-api-1.5.8.jar is being 
loaded from the artifactory plugin directory. This is an older version than 
that supplied with our project which is 1.6.4 - and this is causing a problem 
when the compilation step occurs.
 When we run this from the command line using ant directly we can see that the 
correct jar from within our project is loaded.

I'm afraid I don't understand fully how the addition of plugins affects the 
build environment technically, but I assume that the Artifactory plugin has 
been able to modify the environment/build path somehow to ensure that it's 
available at the appropriate time. Unfortunately this seems to cause problems 
if newer libraries are needed elsewhere.

We can work around this by using the Ant/Ivy/Artifactory integration from the 
build script directly, but it would be good to be able to do this from Jenkins 
and simplify our scripts.

    
> Artifactory plugin libraries affecting the path used during an Ant build
> ------------------------------------------------------------------------
>
>                 Key: JENKINS-13917
>                 URL: https://issues.jenkins-ci.org/browse/JENKINS-13917
>             Project: Jenkins
>          Issue Type: Bug
>          Components: artifactory
>    Affects Versions: current
>         Environment: Linux (CentOS 6)
>            Reporter: Camden Holt
>            Assignee: yossis
>
> We have a job using an Ant script to perform the build.  One of the targets 
> in this script generates instrumented classes to enable us to generate a 
> Cobertura coverage report.
> As part of our set of standard libraries, we include various jars from the 
> slf4j suite.  When we enable the Artifactory plugin for this job, the 
> Cobertura Ant target fails, because of an incompatible set of jars being 
> used.  The snippet of output below is generated with verbose logging from the 
> VM:
> 12:19:40  cobertura-instrumented-src-classes:
> 12:19:40  [Loaded net.sourceforge.cobertura.ant.CommonMatchingTask from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded net.sourceforge.cobertura.ant.InstrumentTask from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded net.sourceforge.cobertura.ant.MergeTask from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded net.sourceforge.cobertura.ant.CheckTask from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded net.sourceforge.cobertura.ant.ReportTask from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded net.sourceforge.cobertura.ant.Ignore from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded net.sourceforge.cobertura.ant.IgnoreBranches from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded net.sourceforge.cobertura.ant.IncludeClasses from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded net.sourceforge.cobertura.ant.ExcludeClasses from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded org.apache.tools.ant.taskdefs.ImportTask from 
> file:/opt/apache-ant-1.8.1/lib/ant.jar]
> 12:19:40  [Loaded net.sourceforge.cobertura.util.CommandLineBuilder from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/cobertura-1.9.4.1.jar]
> 12:19:40  [Loaded org.apache.log4j.Category from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/log4j-over-slf4j-1.6.4.jar]
> 12:19:40  [Loaded org.apache.log4j.Logger from 
> file:/opt/jenkins/jobs/data-processing/workspace/test-lib/log4j-over-slf4j-1.6.4.jar]
> * 12:19:40  [Loaded org.slf4j.MarkerFactory from 
> file:/opt/jenkins/plugins/artifactory/WEB-INF/lib/slf4j-api-1.5.8.jar]
> 12:19:40  [Loaded org.apache.tools.ant.util.DateUtils from 
> file:/opt/apache-ant-1.8.1/lib/ant.jar]
> The line prefixed with * shows the problem; the slf4j-api-1.5.8.jar is being 
> loaded from the artifactory plugin directory. This is an older version than 
> that supplied with our project which is 1.6.4 - and this is causing a problem 
> when the compilation step occurs.
>  When we run this from the command line using ant directly we can see that 
> the correct jar from within our project is loaded.
> I'm afraid I don't understand fully how the addition of plugins affects the 
> build environment technically, but I assume that the Artifactory plugin has 
> been able to modify the environment/build path somehow to ensure that it's 
> available at the appropriate time. Unfortunately this seems to cause problems 
> if newer libraries are needed elsewhere.
> We can work around this by using the Ant/Ivy/Artifactory integration from the 
> build script directly, but it would be good to be able to do this from 
> Jenkins and simplify our scripts.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to