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 -->
|
<!-- Dependencies for the graph aligner -->
|
||||||
<dependency org="org.jgrapht" name="jgrapht-jdk1.5" rev="0.7.3"/>
|
<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 -->
|
<!-- Commons Dependencies -->
|
||||||
<dependency org="org.apache.commons" name="commons-email" rev="1.2"/>
|
<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.
|
* @return True if the JavaDoc is missing. False otherwise.
|
||||||
*/
|
*/
|
||||||
private static boolean isRequiredJavadocMissing(ClassDoc classDoc) {
|
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");
|
return classDoc.commentText().length() == 0 || classDoc.commentText().contains("Created by IntelliJ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue