[
https://issues.jboss.org/browse/AS7-582?page=com.atlassian.jira.plugin.sy...
]
Ondrej Zizka commented on AS7-582:
----------------------------------
{code}
##### With exported dependencies, converted from module names to package names:
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 java packages.
echo > javadoc-packages.tmp.txt
while read -r LINE ; do
MODULE_PATH=`echo $LINE | sed 's#\.#/#g'`
MOD_FULL_PATH="build/target/jboss-as-7.1.2.Final-SNAPSHOT/modules/$MODULE_PATH/main"
echo "Trying $MOD_FULL_PATH ...";
for JAR in `ls $MOD_FULL_PATH/*.jar` ; do
echo " Found JAR: $JAR"
#for ENTRY in `zipinfo -1 $JAR | grep '.class$' | awk -F/ '{print
$NF}' | sort | uniq` ; do
for ENTRY in `zipinfo -1 $JAR | grep '.class$' | rev | cut -d/ -f2- | rev |
sort | uniq` ; do
#dirname $ENTRY | sed 's#/#\.#g';
echo $ENTRY | sed 's#/#\.#g' | tee --append javadoc-packages.tmp.txt | sed
's#.*# \0#'
done
done
done < modules.tmp2.txt
cat javadoc-packages.tmp.txt | sort | uniq > javadoc-packages.tmp-sorted.txt
### Wrap it as includes for pom.xml.
cat javadoc-packages.tmp-sorted.txt | sed
's#.*#<include>\0:*</include>#'
{code}
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