9594 Commits

Author SHA1 Message Date
Yoann Rodière
86d883e998 HHH-13682 Enable extended bytecode enhancement in NaturalIdInUninitializedAssociationTest
This test accesses a field of an entity directly and expects it to be
automatically initialized; this cannot work without extended bytecode
enhancement.

This used to work with Java 8 bytecode, but only by chance. It seems
that Java 8 bytecode relies on "synthetic", static access methods
inserted by the compiler to access the fields of entities in this test:
any access to the field is done through this access method instead of
through a direct field access. Since we apply bytecode enhancement to
all methods of entities, this means that access to fields triggers
initialization, without any bytecode enhancement in the caller class.

I believe this is specific to nested classes, but couldn't find a
source. For reference, the bytecode of access methods looks like this:

  static int access$002(org.hibernate.test.bytecode.enhancement.lazy.NaturalIdInUninitializedAssociationTest$AnEntity, int);
    Code:
       0: aload_0
       1: iload_1
       2: dup_x1
       3: putfield      #3                  // Field id:I
       6: ireturn

  static org.hibernate.test.bytecode.enhancement.lazy.NaturalIdInUninitializedAssociationTest$EntityImmutableNaturalId access$102(org.hibernate.test.bytecode.enhancement.lazy.NaturalIdInUninitializedAssociationTest$AnEntity, org.hibernate.test.bytecode.enhancement.lazy.NaturalIdInUninitializedAssociationTest$EntityImmutableNaturalId);
    Code:
       0: aload_0
       1: aload_1
       2: dup_x1
       3: putfield      #2                  // Field entityImmutableNaturalId:Lorg/hibernate/test/bytecode/enhancement/lazy/NaturalIdInUninitializedAssociationTest$EntityImmutableNaturalId;
       6: areturn

With Java 11, however, access to fields of entities is done directly,
even for nested classes. So the access methods no longer exist, and we
don't get automatic initialization upon field access. We need extended
bytecode enhancement, like we would in any other case of field access
(in particular accessing fields of non-nested classes).

(cherry picked from commit 1060baf74b3d480d026a3d88e9c4b2d4aae118a3)
2021-06-04 10:23:46 -07:00
Gail Badner
aef787589e HHH-14640 : Remove backported comment about hibernate-orm-modules having been removed; it still exists in 5.3 branch. 2021-06-03 16:10:37 -07:00
Yoann Rodière
b95f589e08 HHH-14640 Remove some JTA-related dependencies that weren't there in 5.3.20.Final 2021-06-03 16:10:37 -07:00
Andrea Boriero
b3ae29406a HHH-14640 : Fix checkstyle errors 2021-06-03 16:10:37 -07:00
Andrea Boriero
cc6fe84f30 HHH-14640 : Fix gradle errors 2021-06-03 16:10:37 -07:00
Andrea Boriero
9e454a3819 HHH-14513 Move publishing release artifacts from BinTray 2021-06-03 16:10:37 -07:00
Andrea Boriero
d644a6e8f6 HHH-14513 Move publishing release artifacts from BinTray 2021-06-03 16:10:37 -07:00
Andrea Boriero
cfe4879753 HHH-14513 Move publishing release artifacts from BinTray 2021-06-03 16:10:37 -07:00
Yoann Rodière
7887775914 HHH-14315 Upgrade to Gradle 6.7
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-06-03 16:10:37 -07:00
Sanne Grinovero
bacc5e6b11 HHH-14283 Review tuning of JVM parameters for the build 2021-06-03 16:10:37 -07:00
Andrea Boriero
a8d82d003f HHH-14199 fix the error when running 'setDataBase' gradle task 2021-06-03 16:10:37 -07:00
Nathan Xu
87f5cfee7a HHH-14199 fix the error when running 'setDataBase' gradle task 2021-06-03 16:10:37 -07:00
Christian Beikov
f6967b7143 HHH-14640 : Update the maven-repo-auth gradle plugin 2021-06-03 16:10:37 -07:00
Falko Modler
1fb1311342 HHH-14144 Explicitly set localization assumptions for the build and testsuite 2021-06-03 16:10:37 -07:00
Yoann Rodière
0e09e13f26 HHH-14111 Upgrade to forbiddenapis 3.0.1 2021-06-03 16:10:37 -07:00
Yoann Rodière
57077b52e3 HHH-14111 Ensure Groovy compilation tasks target the same JDK version as the rest of the project 2021-06-03 16:10:37 -07:00
Yoann Rodière
1a5579287d HHH-14111 Upgrade to biz.aQute.bnd (OSGi plugin) 5.1.1 2021-06-03 16:10:37 -07:00
Yoann Rodière
0bd52c0899 HHH-14111 Upgrade to Gradle 6.5.1 2021-06-03 16:10:37 -07:00
Andrea Boriero
729f1b75b7 HHH-14247 Fix automatic releease script, changelog.txt contains wrong Jira release url 2021-06-03 16:10:37 -07:00
Andrea Boriero
20f75163d5 HHH-14083 add task release must run after addVersionCommit task 2021-06-03 16:10:37 -07:00
Andrea Boriero
98c0a7cb7e HHH-14083 add ciRelease dependency to bintray upload 2021-06-03 16:10:37 -07:00
Andrea Boriero
00aceba685 HHH-14083 Fix issue with git command 2021-06-03 16:10:37 -07:00
Andrea Boriero
43df7fdff8 HHH-14640 : Add changeLogFile task 2021-06-03 16:10:37 -07:00
Yoann Rodière
51f402b5c7 HHH-14640 : Enable automatic Maven Central sync when calling task bintrayPublish
Copied from https://github.com/hibernate/hibernate-reactive/pull/246

