[
https://issues.jboss.org/browse/AS7-582?page=com.atlassian.jira.plugin.sy...
]
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