From a625452fe92af64e83c2ef37203017d0e803b0f0 Mon Sep 17 00:00:00 2001 From: Steve Ebersole Date: Wed, 3 Jan 2018 11:23:37 -0600 Subject: [PATCH] HHH-9641 - Resume uploading Javadoc JARs to Maven HHH-12187 - Drop custom javadoc css - dropped "package groups" --- build.gradle | 39 ++----------------- documentation/documentation.gradle | 40 +------------------- documentation/src/main/javadoc/overview.html | 28 ++++++++------ 3 files changed, 21 insertions(+), 86 deletions(-) diff --git a/build.gradle b/build.gradle index 6b4b5ee883..d757729b0d 100644 --- a/build.gradle +++ b/build.gradle @@ -386,10 +386,10 @@ subprojects { subProject -> use = true encoding = 'UTF-8' links += [ - 'http://docs.oracle.com/javase/8/docs/api/', + 'https://docs.oracle.com/javase/8/docs/api/', 'http://docs.jboss.org/hibernate/beanvalidation/spec/2.0/api/', 'http://docs.jboss.org/cdi/api/2.0/', - 'http://docs.oracle.com/javaee/7/api/' + 'https://docs.oracle.com/javaee/7/api/' ] if ( JavaVersion.current().isJava8Compatible() ) { @@ -397,39 +397,8 @@ subprojects { subProject -> } doFirst { - // calculation of these groups is expensive - so push - // that process from init/configuration phase to execution - // phase. - // - // Note : this does not affect UP-TO-DATE checking because - // the groups are based on packages of the classes, and - // if the classes change that would already trigger - // re-execution of this task... - - Set apiPackages = new HashSet<>() - Set spiPackages = new HashSet<>() - Set testingPackages = new HashSet() - - subProject.sourceSets.main.java.each { javaFile -> - final String packageName = determinePackageName( subProject.sourceSets.main.java, javaFile ); - if ( packageName.endsWith( ".internal" ) || packageName.contains( ".internal." ) ) { - // nothing to do - we exclude internal packages - } - else if ( packageName.endsWith( ".spi" ) || packageName.contains( ".spi." ) ) { - spiPackages.add( packageName ) - } - else if ( packageName.startsWith( "org.hibernate.testing" ) ) { - testingPackages += packageName - } - else { - apiPackages.add( packageName ) - } - } - - options.group( 'API', apiPackages.asList() ) - options.group( 'SPI', spiPackages.asList() ) - options.group( 'Testing Support', testingPackages.asList() ) - + // ordering problems if we try to do this during config phase :( + classpath += subProject.sourceSets.main.output + subProject.sourceSets.main.compileClasspath + subProject.configurations.provided } } } diff --git a/documentation/documentation.gradle b/documentation/documentation.gradle index 92bac971da..6c23cff9a0 100644 --- a/documentation/documentation.gradle +++ b/documentation/documentation.gradle @@ -149,46 +149,8 @@ task aggregateJavadocs(type: Javadoc) { // we only care about the main SourceSet... source subProject.sourceSets.main.java -// if( classpath ) { - classpath += subProject.sourceSets.main.output + subProject.sourceSets.main.compileClasspath -// } -// else { -// classpath = subProject.sourceSets.main.output + subProject.sourceSets.main.compileClasspath -// } + classpath += subProject.sourceSets.main.output + subProject.sourceSets.main.compileClasspath + subProject.configurations.provided } - - doFirst { - Set apiPackages = new HashSet() - Set spiPackages = new HashSet() - Set testingPackages = new HashSet() - - parent.subprojects.each { Project subProject -> - // skip certain sub-projects - if ( projectsToSkip.contains( subProject.name ) ) { - return - } - - subProject.sourceSets.main.java.each { javaFile -> - final String packageName = determinePackageName( subProject.sourceSets.main.java, javaFile ); - if ( packageName.endsWith( ".internal" ) || packageName.contains( ".internal." ) ) { - // do nothing - we exclude internal packages - } - else if ( packageName.endsWith( ".spi" ) || packageName.contains( ".spi." ) ) { - spiPackages.add( packageName ) - } - else if ( packageName.startsWith( "org.hibernate.testing" ) ) { - testingPackages += packageName - } - else { - apiPackages.add( packageName ) - } - } - } - - options.group( 'API', apiPackages.asList() ) - options.group( 'SPI', spiPackages.asList() ) - options.group( 'Testing Support', testingPackages.asList() ) - } } asciidoctor { diff --git a/documentation/src/main/javadoc/overview.html b/documentation/src/main/javadoc/overview.html index a6b1d28472..dcd92f879a 100644 --- a/documentation/src/main/javadoc/overview.html +++ b/documentation/src/main/javadoc/overview.html @@ -17,7 +17,7 @@ Hibernate provides both
    See the latest JPA JSR for details.
-
+

Native API

In addition to SessionFactory and Session, applications using the native API will often utilize the following @@ -35,28 +35,32 @@ interfaces:
These interfaces are fully intended to be exposed to application code.

-

JPA

-The JPA interfaces are all defined by the JPA specification. For details see {@link javax.persistence} +The JPA interfaces are all defined by the JPA specification. For details see {@link javax.persistence}. +Not that since 5.2 Hibernate extends JPA (e.g. SessionFactory extends EntityManagerFactory) rather +than wrapping it.

-
-

Package Groups

-This documentation groups packages into the following 3 categories:
    + +

    Note about package categories

    +Hibernate categorizes packages into a number of groups based on intended consumers:
    • - API - classes to which application code will generally bind directly. + API - classes to which application code will generally bind directly. These + are generally classes which do not have "spi" nor "internal" in their package path and are + not under the "org.hibernate.testing" package
    • - SPI - classes to which application developers or integrators will commonly bind directly in - order to develop extensions to Hibernate, or to alter its behavior in some way. + SPI - classes to which integrator developers will commonly bind directly in + order to develop extensions to Hibernate, or to alter its behavior in some way. These are + generally under packages with "spi" in the package path.
    • - Testing Support - classes from the hibernate-testing artifact used in building Hibernate test cases. + Testing Support - classes from the hibernate-testing artifact used in building + Hibernate test cases. These are classes under the "org.hibernate.testing" package
    - -
    +

    Complete Hibernate documentation may be found online at http://hibernate.org/orm/documentation/