Skip to content
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

Merge groovy-cps into workflow-cps #612

Merged
merged 693 commits into from
Nov 4, 2022

Conversation

dwnusbaum
Copy link
Member

@dwnusbaum dwnusbaum commented Nov 1, 2022

This PR merges the entire history of https://github.com/cloudbees/groovy-cps into this plugin. groovy-cps is only supported in the context of Jenkins, and should only be used by workflow-cps. Keeping the library and plugin separate complicates maintenance and testing.

The only interesting changes should be in 306d1ce (moves workflow-cps into plugin module), 96735ee (merges groovy-cps into the repo), and any newer commits. Older commits are just the existing history of groovy-cps.

With this PR, workflow-cps can only be built using Java 11 or newer. The plugin will still run against Java 8, but the dgm-builder module, which is only used when building groovy-cps, uses Java compiler APIs that were modified in Java 9 and so do not work with Java 8.

TODO:

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests - that demonstrates feature works or fixes the issue

abayer and others added 30 commits May 16, 2017 19:00
Sideporting tests for collect, each and collectEntries
…ing code generation to delegate to untranslated public methods when possible.
[JENKINS-44280] Test for overloading methods
[JENKINS-26481] Generate CpsDefaultGroovyMethods, invoke using GroovyCategorySupport
@dwnusbaum
Copy link
Member Author

See jenkinsci/plugin-compat-tester#383 for associated PCT changes.

@dwnusbaum
Copy link
Member Author

Rebuilding. (FTR, re-running a specific failed check from the left-hand sidebar on the checks page seems to work to trigger a new build, but the "re-run all checks" button from the top-right corner of the checks page does not seem to do anything, and you can only use the former if some check failed.)

@dwnusbaum
Copy link
Member Author

dwnusbaum commented Nov 4, 2022

@jglick Do you know of any other examples of multi-module projects which skip deployment of a module that are able to publish incrementals? 1b01482 makes things work, but skipping installation for groovy-cps-dgm-builder makes working with groovy-cps awkward, for example it breaks the ability to run specific tests in IDEs by default (because you always need to run tests from the parent project and run at least the package phase).

I'm not sure what other options we have. Maybe we could make groovy-cps-dgm-builder always be 1.0-SNAPSHOT so that https://github.com/jenkins-infra/pipeline-library/blob/c86c8a970564019c5708e9b10e0717c28866309d/vars/infra.groovy#L333 ignores it, and then we could remove <maven.install.skip>true</...>? Or maybe we could only activate <maven.install.skip> in a profile that is activated when env.CI=true so it only gets skipped in the CI build?

@jglick
Copy link
Member

jglick commented Nov 4, 2022

Do you know of any other examples of multi-module projects which skip deployment of a module that are able to publish incrementals?

plugin-compat-tester itself but I guess it does not suffer from the issue you describe.

Maybe activate the profile to skip installation when set.changelist is defined (same as produce-incrementals)?

@dwnusbaum dwnusbaum requested a review from jglick November 4, 2022 19:23
@dwnusbaum dwnusbaum marked this pull request as ready for review November 4, 2022 19:23
@dwnusbaum dwnusbaum requested a review from a team as a code owner November 4, 2022 19:23
@dwnusbaum
Copy link
Member Author

dwnusbaum commented Nov 4, 2022

I am planning on merging this once the CI build passes. Then I'll merge master into #596 and release a new version of the plugin.

I will work on merging master into existing open PRs, but I will probably not be able to get to all of them today. I'll also refile a few things from groovy-cps here today so I can archive it.

@dwnusbaum dwnusbaum merged commit 0b7bf3d into jenkinsci:master Nov 4, 2022
@dwnusbaum dwnusbaum deleted the merge-groovy-cps branch November 4, 2022 20:12
dwnusbaum added a commit to cloudbees/groovy-cps that referenced this pull request Nov 4, 2022
Remove all content and update README to reference jenkinsci/workflow-cps-plugin#612
@basil basil mentioned this pull request Mar 22, 2023
ala-ableton added a commit to Ableton/python-pipeline-utils that referenced this pull request Jul 31, 2023
com.cloudbees:groovy-cps was merged into
org.jenkins-ci.plugins.workflow:workflow-cps in November 2022
(see jenkinsci/workflow-cps-plugin#612).
ala-ableton added a commit to Ableton/python-pipeline-utils that referenced this pull request Jul 31, 2023
com.cloudbees:groovy-cps was merged into
org.jenkins-ci.plugins.workflow:workflow-cps in November 2022
(see jenkinsci/workflow-cps-plugin#612).
ala-ableton added a commit to Ableton/postgres-pipeline-utils that referenced this pull request Jul 31, 2023
com.cloudbees:groovy-cps was merged into
org.jenkins-ci.plugins.workflow:workflow-cps in November 2022
(see jenkinsci/workflow-cps-plugin#612).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
8 participants