[jboss-jira] [JBoss JIRA] (AS7-582) Create aggregated JBoss AS Javadoc.
Ondrej Zizka (JIRA)
jira-events at lists.jboss.org
Mon Apr 16 08:04:17 EDT 2012
[ https://issues.jboss.org/browse/AS7-582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12684456#comment-12684456 ]
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
More information about the jboss-jira
mailing list