1 /*
2 * The MIT License (MIT)
3 *
4 * Copyright (c) 2013-2026 The Coveralls Maven Plugin Project Contributors:
5 * https://github.com/hazendaz/coveralls-maven-plugin/graphs/contributors
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal
9 * in the Software without restriction, including without limitation the rights
10 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 * copies of the Software, and to permit persons to whom the Software is
12 * furnished to do so, subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included in
15 * all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 * THE SOFTWARE.
24 */
25 package org.eluder.coveralls.maven.plugin.logging;
26
27 import java.io.File;
28
29 import org.apache.maven.plugin.logging.Log;
30
31 /**
32 * The Class DryRunLogger.
33 */
34 public class DryRunLogger implements Logger {
35
36 /** The dry run. */
37 private final boolean dryRun;
38
39 /** The coveralls file. */
40 private final File coverallsFile;
41
42 /**
43 * Instantiates a new dry run logger.
44 *
45 * @param dryRun
46 * the dry run
47 * @param coverallsFile
48 * the coveralls file
49 */
50 public DryRunLogger(final boolean dryRun, final File coverallsFile) {
51 if (coverallsFile == null) {
52 throw new IllegalArgumentException("coverallsFile must be defined");
53 }
54 this.dryRun = dryRun;
55 this.coverallsFile = coverallsFile;
56 }
57
58 @Override
59 public Position getPosition() {
60 return Position.AFTER;
61 }
62
63 @Override
64 public void log(final Log log) {
65 if (this.dryRun) {
66 log.info("Dry run enabled, Coveralls report will NOT be submitted to API");
67 log.info(this.coverallsFile.length() + " bytes of data was recorded in "
68 + this.coverallsFile.getAbsolutePath());
69 }
70 }
71
72 }