►
From YouTube: Jenkins & Java 10+ Hackathon. Day 3. Sync-up and Jenkins Development intro for beginners
Description
We will have a status sync-up session on the morning. As per request from hackathon participants, we will also have an introductory session to Jenkins plugin and core development for patch contributors.
Status doc: https://docs.google.com/document/d/1ed6wFOlq4cWrSL6UkCSzFbaY80AT-sk8ncB4Fz5QXyM/edit#
A
Okay
and
be
alive
so
hi,
everybody
today
is
a
sync
up
call
of
Jenkins
and
the
Javits
and
online
hackathon.
We
will
have
a
shot
status
of
this
session
and
then
we
will
talk
about
contributing
to
the
project,
especially
starting
up
development
environments
for
patch
contributors
for
genitals,
against
and
core.
And
after
that
we
will
be
able
to
answer
any
questions
you
have.
If
you
are
interested
to
participate,
we
have
several
channels.
So
one
of
the
channels
is
our
standard.
Jenkins
keto
channel,
Jenkins
ketta.
A
A
A
A
Okay,
so
I've
got
a
cup
from
somebody:
okay,
let's
move
forward
to
the
status,
so
we
don't
have
so
many
people
online
now,
but
yeah
many
people
were
working
yesterday
on
the
Union
to
better
the
things
out
of
the
door
and
yeah
I'll
probably
start
from
right.
So
we
have
posted
a
blog
post
about
our
day
one
day
to
progress,
so
you
can
go
to
this
blog
post
and
see
what
we
did
together.
So
one
of
the
major
accomplishments
that
we
get
got
Jenkins
pipeline
running,
including
critical
features
like
glowing
declarative
pipeline,
shared
libraries.
A
A
Moreover,
there
are
people
working
on
development
tools
and
on
exploratory
testing,
so
one
of
major
issues
is
to
get
our
development
to
link
up
to
date,
so
Nikola,
Oliver,
Sam
Damian
are
working
on
getting
tests,
Ryan
communicating
or
getting
our
tools
updated
for
Java,
naina,
Bob
and
they're.
Also
on
ongoing
testing
for
by
different
contributors,
for
example,
John
Paolo
is
working
on
easy,
Jenkins
update
and
solitaire
testing
and
there
are
other
contributors.
So
this
is
a
status
update
from
yesterday
and
we
can
just
switch
to
the
please
status.
B
So
my
current
plan
today
is
to
to
rely
and
what
we
had
with
LED
to
fix
animal
sniffers
that
so
we
have
actually
we
work
in
parallel,
so
more
as
a
to
two
potential
or
fix
for
it.
Maybe
they
need
to
be
much
anyways
that
will
email
me
to
patch
stapler
and
they're
also
degrees.
We
have
which
rely
on
direct
field
access
via
reflection
with
which
is
deprecated,
nine,
ten,
eleven
or
you're
going,
which
one
is
showing
warnings,
but
anyway
we
want
to
get
rid
of
that.
A
B
Yeah
exact
so
yeah
here
I'm
using
the
so-called
new
teacher
maturities
jar,
which
means
that,
within
the
same
jar
you
have
one
class,
are
getting,
let's
say:
Java
H
and
you
provide
the
same
class
but
for
Java,
nine
or
ten
or
eleven
and
reason.
Gdk
will
just
pick
up
the
code
version
for
yourselves
that
such
a
jar
is
still
compatible
with
all
Java
platform.
B
C
Hi
good
morning,
yes,
so
today,
I'm
gonna
pick
up
running
so
actually.
First
of
all,
let
me
introduce
Jonah
is
joining
in
today,
he's
sitting
behind
me,
but
probably
won't
be
showing
his
face
that
much.
But
yes,
so
we've
worked
together
for
a
long
time,
he's
a
open
source,
committer
foresee
CDT
in
Eclipse
Alon
and
also
does
the
build
engineering
for
it.
So
pretty
experienced
Java
developer,
so
gonna
take
advantage
and
we're
gonna
pay
a
program
coming
in
with
some
of
the
newbie
bugs.
A
A
A
Yeah,
it's
only
me
yes,
oh
my
oblate
forgives,
the
lots
of
tooling
to
get
pipeline
stuff
running
and
finally,
to
even
go
to
this
lotion.
Gdk
tiny
image.
I've
also
written
a
blog
post.
Technically,
it
has
been
posted
yesterday.
But
for
me
it
was
already
to
date
so
yep
it's
a
status
update
which
I
was
trying
to
show
in
the
beginning
of
the
meeting.
So
it
includes
all
information
what
we
wrote
and
how
to
run
Jenkins,
and
we
also
updates
from
other
activities.
A
So
this
is
one
of
the
parts
and
yep
today,
I'm
going
to
work
on
some
pending
pushes
so
we
have
bytecode
transform
awaiting
further
leaves.
Also,
you
have
extras
executive
Boulevard.
Maybe
we
will
have
some.
This
is
a
good
area
for
new
differently
fixes,
so
we
can
talk
about
it
and
yeah.
If
we
get
them
done,
I
will
be
happy
to
spin
the
release
and
yeah.
Maybe
I
will
continue
working
on
some
core
patches.
A
C
A
So
here's
our
book
from
Jenkins,
core
and
yeah
go
but
reflective
access
is
one
of
the
most
popular
to
think
we
know
it
doesn't
the
breakage
engines
from
Ryan,
but
when
you
run
this
department
you
can
find
it
and
obviously,
at
some
point
these
things
will
cause
issues.
So
what
we
can
see
here,
if
it
this
bug,
is
it
related
to
auto?
Jank
is
old,
so
it's
2.16
and
there
is
a
probability
that
this
bug
has
been
already
fixed,
but
we
can
easily
check
that
okay.
D
A
C
A
So
what
we
can
see
here
from
the
stack
trace?
Actually,
if
you
want
to
get
these
tech
traces
when
you
run
Jenkins,
you
need
to
set
up
illegal
access.
Equal
debug
flock.
So
then
I
you'll
get
full
stack
traces
for
the
issues
and
if
you
set
it
up,
you
get
the
stack
trace
posted
here.
So
we
can
see
how
it
happened.
A
Interesting
things
start
from
there,
so
we
see
that
there
is
a
plug-in
manager
doing
some
plugin
loading
and
in
order
to
supply
in
loading
clay,
it
needs
to
plus
load
some
beads
and
during
this
was
Odin
could
be
try
to
find
Klaus
and
due
to
whatever
reason
we
use
method
which
shouldn't
be
used
because
it's
a
restricted.
So
that's
why
we
got
a
lead
over
effective
access.
The
first
thing
would
be
to
just
start
from
here
across
load
deflection
toolkit.
A
So
since
we
do
not
know
whether
other
stuff
is
up-to-date
or
not,
we
captured
a
repository
and
there
is
a
cool
find
file
feature.
So
when
you
know
cost
mean
you
just
paste
it
here,
you
find
the
class
and
then
you
can
start
analyzing
the
code.
So
the
last
change
in
this
class
was
in
April
2016,
so
it
gives
us
high
confidence
that
oh
yeah,
that
there
was
no
recent
changes,
but
what
we
can
see
in
the
commit
history,
Evette
batiste
mottos
in
2016-
has
already
pushed
something.
A
A
Okay,
so
we
know
that
the
name
of
the
method
is
fine
class,
so
we
can
just
put
it
here
and
we
may
see
that
this
method
is
not
presented
in
belief.
So,
although
batiste
fixed
some
reflection
code,
most
likely
this
particular
case
still
exists.
So
we
return
back
to
the
code
and
we
need
try
to
find
the
metal
here
and
actually
it's
right
there
in
the
beginning.
So
we
take
a
number
of
classes.
So,
for
example,
fine
class
find
loaded
class
find
resource
and
we
said
you
set
accessible.
A
So
this
is
everything
which
triggers
the
current
project,
because
yet
it
shouldn't
be
used
in
Java,
9
plus
because
yeah,
if
you
just
access
private
methods-
and
there
is
no
guarantee
that
they
will
be
retained.
So
here
we
can
see
these
EPS
and,
for
example,
for
this
particular
method
we
have
find
class.
So,
let's
see
how
it's
used,
it's
a
private
static
field,
so
it's
not
used
outside
the
class.
So
the
code
is
localized
here
we
can
now
see
to
knit
20
locations.
A
One
is
find
class
in
communication,
which
just
involves
something
can
throws
a
class
not
found
exception.
If
it's
not
found
and
the
second
implementation
is
quite
different,
I
guess
it's
just
weekends.
Now,
if
something
is
not
fine
found,
so
what
we
can
do
now
we
can
start
from
checking
whether
we
can
fix
a
bit
I'm
going
to
start
my
ID.
So.
A
Ok,
I
have
a
number
of
branches.
So
for
this
particular
case
we
have
several
options
in
Jenkins
repository
now
we
have
three
branches,
so
one
is
master,
it's
ongoing
releases.
Then
we
have
Java
10a
support
and
Java
11
supported
benches.
So
our
current
approach
that
if
you
want
to
propose
a
generic
fix
which
is
available
for
Java
8,
we
submitted
against
master,
but
then
we
can
quickly
adopt
this
patch
in
Java,
10
and
Java
11
support
even
before
it
becomes
available
in
weekly
releases.
A
A
What
was
our
class
name?
It's
it's
like
if
it
in
jenkins
cross,
older
deflection
toolkit.
So
yep
is
our
project
structure.
We
have
several
models
here,
the
model
we
need
to
fix
his
chain
in
score.
We
go
to
sources,
then
main
java
jenkins,
and
here
we
have
all
the
recollection
total.
So
his
bunch
of
these
methods,
I'll
start
from
this
method,
so
I
want
to
touch
others,
so
somebody
can
follow
up
easy
fix,
okay,
mmm-hmm,
so
how
we
approached
it.
A
A
A
Okay
and
let's
see
what
is
the
current
weather,
it's
fine
quartz
method.
I
just
tried
to
find
it.
So
we
understand
what
is
the
guideline
from
developers,
so
it's
protected.
It
means
that
we
cannot.
We
still
cannot
involve
it.
This
matter
should
be
rewritten
and
it
will
be
invoked
by
law
cause
ultimate
after
checking
parent
class,
for
course,
loader.
All
the
request
was
so
yeah.
There
are
difference
between
these
methods.
What
we
can
do
is
firstly
check.
Water
is
load
course
implementation
or
whether
we
can
replace
that
okay.
A
Here
we
can
see
the
logic,
so
he
gets
a
class
loading
clock.
It's
similar
to
what
we
have
here.
So
we
also
acquire
was
loading
clock,
which
is
another
deflection
call,
and
then
we
try
to
get
find
class
working
so
effectively.
We'd
have
this
logic
in
the
call
and
this
logic,
but
you
may
see
that
there
is
some
B's,
so,
for
example,
so
this
is
for
null
class
loader,
let's
check
out
interface.
A
A
A
A
We
also
tried
to
find
a
way
where
it's
called,
and
you
may
see
that
now
there
are
two
methods:
one
is
here:
he
it
creates
cross
loader.
It
also
returns
something
always-
and
here
you
have
another
class
folder,
and
actually
we
pass
null
here,
but
it
is
for
the
test
logic.
So
if
we
assume
that
cross
logic
is
now-
and
yet
we
need
to
take
all
the
logic
he
into
account,
so
I
mean
that
this
logic-
and
here
we
have
a
problem,
because
yet
this
logic
is
unlikely.
Something
we
want
to
introduce
to
find
cause.
A
So
replacing
a
fine
class
by
a
low
to
us
is
probably
an
unsafe
change,
but
I
will
see
whether
we
have
any
other
little
natives.
Okay,
we
still
follow
me.
Yes,
okay,
so
yeah.
We
have
fine
cause
method,
it's
not
accessible,
it's
not
accessible
in
class
loaders,
but
a
we
will
likely
need
to
do
something
about
that.
So
what
usages
we
have
immediately.
We
have
one
invocation
and
we
actually
mrs.
A
Lincoln
scored,
we
have
fewer
other
usages
for
cross
folders.
What
do
you
have
for
find
Claire?
What's
all
that?
It's
fine,
because
it's
protected
yep,
so
we
have
illegal
effective
access
exception,
but
yeah
generally.
There
is
no
good
way
here
from
what
is
in
the
code
to
replace
that,
and
my
next
step
would
be
to
just
go:
go.
A
A
B
A
lot
more
is
the
question
I
had
because
and
was
looking
where
this
reflective
a
class
of
the
refrigerant
to
get
is
used,
and
actually
it's
only
used
when
we
are
the
first
to
curve
feature
set
up.
There's
also
always
an
alternative
code
to
run
with
classic
java
api,
so
which
word
ionic,
just
PB
class
for
the
api,
and
so
my
point
here
is
to
try
to
understand
why
this
hack
has
been
introduced.
A
So
yeah
one
of
the
things,
so
we
do
it
of
course
depreciated.
So
yeah
this
one
is
definitely
a
temporary
code.
Let's
see
where
they
use,
it
is
okay.
So
we
have
a
number
for
accesses
in
Jenkins
class,
older,
it's
a
birth
class
folder
and
another
one
is
dependency.
Class.
Older
is
a
tool
which
allows
loading
data
from
plugins
enter
their
dependencies
effectively.
Both
calls
are
low-level
invitations,
and
you
know
it's
C.
A
D
A
C
A
A
Okay,
so
if
you
want
to
develop
our
Jenkins
I'll-
probably
repeat,
some
needs
from
the
yesterday's
call,
but
yeah
we
have
for
Jenkins
I/o
participate,
which
it's
a
landing
page
for
all
kinds
of
contributions
and
development.
So
if
you
are
interested
write
code,
you
will
just
click
here,
and
there
are
some
guidelines,
like
beginner's
guide,
to
contributing
how
to
get
started
and
how
to
stop
plug-in
development,
environment
and
yeah.
It
would
be
starting
points
for
those
ones
who
want
to
contribute
to
plugins.
A
Actually
in
Jenkins
we
have
several
will
to
support
it,
so
the
most
of
the
plugins
I
built
is
made
in
and
we
offer
default
main
in
a
plug-in
phones.
So
if
you
have
maven,
the
setup
is
pretty
trivial
for
some
plugins
we
have
Gradle
support
and
even
is
BT.
So
for
that
this
step
is
not
that
trivial.
But
here,
for
maybe
you
just
follow
these
guidelines,
you
set
up
repositories
from
Missha,
the
plugins
should
be
pulled,
and
then
actually
the
only
thing
you
need
is
to
just
check
out
the
plug-in.
A
A
Ok,
let's
take
something
like
that.
So
if
I
want
to
build
it,
I
just
say
million
in
package,
that's
it
so
in
order
to
build
plugins
now
you
need
Java
8.
If
you
want
to
build
this
Janicki
$10
ongoing
purchase
during
this
hackathon
so
far
that
the
flow
is
not
raining,
but
for
the
most
of
modern
plugins
you
will
need
giant.
You
may
see
that
this
plug-in
is
actually
compatible
with
Java
7,
but
yeah.
We
can
do
it
all
on
your
own
July,
8
and
then
yeah.
A
Actually,
this
is
how
you
build
the
plug-in
and
then,
if
you
want
to
test
plugins,
we
have
some
Twitter
ground.
One
of
the
tools
is
maybe
in
each
area,
so
just
second
to
terminate
keep
it
running.
So
if
you
want
to
test
a
balloon,
you
can
just
say
maybe
online
which
carry
around
it's
a
part
of
Jenkins
clinging.
Actually
I
will
skip
this.
So
if
you
want
to
do
to
develop
things
quickly,
you
have
an
option
for
plugins.
A
So,
for
example,
I
don't
want
her
to
wait
for
tests
just
this
label
them
it's
fine
for
development,
because
if
you
want
to
prototype
something,
we
still
have
continuous
integration
established
for
all
popular
Jenkins
plug-ins
for
Jenkins
course.
So,
even
if
you
submit
untested
part,
it
will
be
tested.
Okay
and
here
then
I
can
click.
Maybe
each
parent
and
my
plug-in
development
could
be
is
running.
A
A
So
yeah
we
let
it
start
that,
but
yeah
that's
a
ready.
If
you
want
to
debug
you
plug
in
the
results
made
in
debug
command,
so
you
can
just
say:
maybe
in
the
back
each
be
a
run,
then
it
starts
in
the
bot
mode.
You
cannot
touch
remote,
debug
it
from
your
IDE
to
this
port
and
that
the
debug
info
running.
So
if
you
want
to
test
some
changes,
this
is
the
best
approach.
A
This
is
how
it
works
for
Java
eat.
If
you
want
her
to
test
patches
on
Java,
10
or
Java
11,
it
becomes
a
bit
more
tricky
because
so
far
we
don't
have
this
tool.
Ian,
Craigie,
I
guess
Nicola
may
have
some
updates,
because
he
is
working
I
with
animal
sniffer
running.
Okay,
if
I
understand
correctly,
we
don't
have
the
full
running
so
far.
A
Yes,
it's
still
working
through
this
okay.
So
what
we
do
we
do
in
such
Keys?
One
of
the
most
obvious
ways
is
to
just
get
the
plugin
deploy
it
on
our
instance.
So
we
have
Jenkins
and
in
order
to
run
our
Jenkins
for
Java
10,
you
can
just
use
a
shot
script,
so
he
is
it
in
my
kit.
So
what
I
do
with
it?
I
have
a
clock
to
stop
debugging
then
I
specify
Java
home,
which
points
to
my
dedicate
and
installation
and
then
I
run
Jenkins
command.
A
What
I
have
here
that
I
specify
Jenkins
home
to
be
used,
then
I
specify
a
Java
version.
I
said
the
illegal
access
flog
to
get
all
notifications
and
I
specified
models,
etc.
So
this
command
has
been
built
according
to
our
Iranian
regime
in
guidelines.
So
if
you
want
to
have
more
information,
the
data
is
here:
bloke
runs
Java,
10
and
11.
A
A
Yes,
now
it's
correct
not
mean
here
and
here's
my
instance.
There
is
not
that
much
inside,
but
if
I
want
to
test
my
plugin,
so
the
current
approach
since
development
tooling,
is
not
ready.
You
just
deploy
this
plug-in.
To
instance,
K
documents,
Jenkins
police
would
Hawaii,
have
been
building
capacity,
client
plugin,
so
he
is
a
target
and
in
target
I
can
find
a
way
each
by
file.
So
here
I
just
selected,
it
and
I
deployed
it,
and
you
may
see
that
it's
already
installed
and
because
he
likely
it
was
a
dependency.
A
So
I
need
to
restart
my
instance,
not
a
Twitter.
They
think
updated
and
yeah.
After
that,
you
may
see
that
your
Jenkins
is
actually
restarting
I'm,
not
exactly
sure
that
everything
runs
correctly,
because
it's
fight
a
pretty
alteration
of
the
plugin,
but
I
am
Kim
mystic.
So
far,
oh
yeah,
or
what
we
got
here.
You
may
see
that
I
deployed
snapshot,
which
is
actually
older
than
the
version
you
need
for
dependencies,
so
some
plugins
refused
to
start
up
and
actually
it's
one
of
the
takeaways.
If
you
want
to
test
it.
A
A
A
A
Okay,
so
this
is
the
current
flow.
When
we
get
testing
tools
ready,
it
will
be
more
comfortable
for
contributors,
because
you
will
be
just
able
to
run
plug-in
development
tools
and
attach
the
debugger.
But
now
after
you
deploy
the
instance,
you
can
also
connect
your
debugger.
If
you
have
flux
and
debug
your.
You
know,
on
the
instance
string,
gelatin.
A
No,
it's
that
correct,
yeah,
I
hope
not
yeah,
so
no
administrative
warnings,
so
everything
is
fine
and
we
have
got
our
snapshot
deployed.
We
can
check
it
here
if
you
want
so
install
apache,
httpclient
yeah
he's
a
local
build
and
keep
on
it
points
to
the
previous
installed
version
so
yeah,
that's
it.
This
plug-in
development.
A
C
A
Right
so
for
plug-in
development.
All
the
guidelines
say
here:
you
may
yeah
these
guidelines
yeah.
They
won't
exactly
work
for
Java
10,
so
you
may
recommend
to
follow
the
approach
I've
presented.
You
want
to
say,
save
some
time
on
deployment
of
the
image
and
local
war
file,
because
it's
not
needed
in
many
cases.
A
A
It
should
be
working
on
this
image
and
we
can
just
start
motion
yeah.
So
it's
a
listening
for
the
socket
port.
So
if
you
want
to
debug
the
Jenkins
core,
we
just
connect
the
debugger
or
if
we
want
to
debug
the
plug-in
we
do
the
same.
Okay,
yeah
I
can
just
show
it.
If
you
want
so
remote
default
connection
refused
because
I
didn't
expose
to
the
post.
A
A
A
We
have
premature
closed
I'm,
not
sure
what
has
happened.
Maybe
it's
also
related
to
Java
version.
Yeah
I
will
check
it
after
the
call
but
yeah.
This
is
the
idea
so
for
Java,
8
images.
It
works
like
a
charm,
but
here
maybe
I
just
need
to
update
my
ad
because
I'm
using
old
fashioned
and
yesterday
there
was
a
bad
line
in
the
document
that
you
need
to
update
your
reading
action.
A
A
C
A
Actually,
you
can
set
up
floods
in
boquete
itself,
so,
for
example,
if
I
do
not
like
this
container
and
if
I
want
to
get
it,
you'll
trust
the
Bible
yeah
and
just
use
the
barren
flock,
and
that
gets
Nicolette
and
suggests
many
other
facts
for
keeping
in
touch.
Because
here
doctor
pollutes
a
lot
of
disk
space
by
default.
Yeah
but
means
yeah,
but
with
our
mo
it
will
be
disposed
automatically,
wants
to
continue
three
inches
and.
A
Okay
yeah,
so
if
you
run
docker
continuous,
you
know
the
first
throw
all
initialization
steps,
because
I
haven't
mounted
Jenkins
home
as
a
volume,
so
this
usually
is
not
correct,
but
yeah.
So
you
may
see
that
I
connected
to
this
URL.
But
probably
our
images
are
connected
to
this
endpoint
or
I.
Don't
want
to
install
any
other
plugins
and
yeah.
A
I
mean
it
takes
some
time
but
yeah.
If
you
want,
you
can
set
up
some
configurations
code
in
order
to
avoid
it
but
yeah.
Now
you
get
your
Jenkins
instance
just
running
in
docker
this
all
the
versions
and
you
can
install
your
test
plugins,
develop
them
and
connect
the
debugger.
If
you
get
a
bit
newer,
ID,
so
everything
you
can
do
in
daughter
and
if
you
want
to
setup
more
flux.
A
So,
for
example,
if
you
want
to
configure
initialization
scenario,
so
if
you
wanted
to
have
my
pin
code
fudging
his
home
volume,
you
can
just
refer
to
get
Harbhajan
KCI
daughter,
it's
our
standard,
docket
image,
but
all
the
experimental
versions
for
Java,
10
and
11
are
compatible
yesterday.
So
you
just
follow
these
guidelines
and
set
up
whatever
you
need
to
get
your
own
environment
and
that's
useful
yeah
and
if
you're
interested
to
get
some
examples.
For
example,
yeah
we'll
just
switch
to
status
update
one
of
the
examples
I
use
by
John
Pola.
A
So
he
is
working
on
easy
Jenkins
project
which
spins
up
everything
in
docker
compose,
and
it
also
has
packaging
for
Java,
10,
working
progress
and
yeah.
Another
example
of
for
configuration
is
inertia,
damaging
his
configuration
as
code.
He
is
also
a
pull
request
for
Java
support
experiments,
so
this
is
a
pretty
big
project
because
it
demonstrates
development
of
pipeline
degrees
and
it
uses
CI,
Jenkins
IO
our
internal
instance
as
an
example.
So
it
has
a
lot
of
different
configurations
like
init
scripts
and
brain
Chema.
A
Domain
host
configuration
is
code
talking
being
developed
by
Nikhil,
so
you
can
just
take
this
branch
and
it's
based
on
blows
now
also,
and
we
interview
configures,
the
environment
sets
up
some
demo
pipeline
jobs,
etc.
So
if
you
want
to
try
it
out,
you
can
just
try
this
container
as
well
and
I
can
push
it
to
my
doctor,
Hubbard
house,
so
that
somebody
can
evaluate
that
if
you're
interested.
A
C
C
A
A
C
A
A
Jake
this
is
a
huge
development
to
little
project
and
it
depends
on
a
huge
number
of
other
development
tools,
especially
in
the
Maven
scope,
so
yeah.
It
will
be
a
big
journey
for
us
to
get
everything
running
on
Java
10,
but
yeah
I
think
it's
interesting
for
us.
It's
very
useful
for
Jenkins
ecosystem
and
should
be
useful
for
Java
ecosystem
as
well,
because
we
contribute
to
common
Joe
and
medium
to
link.
So
I
think
that
is
a
win-win
for
everybody.
Great!