Runs and emits an HTML document
This commit is contained in:
parent
c09f92ccee
commit
45c73ff0e5
3
ivy.xml
3
ivy.xml
|
|
@ -30,6 +30,9 @@
|
|||
|
||||
<!-- Dependencies for the graph aligner -->
|
||||
<dependency org="org.jgrapht" name="jgrapht-jdk1.5" rev="0.7.3"/>
|
||||
|
||||
<!-- Dependencies for the html walker documention -->
|
||||
<dependency org="org.freemarker" name="freemarker" rev="2.3.18"/>
|
||||
|
||||
<!-- Commons Dependencies -->
|
||||
<dependency org="org.apache.commons" name="commons-email" rev="1.2"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,94 @@
|
|||
/*
|
||||
* Copyright (c) 2011, The Broad Institute
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
package org.broadinstitute.sting.utils.help;
|
||||
|
||||
import com.sun.javadoc.*;
|
||||
import freemarker.template.Configuration;
|
||||
import freemarker.template.DefaultObjectWrapper;
|
||||
import freemarker.template.Template;
|
||||
import freemarker.template.TemplateException;
|
||||
import org.broadinstitute.sting.gatk.walkers.Walker;
|
||||
import org.broadinstitute.sting.utils.Utils;
|
||||
import org.broadinstitute.sting.utils.classloader.JVMUtils;
|
||||
import org.broadinstitute.sting.utils.exceptions.ReviewedStingException;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class GATKDoclet {
|
||||
/**
|
||||
* Extracts the contents of certain types of javadoc and adds them to an XML file.
|
||||
* @param rootDoc The documentation root.
|
||||
* @return Whether the JavaDoc run succeeded.
|
||||
* @throws java.io.IOException if output can't be written.
|
||||
*/
|
||||
public static boolean start(RootDoc rootDoc) throws IOException {
|
||||
/* ------------------------------------------------------------------- */
|
||||
/* You should do this ONLY ONCE in the whole application life-cycle: */
|
||||
|
||||
Configuration cfg = new Configuration();
|
||||
// Specify the data source where the template files come from.
|
||||
// Here I set a file directory for it:
|
||||
cfg.setDirectoryForTemplateLoading(new File("settings/helpTemplates/"));
|
||||
// Specify how templates will see the data-model. This is an advanced topic...
|
||||
// but just use this:
|
||||
cfg.setObjectWrapper(new DefaultObjectWrapper());
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------- */
|
||||
/* You usually do these for many times in the application life-cycle: */
|
||||
|
||||
/* Create a data-model */
|
||||
// Create the root hash
|
||||
Map root = new HashMap();
|
||||
// Put string ``user'' into the root
|
||||
root.put("user", "Mark DePristo");
|
||||
|
||||
/* Get or create a template */
|
||||
Template temp = cfg.getTemplate("test.html");
|
||||
|
||||
/* Merge data-model with template */
|
||||
Writer out = new OutputStreamWriter(System.out);
|
||||
try {
|
||||
temp.process(root, out);
|
||||
out.flush();
|
||||
} catch ( TemplateException e ) {
|
||||
throw new ReviewedStingException("Failed to create GATK documentation", e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate the given options against options supported by this doclet.
|
||||
* @param option Option to validate.
|
||||
* @return Number of potential parameters; 0 if not supported.
|
||||
*/
|
||||
public static int optionLength(String option) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -186,8 +186,6 @@ public class ResourceBundleExtractorDoclet {
|
|||
* @return True if the JavaDoc is missing. False otherwise.
|
||||
*/
|
||||
private static boolean isRequiredJavadocMissing(ClassDoc classDoc) {
|
||||
if(classDoc.containingPackage().name().contains("oneoffprojects"))
|
||||
return false;
|
||||
return classDoc.commentText().length() == 0 || classDoc.commentText().contains("Created by IntelliJ");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue