-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build Type mergeBuild #152
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine to me with just a reminder of a missing link in the documentation. I am interested in he opinion of @jbyibm
outgoingChangesBuild Conflicts: test/applications/MortgageApplication/test.properties
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you review my comment about full build.
build.groovy
Outdated
if (repositoryClient) { | ||
buildSet = buildUtils.createFullBuildList() } | ||
else { | ||
println "*! Full build requires a repository client connection to a DBB web application" | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are changing the current behavior here. Any reason to force providing a repository connection in case of a full build?
I very often perform a full build without repository connection just to test that my whole application can compile.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting use case, I have not thought about this case so far. Always interesting to see the different usages.
Doesn't your use cause an issue when zAppBuild would like to update the collection? See line 517 in build.groovy
I felt it was a missing test for the fullBuild actually . Happy to revert this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps this is behavior that @drbruce-git has intentionally implemented in its design.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have reverted it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had always assumed that full build required a repository client so that it can store collections and build results for subsequent incremental builds.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look good
This enhancement implements a new build strategy in zAppBuild for topic branches and addresses #151
The purpose of
--mergeBuild
is to calculate changes which will be merged from the current configuration into the target configuration.It uses a
triple-dot git diff
to compare the HEAD to the target remote configuration using themainBuildBranch
.The changes include
As mentioned in the documentation
--mergeBuild
only builds the changes. It does not perform impact analysis and is not incremental; it always processes the list returned by the git diff. Ex.: When you change one file in your topic branch, mergeBuild will process this file. When you change and commit a second file, then both files will be built.