►
Description
Regular Google Summer of Code meeting with a Q&A by students. Agenda and meeting notes: https://docs.google.com/document/d/1H0gJt1zdr37YDpuSLXSeFqYco_a_CIrAuZ1f0Oyl4XE/edit?usp=sharing
A
Welcome
everyone
to
google
summer
of
code
office
hours,
it's
the
24th
of
march,
thanks
for
being
here.
Yes,
reminder:
let's
behave
according
to
the
jenkins
code
of
conduct,
be
nice
to
each
other
sagar.
I
believe
you
had
a
question
or
you
had.
You
wanted
to
share
with
us
some
progress
you've
made
on
your
proposal
so
and
we've
got
gareth
on
the
line
who
may
be
able
to
help
and
guide.
B
Yeah,
so
I
made
a
proposal
for
the
cloud
events
plugin
for
jenkins
and
basically
in
that
plugin
there
are
mainly
two
modules:
the
ammeter
and
the
listener.
One
and-
and
I
made
up,
I
made
the
proposal
the
for
the
first
module
with
by
looking
into
the
first
I
looked
in
the
source
code
of
the
statics
gathered
plugin,
and
I
made
it
with
respect
to
that,
because
our
plugin
is
mostly
like
that.
So
I
shared
my
google
doc
in
the
chat
link.
Maybe
you
can
look
at
look
at
it
yeah.
A
Excellent,
thank
you
so
and
that's
that's
a
that's
a
good
behavior
that
we
want
to
reinforce
the
sooner
we
get
publicly
shared
project
proposals,
the
more
effective
we
can
be
as
reviewers
of
those
project
proposals
to
help
guide.
You
and
others
can
look
at
them
and
say:
yes,
that's
how
a
good
project
proposal
works
or
look
here's
what
the
feedback
was
from
the
reviewers
on
that
project
proposal
very
good.
C
Regarding
that
proposal,
hello,
everyone,
hello,
like
I'm,
working
on
the
plugin
like
plugin
tool,
the
plugin
manager
tool,
improvement,
that
project
idea.
So
on
that
idea
like
there
are
various
issues
which
are
mentioned
like
which
are
labeled,
as
enhancement
on
the
issue
like
github
issue
tracker.
So
like
I'm
sorry,
if
not
mark,
can
you
like
give
me
some
idea
like
how
many
issues
should
I
target
for
this
g-stock
like
this
year?
A
C
A
I
think
that's
that's
up
to
you,
explore
them
see
what
what
you
think
it
might
take
you're
the
best
estimator
of
what
you
think
you
should
put
into
the
project
proposal
and
plug-in
installation
manager
is
a
particularly
interesting
one
because
it
is
increasing
use
in
the
docker
images,
we're
using
it
more
and
more.
In
fact,
we've
got
a
pull
request
right
now,
proposing
to
completely
replace
the
the
old
way.
D
C
Okay
like,
but
can
you
just
still
give
me
an
idle
number
like
what
would
you
suggest,
because
I
because,
like
I
feel,
if
I
give
a
very
less
number
like
just
two
or
three
issues,
which
I
feel
that
I
can
solve
then,
like?
I
don't
I
any
expectations
which
the
community
has
or
my
daughters
have
anything
like
that.
I.
A
Actually,
no
and
let
me
I've
got
rishabh
on
the
on
the
call,
so
so
this
is
a
great
excuse
to
explain
why
there
isn't
an
expectation.
So
rishabh
last
year
worked
on
one
issue
right,
one
issue:
it
was
improve
the
performance
of
the
git
plug-in
that
was
one
and
that
one
issue
took
full-time
for
four
months.
Wasn't
it
rishabh?
I
mean
we.
A
He
spent
months
on
that
one
issue.
So
so,
if
it's
one
and
it's
a
big
one,
that's
perfectly
fine,
if
it's
several
small,
that's
also,
okay,
so
and
and
the
other
is
google
summer
of
code-
allows
that
we
can
adapt
and
refine
as
we
go
through
it
so
again
to
reshave
as
the
example
last
year
we
discovered
roughly
halfway
through
that
we
had
not
done
nearly
a
good
enough
job
of
describing
things
at
the
beginning
and
rishabh
had
to
do
a
bunch
of
research
right.
A
He
had
to
do
creative,
very,
very
challenging
question
answering
and
he
did
very
well
at
it,
but
it's
there
is
some
flexibility
there
better
for
you,
the
more
you
do
in
advance,
and
that
was
another
thing
we
learned
with
rishabh
right
is
better
that
we
do
more
things
in
advance
during
this
preparation
phase.
But
but
a
few
is
is
okay.
If
they're
given
plug-in
installation
managers
relative
relatively
new
state,
I
would
make
a
guess
that
you
could
do
three
or
four,
because
you'll
find
some
of
them
will
be
easy.
Some
of
them
will
be.
C
A
A
I
think
that's
a
that's
a
good
way,
showing
in
your
project
plan
that
you
have
looked
at
the
issues,
thought
about
them
and
considered,
which
ones
you
should
do,
in
which
sequence
is
a
good
as
a
good
indicator.
Oh
I've
thought
about
this,
and
I
would
do
this
one
first,
because
it
looks
a
little
easier.
I
would
do
this
one
next,
because
I
would
have
developed
more
skills
and
be
able
to
work
on
it.
Next.
C
E
C
Thank
you.
Thank
you
so
much
I
I
just
wanted
to
add
one
thing
to
what
mark
said
and
correct
me
if
I'm
wrong
mark
here
that,
if
you
see
let's
say
10
issues
for
a
particular
project,
the
priority
should
be
done
on
the
basis
of
the
community
value
which
you
will
provide
by
solving
any
of
these
issues.
C
So
if
you
understand
the
plug-in
well,
I
am
assuming
that
you
will
be
able
to
understand
that
if
you
fix
a
certain
issue,
you
will
be
able
to
give
a
certain
amount
of
value
to
the
community
which
who
is
using
it.
So
that
is
how
you
should
prioritize
your
issues,
and
that
is
how
you
should
I
think,
plan
your
proposal
like
for
my
project.
Thank
you.
C
It
was
very
clear
that
we
had
one
problem
which,
if
we
are
able
to
solve
correctly,
we
will
be
able
to
give
like,
like
huge
benefits
to
the
users
that
was
dependent
on
our
project,
of
course,
but
that
was
clear
from
the
beginning:
yeah,
yes,
yeah,
actually
right.
So
actually
it's
a
very
good
point
to
like
look
up
to
for
the
issues
which,
whichever
impacts
the
community.
Most,
I
should
go
for
those
first.
Thank
you.
Thank
you.
So
much
for
the.
B
I
have
a
question,
but
that's
regarding
related
code,
so
is
it
fine
or
so?
Is
it
fine
to
ask
here
I
mean
it's
more
like
of
a
coding
question.
Okay,
so.
B
So
I
have
a
question
regarding:
in
the
statics
gathering
plugin,
there
is
one
class
named
property
loader
which
acts
so,
which
is
actually,
I
guess,
get
the
whatever.
The
endpoints
is
being
saved
by
the
user
from
where
to
send
all
those
all
those
statics
is
being
sent.
So
how,
where
all
that
data
is
being
saved
by
the
jenkins,
maybe
I
didn't
explain
it
very
well,
but
I
can
share
that
particular
class
on
the
gate.
H
I
presume
it's
down
to
sort
of
it's
like
global
plug-in
configuration,
isn't
it
but
we're
emitting
events,
because
we
need
to
have
an
end
point.
I
presume-
and
I
don't
know
whether
it's
just
a
simple
web
hook
endpoint.
I
don't
know
whether
we
need
to
do
any
signing
of
events
to
make
sure
they're
not
manipulated,
and
I
don't
know
whether
there's
any
pls
configuration
we
would
need
to
do
to
sort
of
say
we
need
to
verify
or
not.
H
A
F
H
See
anything
on
it
as
you
can
see.
Well,
it
looks
like
it's
yeah
there's
the
re
loads
from
the
resource
bundle
which
have
sort
of
defaults,
and
then
there
are
system,
properties
and
environment
variable
overrides
for
each
of
those
things.
So
I
think
it's
like
a
helper
class
stuff.
H
You
get
that
sort
of
hierarchy
of
resource,
different
property,
environment
variables.
I
don't
know,
I'm
not
sure
whether
which
way
around
they
are
but
yeah.
B
So
it's
kind
of
happening
helper
class
for
getting
the
data
which
is
being
saved
by
the
user.
Is
it
in
the
global
in
the
video
which
are
basically
endpoints,
which
is
being
set
as
a
global
yeah
global
configuration
for
that
about
it?
Yeah,
okay,
yeah,
because
while
designing
the
high
level
of
that
particular
module,
I
just
saw
this
like
it
is
being
used
by
so
many
places
just
to
get
the
endpoint,
which
is
being
saved
by
the
user.
For.
H
So
it's
like,
if
I'm
looking
at
sort
of
one
of
the
values-
I
don't
know,
aws
region.
For
instance,
it
tries
to
load
it
from
the
configuration
which,
if
it's
set,
that
it
returns
that
otherwise
it
tries
to
get
it
from
an
environment
variable
which
is
an
environment
property,
but
I
think
environment
property
could
be
a
system,
property
or
a
environment
variable
or
even
a
something
in
the
resource,
bundle
there's
a
hierarchy
in
there.
H
H
And
presumably
because
it's
looking
at
the
actual
system
configuration
first
anything
that
you've
stepped
in
there
is
going
to
override
it.
But
I
suppose
it's
there
to
give
you
kind
of
sensible
defaults
for
all
of
the
values
that
you'll
need,
which
sounds
good.
Although,
like
I
don't
know
how
you
would
do
that
for
a
webhook
url,
because
we
have
no
way
of
guessing
what
a
sensible
default
for
that
would
be.
B
And
what's
the
purpose,
there
is
one
class
which
is
also,
which
is
exactly
log
back
low
pack?
Is
it
is
that
term?
Is
that
is
familiar
with
jenkins,
while
making
any
plug-in
is
it
low
back,
particularly
which
is
also
been
used.
H
Yeah
logback
is
a
logging
framework,
but
I
know
that
you
can
use
logback
to
send
blog
event,
log
messages
to
a
http
endpoint.
So
I'm
wondering
whether
that's
if
that's
what
it
is,
I
think
it's
think
of
it.
It's
just
configuration
properties,
it's
kind
of
a
way
of
abstracting.
B
Yes,
okay,
gareth,
just
this
just
specific
in
property
loader.java,
I
just
wanna,
know
the
functionality
of
get
build,
set,
get
build
step
endpoint
I
mean
that
function.
What
what
exactly
that
actually
doing?
I'm
just
I'm
unable
to
understand
it.
Exactly
there's
a
one
function
on
line
number
one,
one
five
get
build
step
end
point.
Maybe
that's
enough
for
me
for
that
class
to
understand
what
is
it
doing.
H
Yeah,
so
it's
it's
loading,
it's
doing
that
static
statistics
configuration.get,
which
is
a
way
of
kind
of
like
loading,
that
global
configuration
class,
yeah
and
that
will
be
based
on
the
you
know,
jenkins
of
xml
files
that
it
stores
on
the
disk
and
then
from
that
it's
calling
a
property.
You
know
get
built
step
url,
so
that's
the
particular
property
that
it's
getting
now.
H
If
that
has
been
set,
it's
going
to
return
that
if
it's
not
been
set,
it's
going
to
go
into
that
get
environment
property
function
and
that
their
environment
property
function
basically
call
if
they
calls
to
get
instance,
get
property
and
they
get
property
and
look
at
it
looks
at
environment
variables.
First,
I
think,
then
it's
resource
bundles
next.
A
B
A
H
H
H
I
mean
there's
obviously
that
statistics
configuration
class
you'll
want
your
own
version
of
that
and
that
will
need
to
work
with
or
you
will
want
that
to
work
with
jks
as
well.
So
there
are
particular
guidelines
for
making
sure
that
that
global
configuration
ends
up
in
or
is
compatible
with
the
configuration
as
code.
G
H
One
other
thing
I
would
recommend
is
to
make
this
when
you
think
you've
got
enough
for
like
a
first
release
or
not
even
not
a
version,
one
release,
but
like
it's,
it's
enough
to
be
throwing
out
on
a
jenkins
server
and
you
wanted
to
you
want
to
start
giving
that
a
go.
H
If
you
I'm
happy,
if
you
want
to
reach
out-
and
we
can-
I
can
show
you
the
jet
229
stuff
that
we're
doing
on
the
tekton
client
plug-in,
where
every
every
interesting
merge
to
master
creates
a
new
release
automatically
and
that
release
is
uploaded
and
it
happens
directly
from
github.
So
it's
quite
it's
quite
nice.
A
I
like
that,
that's
that's
a
very
good
idea,
so
so
just
to
reinforce
what
gareth
was
saying.
We
now
have
a
facility
that
is
being
more
actively
used
in
the
jenkins
project,
where
you
can
allow
automatic
release
of
next
version
of
your
plugin
next
version
of
your
component,
just
by
either
using
a
specific
label
on
the
on
the
commit
on
the
pull
request
that
you
merged,
or,
if
I
remember
correctly,
is
it
also
tag
dependent?
I
know
labels
will
do
it.
All
I
have
to
do
is
do
a
label.
H
It's
part
of
release,
drafters
notion
of
an
interesting
category,
so
anything
that's
marked
as
a
bug
or
an
enhancement
or
a
feature,
or
something
like
that
will
automatically
get
a
release
created
when
that
feature
is
when
that
pull
request
is
merged,
and
the
reason
that's
done
is
so
that
there's
there's
not
a
large
amount
of
churn
when
it
comes
to
things
like
dependency
updates
or
documentation,
updates,
or
things
like
that.
F
A
That
one
so
I'm
I
am
one
of
the
fortunate
users
of
that
particular
thing.
I've
converted
one
of
the
plugins
that
I
maintained
to
use
jet
22
229
and
have
been
delighted
with
the
results.
I
make
a
change
that
is
irrelevant
and
it
doesn't
release
it
because
I
labeled
it
appropriately.
When
I
want
to
release
it,
I
just
label
it
and
it
releases.
It's.
I
didn't
have
to
do
anything
more
than
merge
the
pull.
E
E
And
it's
actually
a
very
important
part
of
the
current
linux
community
discussions,
because
software
delivery
pipelines
become
a
really
important
topic
this
month
after
the
solar,
winds,
hacks
and
previous
hugs
before
so.
In
the
case
of
jenkins
project,
we
also
want
to
have
a
rock
solid
delivery
pipeline
and
there
are
some
opportunities
for
improvement.
A
E
I
have
a
question
so
what
if
we
repeat
the
today's
session,
maybe
as
jenkins
online
meetup
early
next
week,
I've
been
doing
a
session
at
a
spring
of
code
for
presenting
jenkins
and
contributing
to
jenkins,
so
maybe
repeat
the
same
one
as
jenkins
online
meet
up
without
much
additional
effort.
A
I
like
that,
so
so
your
the
concept
would
be.
We
host
a
a
jenkins
online
meetup.
I
assume
we
would
want
to
do
it
earlier
hours.
So
roughly
the
time
when
we
we
did
the
the
code
for
cause
session
earlier,
so
do
it
earlier
earlier
hours
and
invite.
How
would
you
envision
that
invite
panelists,
who
are
mentors
or
analysts.
E
A
Oh,
that
would
be
fun
so
gareth.
I
guess
this
is
a
question
to
you,
then,
as
a
mentor,
would
you
be
willing
to
present
something
on
a
potential
you're,
a
potential
mentor
for
techton
client?
I
believe
you
may
also
be
a
potential
mentor
for
cloud
events.
Would
you
be
willing
to
present
oleg?
Are
you
envisioning,
like
five
minutes
for
two
or
three
minutes
30
seconds?
How
much
time
do
I
have
to
present
the
get
credentials
thing,
for
instance?
E
Yes,
because
for
those
students
who
have
already
reached
out
to
the
project
and
for
working
on
project
ideas
who
are
reaching
out
to
music
and
potential
mentors
for
you
well,
this
session
might
be
informative.
But
I
don't
think
that
will
be
a
bit
informative
rather
for
students
who
start
late
because
historically,
what
we
have
there
is.
There
are
a
few
dozens
of
students
who
reach
out
earlier
and
there
are
also
up
to
100
students
reaching
out
in
the
last
two
weeks
from
what
I
can
tell.
G
A
E
So
it
depends
because
you
know
the
schedules
are
crazy
for
everyone,
so
usually
we
are
targeting,
even
in
asian
and
pacific
region,
because
yeah
there
is
still
study
at
this
time
so
that
we
were
targeting
evenings
but
yeah.
Now
with
cover
situation,
it
looks
like
everyone
in
the
studies
works
full
time,
except
ones
who
have
babies.
C
C
E
Installation
manager,
it
actually
serves
multiple
purposes,
so,
firstly,
you
can
upgrade
plugins,
but
also
there
is,
for
example,
command
to
check
for
upgrades
just
list
available
updates,
for
example,
to
print
help,
etc
and
historically,
when
these
tli
interfaces
include
multiple
actions,
they
tend
to
be
over
complicated
and
actually
plug-in.
Installation
manager
is
a
good
example
of
that.
Just
second,
I
can
show
it
to
you
well,
just
to
close
a
few
windows.
E
Yes,
okay,
so
we
go
to
the
plugin
installation
manager
code
base
and
currently,
if
you
go
to
plugin
manager
cli,
you
can
find
that
yeah.
There
is
layer
options
class
and
here
you
can
find
a
bunch
of
different
options,
so
some
options
conflict
with
each
other,
some
options
applicable
only
for
particular
use
case,
for
example,
no
download
it's
basically
the
flag
which
converts
installation
to
dry
run
when
you
don't
install
updates
or,
for
example,
there
are
additional
flags
etc.
So
what
could
be
done?
Instead?
C
So,
like
it's
not
yet
implemented,
and
that
issue
pertains
to
that
like
we,
you
want,
like
the
command
community,
wants
to
implement
that,
like
more
than
one
commands
being
able
to
run
that.
E
E
That
yeah
this
one
so
here
for
example,
what
you
can
see.
D
E
Yeah,
apart
from
documentation
of
things,
so
you
can
see
the
test
with
one
interface
to
multiple
sub
commands
like
run
cli
list,
plugins
generate
completion,
etc.
So
it's
also
embedded
into
cli
and
here,
for
example,
what
I
was
able
to
do
so
I
had
one
mega
class
usual
configurations.
I
was
able
to
split
multiple
ones.
So
basically,
there
is
a
better
encapsulation
now
and
you
can
find
interfaces
password
properly
through
the
code
and
then
basically,
the
first
world
changes
significantly.
E
So,
for
example,
here
there
is
a
generic
junkies
launcher
command
it's
command,
which
takes
the
jenkins
launcher
options,
so
you
can
see
that
the
abstract
class.
So
basically
I
defined
a
group
of
options
and
then
every
command
which
launches
a
real
jenkins
instance
within
jinx
file.
Runner.
It
just
extends
this
class,
and
then
it
basically
gets
all
these
parameters,
so
here,
for
example,
run
cli
command.
So
basically
it's
command,
which
runs
command
line
interface.
Where
you
can
interact
with
strings
for
granted.
E
You
can
see
that
basically
just
up
last
to
be
triggered,
but
all
parameters
are
taken
from
upstream.
There
is
another
jenkins
launcher
command
which
basically
takes
the
junk
storage
parameter,
and
it
also
takes
the
pipeline
run
options
because
it
needs
to
run
pipeline
and
again
separate
fastest.
Etcetera
report
is
much
more
readable
and
maintainable.
G
C
Yeah,
like
I,
actually
I
don't
understand
much
about
jenkins
file
render,
but
I
understand
what
you're
trying
to
say,
like
you
created
something:
some
abstract
classes
and
then
you're
extending
that
class
into
different
files
and
creating
different
options
for
them.
So
it
makes
sure
include
temporary.
E
A
A
Easily
so
so
oleg
one
of
the
things
that
that
I
had
not
considered
that
I
think
you
were
just
describing
is
that
what
are
many,
many
very
small
fine-grained
detail
options
today
in
in
the
plug-in
installation
manager
tool
would
be
presented
to
the
user
better
as
higher
level
concepts
like
download
or
upgrade.
Could
you
describe
some
of
those
higher
level
concepts
again?
It
was
I
I'm
not
sure
I
got
them
all.
E
So,
for
example,
it's
tau
plugins,
so
it's
basically
the
current
behavior
when
you
pass
against
it,
it
installs
the
plugins,
you
request.
Also,
you
can
just
ask
it
to
show
upgrades.
So,
for
example,
it
shows
you
available
updates
for
your
plugin
sticks.
The
related
security
issues
is
what
we
already
support
on
this
plugin
installation
management
json,
but
also,
you
can
add
a
month
which
actually
purchase
your
plugins
txt
without
downloading
files
or
you
can
add,
a
command
which
verifies
that
the
current
plugin
versions
are
compatible
with
the
desired
jenkins
code.
E
So
there
is
a
lot
of
different
opportunities
for
these
skeletons
to
extend,
but
we
are
currently
better
maintainable
because
in
addition
to
this
few
hundred,
but
fifty
one
parameters,
actually
there
is
a
lot
of
we
need
to
go
through
in
order
to
pass
them
within
the
system,
because
we
need
to
convert
these
parameters
to
just
faster
than
between
different
invocation
layers.
And,
finally,
every
quest
which
has
additional
options
becomes
a
kind
of
pain.
E
So,
for
example,
we
know
that,
for
example,
plugin
installation
management
version
doesn't
support
process
techniques
now,
and
it
would
require
several
additional
parameters:
okay,
so
here
at
support
for
jenkins
version
agreement.
E
E
E
That
is
because
I
need
to
convert
parameter
to
the
right
format
and
then,
if
you
scroll
down,
you
can
see
that
the
results
configuration
file
in
the
library
which
also
includes
question
number,
which
you
particularly
constructed
and
really
extracted
through
getter,
so
that
somewhere
inside
the
code
inside
beginning
administration
implementation,
it
finally
gets
this
version
under
something.
E
So
all
this
chain
of
various
code
yeah,
you
can
get
a
lot
of
code
lines,
but
actually
it's
the
waste
of
time.
If
you
have
proper
interfaces
and
if
you
can
pass
through
them
within
the
system
so
by
using
proper
xli
interface,
you
could
perfectly
achieve
that
easily.
C
So
because
cli
like
comes
in
to
help
like
I,
have
not
used
or
developed
anything
in
pico
cli
at
the
moment,
so
I
don't
know
much
about
that,
but
it
will
come
like
it
provides
apis
to
just
implement
that
to
get
a
higher
level.
E
A
quite
old
library
created
by
costly
care
when
he
was
working
on
hudson
and
other
projects
and
well,
this
lab
is
totally
relevant.
It
can
be
used,
but
at
the
same
time,
yeah
there
are
more
libraries.
For
example.
Pkcli
has
a
lot
of
advantages
because,
for
example,
it's
natively
integrated
with
framework,
so
you
can
achieve
much
better
performance
in
cognitive
applications
with
that
it
also
has
more
modern
interfaces,
etc.
E
E
Is
still
totally
relevant,
it's
also
other
moments,
library,
it
has
its
own
issues.
For
example,
arts4g
doesn't
verify
duplicate
parameters
and
well
sometimes
we
had
issues
with
that,
but
yeah.
C
Okay,
like
I'll,
go
into
more
details
of
how
I
can
use,
because
here
life
already
earlier,
showing
that
pr
there
you
mentioned
one
like
I.
I
have
also
messaged
this
to
you
in
getter,
but
I
think
there
was
one
line
which
you
said
using
version
number
library
I
mean
this
is
not
much
related
with
the
issue
as
such,
but
it
is
edited
with
the
project.
G
E
Didn't
help
me
yeah.
E
So
why
it's
a
separate
library,
because
we
use
it
in
multiple
companies
not
only
in
the
jenkins
core,
but
also
slide
tools
like
plugin
installation
manager
and
junkies
infrastructure
cetera.
So
it's
basically
a
standalone
library
which
has
not
that
much
quotes
inside
it
has
actually
just
a
few
classes.
So
one
is
version
number
it's
a
class
which
supports
parsing
questions
from
different
formats
and
comparing
these
versions
so
that
we
can
see
which
version
is
newer,
etc.
E
So
yeah.
This
is
basically
this
class,
and
recently
we
added
this
clouds
java
specification
version.
We
will
be
working
on
java,
11
support,
because
java
has
implemented
change
in
regression
formats.
E
So
in
order
to
properly
compare
the
versions
operations
with
them,
you
basically
have
some
additional
code
which
processes
the
version,
especially
because,
for
example,
what
we
needed
that
some
developers
used
to
follow
java,
10,
1.10
and
1.10
is
lower
than
nine,
so
standard
comparison
wouldn't
work
there.
If
you
were
not
normalizing
the
java
versions
and
at
some
point
we
introduced
this
class,
but
basically
that's
it.
C
E
E
C
Yeah,
like
not
specifically
to
this
library,
I
think
so
there
was
some
use
of
this
library
in
java,
like
not
java,
plugin
installation
manager.
So
I
think
there
was
something
okay,
so
were
you
mentioning
like
why
you,
like
you
mention,
wrote
a
comment
over
there
and
why
you
like
saying
to
improve
this
library,
not
the
plugin
installation
manager,
because
I
thought
you
were
talking
about
improving
the
library,
plugins
manager,
not
version
number
library.
C
I
actually.
I
have
linked
a
comment.
If
you
can
just
go
to
the
greater
channel,
I
have
a
link
to
that
specific
comment.
G
C
E
C
Understand
that
you
were
in
the.
E
Spring
okay,
so
this
comment
is
about
moving
to
which
number
link
so
basically
yeah.
There
is
this
class,
which
seems
to
be
generic
enough,
so
maybe
it
makes
sense
to
move
it
from
risks
to
right
inside
the
version
of
library,
so
that,
for
example,
if
we
specify
versions
using
particularly
for
the
use
cases,
it
can
be
used
from
the
library
but
yeah
it's
not
like.
We
must
have
conversion,
it's
just
to
recommend
for
the
future,
for
there
is
keys
for
that
and
again.
This
is
for
parts
fuji
and
for.
E
E
So,
for
example,
you
could
use
this
hunter
instead
of
the
parts
that
I
implemented
for
plugin
installation
manager.
C
C
There
is
one
issue
which
I
do
not
understand
at
all.
The
issue
is
add:
support
for
generating
a
new
plug-in
file
based
on
current
jenkins
folder,
like
it's
a
issue
number,
it's
in
the
plug-in
installation
manager.
C
Okay,
just
actually
on
that
one
now,
if
you
can
just
filter
it
by
filter
the
labels
by
enhancement
like
it'll,
reduce
a
lot
of
things.
G
E
Okay,
so
basically
there
is
a
folder
which
includes
plugins.
So
when
you
install
jenkins,
when
you
configure
that
has
a
folder
which
lists
all
plugin
files
and
what
team
wants
here
is
to
be
able
to
read
this
directory
and
to
generate
a
plugin
list
from
there,
so
that
it
can
be
later
converted
to
the
integration
scope.
D
E
So
it's
basically
needed
for
migration.
So
when
you
move
your
existing
instance
to
configurations
code,
you
use
you
can
use
this
tool
and
yeah
probably
it
could
be
additional
sub
command,
which
actually
reads
the
directory
and
it
creates
a
file
for
you
so
that
you
just
added
to
acm
and
can
use
it
going
forward.
C
C
One
more
thing:
if
for
you,
if
you
still
have
time,
sorry
like
I'm
taking
too
much
time
today
like
continuing
into
the
issues
not
not
in
this
issue,
there
is
one
more
issue.
Ratio
is
add:
support
for
jenkins
bom
as
a
source
of
plug-in
versions
when
using
yaml
or
text.
G
E
E
So,
for
example,
there
was
a
release
16
days
ago,
and
this
release
includes
basically
a
list
of
plugin
versions
which
have
been
identified
against
each
other
so
that
we
launched
the
integration
test
the
functional
tests
and
confirm
that
plugins
work
with
each
other.
You
can
see
that
there
are
some
updates
completed
in
this
release
and
the
idea
that
instead
of
specifying
questions
explicitly
in
a
plugins
default,
plugin
installation
manager,
you
could
refer
this
version
so
that
plugin
installation
manager-
I
picked
versions
from
this.
E
C
C
Yeah
I
have
started
using
maven
yeah.
Okay,
let's
see.
A
D
E
Have
basically
dependencies
on
multiple
plugin
versions,
java,
libraries
etc,
and
here
you
can
see
that
we
declare
a
list
of
dependencies.
Some
of
the
dependencies
have
expressed
versions
specified,
for
example,
javax
male
1
instance,
identity,
etc.
So
here
you
specify
the
version
explicitly,
and
this
is
the
division
mainly
we'll
use,
but
for
some
companies
you
can
see
that
the
version
is
not
provided
so,
for
example,
display
url
guide
plug
in
g
unit
plug-in,
maybe
something
else
in
this
list
and
show
them
yeah,
for
example,
pipeline
etc.
So
these
are
also
plugins.
E
We
test
these
because
there
are
pipeline
steps.
We
want
to
verify,
and
here
there
is
no
version
specified,
so
this
version
actually
comes
from
the
bill
of
materials
which
is
defined
in
dependency
management.
So
here
we
use
a
bill
of
materials
for
jenkins
corporate
line
2.235,
so
it's
lcs
baseline
and
version
26.
E
E
So
this
is
the
file
you
can
actually
fit
to
plugin,
slash
manager,
and
you
can
see
that
there
are
just
86
plugins
installed
and
all
these
plugins
have
versions,
and
in
hints
that
somebody
would
have
to
manage
your
discussions.
It
could
be
a
manual
way.
You
just
go
through
the
list.
They
install
these
or
you
could
use
automation
tools.
So,
for
example,
here
yeah
I
use
the
plugin
installation
manager
to
check
for
updates
so
make
file.
I
can
show
updates.
E
You
can
see
that
I
just
invoke
plugin
installation
manager
against
this
file,
and
it
shows
me
the
plugins
I
need
to
update
and
after
that
yeah
I
will
still
need
to
go
to
this
file
and
touch
them
or
once
there
is
a
command
which
patches
them
for
me
automatically.
I
could
determine
that.
Well,
I
have
it
automated
somewhere
else,
but
it
doesn't
really
matter,
but
it
would
be
much
more
easier
for
me
to
say
that,
instead
of
all
these
dependencies
for
the
most
of
them,
I
didn't
really
care
about
which
version.
E
I
just
want
this
system
to
work.
They
could
say
that
please
take
the
version.
Let's
say
of
s
editor
plugin
of
pipeline
plugins
from
bill
of
materials,
so
you
don't
manage
it
on
your
own.
Instead
of
that,
you
use
this
bomb,
which
is
already
cross
verified
and
for
which
you
have
some
confidence
that
this
plugin
set
would
work,
and
you
don't
finish
it
on
your
own.
You
just
spread
the
version
of
the
bomb
instead
of
30
dependent
versions.
You
just
have
one
okay,.
C
Okay,
now,
like
I'm
a
little
bit
more
clear
about,
what's
formed.
G
E
A
As
as
one
of
the
shameless
beneficiaries
of
the
jenkins
plug-in
bill
of
materials,
jumanju,
I'm
all
in
favor
of
this
technique
and
knowing
about
the
technique
eases
the
burden
of
people
who
maintain
things,
it's
it's
impressive.
How
much
benefit
I
get
from
somebody
else,
checking
that
parts
and
pieces
work
together
well-
and
all
I
have
to
do
is
include
their
include-
that
dependency
on
the
bomb
and
all
many
many
of
my
versions
just
get
handed
for
me
automatically,
so
I'm
not
having
to
track
every
single
one
of
them.
E
Yeah
and
for
the
record,
somebody
who
is
maintaining
this
ration
is
mostly
dependable
and
who
the
junk
is
building
his
request,
and
then
somebody
is
just
approving
them
after
everything
passes
right.
So
this
part
is
automated
as
well.
A
B
Ola,
can
you
repeat
that
part
again
like
boom?
How
so
there
are
thousands
of
millions
of
let's
say
software,
so
how
boom
is
managing
all
of
their
versions
and
how
they
are
fetching.
E
So
bill
of
materials
doesn't
manage
all
the
hundreds
of
thousands
of
dependencies.
It
just
manages
the
dependencies
it
was
asked
to
manage.
So,
for
example,.
D
E
If
you
go
to
bom
latest,
let's
see
you
have
a
number
of
plugins
which
we
stopped
and
for
the
record
today.
It's
not
all
junkies
plugins,
it's
it's
a
subset
which
continuously
grows,
but
it's
a
subset
of
plugins
and
for
each
plugin
we
have
version,
and
then
basically
we
have
defender
board
which
verifies
this
file
and
just
this
one,
the
label
in
our
medium
but
yeah.
This
is
the
specification
you
have.
So
it's
not
an
offensive
list.
It's
just
a
list
of
what
was
added
to
the
bill
of
materials.
E
Or
it
was
added
manually
originally,
but
the
version
update
is
automatic.
So
what
happens?
Yeah
defender
board
it's
one
of
the
automation
tools,
part
of
github
at
the
moment
it
checks
in
a
repository
and
if
it
sees
any
available
updates,
it
submits
a
full
request.
For
example,
here's
a
pull
request
which
was
submitted
by
face
ago.
It
updates
much
precision
link
here.
You
can
see
that
there
are
some
release
notes,
so
there
was
a
security
key.
E
So
what
happens
with
that?
That
dependable
submits
a
pull
request.
Then
jenkins
gets
a
notification
from
github
and
starts
the
b,
and
here
you
can
see
that
the
build
has
passed.
So
it
was
automated,
and
here
you
can
see
all
the
tests
which
were
executed
tests
and
it's
tested.
You
can
see
that
everything
is
passing,
so
integration
steps
to
plugins
and
jks
versions.
E
You,
if
you
need
to
see
details
you
can
navigate
the
jenkins
web
interface
yeah.
So
it's
good,
but
you
can
also
use
the
results
in
motion,
for
example,
so
we
have
executed.
E
E
C
A
E
And
jenkins,
which
have
almost
full
continuous
delivery
so
including
automatic
commercial
automatic
release
after
that,
in
the
case
of
a
bill
of
materials,
it's
partially
automated,
but
yeah,
the
most
tedious
part
is
automatic.
So
just
approving
the
change
is
nothing
and.
B
I
just
wanna
say
thank
you
to
mark
and
oh,
like
I
know
you
guys
are
like
keep
doing
presentation
from
past.
I
guess
not
to
us.
Thanks
for
yeah.
A
So
I
think
we've
reached
reached
our
end.
I
was
going
to
go
ahead
and
stop
the
recording
thanks
very
very
much.
Everyone
we'll
see
we'll
do
a
jenkins
online
meetup
format
next
week
and
look
forward
to
it
now.
Oh
like
given
the
online
meetup.
Will
we
also
plan
to
hold
these
office
hours
next
week?
I
think.