Branch: refs/heads/kohsuke
Home: https://github.com/jenkinsci/workflow-plugin
Commit: bd25ad20311fa0b7fb86b6e909f9428ab5214f83
https://github.com/jenkinsci/workflow-plugin/commit/bd25ad20311fa0b7fb86b6e909f9428ab5214f83
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-15 (Sat, 15 Nov 2014)
Changed paths:
M api/src/main/java/org/jenkinsci/plugins/workflow/flow/FlowExecution.java
A
api/src/main/java/org/jenkinsci/plugins/workflow/steps/WorkflowBodyInvoker.java
M
basic-steps/src/main/java/org/jenkinsci/plugins/workflow/steps/CatchErrorStep.java
M
basic-steps/src/main/java/org/jenkinsci/plugins/workflow/steps/PushdStep.java
M
basic-steps/src/main/java/org/jenkinsci/plugins/workflow/steps/RetryStepExecution.java
M
basic-steps/src/main/java/org/jenkinsci/plugins/workflow/steps/TimeoutStepExecution.java
R cps/src/main/java/org/jenkinsci/plugins/workflow/cps/BodyInvoker.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyExecution.java
A cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyInvoker.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsStepContext.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/DSL.java
M
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/steps/LoadStepExecution.java
M
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/steps/ParallelStepExecution.java
M
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/BodyExecution.java
A
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/BodyInvoker.java
M
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/StepContext.java
M
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/StepDescriptor.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/DefaultStepContext.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/ExecutorStepExecution.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/WorkspaceStepExecution.java
M
support/src/test/java/org/jenkinsci/plugins/workflow/test/steps/BlockSemaphoreStep.java
M
support/src/test/java/org/jenkinsci/plugins/workflow/test/steps/TmpDirStepExecution.java
Log Message:
-----------
Added BodyInvoker to create room for more control over how to invoke body.
Such control includes how FlowNodes are created, the display name for the body
invocation, additional Actions, etc.
Commit: eefea91dbfe8524b3d091ee0b0c3f7d25b0d5eaf
https://github.com/jenkinsci/workflow-plugin/commit/eefea91dbfe8524b3d091ee0b0c3f7d25b0d5eaf
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-17 (Mon, 17 Nov 2014)
Changed paths:
A step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/Outcome.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/input/InputStepExecution.java
R
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/input/Outcome.java
Log Message:
-----------
Promoted the Outcome class over to the API
... as a preparation of providing StepContext after the body execution
Commit: 62b92d7a563fcb7a20d5b0aa69058de5be120b8c
https://github.com/jenkinsci/workflow-plugin/commit/62b92d7a563fcb7a20d5b0aa69058de5be120b8c
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M
basic-steps/src/main/java/org/jenkinsci/plugins/workflow/steps/PushdStep.java
M
basic-steps/src/main/java/org/jenkinsci/plugins/workflow/steps/TimeoutStepExecution.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyExecution.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyInvoker.java
A
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodySubContext.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/DSL.java
M
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/steps/ParallelStep.java
M
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/steps/ParallelStepExecution.java
M
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/BodyExecution.java
A
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/BodyExecutionCallback.java
M
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/BodyInvoker.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/ExecutorStepExecution.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/WorkspaceStepExecution.java
M
support/src/test/java/org/jenkinsci/plugins/workflow/test/steps/BlockSemaphoreStep.java
M
support/src/test/java/org/jenkinsci/plugins/workflow/test/steps/TmpDirStepExecution.java
Log Message:
-----------
[JENKINS-25504]
Introducing BodyExecutionCallback as a beefed up version of
FutureCallback, so that the step implementation can interact with the
start body block / end body block, such as adding log messages.
We do this by creating a different StepContext objects that are only
valid during the body start and body end. This in turn allow Steps to
re-inject the context to access correct TaskListeners and things like
that (which is not in this commit.)
Copying my email to jenkinsci-dev for the motivation:
------
I'm working on this card, where we want to be able to write to console
log and do stuff at the end of the body invocation.
The challenge here is that the Step API has no dependency to the
workflow Flow Node API (it goes the other way around), so we need to do
this in a way that doesn't force Flow API into the likes of RetryStep.
That pretty much means we need to do the context injection of
TaskListener like StepContext does.
I thought about two ways to do this.
One is to reuse the existing StepContext instance. We could just say
that at the point of the callback from the body execution,
StepContet.get() would return the context objects for the end of the
body (TaskListener connecte to the right FlowNode, etc.) We could then
provide some convenience base class that performs @StepContextParameter
injection, so that everything gets reinjected.
This works, but I also feel that it's bit brittle, especially for
ParallelStep that invokes multiple bodies at the same time, and thus it
wants multiple different post body execution context. So I started
thinking about another way, where the end of the body execution is
notified to FutureCallback<BodyExecutionResult> instead of
FutureCallback<Object>, and the newly added BodyExecutionResult class
would have properties like outcome, the same get(Class) method that
returns contextual object, and so on.
That also makes it more explicit that the context injection works
differently post body execution.
Commit: bd51b04ebeec4ece43f396626ae7e6f94a25e96f
https://github.com/jenkinsci/workflow-plugin/commit/bd51b04ebeec4ece43f396626ae7e6f94a25e96f
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyExecution.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyInvoker.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsStepContext.java
Log Message:
-----------
[JENKINS-25504]
CPS engine side of the change to fire newly added callbacks of
BodyExecutionCallback
Commit: b7930b7f1268e8cd2167a6091a2524128056de72
https://github.com/jenkinsci/workflow-plugin/commit/b7930b7f1268e8cd2167a6091a2524128056de72
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyExecution.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyInvoker.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/DSL.java
M
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/BodyExecution.java
Log Message:
-----------
Shuffling code between CpsBodyInvoker and CpsBodyExecution.
... to make their lifecycles clearer. Namely, CpsBodyInvoker is a builder
pattern to accumulate
possibly non-serializable parameters, then once it gets going CpsBodyExecution
represents
the running program state.
The time between CpsBodyInvoker.start() and CpsBodyInvoker.launch() is where
two objects reside side by side.
Commit: cb36d0f093d8e71ccb49d88f1ba8446cfd52c35b
https://github.com/jenkinsci/workflow-plugin/commit/cb36d0f093d8e71ccb49d88f1ba8446cfd52c35b
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M CHANGES.md
M aggregator/pom.xml
M
aggregator/src/test/java/org/jenkinsci/plugins/workflow/WorkflowRunTest.java
M
aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/TimeoutStepTest.java
M api/pom.xml
M basic-steps/pom.xml
M cps-global-lib/pom.xml
M cps/pom.xml
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsStepContext.java
M
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/GroovyShellDecorator.java
M durable-task-step/pom.xml
M job/pom.xml
M job/src/main/java/org/jenkinsci/plugins/workflow/job/WorkflowRun.java
M
job/src/main/resources/org/jenkinsci/plugins/workflow/job/WorkflowRun/index.jelly
A
job/src/main/resources/org/jenkinsci/plugins/workflow/job/WorkflowRun/index.properties
M pom.xml
M scm-step/pom.xml
M step-api/pom.xml
M support/pom.xml
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/actions/WorkspaceActionImpl.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/pickles/FilePathPickle.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/ExecutorStepExecution.java
Log Message:
-----------
Synced up with the 'master' branch
Conflicts:
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/ExecutorStepExecution.java
Commit: b2fdafc5f737f93602c4f8a58ac1c4b7c30f86a1
https://github.com/jenkinsci/workflow-plugin/commit/b2fdafc5f737f93602c4f8a58ac1c4b7c30f86a1
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
R
api/src/main/java/org/jenkinsci/plugins/workflow/steps/WorkflowBodyInvoker.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyInvoker.java
M
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodySubContext.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsStepContext.java
M
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/BodyExecutionCallback.java
Log Message:
-----------
BodyExecutionCallback provides the opportunity to interact with FlowNode,
including adding Actions.
So I removed WorkflowBodyInvoker whose sole purpose was to add Actions to the
start node.
Commit: e91088fbfafffaa488264b36574b4227c7aba3dc
https://github.com/jenkinsci/workflow-plugin/commit/e91088fbfafffaa488264b36574b4227c7aba3dc
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyExecution.java
Log Message:
-----------
Fixed thread sychronization
Commit: b3be09d14469d465379a043249e74b52250d0dad
https://github.com/jenkinsci/workflow-plugin/commit/b3be09d14469d465379a043249e74b52250d0dad
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyExecution.java
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyInvoker.java
M
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodySubContext.java
Log Message:
-----------
Honor skip body block.
Commit: d955c5089a88f9098bddd17e86e46c8a9a83f6ff
https://github.com/jenkinsci/workflow-plugin/commit/d955c5089a88f9098bddd17e86e46c8a9a83f6ff
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M
basic-steps/src/main/java/org/jenkinsci/plugins/workflow/steps/CatchErrorStep.java
M
basic-steps/src/main/java/org/jenkinsci/plugins/workflow/steps/PushdStep.java
M
basic-steps/src/main/java/org/jenkinsci/plugins/workflow/steps/TimeoutStepExecution.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/ExecutorStepExecution.java
M
support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/WorkspaceStepExecution.java
M
support/src/test/java/org/jenkinsci/plugins/workflow/test/steps/TmpDirStepExecution.java
Log Message:
-----------
Where we don't invoke body multiple times, there's no point in creating a
nested body block nodes.
This simplifies the flow graph, hence the visualization
Commit: acf3930dbafae665d318a12e8e0021bc41314ff1
https://github.com/jenkinsci/workflow-plugin/commit/acf3930dbafae665d318a12e8e0021bc41314ff1
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodyExecution.java
M
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodySubContext.java
M
step-api/src/main/java/org/jenkinsci/plugins/workflow/steps/BodyExecutionCallback.java
Log Message:
-----------
These fields shouldn't be persisted
Commit: db140e57b899f926cf0b8adc0021729b6053cd99
https://github.com/jenkinsci/workflow-plugin/commit/db140e57b899f926cf0b8adc0021729b6053cd99
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M
cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsBodySubContext.java
Log Message:
-----------
Making FindBugs happy
Commit: 0d48c5cb7f7b2cea43fac1248f7969b43b8a430f
https://github.com/jenkinsci/workflow-plugin/commit/0d48c5cb7f7b2cea43fac1248f7969b43b8a430f
Author: Kohsuke Kawaguchi <[email protected]>
Date: 2014-11-18 (Tue, 18 Nov 2014)
Changed paths:
M cps/src/main/java/org/jenkinsci/plugins/workflow/cps/CpsStepContext.java
Log Message:
-----------
To preserve the order of invocation it needs to be List.
Commit: d774db87819203b9bddcf4bf192541a5bb3cba24
https://github.com/jenkinsci/workflow-plugin/commit/d774db87819203b9bddcf4bf192541a5bb3cba24
Author: CloudBees DEV@Cloud <[email protected]>
Date: 2014-11-19 (Wed, 19 Nov 2014)
Changed paths:
M aggregator/src/test/java/org/jenkinsci/plugins/workflow/DSLTest.java
M
aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/CoreStepTest.java
M
aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/build/BuildTriggerStepRestartTest.java
M
aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/build/BuildTriggerStepTest.java
M
aggregator/src/test/java/org/jenkinsci/plugins/workflow/steps/input/InputStepTest.java
Log Message:
-----------
Merge REMERGE_HEAD
Compare:
https://github.com/jenkinsci/workflow-plugin/compare/ab1e8334a8a6...d774db878192
--
You received this message because you are subscribed to the Google Groups
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.