Note you need to call the bintrayPublish task after calling
bintrayUpload, otherwise it won't work.

So you will need to use something like this:

./gradlew bintrayUpload bintrayPublish -P PERSONAL_BINTRAY_USER=... -P PERSONAL_BINTRAY_API_KEY=... -P SONATYPE_OSSRH_USER=... -P SONATYPE_OSSRH_PASSWORD=...
2021-06-03 16:10:37 -07:00
Yoann Rodière
b8bf21c060 HHH-14640 : Push to github atomically and only if the release succeeds 2021-06-03 16:10:37 -07:00
Yoann Rodière
e94ee2d779 HHH-14640 : Add more precondition checks to release tasks 2021-06-03 16:10:37 -07:00
Yoann Rodière
ed650b3fe6 HHH-14640 : Move the update to version.properties to a release task
This is necessary if we want to check that the working tree is empty as
part of the release process (see next commit).
2021-06-03 16:10:37 -07:00
Yoann Rodière
ab1fa97bf5 HHH-14640 : Use a less verbose syntax for git commands 2021-06-03 16:10:37 -07:00
Yoann Rodière
dfa1630334 HHH-14640 : Fix incorrect message for the second commit during release 2021-06-03 16:10:37 -07:00
Yoann Rodière
534473c653 HHH-14640 : Fix error detection in executeGitCommand
1. proc.consumeProcessErrorStream does not work correctly: it creates a
   thread to asynchronously copy the content of the stream to the string
   buffer, and does not provide any way to know when it's done. As a
   result, sometimes the buffer is correctly filled in after
   consumeProcessErrorStream returns, sometimes it's not.
2. Checking stderr to know if there was an error is not a good idea: a
   process can run just fine and give output on stderr (logs,
   basically), and a process can fail without giving any output on
   stderr. Checking the status code is more reliable.
2021-06-03 16:10:37 -07:00
Andrea Boriero
31dbc1c5a3 HHH-14640: Add gradle task to automate the CI release 2021-06-03 16:10:37 -07:00
Falko Modler
bc6048d0b7 HHH-14030 Gradle: user.language=en to avoid errors on German Win10 2021-06-03 16:10:37 -07:00
Yoann Rodière
1356e0abb8 HHH-13682 Upgrade to forbiddenapis 2.7
So that we can feed it Java 13/14 bytecode
2021-06-03 16:10:37 -07:00
Yoann Rodière
5eb8ee32c5 HHH-13682 Allow forcing the tested Java version in the Gradle build
... just in case we need that for some cutting-edge JDK, for example 15,
that would not be supported by Gradle yet.
2021-06-03 16:10:37 -07:00
Yoann Rodière
63ab97d09a HHH-13682 Generate Java 13/14 bytecode for tests when building with JDK13/14 2021-06-03 16:10:37 -07:00
Yoann Rodière
9a45c1c9f1 HHH-13682 Remove unnecessary checks around Java 8 compatibility
The build requires JDK8+, so we're alwways Java 8 compatible.
2021-06-03 16:10:37 -07:00
Andrea Boriero
40d82d6370 HHH-14640 : Fix issue with generated pom missing project description 2021-06-03 16:10:37 -07:00
Yoann Rodière
c36e2cc543 HHH-13925 Upgrade hibernate-gradle-plugin to Gradle 6 2021-06-03 16:10:37 -07:00
Yoann Rodière
40538e036c HHH-13925 Disable Gradle module metadata publishing until we know what we want 2021-06-03 16:10:37 -07:00
Yoann Rodière
24bcd620ad HHH-13925 Upgrade from the gradle-build-scan plugin to the gradle-enterprise plugin
That's the new name of the plugin in Gradle 6.
2021-06-03 16:10:37 -07:00
Yoann Rodière
f1f0a27f7f HHH-13925 Upgrade to Gradle 6 2021-06-03 16:10:37 -07:00
Yoann Rodière
f795213e5a HHH-13689 Replace uses of the deprecated osgi plugin with the biz.aQute.bnd plugin
https://docs.gradle.org/5.0-milestone-1/release-notes.html#deprecated-osgi-plugin
2021-06-03 16:10:37 -07:00
Yoann Rodière
b301162660 HHH-13685 Move Suppression*CommentFilter to its new place in checkstyle config
See https://stackoverflow.com/a/55266521/6692043
2021-06-03 16:10:37 -07:00
Yoann Rodière
9722cf0fd6 HHH-13685 Remove the obsolete FileContentsHolder module in checkstyle configuration
See https://github.com/checkstyle/checkstyle/issues/3573
2021-06-03 16:10:37 -07:00
Yoann Rodière
564fe3b442 HHH-13685 Upgrade to gradle-karaf-plugin 0.5.1 2021-06-03 16:10:37 -07:00
Yoann Rodière
ac61f98aba HHH-13685 Upgrade to maven-repo-auth 3.0.2 2021-06-03 16:10:37 -07:00
Yoann Rodière
deb60b5c6b HHH-13685 Increase the heap size for Gradle
Otherwise I get an OutOfMemoryError...
2021-06-03 16:10:37 -07:00
Yoann Rodière
861b3c00aa HHH-13685 Replace uses of deprecated classifier property in Jar tasks with archiveClassifier 2021-06-03 16:10:37 -07:00
Yoann Rodière
ff76c01dde HHH-13685 Remove the deprecated "stable publishing" feature flag
It's the default behavior in Gradle 5.
2021-06-03 16:10:37 -07:00
Yoann Rodière
d9d44d10d4 HHH-13685 Upgrade to build-scan plugin 2.4.2 2021-06-03 16:10:37 -07:00