[jboss-jira] [JBoss JIRA] (AS7-582) Create aggregated JBoss AS Javadoc.
Ondrej Zizka (JIRA)
jira-events at lists.jboss.org
Mon Apr 16 11:36:18 EDT 2012
[ https://issues.jboss.org/browse/AS7-582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12684576#comment-12684576 ]
Ondrej Zizka edited comment on AS7-582 at 4/16/12 11:34 AM:
------------------------------------------------------------
So in the end I've used the data from build/build.xml, i.e.
{code}
<module-def name="org.jboss.xts">
<maven-resource group="org.jboss.jbossts" artifact="jbossxts"/>
<maven-resource group="org.jboss.jbossts" artifact="jbossxts-api"/>
<maven-resource group="org.jboss.jbossts" artifact="jbosstxbridge"/>
</module-def>
{code}
{code}
##### With exported dependencies, converted from module names to groupIDs:
echo '' > packages.tmp.txt
for i in `find build/src/main/resources/modules/ -name module.xml` ; do
FILE=`grep 'value="private"' --files-without-match $i`;
if [ "$FILE" == "" ] ; then continue; fi;
echo " Public module: $i"
## Extract module name.
PKG=`grep '<module .* name="' $FILE | head -1 | sed 's#<module .* name="\([^"]*\).*"#\1#' | sed 's#/\?>##'`;
echo " == $PKG"
echo $PKG >> packages.tmp.txt
## Exported dependencies.
#grep '<module name="' $FILE | grep 'export="true"' | sed 's#<module name="\([^"]*\).*"#\1#' | sed 's#/\?>##' | sed 's#\s*\(.*\)\s*#\1#' | sed 's#.*# Exported dep: \0#'
#grep '<module name="' $FILE | grep 'export="true"' | sed 's#<module name="\([^"]*\).*"#\1#' | sed 's#/\?>##' | sed 's#\s*\(.*\)\s*#\1#' >> packages.tmp.txt
grep '<module name="' $FILE | grep 'export="true"' | sed 's#<module name="\([^"]*\).*"#\1#' | sed 's#/\?>##' | sed 's#\s*\(.*\)\s*#\1#' | tee --append packages.tmp.txt | sed 's#.*# Exported dep: \0#'
done
sort packages.tmp.txt | uniq > modules.tmp2.txt
#cat packages.tmp2.txt | sed 's#.*#<include>\0:*</include>#'
### Now we have a list of public API modules, e.g. javax.management.j2ee.api
### Let's convert it into a list of groupIDs.
echo > groupIDs.tmp.txt
while read -r MODULE ; do
echo "Artefacts for module: $MODULE"
GROUP_ID=`xsltproc --stringparam moduleName "$MODULE" convertModuleNameToGroupID.xsl build/build.xml`
echo " GroupID: $GROUP_ID"
echo $GROUP_ID >> groupIDs.tmp.txt
done < modules.tmp2.txt
cat groupIDs.tmp.txt | sort | uniq > groupIDs.tmp-sorted.txt
### Wrap it as includes for pom.xml.
cat groupIDs.tmp-sorted.txt | sed 's#.*#<include>\0</include>#'
{code}
And the complete output is:
{code}
com.h2database:h2
commons-configuration:commons-configuration
dom4j:dom4j
javax.activation:activation
javax.enterprise:cdi-api
javax.faces:jsf-api
javax.inject:javax.inject
javax.jws:jsr181-api
javax.mail:mail
javax.validation:validation-api
joda-time:joda-time
org.apache.juddi:juddi-client
org.apache.juddi.scout:scout
org.apache.juddi:uddi-ws
org.hibernate.common:hibernate-commons-annotations
org.hibernate:hibernate-core
org.hibernate:hibernate-entitymanager
org.hibernate:hibernate-envers
org.hibernate:hibernate-infinispan
org.hibernate:hibernate-validator
org.hibernate.javax.persistence:hibernate-jpa-2.0-api
org.hornetq:hornetq-core
org.hornetq:hornetq-jms
org.infinispan:infinispan-core
org.jboss.as:jboss-as-controller-client
org.jboss.com.sun.httpserver:httpserver
org.jboss.invocation:jboss-invocation
org.jboss:jboss-dmr
org.jboss:jboss-ejb-client
org.jboss:jboss-remote-naming
org.jboss.jbossts:jbosstxbridge
org.jboss.jbossts:jbossxts
org.jboss.jbossts:jbossxts-api
org.jboss:jboss-vfs
org.jboss.logging:jboss-logging
org.jboss.logging:jul-to-slf4j-stub
org.jboss.logmanager:jboss-logmanager
org.jboss.marshalling:jboss-marshalling
org.jboss.msc:jboss-msc
org.jboss.remotingjmx:remoting-jmx
org.jboss.remoting3:jboss-remoting
org.jboss.sasl:jboss-sasl
org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec
org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec
org.jboss.spec.javax.el:jboss-el-api_2.2_spec
org.jboss.spec.javax.enterprise.deploy:jboss-jad-api_1.2_spec
org.jboss.spec.javax.faces:jboss-jsf-api_2.1_spec
org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec
org.jboss.spec.javax.jms:jboss-jms-api_1.1_spec
org.jboss.spec.javax.management.j2ee:jboss-j2eemgmt-api_1.1_spec
org.jboss.spec.javax.resource:jboss-connector-api_1.6_spec
org.jboss.spec.javax.rmi:jboss-rmi-api_1.0_spec
org.jboss.spec.javax.security.auth.message:jboss-jaspi-api_1.0_spec
org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.4_spec
org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec
org.jboss.spec.javax.servlet.jsp:jboss-jsp-api_2.2_spec
org.jboss.spec.javax.servlet.jstl:jboss-jstl-api_1.2_spec
org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec
org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec
org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.2_spec
org.jboss.spec.javax.xml.registry:jboss-jaxr-api_1.0_spec
org.jboss.spec.javax.xml.rpc:jboss-jaxrpc-api_1.1_spec
org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_spec
org.jboss.spec.javax.xml.ws:jboss-jaxws-api_2.2_spec
org.jboss.threads:jboss-threads
org.jboss.weld:weld-api
org.jboss.ws:jbossws-api
org.jboss.xnio:xnio-api
org.jdom:jdom
org.jgroups:jgroups
org.osgi:org.osgi.core
org.picketbox:picketbox
org.picketbox:picketbox-commons
org.picketbox:picketbox-infinispan
org.picketlink:picketlink-bindings
org.picketlink:picketlink-bindings-jboss
org.picketlink:picketlink-fed
org.slf4j:jcl-over-slf4j
org.slf4j:slf4j-api
org.slf4j:slf4j-ext
wsdl4j:wsdl4j
xalan:serializer
xalan:xalan
xerces:xercesImpl
{code}
Does that seem correct?
was (Author: ozizka):
So in the end I've used the data from build/build.xml, i.e.
{code}
<module-def name="org.jboss.xts">
<maven-resource group="org.jboss.jbossts" artifact="jbossxts"/>
<maven-resource group="org.jboss.jbossts" artifact="jbossxts-api"/>
<maven-resource group="org.jboss.jbossts" artifact="jbosstxbridge"/>
</module-def>
{code}
{code}
##### With exported dependencies, converted from module names to groupIDs:
echo '' > packages.tmp.txt
for i in `find build/src/main/resources/modules/ -name module.xml` ; do
FILE=`grep 'value="private"' --files-without-match $i`;
if [ "$FILE" == "" ] ; then continue; fi;
echo " Public module: $i"
## Extract module name.
PKG=`grep '<module .* name="' $FILE | head -1 | sed 's#<module .* name="\([^"]*\).*"#\1#' | sed 's#/\?>##'`;
echo " == $PKG"
echo $PKG >> packages.tmp.txt
## Exported dependencies.
#grep '<module name="' $FILE | grep 'export="true"' | sed 's#<module name="\([^"]*\).*"#\1#' | sed 's#/\?>##' | sed 's#\s*\(.*\)\s*#\1#' | sed 's#.*# Exported dep: \0#'
#grep '<module name="' $FILE | grep 'export="true"' | sed 's#<module name="\([^"]*\).*"#\1#' | sed 's#/\?>##' | sed 's#\s*\(.*\)\s*#\1#' >> packages.tmp.txt
grep '<module name="' $FILE | grep 'export="true"' | sed 's#<module name="\([^"]*\).*"#\1#' | sed 's#/\?>##' | sed 's#\s*\(.*\)\s*#\1#' | tee --append packages.tmp.txt | sed 's#.*# Exported dep: \0#'
done
sort packages.tmp.txt | uniq > modules.tmp2.txt
#cat packages.tmp2.txt | sed 's#.*#<include>\0:*</include>#'
### Now we have a list of public API modules, e.g. javax.management.j2ee.api
### Let's convert it into a list of groupIDs.
echo > groupIDs.tmp.txt
while read -r MODULE ; do
echo "Artefacts for module: $MODULE"
GROUP_ID=`xsltproc --stringparam moduleName "$MODULE" convertModuleNameToGroupID.xsl build/build.xml`
echo " GroupID: $GROUP_ID"
echo $GROUP_ID >> groupIDs.tmp.txt
done < modules.tmp2.txt
cat groupIDs.tmp.txt | sort | uniq > groupIDs.tmp-sorted.txt
### Wrap it as includes for pom.xml.
cat groupIDs.tmp-sorted.txt | sed 's#.*#<include>\0</include>#'
{code}
And the complete output is:
{code}
com.h2database:h2
commons-configuration:commons-configuration
dom4j:dom4j
javax.activation:activation
javax.enterprise:cdi-api
javax.inject:javax.inject
javax.jws:jsr181-api
javax.mail:mail
javax.validation:validation-api
joda-time:joda-time
org.apache.juddi:juddi-client
org.apache.juddi.scout:scout
org.apache.juddi:uddi-ws
org.hibernate:hibernate-core org.hibernate.common:hibernate-commons-annotations org.hibernate:hibernate-entitymanager org.hibernate:hibernate-infinispan
org.hibernate:hibernate-envers
org.hibernate:hibernate-validator
org.hibernate.javax.persistence:hibernate-jpa-2.0-api
org.hornetq:hornetq-core org.hornetq:hornetq-jms
org.infinispan:infinispan-core
org.jboss.as:jboss-as-controller-client
org.jboss.com.sun.httpserver:httpserver
org.jboss.invocation:jboss-invocation
org.jboss:jboss-dmr
org.jboss:jboss-ejb-client
org.jboss:jboss-remote-naming
org.jboss.jbossts:jbossxts org.jboss.jbossts:jbossxts-api org.jboss.jbossts:jbosstxbridge
org.jboss:jboss-vfs
org.jboss.logging:jboss-logging
org.jboss.logging:jul-to-slf4j-stub
org.jboss.logmanager:jboss-logmanager
org.jboss.marshalling:jboss-marshalling
org.jboss.msc:jboss-msc
org.jboss.remotingjmx:remoting-jmx
org.jboss.remoting3:jboss-remoting
org.jboss.sasl:jboss-sasl
org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec
org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec
org.jboss.spec.javax.el:jboss-el-api_2.2_spec
org.jboss.spec.javax.enterprise.deploy:jboss-jad-api_1.2_spec
org.jboss.spec.javax.faces:jboss-jsf-api_2.1_spec javax.faces:jsf-api
org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec
org.jboss.spec.javax.jms:jboss-jms-api_1.1_spec
org.jboss.spec.javax.management.j2ee:jboss-j2eemgmt-api_1.1_spec
org.jboss.spec.javax.resource:jboss-connector-api_1.6_spec
org.jboss.spec.javax.rmi:jboss-rmi-api_1.0_spec
org.jboss.spec.javax.security.auth.message:jboss-jaspi-api_1.0_spec
org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.4_spec
org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec
org.jboss.spec.javax.servlet.jsp:jboss-jsp-api_2.2_spec
org.jboss.spec.javax.servlet.jstl:jboss-jstl-api_1.2_spec
org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec
org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec
org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.2_spec
org.jboss.spec.javax.xml.registry:jboss-jaxr-api_1.0_spec
org.jboss.spec.javax.xml.rpc:jboss-jaxrpc-api_1.1_spec
org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_spec
org.jboss.spec.javax.xml.ws:jboss-jaxws-api_2.2_spec
org.jboss.threads:jboss-threads
org.jboss.weld:weld-api
org.jboss.ws:jbossws-api
org.jboss.xnio:xnio-api
org.jdom:jdom
org.jgroups:jgroups
org.osgi:org.osgi.core
org.picketbox:picketbox org.picketbox:picketbox-infinispan org.picketbox:picketbox-commons
org.picketlink:picketlink-fed org.picketlink:picketlink-bindings org.picketlink:picketlink-bindings-jboss
org.slf4j:jcl-over-slf4j
org.slf4j:slf4j-api
org.slf4j:slf4j-ext
wsdl4j:wsdl4j
xalan:serializer xalan:xalan
xerces:xercesImpl
{code}
Does that seem correct?
> Create aggregated JBoss AS Javadoc.
> -----------------------------------
>
> Key: AS7-582
> URL: https://issues.jboss.org/browse/AS7-582
> Project: Application Server 7
> Issue Type: Sub-task
> Components: Build System
> Reporter: David Lloyd
> Assignee: Ondrej Zizka
> Fix For: 7.1.2.Final-redhat1
>
> Attachments: packages.tmp2.txt
>
>
> Identify artifacts corresponding to "supported" API modules. Generate aggregated JavaDoc by fetching the source JAR for each API artifact.
> Enable APIViz if possible; use JBoss.org theme if possible.
> Javadoc'd packages should be grouped by API.
> It is also important that JDK classes are properly linked. This might mean linking to oracle's doc site for JavaSE like many projects do, or perhaps using locally-generated javadoc from OpenJDK perhaps.
> Just to keep info on how to:
> {code:xml}
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-javadoc-plugin</artifactId>
> <version>2.8.1-SNAPSHOT</version>
> <executions>
> <execution>
> <id>javadocs-dist</id>
> <goals><goal>aggregate-jar</goal></goals>
> <phase>validate</phase>
> <configuration>
> <includeDependencySources>true</includeDependencySources>
> <dependencySourceIncludes>
> <include>org.jboss.spec.javax.servlet:*</include>
> <include>org.jboss.spec.javax.ejb:*</include>
> ...
> </dependencySourceIncludes>
> </configuration>
> </execution>
> </executions>
> </plugin>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list