Skip to content

umjammer/codavaj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

112 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Releases Java CI CodeQL Java

CODAVAJ

logo Β Β Β Β Β Β Β codavaj is anadrome of javadoc

Install

Usage

Convert Javadoc to Java Source

to convert javadoc tree into java source
(external references to Sun's standard javadocs are automatically resolved i.e. http://java.sun.com/j2se/1.5.0/docs/api/)

codavaj.cmd codavaj <javadoc-dir> <javasource-dir> {<external-link-url>}*

i.e.

 $ # from LOCAL javadoc
 $ codavaj.cmd codavaj tmp/jumpi/javadoc tmp/jumpi/src
 $ # or from local javadoc w/ EXTERNAL LINK
 $ codavaj.cmd codavaj tmp/jumpi/javadoc tmp/jumpi/src http://external.link.com/api
 $ # or from REMOTE javadoc
 $ codavaj.cmd codavaj http://jumpi.sourceforge.net/javadoc/j2se tmp/jumpi/src

Cooperate with Java Parser

parser set javadoc to (decompiled) source rename argument names as javadoc documented code output
JavaParser βœ… 🚫 πŸ“„ πŸ‘‘
rewrite jdk version problem? 🚧 πŸ“„
JDT βœ… 🚫 πŸ“„ little bit worse than JavaParser
spoon βœ… 🚫 πŸ“„ formats are gone

Example

 $ # install codavaj
 $ cd $HOME/src/java
 $ git clone https://github.com/umjammer/codavaj

 $ # decompile by fernflower
 $ cd $HOME/src/java/javax-speech
 $ curl -o tmp/speech-1.0.0.jar https://github.com/umjammer/umjammer/raw/mvn-repo/javax/speech/speech/1.0.0/speech-1.0.0.jar
 $ mkdir -p tmp/classes
 $ java -jar fernflower.jar tmp/speech-1.0.0.jar tmp/classes
 $ pushd src/main/java; jar xvf $HOME/src/java/javax-speech/tmp/classes/speech-1.0.0.jar; popd 

 $ # add comment from javadoc on the net to decompiled source
 $ cd $HOME/src/java/javax-speech
 $ mkdir -p src/main/java
 $ mkdir -p tmp/src
 $ (pushd $HOME/src/java/codavaj; mvn -P comment test-compile antrun:run@javaParser \
   -Dcomment.javadoc=https://docs.oracle.com/cd/E17802_01/products/products/java-media/speech/forDevelopers/jsapi-doc \
   -Dcomment.source=$HOME/src/java/javax-speech/src/main/java \
   -Dcomment.out=$HOME/src/java/javax-speech/tmp/src \
   ; popd)
 $ diff -rBw src/main/java tmp/src | less -R
 $ diff -rBw src/main/java tmp/src > tmp/c.patch
 $ pushd src/main/java; patch -p 2 < ../../../tmp/c.patch; popd   

known issues

References

TODO

About

πŸ§žβ€β™€οΈ Javadoc Reverse Engineering (for JDK version 6, 8, 10, 11, 12, 13)

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages