kapeli / javadocset Goto Github PK
View Code? Open in Web Editor NEWSimple command line tool for generating a Dash docset from Javadoc-generated documentation
Simple command line tool for generating a Dash docset from Javadoc-generated documentation
The Zeal docs say to follow Dash's instructions for generating docsets.
I want to create a docset from custom javadocs, but the dash instructions require an OS X specific program.
Could we get some platform independent instructions for generating docsets from javadocs?
Tonight I got this pair of warnings 4 times... but the docset seemed to generate okay otherwise:
2021-01-31 19:39:21.680 javadocset[63014:1228979] nil host used in call to allowsSpecificHTTPSCertificateForHost
2021-01-31 19:39:21.680 javadocset[63014:1228979] nil host used in call to allowsAnyHTTPSCertificateForHost:
(Running on MacOS Big Sur v11.1 default OpenJDK v11.x)
Hello, I'm trying to update WPILib in the user contributed repo, and I've been stuck with receiving an empty docset. I've only gotten the error Warning: could not determine type for . Please tell the developer about this!
over and over again. Attached is a screenshot of the empty docSet.dsidx next to the index-all.html file. Any way to fix this?
Hi, i'm getting following error when i try to generate docset from Lucene API docs:
$ ./javadocset "Lucene 4.2.1" ~/Projects/stask/lucene-4.2.1/docs/
Creating docset structure...done
Copying files...done
Error: The API folder you specified does not contain any index files (either a index-all.html file or a index-files folder) and is not valid. Please contact the developer if you receive this error by mistake.
Usage: javadocset <docset name> <javadoc API folder>
<docset name> - anything you want
<javadoc API folder> - the path of the javadoc API folder you want to index
I tried to generate from lucene 4.2.1 and 4.6.0 javadocs (you can download 4.2.1 from here: http://archive.apache.org/dist/lucene/java/4.2.1/lucene-4.2.1.tgz)
I'll try to dig it a little more later.
Thanks,
Hi,
I downloaded http://algs4.cs.princeton.edu/code/javadoc/ this docset with httrack to my computer and I am trying to run ./javadocset on it. However when I do so, it tells me this:
Error: The API folder you specified does not contain any index files (either a index-all.html file or a index-files folder) and is not valid. Please contact the developer if you receive this error by mistake.
Any advice?
So I've been using javadocset
to generate docsets for Jenkins Pipeline Libraries, which are written in Groovy and use groovydoc
for documentation. javadocset
does not process the global singletons, and I get the following error message:
Warning: could not determine type for exampleClass. Please tell the developer about this!
exampleClass - Script in exampleClass and
Here's a bit of background information on the topic. The general directory structure of a Jenkins Pipeline Library is as such:
.
├── src
│ └── com
│ └── packagename
│ └── ExampleClass.groovy
├── test
│ ├── com
│ │ └── packagename
│ | └── ExampleClassTest.groovy
│ └── resources
└── vars
└── exampleClass.groovy
Classes exist in src
and global singleton variables, usually thin wrappers around the class, are in vars
. Most global singletons look like this:
// exampleClass.groovy
import com.packagename.ExampleClass as ExampleClass
ExampleClass create(Map args) {
return new ExampleClass(args)
}
def doStuff(Map args) {
return new ExampleClass(args).doStuff()
}
The reason for providing a singleton is to spare the project's Jenkinsfile
some boilerplate code for the import
and new
statements. Jenkins internally creates a class for these files, even though they lack a class
declaration and appear as a regular Groovy script.
javadocset
generates documentation correctly for classes, but not these singletons. Having them in our docsets is very important to our users, since most developers interface with them in their Jenkinsfile
s rather than the classes.
I'm not sure if this is exactly a "bug" in javadocset
or not, but regardless, I would really like to find a way to include documentation for such objects in our docsets.
Some methods in Java are overloaded a lot, such as List
or Set
methods, or they just occure quite frequently due to name collisions. However, in the docset the entry names only include the method name and not the class, which makes navigating to the one that you need quite a task, whereas the Python docset includes the module (and class) name and makes navigation a lot easier.
Hi, I download an offline ziped java 1.6 API doc from -> http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/html_zh_CN.zip, use javadocset to generate Dash docset.
The docset is generated successfully, but with many warning like:
"
Warning: could not determine type for itemListener. Please tell the developer about this!
itemListener - 类 javax.swing.plaf.basic.BasicComboPopup 中的变量 and
Warning: could not determine type for ItemSelectable. Please tell the developer about this!
ItemSelectable - java.awt 中的 接口 and
Warning: could not determine type for itemStateChanged(ItemEvent). Please tell the developer about this!
itemStateChanged(ItemEvent) - 接口 java.awt.event.ItemListener 中的方法 and
Warning: could not determine type for iterator(). Please tell the developer about this!
iterator() - 异常 java.sql.SQLException 中的方法 and
"
The docset can be importer in Dash, but it just has few SQLite indexes, I'm not sure it's because of the warings above.
Thanks:)
(Migrated from #9 (comment))
When processing Groovydoc-generated documentation, some classes are missing in the listing. Here's a screenshot of an example project which demonstrates the behavior:
Here's the corresponding list of classes/singletons from the library:
$ tree -P "*.groovy" src/ vars/
src/
└── com
└── ableton
├── Pipenv.groovy
├── PythonBuilder.groovy
├── PythonPackage.groovy
├── VirtualEnv.groovy
└── VirtualEnvList.groovy
vars/
├── pipenv.groovy
├── pythonBuilder.groovy
├── pythonPackage.groovy
├── virtualenv.groovy
└── virtualenvs.groovy
Looking at https://github.com/Kapeli/javadocset/blob/master/javadocset/DHIndexer.m#L63, javadocset
is looking for the words Class in
within index-all.html
, and groovydoc
seems to be at fault here.
I did a bit of investigating, and it seems that groovydoc
is parsing classes before scripts, and if it encounters a script with the same (case-insensitive) name as a script, the script takes precedence (or perhaps overwrites the class entry). That's why in the above example, only VirtualEnvList
is shown in classes, since it is the only class that lacks a singleton. In all of the other cases, the class has a corresponding singleton which differs only by case (ie, the pipenv
script vs. the Pipenv
class).
A possible solution here would be to derive the class/script entries by parsing the allclasses-frame.html
file instead.
I assume the Java SDK docset (and possibly other docsets) that are available in Dash are generated with this tool. The problem I have with it is that it indexes methods just by their simple name. For example, when you search for getName
you'll get a list of one hundred or more matches and have no easy way to figure out which method in the list belongs to which class or interface. The same applies to fields and also to nested classes.
I'd suggest to index methods and fields using a scheme like methodOrFieldName (ContainingClassOrIFace)
or similar where the container is already visible in the search results.
See the README file in my pull request for instructions: https://github.com/Kapeli/Dash-User-Contributions/pull/2443/files
I get many, many "could not determine type" warnings when processing this Javadoc-generated HTML. They look like this:
Warning: could not determine type for X86_64_RELOC_GOT_LOAD. Please tell the developer about this!
X86_64_RELOC_GOT_LOAD - ghidra.app.util.bin.format.macho.RelocationTypeX86_64 and
javadocset
showed following error messages.
reating docset structure...done
Copying files...done
Start indexing...
Indexing index-all.html...
Warning: could not determine type for a. Please tell the developer about this!
a - クラス �static変数htsjdk.samtools.util.SequenceUtil and
Warning: could not determine type for A. Please tell the developer about this!
A - クラス �static変数htsjdk.samtools.util.SequenceUtil and
....
I think javadocset
command cant handle UTF-8 string, these corrupted strings maybe caused by NSString or something. my Mac OS locale is set to LANG="ja_JP.UTF-8"
.
I'm heavy Dash.app user I am looking forward to next release fixed this issue!
Thanks.
I would like to contribute to the project (and from there to Zeal as well) but I don't have access to any iOS devices. Any possibility for even a cross-compiled binary?
I am using this tool to generate the Java SE 17 docset. I received this warning on my iTerm: Warning: could not determine type for . Please tell the developer about this
. It showed that "added 0 entries" and the final Java SE 16 docset proved to be empty. Hope it can be solved.
If there is another way to generate a Java 17 docset, just let me know.
Figured I should finally tell you that the javadocset program chokes on some of Vaadin's javadocs... I thought it was working okay--the content is all there--but now I realize that it isn't indexing the items which showed errors.
Here's the javadoc library I'm running it on: https://vaadin.com/downloading?package=release/7.4/7.4.3/vaadin-all-7.4.3-javadoc.jar
...and here's the errors I see when running javadocset: https://gist.github.com/ewall/53bbbd2ef99af9c80c2a
Note: I'm using the latest version of javadocset (freshly downloaded today), but past versions have had roughly the same results.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.