| <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang=""><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Report.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Creadur RAT::Core</a> > <a href="index.source.html" class="el_package">org.apache.rat</a> > <span class="el_source">Report.java</span></div><h1>Report.java</h1><pre class="source lang-java linenums">/* |
| * Licensed to the Apache Software Foundation (ASF) under one * |
| * or more contributor license agreements. See the NOTICE file * |
| * distributed with this work for additional information * |
| * regarding copyright ownership. The ASF licenses this file * |
| * to you under the Apache License, Version 2.0 (the * |
| * "License"); you may not use this file except in compliance * |
| * with the License. You may obtain a copy of the License at * |
| * * |
| * http://www.apache.org/licenses/LICENSE-2.0 * |
| * * |
| * Unless required by applicable law or agreed to in writing, * |
| * software distributed under the License is distributed on an * |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * |
| * KIND, either express or implied. See the License for the * |
| * specific language governing permissions and limitations * |
| * under the License. * |
| */ |
| package org.apache.rat; |
| |
| import java.io.File; |
| |
| import org.apache.commons.cli.Options; |
| import org.apache.rat.document.RatDocumentAnalysisException; |
| import org.apache.rat.help.Help; |
| import org.apache.rat.utils.DefaultLog; |
| |
| import static java.lang.String.format; |
| |
| /** |
| * The CLI based configuration object for report generation. |
| */ |
| public final class Report { |
| |
| /** |
| * Processes the command line and builds a configuration and executes the |
| * report. |
| * |
| * @param args the arguments. |
| * @throws Exception on error. |
| */ |
| public static void main(final String[] args) throws Exception { |
| <span class="fc" id="L43"> DefaultLog.getInstance().info(new VersionInfo().toString());</span> |
| |
| <span class="pc bpc" id="L45" title="2 of 4 branches missed."> if (args == null || args.length == 0) {</span> |
| <span class="nc" id="L46"> DefaultLog.getInstance().info("Please use the \"--help\" option to see a " +</span> |
| "list of valid commands and options, as you did not provide any arguments."); |
| <span class="nc" id="L48"> System.exit(0);</span> |
| } |
| |
| <span class="fc" id="L51"> ReportConfiguration configuration = OptionCollection.parseCommands(new File("."), args, Report::printUsage);</span> |
| <span class="fc bfc" id="L52" title="All 2 branches covered."> if (configuration != null) {</span> |
| <span class="fc" id="L53"> configuration.validate(DefaultLog.getInstance()::error);</span> |
| <span class="fc" id="L54"> Reporter reporter = new Reporter(configuration);</span> |
| <span class="fc" id="L55"> reporter.output();</span> |
| <span class="fc" id="L56"> reporter.writeSummary(DefaultLog.getInstance().asWriter());</span> |
| |
| <span class="fc bfc" id="L58" title="All 2 branches covered."> if (configuration.getClaimValidator().hasErrors()) {</span> |
| <span class="fc" id="L59"> configuration.getClaimValidator().logIssues(reporter.getClaimsStatistic());</span> |
| <span class="fc" id="L60"> throw new RatDocumentAnalysisException(format("Issues with %s",</span> |
| <span class="fc" id="L61"> String.join(", ",</span> |
| <span class="fc" id="L62"> configuration.getClaimValidator().listIssues(reporter.getClaimsStatistic()))));</span> |
| } |
| } |
| <span class="fc" id="L65"> }</span> |
| |
| /** |
| * Prints the usage message on {@code System.out}. |
| * @param opts The defined options. |
| */ |
| private static void printUsage(final Options opts) { |
| <span class="fc" id="L72"> new Help(System.out).printUsage(opts);</span> |
| <span class="fc" id="L73"> }</span> |
| |
| private Report() { |
| // do not instantiate |
| } |
| } |
| </pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.14.202510111229</span></div></body></html> |