diff --git a/build.gradle b/build.gradle index c609466763..53f311ad2e 100644 --- a/build.gradle +++ b/build.gradle @@ -11,21 +11,22 @@ buildscript { mavenCentral() } dependencies { - classpath 'org.hibernate.build.gradle:gradle-maven-publish-auth:2.0.1' - classpath 'org.hibernate.build.gradle:hibernate-matrix-testing:2.0.0.Final' + classpath 'org.hibernate.build.gradle:hibernate-matrix-testing:3.0.0.Final' classpath 'org.hibernate.build.gradle:version-injection-plugin:1.0.0' - classpath 'org.hibernate.build.gradle:gradle-xjc-plugin:1.0.2.Final' - classpath 'gradle.plugin.com.github.lburgazzoli:gradle-karaf-plugin:0.1.1' + classpath 'gradle.plugin.com.github.lburgazzoli:gradle-karaf-plugin:0.5.1' classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.7' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' classpath 'de.thetaphi:forbiddenapis:2.5' classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.1' + classpath 'biz.aQute.bnd:biz.aQute.bnd.gradle:4.2.0' } } plugins { - id 'com.gradle.build-scan' version '1.16' + id 'com.gradle.build-scan' version '2.4.2' id 'me.champeau.buildscan-recipes' version '0.2.3' + id 'org.hibernate.build.xjc' version '2.0.1' apply false + id 'org.hibernate.build.maven-repo-auth' version '3.0.2' apply false id 'org.jetbrains.gradle.plugin.idea-ext' version '0.5' } @@ -94,14 +95,15 @@ task ciBuild { wrapper { - gradleVersion = '4.10.3' + // To upgrade the version of gradle used in the wrapper, run: + // ./gradlew wrapper --gradle-version NEW_VERSION distributionType = Wrapper.DistributionType.ALL } buildScan { - licenseAgreementUrl = 'https://gradle.com/terms-of-service' - licenseAgree = 'yes' + termsOfServiceUrl = 'https://gradle.com/terms-of-service' + termsOfServiceAgree = 'yes' } buildScanRecipes { @@ -114,7 +116,7 @@ idea { // languageLevel = baselineJavaVersion // // vcs = 'Git' -// +// // settings { // taskTriggers { // afterSync tasks.getByName("projects"), tasks.getByName("tasks") diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 284b69b6c1..b83a5f312c 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -18,5 +18,5 @@ dependencies { compile localGroovy() compile 'org.hibernate.build.gradle:gradle-animalSniffer-plugin:1.0.1.Final' - compile 'org.hibernate.build.gradle:hibernate-matrix-testing:2.0.0.Final' + compile 'org.hibernate.build.gradle:hibernate-matrix-testing:3.0.0.Final' } diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000000..6e54285206 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +org.gradle.jvmargs=-Xmx1g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError diff --git a/gradle/java-module.gradle b/gradle/java-module.gradle index a7bde32223..fb9b38c84c 100644 --- a/gradle/java-module.gradle +++ b/gradle/java-module.gradle @@ -28,7 +28,7 @@ apply from: rootProject.file( 'gradle/libraries.gradle' ) apply from: rootProject.file( 'gradle/databases.gradle' ) apply plugin: 'java' -apply plugin: 'osgi' +apply plugin: 'biz.aQute.bnd.builder' apply plugin: 'checkstyle' apply plugin: 'build-dashboard' diff --git a/gradle/published-java-module.gradle b/gradle/published-java-module.gradle index 4e30217f6c..08830e2f1c 100644 --- a/gradle/published-java-module.gradle +++ b/gradle/published-java-module.gradle @@ -30,64 +30,87 @@ dependencies { // Jar jar { - manifest = osgiManifest { - // GRADLE-1411: Even if we override Imports and Exports - // auto-generation with instructions, classesDir and classpath - // need to be here (temporarily). + manifest { + attributes( + // Basic JAR manifest attributes + 'Specification-Title': project.name, + 'Specification-Version': project.version, + 'Specification-Vendor': 'Hibernate.org', + 'Implementation-Title': project.name, + 'Implementation-Version': project.version, + 'Implementation-Vendor': 'Hibernate.org', + 'Implementation-Vendor-Id': 'org.hibernate', + 'Implementation-Url': 'http://hibernate.org/orm', - if ( project.pluginManager.hasPlugin( 'groovy' ) ) { - classesDir = sourceSets.main.groovy.outputDir - } - else { - classesDir = sourceSets.main.output.classesDir - } - classpath = configurations.runtime + // Java 9 module name + 'Automatic-Module-Name': project.java9ModuleName, + // Hibernate-specific JAR manifest attributes + 'Hibernate-VersionFamily': project.ormVersion.family, + 'Hibernate-JpaVersion': project.jpaVersion.name, - // Java 9 module name - instruction 'Automatic-Module-Name', project.java9ModuleName - - // the OSGi metadata - symbolicName project.java9ModuleName - vendor 'Hibernate.org' - description project.description - docURL "http://www.hibernate.org/orm/${project.ormVersion.family}" - - instruction 'Import-Package', - // Temporarily support JTA 1.1 -- Karaf and other frameworks still - // use it. Without this, the plugin generates [1.2,2). - 'javax.transaction;version="[1.1,2)"', - // Tell Gradle OSGi to still dynamically import the other packages. - // IMPORTANT: Do not include the * in the modules' .gradle files. - // If it exists more than once, the manifest will physically contain a *. - '*' - - // Basic JAR manifest metadata - instruction 'Specification-Title', project.name - instruction 'Specification-Version', project.version - instruction 'Specification-Vendor', 'Hibernate.org' - instruction 'Implementation-Title', project.name - instruction 'Implementation-Version', project.version - instruction 'Implementation-Vendor', 'Hibernate.org' - instruction 'Implementation-Vendor-Id', 'org.hibernate' - instruction 'Implementation-Url', 'http://hibernate.org/orm' - - instruction 'Hibernate-VersionFamily', project.ormVersion.family - instruction 'Hibernate-JpaVersion', project.jpaVersion.name + // BND Plugin instructions (for OSGi): + 'Bundle-Name': project.name, + 'Bundle-SymbolicName': project.java9ModuleName, + 'Bundle-Vendor': 'Hibernate.org', + 'Bundle-DocURL': "http://www.hibernate.org/orm/${project.ormVersion.family}", + // This is overridden in some sub-projects + 'Import-Package': [ + // Temporarily support JTA 1.1 -- Karaf and other frameworks still + // use it. Without this, the plugin generates [1.2,2). + 'javax.transaction;version="[1.1,2)"', + // Also import every package referenced in the code + // (note that '*' is resolved at build time to a list of packages) + '*' + ].join( ',' ), + '-exportcontents': "*;version=${project.version}" + ) } } task sourcesJar(type: Jar) { from project.sourceSets.main.allSource - manifest = project.tasks.jar.manifest - classifier = 'sources' + manifest { + attributes( + // Basic JAR manifest attributes + 'Specification-Title': project.name, + 'Specification-Version': project.version, + 'Specification-Vendor': 'Hibernate.org', + 'Implementation-Title': project.name, + 'Implementation-Version': project.version, + 'Implementation-Vendor': 'Hibernate.org', + 'Implementation-Vendor-Id': 'org.hibernate', + 'Implementation-Url': 'http://hibernate.org/orm', + + // Hibernate-specific JAR manifest attributes + 'Hibernate-VersionFamily': project.ormVersion.family, + 'Hibernate-JpaVersion': project.jpaVersion.name + ) + } + archiveClassifier.set( 'sources' ) } task javadocJar(type: Jar) { from project.tasks.javadoc.outputs - manifest = project.tasks.jar.manifest - classifier = 'javadoc' + manifest { + attributes( + // Basic JAR manifest attributes + 'Specification-Title': project.name, + 'Specification-Version': project.version, + 'Specification-Vendor': 'Hibernate.org', + 'Implementation-Title': project.name, + 'Implementation-Version': project.version, + 'Implementation-Vendor': 'Hibernate.org', + 'Implementation-Vendor-Id': 'org.hibernate', + 'Implementation-Url': 'http://hibernate.org/orm', + + // Hibernate-specific JAR manifest attributes + 'Hibernate-VersionFamily': project.ormVersion.family, + 'Hibernate-JpaVersion': project.jpaVersion.name + ) + } + archiveClassifier.set( 'javadoc' ) } @@ -150,7 +173,7 @@ javadoc { doFirst { // ordering problems if we try to do this during config phase :( - classpath += project.sourceSets.main.output + project.sourceSets.main.compileClasspath + project.configurations.provided + classpath += project.sourceSets.main.output.classesDirs + project.sourceSets.main.compileClasspath + project.configurations.provided } } diff --git a/gradle/publishing-repos.gradle b/gradle/publishing-repos.gradle index c8175e217a..bdea7cd6f1 100644 --- a/gradle/publishing-repos.gradle +++ b/gradle/publishing-repos.gradle @@ -9,7 +9,7 @@ apply from: rootProject.file( 'gradle/base-information.gradle' ) apply plugin: 'maven-publish' -apply plugin: 'maven-publish-auth' +apply plugin: 'org.hibernate.build.maven-repo-auth' apply plugin: 'com.jfrog.bintray' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae45383b6d..3a54a3332e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/hibernate-core/hibernate-core.gradle b/hibernate-core/hibernate-core.gradle index 9c131d6c1d..e9a70eaba3 100644 --- a/hibernate-core/hibernate-core.gradle +++ b/hibernate-core/hibernate-core.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.hibernate.build.xjc' version '2.0.0-SNAPSHOT' + id 'org.hibernate.build.xjc' } /* @@ -144,17 +144,24 @@ dependencies { jar { manifest { - mainAttributes( 'Main-Class': 'org.hibernate.Version' ) + attributes( + 'Main-Class': 'org.hibernate.Version', - instructionFirst 'Import-Package', + // BND Plugin instructions (for OSGi): + 'Import-Package': [ 'javax.security.auth;resolution:=optional', - 'javax.security.jacc;resolution:=optional', - 'javax.validation;resolution:=optional', - 'javax.validation.constraints;resolution:=optional', - 'javax.validation.groups;resolution:=optional', - 'javax.validation.metadata;resolution:=optional', - // TODO: Shouldn't have to explicitly list this, but the plugin - // generates it with a [1.0,2) version. + // Make javax.security.jacc optional and do not reference a version range (because that's what we used to do) + 'javax.security.jacc;resolution:=optional;version=!', + // Make javax.validation optional and do not reference a version range (because that's what we used to do) + 'javax.validation;resolution:=optional;version=!', + 'javax.validation.constraints;resolution:=optional;version=!', + 'javax.validation.groups;resolution:=optional;version=!', + 'javax.validation.metadata;resolution:=optional;version=!', + // Make javax.enterprise optional and do not reference a version range (because that's what we used to do) + '!javax.enterprise*', + 'javax.enterprise.context.spi;resolution:=optional;version=!', + 'javax.enterprise.inject.spi;resolution:=optional;version=!', + // For JPA, we don't want to target the automatically generated range, but a specific version "javax.persistence;version=\"${project.jpaVersion.osgiName}\"", // optionals 'javax.management;resolution:=optional', @@ -163,20 +170,28 @@ jar { 'org.apache.tools.ant;resolution:=optional', 'org.apache.tools.ant.taskdefs;resolution:=optional', 'org.apache.tools.ant.types;resolution:=optional', - '!javax.enterprise*', - 'javax.enterprise.context.spi;resolution:=optional', - 'javax.enterprise.inject.spi;resolution:=optional', 'javax.inject;resolution:=optional', 'net.bytebuddy.*;resolution:=optional', + 'org.objectweb.jonas_tm;resolution:=optional', + 'com.ibm.websphere.jtaextensions;resolution:=optional', // We must specify the version explicitly to allow Karaf // to use an older version of JAXB (the only one we can use in Karaf) - "javax.xml.bind.*;version=\"${project.jaxbApiVersionOsgiRange}\"" - -// // TODO: Uncomment once EntityManagerFactoryBuilderImpl no longer -// // uses ClassLoaderServiceImpl. -// instruction 'Export-Package', -// 'org.hibernate.boot.registry.classloading.internal', -// '*' + "javax.xml.bind.*;version=\"${project.jaxbApiVersionOsgiRange}\"", + // Temporarily support JTA 1.1 -- Karaf and other frameworks still + // use it. Without this, the plugin generates [1.2,2). + 'javax.transaction;version="[1.1,2)"', + // Also import every package referenced in the code + '*' + ].join( ',' ), + '-exportcontents': [ + // Legacy resource packages containing XSDs that were traditionally not exported + "!org.hibernate.xsd.cfg", + "!org.hibernate.xsd.mapping", + // TODO: Uncomment once EntityManagerFactoryBuilderImpl no longer uses ClassLoaderServiceImpl. + //'org.hibernate.boot.registry.classloading.internal', + "*;version=${project.version}" + ].join( ',' ), + ) } } @@ -241,7 +256,7 @@ task copyBundleResources (type: Copy) { processTestResources.dependsOn copyBundleResources task testJar(type: Jar, dependsOn: testClasses) { - classifier = 'test' + archiveClassifier.set( 'test' ) from sourceSets.test.output } diff --git a/hibernate-core/src/test/java/org/hibernate/query/criteria/CriteriaStringInlineLiteralTest.java b/hibernate-core/src/test/java/org/hibernate/query/criteria/CriteriaStringInlineLiteralTest.java new file mode 100644 index 0000000000..31bda50929 --- /dev/null +++ b/hibernate-core/src/test/java/org/hibernate/query/criteria/CriteriaStringInlineLiteralTest.java @@ -0,0 +1,58 @@ +package org.hibernate.query.criteria; + +import javax.persistence.Entity; +import javax.persistence.EntityManager; +import javax.persistence.Id; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Expression; +import javax.persistence.criteria.Root; + +import org.hibernate.jpa.test.BaseEntityManagerFunctionalTestCase; + +import org.hibernate.testing.TestForIssue; +import org.junit.Test; + +/** + * @author Michiel Haisma + * @author Nathan Xu + */ +@TestForIssue( jiraKey = "HHH-13889" ) +public class CriteriaStringInlineLiteralTest extends BaseEntityManagerFunctionalTestCase { + + @Override + protected Class[] getAnnotatedClasses() { + return new Class[] { Animal.class }; + } + + @Test + public void testCriteriaInlineStringLiteralRendering() { + EntityManager entityManager = getOrCreateEntityManager(); + CriteriaBuilder cb = entityManager.getCriteriaBuilder(); + CriteriaQuery criteriaQuery = cb.createQuery( Animal.class ); + + Root animalRoot = criteriaQuery.from( Animal.class ); + CriteriaBuilder.Case sCase = cb.selectCase(); + Expression caseSelect = + sCase.when( cb.equal( animalRoot.get( "name" ), cb.literal( "kitty" ) ), cb.literal( "Cat" ) ) + .otherwise("escapez'moi" ); + criteriaQuery.multiselect( caseSelect ); + criteriaQuery.where( cb.equal( animalRoot.get( "name" ), "myFavoriteAnimal" ) ); + entityManager.createQuery( criteriaQuery); // would throw exception for unescaped otherwise literal in HHH-13889 + } + + @Entity(name = "Animal") + public static class Animal { + @Id + private Long id; + + private String name; + + public Animal() { + } + + public Animal(String name) { + this.name = name; + } + } +} diff --git a/hibernate-entitymanager/hibernate-entitymanager.gradle b/hibernate-entitymanager/hibernate-entitymanager.gradle index 02f16c8234..af066a55fe 100644 --- a/hibernate-entitymanager/hibernate-entitymanager.gradle +++ b/hibernate-entitymanager/hibernate-entitymanager.gradle @@ -12,19 +12,21 @@ dependencies { compile( libraries.jta ) } - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// The OSGi JAR manifest support does not like a non-existent classes dir, -// so make sure we dont use the OSGi one :) +// Traditionally we used to not include any manifest attributes in this JAR +// except "Manifest-Version" +// Since it's a legacy JAR, let's continue that way until it's retired. jar { - manifest = null + manifest.attributes.removeAll { key, value -> key != "Manifest-Version" } + // Prevent BND from adding manifest attributes automatically + bnd( '-nobundles': 'true' ) } sourcesJar { - manifest = null + manifest.attributes.removeAll { key, value -> key != "Manifest-Version" } } javadocJar { - manifest = null + manifest.attributes.removeAll { key, value -> key != "Manifest-Version" } } diff --git a/hibernate-envers/hibernate-envers.gradle b/hibernate-envers/hibernate-envers.gradle index ad98fd0286..8498523418 100644 --- a/hibernate-envers/hibernate-envers.gradle +++ b/hibernate-envers/hibernate-envers.gradle @@ -40,16 +40,25 @@ sourceSets { jar { manifest { - instructionFirst 'Import-Package', - // TODO: Shouldn't have to explicitly list the JPA packages, but - // the plugin generates them with [1.0,2) versions. - "javax.persistence;version=\"${project.jpaVersion.osgiName}\"", - "javax.persistence.criteria;version=\"${project.jpaVersion.osgiName}\"", - "javax.persistence.metamodel;version=\"${project.jpaVersion.osgiName}\"", - "javax.persistence.spi;version=\"${project.jpaVersion.osgiName}\"", - // optionals - 'javax.naming;resolution:=optional', - 'org.apache.tools.ant;resolution:=optional' + attributes( + // BND Plugin instructions (for OSGi): + 'Import-Package': [ + // TODO: Shouldn't have to explicitly list the JPA packages, but + // the plugin generates them with [1.0,2) versions. + "javax.persistence;version=\"${project.jpaVersion.osgiName}\"", + "javax.persistence.criteria;version=\"${project.jpaVersion.osgiName}\"", + "javax.persistence.metamodel;version=\"${project.jpaVersion.osgiName}\"", + "javax.persistence.spi;version=\"${project.jpaVersion.osgiName}\"", + // optionals + 'javax.naming;resolution:=optional', + 'org.apache.tools.ant;resolution:=optional', + // Temporarily support JTA 1.1 -- Karaf and other frameworks still + // use it. Without this, the plugin generates [1.2,2). + 'javax.transaction;version="[1.1,2)"', + // Also import every package referenced in the code + '*' + ].join( ',' ) + ) } } diff --git a/hibernate-infinispan/hibernate-infinispan.gradle b/hibernate-infinispan/hibernate-infinispan.gradle index 122450e2b1..4db08089dc 100644 --- a/hibernate-infinispan/hibernate-infinispan.gradle +++ b/hibernate-infinispan/hibernate-infinispan.gradle @@ -9,7 +9,7 @@ apply from: rootProject.file( 'gradle/base-information.gradle' ) apply from: rootProject.file( 'gradle/publishing-repos.gradle' ) apply from: rootProject.file( 'gradle/publishing-pom.gradle' ) apply plugin: 'maven-publish' -apply plugin: 'maven-publish-auth' +apply plugin: 'org.hibernate.build.maven-repo-auth' description = '(deprecated - use org.infinispan:infinispan-hibernate-cache-v53 instead)' diff --git a/hibernate-java8/hibernate-java8.gradle b/hibernate-java8/hibernate-java8.gradle index 784184e95a..32c13a4603 100644 --- a/hibernate-java8/hibernate-java8.gradle +++ b/hibernate-java8/hibernate-java8.gradle @@ -6,18 +6,22 @@ description = '(deprecated - use hibernate-core instead) Support for Java8-speci dependencies { compile( project( ':hibernate-core' ) ) } + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// The OSGi JAR manifest support does not like a non-existent classes dir, -// so make sure we dont use the OSGi one :) +// Traditionally we used to not include any manifest attributes in this JAR +// except "Manifest-Version" +// Since it's a legacy JAR, let's continue that way until it's retired. jar { - manifest = null + manifest.attributes.removeAll { key, value -> key != "Manifest-Version" } + // Prevent BND from adding manifest attributes automatically + bnd( '-nobundles': 'true' ) } sourcesJar { - manifest = null + manifest.attributes.removeAll { key, value -> key != "Manifest-Version" } } javadocJar { - manifest = null + manifest.attributes.removeAll { key, value -> key != "Manifest-Version" } } diff --git a/hibernate-orm-modules/hibernate-orm-modules.gradle b/hibernate-orm-modules/hibernate-orm-modules.gradle index b7f737ea2d..d79a6f5260 100644 --- a/hibernate-orm-modules/hibernate-orm-modules.gradle +++ b/hibernate-orm-modules/hibernate-orm-modules.gradle @@ -15,7 +15,7 @@ apply plugin: 'java' apply from: rootProject.file( 'gradle/libraries.gradle' ) apply plugin: 'maven-publish' -apply plugin: 'maven-publish-auth' +apply plugin: 'org.hibernate.build.maven-repo-auth' apply from: rootProject.file( 'gradle/publishing-repos.gradle' ) apply from: rootProject.file( 'gradle/publishing-pom.gradle' ) diff --git a/hibernate-osgi/hibernate-osgi.gradle b/hibernate-osgi/hibernate-osgi.gradle index 613dc564dc..96d9fd8800 100644 --- a/hibernate-osgi/hibernate-osgi.gradle +++ b/hibernate-osgi/hibernate-osgi.gradle @@ -44,8 +44,8 @@ sourceSets { test { // send javac output and resource copying to the same output directory for test // so Pax Exam can more easily find it without explicit TinyBundle hooks - output.classesDir = "${buildDir}/classes/test" - output.resourcesDir = output.classesDir + java.outputDir = file( "${buildDir}/classes/test" ) + output.resourcesDir = java.outputDir } } @@ -98,13 +98,22 @@ dependencies { jar { manifest { - instruction 'Bundle-Activator', 'org.hibernate.osgi.HibernateBundleActivator' - instruction 'Provide-Capability', 'osgi.service;effective:=active;objectClass=javax.persistence.spi.PersistenceProvider' - instructionFirst 'Import-Package', - // TODO: Shouldn't have to explicitly list this, but the plugin - // generates it with a [1.0,2) version. - "javax.persistence;version=\"${project.jpaVersion.osgiName}\"", - "javax.persistence.spi;version=\"${project.jpaVersion.osgiName}\"" + attributes( + // BND Plugin instructions (for OSGi): + 'Bundle-Activator': 'org.hibernate.osgi.HibernateBundleActivator', + 'Provide-Capability': 'osgi.service;effective:=active;objectClass=javax.persistence.spi.PersistenceProvider', + 'Import-Package': [ + // TODO: Shouldn't have to explicitly list this, but the plugin + // generates it with a [1.0,2) version. + "javax.persistence;version=\"${project.jpaVersion.osgiName}\"", + "javax.persistence.spi;version=\"${project.jpaVersion.osgiName}\"", + // Temporarily support JTA 1.1 -- Karaf and other frameworks still + // use it. Without this, the plugin generates [1.2,2). + 'javax.transaction;version="[1.1,2)"', + // Also import every package referenced in the code + '*' + ].join( ',' ) + ) } } @@ -218,7 +227,7 @@ task generatePaxExamEnvironmentFile { properties.setProperty( 'org.ops4j.pax.exam.container.karaf.distroUrl', karafDistroFile.toURI().toURL().toExternalForm() ) properties.setProperty( 'org.ops4j.pax.exam.container.karaf.unpackDir', karafUnpackDirectory.absolutePath ) properties.setProperty( 'org.ops4j.pax.exam.container.karaf.version', karafVersion as String ) - properties.setProperty( 'org.ops4j.pax.exam.container.karaf.probe.classesDir', sourceSets.test.output.classesDir.absolutePath ) + properties.setProperty( 'org.ops4j.pax.exam.container.karaf.probe.classesDir', sourceSets.test.java.outputDir.absolutePath ) properties.setProperty( 'org.ops4j.pax.exam.container.karaf.probe.resourcesDir', sourceSets.test.output.resourcesDir.absolutePath ) properties.setProperty( 'org.hibernate.osgi.test.karafFeatureFile', karaf.features.outputFile.absolutePath ) diff --git a/shared/config/checkstyle/checkstyle-non-fatal.xml b/shared/config/checkstyle/checkstyle-non-fatal.xml index f8df9f8431..dff679e6fd 100644 --- a/shared/config/checkstyle/checkstyle-non-fatal.xml +++ b/shared/config/checkstyle/checkstyle-non-fatal.xml @@ -10,9 +10,6 @@ - - - @@ -150,6 +147,24 @@ + + + + + + + + + + + + + @@ -168,23 +183,4 @@ - - - - - - - - - - - - - - diff --git a/shared/config/checkstyle/checkstyle.xml b/shared/config/checkstyle/checkstyle.xml index 51c9782e19..ca5530643e 100644 --- a/shared/config/checkstyle/checkstyle.xml +++ b/shared/config/checkstyle/checkstyle.xml @@ -22,8 +22,6 @@ - - @@ -63,6 +61,24 @@ + + + + + + + + + + + + + - - - - - - - - - - - - diff --git a/tooling/hibernate-gradle-plugin/src/test/groovy/org/hibernate/orm/tooling/gradle/HibernatePluginTest.groovy b/tooling/hibernate-gradle-plugin/src/test/groovy/org/hibernate/orm/tooling/gradle/HibernatePluginTest.groovy index f2e57885c5..845e4a681b 100644 --- a/tooling/hibernate-gradle-plugin/src/test/groovy/org/hibernate/orm/tooling/gradle/HibernatePluginTest.groovy +++ b/tooling/hibernate-gradle-plugin/src/test/groovy/org/hibernate/orm/tooling/gradle/HibernatePluginTest.groovy @@ -82,6 +82,8 @@ class HibernatePluginTest { ) } - compileTestTask.execute() + // TODO find how to do this in Gradle 5 + // the class-level javadoc says it's not possible, and it was there in Gradle 4.x... + //compileTestTask.execute() } }