Sorry, seems my previous message missed the copy pasted content ! Here it is:
pipeline {
agent { node { label paramsMap.agentParam } }// the build will
only run on nodes (ie slaves) indicated
environment {
// To prevent simultaneous job working in the same Mave
Hi everyone,
I've encountered the following behavior and I'm not quite sure whether it
is desirable.
In my project, I have declared a dependency *X* with scope *test*. I then
updated the version of a 3rd party dependency *Y*. In its new version, *Y*
suddenly requires the aforementioned dependency
Did you declare that Y depends on X at all (via Y's pom.xml) or did it
figure that out on its own (via transitive dependencies)?
Test scope means it's for testing that one project, thus it's not
transitive, e.g. I don't need JUnit for my tests just because
SomeAwesomeProject uses JUnit for its tes
There was one more email with the same problem.
We are talking about this problem, global repo:
'$COMPANY_JENKINS_HOME.m2/repository/executor_$EXECUTOR_NUMBER'
Our build creates pwd() + "/.m2" in the job, and the scm checkouts git repo
to "./build" directory.
No issue then!
The Jenkinsfile should
In my case, the pom of Y explicitly declares X with scope compile. The
dependency tree should look something like this:
MyProject <- this is a standalone application, that will not be depended on
by s/o else
|- X:test
|- Y:compile
\- X:compile
So for MyProject, X is explicitly declared test bu
There might be a rule in the enforcer plugin (I haven't checked). If one
really wanted to change the dependency scope, he could add an exclusion in
the Y dependency to break the transitivity.
Fwiw, whenever you change your dependencies, it's a good idea to run mvn
dependency:tree and look at the o