►
Description
Dheeraj Jodha and Mark Waite pair programming session to resolve upper bounds dependencies in a plugin while it is being adopted.
A
It
recording
started
so
this
is
mark
waite
and
dhiraj
singh
jorah
talking
on
january
17
2022
we're
going
to
do
a
pair
programming
session
on
parameterized
parameterized
trigger
plug-in.
A
A
B
Yes,
so
for
the
upstream
repo
of
this
plugin,
there
is
one
pr
that
I've
opened.
A
A
B
Yes,
I
think
we,
if
we
investigate
the
errors
in
this
pr.
That
would
be
great
because
that's
where
I'm
okay.
A
A
A
A
B
B
A
So
what
this
is
is
this
is
a
property
that's
passed
into,
or
that's
used
throughout
the
the
project
to
decide
what
version
specific
release
of
jenkins
the
bomb
is
actually
an
artifact.
A
A
Yes,
so
here
here
are
the
things
that
have
changed
in
the
palm
so
far
before
we
even
try
to
compile
it.
The
things
I
took
out
is
I
deleted
the
reference
to
subversion's
version,
number
may
or
may
not
work.
I
may
have
to
put
it
back,
I
deleted
promoted,
builds,
may
or
may
not
have.
To
put
it
back.
I
deleted
the
the
version
for
conditional,
build
stat
and
I
deleted
a
weightility,
and
I
updated
us
to
a
newer
version
of
the
palm.
The
of
the
of
the
jenkins
version.
A
Right,
that's!
The
idea
is
we're
going
to
lean
on
someone
else,
who's
already
doing
the
heavy
lifting
the
the
hard
work
so
that
we
don't
have
to
do
a
bunch
of
computing.
So
let's
try
to
compile
again.
I
expect
it's
going
to
fail,
but
let's
see
all
right,
so
it
fails
brutally
by
saying,
promoted,
builds
has
to
have
a
version
number.
A
A
A
A
A
B
A
So
so
now
the
question
is
okay:
what
will
solve
the
problem
and
the
web
page
mentioned
hey
if
you
put
a
reference
to
this
the
highest
numbered
version
of
these
of
this
thing,
it
should
solve
it
and
notice
that
it's
test
scoped,
oh
okay,
so
I
think
well,
so
I
think
what
we
could
try
is.
We
could
just
try
putting
a
dependency
on
it
now,
interesting
that
there's
a
mokkito
so
so,
looking
at
this
dhiraj,
I'm
a
little
surprised.
B
Exactly
there
are
some
things
mentioned
in
this
tree,
which
are
not
there
in
the
palm
extent,.
A
It's
interesting,
okay,
so
maquito.
So
what
makito
has
is.
It
depends
on
bite,
buddy
and
the
bite.
Buddy
uses
this
so
one
one
technique
that
we
could
use,
particularly
since
okay.
This
is
where
this
is.
Where
thinking
about
these
things
can
help
me.
So
maquito
is
one
of
the
things
involved.
Subversion
we've
declared
a
dependency
on
mokito
as
well
makiro.
We
didn't
declare
a
version
number
because
we're
relying
on
it
coming
from
jenkins,
either
jenkins
plug-in
bomb
or
from
jenkins
core.
A
A
B
So
you're
excluding
so
you
found
out
that
jna
platform
has
different
versions
and
one
of
them
is
5.8.0
and
it's
a
test
one.
So
you
want
to
avoid
this
dependency
mismatch.
So
that's
why
you're
excluding
this
one
from
the.
A
A
Right
that
was
that
was
just
me
thinking
aloud.
What
experiment
should
I
try?
I
don't
know
if
it's
going
to
work,
but
I
was
thinking
I'm
going
to
try
and
experiment.
Let's
see
if
I
could
just
exclude
it
and
if
that
would
solve,
if
that
would
get
rid
of
the
problem,
because
because
it's
a
testo
because
it's
a
test
dependency,
the
tests
will
either
pass
or
fail.
A
A
A
What
would
you
call
it?
A
java
unit
test
for
literate
assertions?
Okay,
so
that
that
worked
wow,
oh.
A
There
there
are,
and
those
errors
are
spot,
bugs
warnings,
okay,
so
we've
we've
got
more
work
to
do,
and
this
is
this
is
exactly
like
you
would
see
on
on
your
experience.
It's
okay.
All
I
wanted
to
do
was
update
the
parent
palm,
but
the
act
of
updating
the
parent
palm
required
some
other
things
in
order
to
allow
it
to
happen.
A
A
Right
well,
actually,
and-
and
I
I
described
it
incorrectly-
I
should
be
more
more
more
accurate
here.
I
suspect
the
reason
these
spot.
Bugs
messages
appeared
now
and
weren't
visible
before
is
we
changed
the
jenkins
minimum
version
so
instead
of
compiling
with
jenkins
2.263
we're
now
our
2.270
we're
now
using
2.289
right?
A
A
A
B
A
B
So
they've
updated
this
plugins
jenkins
version
in
their
local
copy
and
we're
doing
the
same
in
the
centralized
one.
A
A
A
A
A
A
B
So,
since
a
bazel
pro,
I
think
suggested
idea
to
automate
this
whole
process
into
and
wrap
it
into
a
software
tool
which
helps
us
to
improve
each
and
every
plugin
and
make
sure
that
they
follow
same
standard
in
the
whole
ecosystem
right.
B
A
I
thought
okay,
which
of
these
could
I
confidently
automate
and,
for
instance,
I
could
see
automating
update
parent
pom,
but
only
submit
the
pull
request.
If
a
local
build
succeeds
because
it's
pointless
to
update
the
parent
palm
only
to
give
them
a
failing
build.
But
if
the
build
fails,
then
I've
got
to
do
a
lot
of
investigation
to
understand.
Why
did
it
fail
and
what
else
do
I
need
to
propose.
A
A
Don't
know
so
you
could
you
should
be
able
to
reply
to
the
email
list
where
he
he
made.
The
suggestion
saying:
hey,
I'm
interested
in
this
and
I'd
like
to
have
a
further
conversation
about
it.
A
Okay,
so
our
build
our
tests
pass,
but
there
are
spot
bugs
issues,
so
we've
got
to
fix
those,
so
the
the
job
is
not
yet
complete.
So
let's,
let's
fix
those
okay,
so
we've
got
an
unused
public
or
protected
field
in
well.
Here,
let's
get
those
up
and
down.
A
A
A
A
A
So
I
mean
if
we
delete
it,
I
think
the
tests
that
use
those
config
xml
files
will
break
yes,
so
our
choices
are.
We
could
suppress
the
warning
because
it's
part
of
the
published
api
and
the
way
we
or
we
could
what
else
try.
We
could
do
all
sorts
of
heroic
code
things
in
order
to
be
able
to
delete
it
safely.
For
me,
I
think
it's
simplest
just
to
suppress
the
warning.
A
A
B
Yes,
so
this
this
variable
uf
your
news,
public
or
predicted
field.
So
is
this
like
an
id
for
this
or
it's
like
a
generic
thing.
A
A
Right
exactly
yeah,
so
spot
bugs
will
tell
us
hey,
it
has
told
us
there's
an
unused
public
field
and
it's
correct.
There
is-
and
this
is
the
its
identifier
for
the
message
it
gave
us
and
now
the
question
is:
what
do
we
do
with
it
and
I
think
our
choice
would
be:
let's
suppress
it
in
order
to
suppress
it.
I
need
to
find
out
how
to
import
this.
The
right
thing
for
suppress,
fb
warning
so
just
a
minute.
Let's
bring
back
our
web
browser
again
and
we're
going
to
search
for
spot
bugs
import.
A
A
B
B
A
A
B
B
A
A
A
This
long
name
that
inherits
from
this
short
name
and
you
can
predict
that
that
makes
it
very
difficult
to
decide
when
I
use
short
form
like
this
plug-in.
What
do
I
mean
exactly,
but
if
we
change
the
class
name,
we've
now
changed
the
published
api
and
broken
things.
So
we
can't
do
that
so
now
we
have
to.
A
B
A
A
A
B
B
A
A
B
No,
I
was
just
observing
that
we
don't
have
any
error.
So
yes,
so
we
don't
have
any
other
error
for
anything
else.
Right.
A
B
A
A
B
A
B
A
B
B
A
B
A
Yeah-
let's,
let's
have
that
so
I
think
I
think
we're
actually
almost
done
here.
I'm
going
to
go
ahead
and
let's
let
this
finish,
I'm
going
to
turn
off
the
recording
and
while
we're
waiting,
we
can
just
we
can
have
our
conversation.