Author: steve.ebersole(a)jboss.com
Date: 2010-04-07 18:46:58 -0400 (Wed, 07 Apr 2010)
New Revision: 19182
Added:
core/trunk/core/src/main/javadoc/stylesheet.css
Modified:
core/trunk/core/src/main/javadoc/package.html
core/trunk/distribution/pom.xml
core/trunk/distribution/src/assembly/dist.xml
Log:
HHH-3997 - Build javadocs
Modified: core/trunk/core/src/main/javadoc/package.html
===================================================================
--- core/trunk/core/src/main/javadoc/package.html 2010-04-07 13:48:43 UTC (rev 19181)
+++ core/trunk/core/src/main/javadoc/package.html 2010-04-07 22:46:58 UTC (rev 19182)
@@ -1,39 +1,31 @@
<body>
-<h2>Hibernate API</h2>
+Hibernate JavaDoc documentation.
+<br>
-This documentation concentrates upon the following <b>Core API</b>
interfaces:
-<li><tt>org.hibernate.Hibernate</tt></li>
-<li><tt>org.hibernate.Session</tt></li>
-<li><tt>org.hibernate.SessionFactory</tt></li>
-<li><tt>org.hibernate.Transaction</tt></li>
-<li><tt>org.hibernate.Query</tt></li>
-<li><tt>org.hibernate.Criteria</tt></li>
-<li><tt>org.hibernate.ScrollableResults</tt></li>
-<li><tt>org.hibernate.cfg.Configuration</tt></li>
-<li><tt>org.hibernate.criterion.Restrictions</tt></li>
-<li><tt>org.hibernate.criterion.Order</tt></li>
-<li><tt>org.hibernate.criterion.Example</tt></li>
-These interfaces are fully intended to be exposed to application code.<br>
+The following are considered to define the "core API" of Hibernate, meaning it
is fully intended that they
+be exposed to application code:
+<ul>
+ <li>{@link org.hibernate.Hibernate}</li>
+ <li>{@link org.hibernate.Session}</li>
+ <li>{@link org.hibernate.SessionFactory}</li>
+ <li>{@link org.hibernate.Transaction}</li>
+ <li>{@link org.hibernate.Query}</li>
+ <li>{@link org.hibernate.Criteria}</li>
+ <li>{@link org.hibernate.ScrollableResults}</li>
+ <li>{@link org.hibernate.cfg.Configuration}</li>
+ <li>{@link org.hibernate.criterion.Restrictions}</li>
+ <li>{@link org.hibernate.criterion.Order}</li>
+ <li>{@link org.hibernate.criterion.Example}</li>
+</ul>
<br>
-The <b>Extension API</b> is intended to be used by application programmers
+
+The <b>Extension SPIs</b> are intended to be used by application programmers
to extend Hibernate functionality. None of these interfaces are intended
to be called by the application - they are called internally by Hibernate.
-This API is less stable than the Core API. The safest way to extend
-functionality is to contribute extensions back to the project; that way
-extensions will be updated when the Extension API changes.<br>
+These contracts are less stable than the Core API. The safest way to extend
+functionality is to contribute extensions back to the project.<br>
<br>
-Full Hibernate documentation may be found at
-<a href="http://hibernate.org">hibernate.org</a>.
-@see org.hibernate.Hibernate
-@see org.hibernate.Session
-@see org.hibernate.SessionFactory
-@see org.hibernate.Transaction
-@see org.hibernate.Query
-@see org.hibernate.Criteria
-@see org.hibernate.ScrollableResults
-@see org.hibernate.cfg.Configuration
-@see org.hibernate.criterion.Restrictions
-@see org.hibernate.criterion.Order
-@see org.hibernate.criterion.Example
+
+You can find all the Hibernate documentation at <a
href="http://docs.jboss.org/hibernate"></a>.
</body>
Added: core/trunk/core/src/main/javadoc/stylesheet.css
===================================================================
--- core/trunk/core/src/main/javadoc/stylesheet.css (rev 0)
+++ core/trunk/core/src/main/javadoc/stylesheet.css 2010-04-07 22:46:58 UTC (rev 19182)
@@ -0,0 +1,118 @@
+/*
+ * Hibernate, Relational Persistence for Idiomatic Java
+ *
+ * Copyright (c) 2010, Red Hat Inc. or third-party contributors as
+ * indicated by the @author tags or express copyright attribution
+ * statements applied by the authors. All third-party contributions are
+ * distributed under license by Red Hat Inc.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+
+/*
+ * Custom Hibernate javadoc style sheet
+ */
+
+/* Page background color */
+body {
+ font-family: Arial;
+ background-color: white;
+ font-size: 10pt;
+}
+td {
+ font-family: Arial;
+ font-size: 10pt;
+}
+
+/* Table colors */
+.TableHeadingColor { background: #F4F4F4 }
+.TableSubHeadingColor { background: #F4F4F4 }
+.TableRowColor { background: #FFFFFF }
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: normal; font-family: Arial }
+.FrameHeadingFont { font-size: normal; font-family: Arial }
+.FrameItemFont { font-size: normal; font-family: Arial }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#F4F4F4;}
+.NavBarCell1Rev { background-color:silver;}
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
+/* Links */
+A { color: #003399; }
+A:active { color: #003399; }
+A:visited { color: #888888; }
+
+
+P, OL, UL, LI, DL, DT, DD, BLOCKQUOTE {
+ color: #000000;
+}
+
+TD, TH, SPAN {
+ color: #000000;
+}
+
+BLOCKQUOTE {
+ margin-right: 0px;
+}
+
+TT {
+font-size: 90%;
+ font-family: "Courier New", Courier, monospace;
+ color: #000000;
+}
+
+PRE {
+font-size: 90%;
+ padding: 5px;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #CCCCCC;
+ background-color: #F4F4F4;
+}
+
+UL, OL, LI {
+ list-style: disc;
+}
+
+HR {
+ width: 100%;
+ height: 1px;
+ background-color: #CCCCCC;
+ border-width: 0px;
+ padding: 0px;
+ color: #CCCCCC;
+}
+
+.variablelist {
+ padding-top: 10;
+ padding-bottom:10;
+ margin:0;
+}
+
+.itemizedlist, UL {
+ padding-top: 0;
+ padding-bottom:0;
+ margin:0;
+}
+
+.term {
+ font-weight:bold;
+}
Modified: core/trunk/distribution/pom.xml
===================================================================
--- core/trunk/distribution/pom.xml 2010-04-07 13:48:43 UTC (rev 19181)
+++ core/trunk/distribution/pom.xml 2010-04-07 22:46:58 UTC (rev 19182)
@@ -44,6 +44,104 @@
<build>
<plugins>
<plugin>
+ <groupId>org.codehaus.groovy.maven</groupId>
+ <artifactId>gmaven-plugin</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <source><![CDATA[
+ def sourcePathName = 'javadocSourcePath'
+ sourcePath = ant.path( id:sourcePathName ) {
+ ant.pathElement( path:
'../annotations/src/main/java' )
+ ant.pathElement( path:
'../cache-ehcache/src/main/java' )
+ ant.pathElement( path:
'../cache-infinispan/src/main/java' )
+ ant.pathElement( path:
'../cache-jbosscache/src/main/java' )
+ ant.pathElement( path:
'../cache-oscache/src/main/java' )
+ ant.pathElement( path:
'../cache-swarmcache/src/main/java' )
+ ant.pathElement( path:
'../connection-c3p0/src/main/java' )
+ ant.pathElement( path:
'../connection-proxool/src/main/java' )
+ ant.pathElement( path:
'../entitymanager/src/main/java' )
+ ant.pathElement( path:
'../envers/src/main/java' )
+ ant.pathElement( path:
'../testing/src/main/java' )
+ ant.pathElement( path:
'../core/src/main/java:core/target/generated-sources/antlr' )
+ }
+
+ def classPathName = 'javadocClassPath'
+ classPath = ant.path( id:classPathName );
+ project.compileClasspathElements.each{ element ->
+ classPath.createPathElement().path = element
+ }
+
+ ant.javadoc(
+ executable: '${jdk16_home}/bin/javadoc',
+ maxmemory: '512m',
+ destdir: 'target/javadocs',
+ sourcepathref: sourcePathName,
+ classpathref: classPathName,
+ overview:
'../core/src/main/javadoc/package.html',
+ stylesheetfile:
'../core/src/main/javadoc/stylesheet.css',
+ windowtitle: 'Hibernate JavaDocs',
+ doctitle: 'Hibernate JavaDoc
(${project.version})',
+ bottom: 'Copyright © 2001-2010 <a
href="http://redhat.com">Red Hat, Inc.</a> All Rights Reserved.',
+ use: true
+ ) {
+ ant.link( href:
'http://java.sun.com/j2se/1.5.0/docs/api' )
+ ant.link( href:
'http://java.sun.com/javaee/5/docs/api/' )
+ ant.tag( name: 'todo', description: 'To
do:' )
+ ant.tag( name: 'noinspection', enabled: false
)
+ ant.group( title: 'Core API' ) {
+ ant.package( name: 'org.hibernate' )
+ ant.package( name:
'org.hibernate.classic' )
+ ant.package( name:
'org.hibernate.criterion' )
+ ant.package( name:
'org.hibernate.mapping' )
+ ant.package( name:
'org.hibernate.metadata' )
+ ant.package( name: 'org.hibernate.cfg' )
+ ant.package( name: 'org.hibernate.stat'
)
+ }
+ ant.group( title: 'Extension SPI' ) {
+ ant.package( name: 'org.hibernate.id*' )
+ ant.package( name:
'org.hibernate.connection' )
+ ant.package( name:
'org.hibernate.transaction' )
+ ant.package( name: 'org.hibernate.type'
)
+ ant.package( name:
'org.hibernate.dialect*' )
+ ant.package( name: 'org.hibernate.cache*'
)
+ ant.package( name: 'org.hibernate.event*'
)
+ ant.package( name:
'org.hibernate.property' )
+ ant.package( name:
'org.hibernate.loader*' )
+ ant.package( name:
'org.hibernate.persister*' )
+ ant.package( name: ':org.hibernate.proxy'
)
+ ant.package( name: 'org.hibernate.tuple'
)
+ ant.package( name:
'org.hibernate.transform' )
+ ant.package( name:
'org.hibernate.collection' )
+ ant.package( name: 'org.hibernate.jdbc'
)
+ ant.package( name:
'org.hibernate.usertype' )
+ }
+ ant.group( title: 'Bytecode providers' ) {
+ ant.package( name:
'org.hibernate.bytecode*' )
+ ant.package( name:
'org.hibernate.intercept*' )
+ }
+ ant.group( title: 'Infinispan Integration' )
{
+ ant.package( name:
'org.hibernate.cache.infinispan*' )
+ }
+ ant.group( title: 'JBossCache Integration' )
{
+ ant.package( name:
'org.hibernate.cache.jbc*' )
+ }
+ ant.group( title: 'Testing Support' ) {
+ ant.package( name: 'org.hibernate.junit*'
)
+ }
+ }
+ ]]>
+ </source>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
@@ -160,6 +258,50 @@
<artifactId>cglib</artifactId>
<optional>true</optional>
</dependency>
+
+ <!-- Because Maven is retarded -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jacc-api_JDK4</artifactId>
+ <version>1.1.0</version>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-servlet-api_3.0</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>1.6.5</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<profiles>
Modified: core/trunk/distribution/src/assembly/dist.xml
===================================================================
--- core/trunk/distribution/src/assembly/dist.xml 2010-04-07 13:48:43 UTC (rev 19181)
+++ core/trunk/distribution/src/assembly/dist.xml 2010-04-07 22:46:58 UTC (rev 19182)
@@ -199,6 +199,16 @@
<include>**/**</include>
</includes>
</fileSet>
+ <!--
+ Build the 'documentation/javadocs' directory containing the
aggregated javadocs
+ -->
+ <fileSet>
+ <directory>target/javadocs/</directory>
+ <outputDirectory>documentation/javadocs</outputDirectory>
+ <includes>
+ <include>**/**</include>
+ </includes>
+ </fileSet>
</fileSets>
</assembly>
\ No newline at end of file