I am writing a custom library. It\'s build into a .jar archive. I am fully able to generate the javadoc, but I don\'t know how I should distribute it?
Another way: For me this was the best choise: (addingto build.xml. I've tested it on NetBeans IDE 7.0 and 7.2.1) (found it on Automatically generating source and doc jars in Netbeans )
<target name="-post-jar" description="bundle sources and javadoc in a jar" depends="javadoc">
<jar compress="${jar.compress}" basedir="${src.dir}" jarfile="${dist.dir}/${application.title}-sources.jar"/>
<jar compress="${jar.compress}" basedir="${test.src.dir}" jarfile="${dist.dir}/${application.title}-test.jar"/>
<jar compress="${jar.compress}" basedir="${dist.javadoc.dir}" jarfile="${dist.dir}/${application.title}-javadoc.jar"/>
This will create four jars, one to application program, one to sources, one to tests and one to javadoc.
I'd include the library .jar and the documentation and other things, like a README, License file etc. in a single archive (zip or tar.gz)
mylib-1.0.1.tar.gz , which contains:
mylib-1.0.1/
├── javadoc
│ └── index.html (and all other javadoc files under here)
├── mylib-1.0.1.jar
└── README
Instead of the expanded javadoc/ sub directory within the archive, you could add the compressed javadoc in a mylib-1.0.1-javadoc.jar (or zip) , both options are common.
mylib-1.0.1/
├── mylib-1.0.1-javadoc.jar
├── mylib-1.0.1.jar
└── README
It's a general practice to keep the JavaDocs in a separate archive. or even more commonly, in a directory called 'docs'. you do not needlessly want to bloat your library's archive with the html and js files.
And why would you want to include the generated JavaDocs [html + js] in your project? As long the source code JavaDoc comments are in place, someone using your library will be able to see them by simply hovering over w/ the mouse in any of the modern IDE's
Update
As per nanda's comment below, I checked the same and he IS correct. In my project, I have actually attached Javadocs from the 'doc' folder to the archive to be able to view them on mouseover.