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

Sg/89/merge/april19 #28888

Draft
wants to merge 54 commits into
base: master
Choose a base branch
from
Draft

Sg/89/merge/april19 #28888

wants to merge 54 commits into from

Conversation

big-guy
Copy link
Member

@big-guy big-guy commented Apr 19, 2024

Context

Contributor Checklist

  • Review Contribution Guidelines.
  • Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
  • Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
  • Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team.
  • Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective.
  • Provide unit tests (under <subproject>/src/test) to verify logic.
  • Update User Guide, DSL Reference, and Javadoc for public-facing changes.
  • Ensure that tests pass sanity check: ./gradlew sanityCheck.
  • Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest.

Reviewing cheatsheet

Before merging the PR, comments starting with

  • ❌ ❓must be fixed
  • 🤔 💅 should be fixed
  • 💭 may be fixed
  • 🎉 celebrate happy things

pshevche and others added 30 commits April 17, 2024 11:47
By including the `JavaObjectSerializationCodec` in the set of `IsolatedAction`
codecs.
- Improve `environment` documentation
- Choose better names
- Extract `Map<K, V>.invert(): HashMap<V, K>` extension
In the first release we'll be explicitly forbidding:
- `ValueSourceProvider` for we need more time to design how to maximize cache hits in
   their presence;
- `BuildServiceProvider` for we want to encourage actions to avoid shared
   mutable state of any kind;
- `FileCollection` for it's currently not clear how dependency resolution should
   work for isolated actions;

These limitations might be lifted in a subsequent release.
- Format for symmetry
- Polish docs
- Add todo
And their equivalent property types. Plus build-scoped service instances.
And move tests to `:core` so they are executed with all Gradle test executors.
Instead of `IsolatedAction` which is more of an implementation detail.
This version simply throws the first serialization error that occurs during
isolation.

This will change soon to use the Problems API.
And more explicitly connecting it to the `IsolatedAction` concept.
- Reduce visibility of `SerializedIsolatedActionGraph`
- Better name for `toLookup`
- Replace `if null` by `computeIfAbsent`
This makes continuous build work with serveDocs
Co-authored-by: Tom Tresansky <ttresansky@gradle.com>
Signed-off-by: Sterling Greene <big-guy@users.noreply.github.com>
This makes the implementation of a custom dependencies block consistently shown in Java.
big-guy and others added 24 commits April 18, 2024 16:07
Which allows identities to be shared across different actions.
When there are two JDKs with same major version installed,
the test might behave flaky because it starts the test with

```
export JAVA_HOME=/jdkPath1
gradle run -Porg.gradle.java.installations.paths=/jdkPath2
```

Now if the target JDK path matches current JDK version,
we'll just use current JDK path instead of searching another Java homes.
Latest Develocity uses the new GradleLifecycle API which relies on Configuration
Cache serialization.

Configuration Cache serialization relies on reflection to serialize
`SerializedLambda`.
Co-authored-by: Laura Kassovic <lkassovic@gradle.com>
Signed-off-by: Sterling Greene <big-guy@users.noreply.github.com>
* origin/release: (44 commits)
  Fix deadlink in new docs
  Apply suggestions from code review
  Add required `--add-opens` on perf tests using Develocity
  Fix broken javadoc
  Fix flaky JavaCrossCompilationIntegrationTest
  Add some minimal documentation about Daemon JVM discovery/criteria
  Change name of toolchain-version to jvm-version for UpdateDaemonJvm
  Extract JavaInstallationRegistry interface from implementation
  Make the other installation suppliers work for daemon toolchain detection too
  Move `IsolatedProject` to `org.gradle.api.project` package
  Introduce `GradleLifecycle#afterProject(IsolatedAction<Project>)`
  Reduce duplication by using a common directory for snippet example
  Prove `GradleLifecycle` actions are isolated per project
  Add convenience overloads to `AbstractIntegrationSpec#(groovy|java)File`
  Add note about the name of the dependencies block
  Make the example plugin entirely Java
  Add link to new documentation from Dependencies javadoc
  Move wiring logic to Java too
  Accept suggestion for rewording
  Fix plugin validation error
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants