[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