CPD Results
The following document contains the results of PMD's CPD 7.3.0.
Duplications
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\AbstractCompileMojo.java | 515 |
org\codehaus\gmavenplus\mojo\AbstractGenerateStubsMojo.java | 436 |
} /** * Throws an exception if targetBytecode is not supported with this version of Groovy. That is, when Groovy added * the option to org.codehaus.groovy.control.CompilerConfiguration and used it in * org.codehaus.groovy.classgen.asm.WriterController. */ protected void verifyGroovyVersionSupportsTargetBytecode() { if ("1.5".equals(targetBytecode) || "5".equals(targetBytecode) || "1.6".equals(targetBytecode) || "6".equals(targetBytecode) || "1.7".equals(targetBytecode) || "7".equals(targetBytecode) || "1.8".equals(targetBytecode) || "8".equals(targetBytecode) || "1.9".equals(targetBytecode) || "9".equals(targetBytecode) || "10".equals(targetBytecode)) { if (groovyNewerThan(GROOVY_5_0_0_ALPHA1)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " isn't accepted by Groovy " + GROOVY_5_0_0_ALPHA1 + " or newer."); } } if ("23".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_4_0_21)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_4_0_21 + " or newer."); } } else if ("22".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_4_0_16)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_4_0_16 + " or newer."); } } else if ("21".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_4_0_11)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_4_0_11 + " or newer."); } } else if ("20".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_4_0_6)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_4_0_6 + " or newer."); } } else if ("19".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_4_0_2)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_4_0_2 + " or newer."); } } else if ("18".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_4_0_0_BETA1)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_4_0_0_BETA1 + " or newer."); } } else if ("17".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_3_0_8) || (groovyAtLeast(GROOVY_4_0_0_ALPHA1) && groovyOlderThan(GROOVY_4_0_0_ALPHA3))) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_3_0_8 + "/" + GROOVY_4_0_0_ALPHA3 + " or newer."); } } else if ("16".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_3_0_6)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_3_0_6 + " or newer."); } } else if ("15".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_3_0_3)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_3_0_3 + " or newer."); } } else if ("14".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_3_0_0_BETA2)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_3_0_0_BETA2 + " or newer."); } } else if ("13".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_2_5_7) || (groovyAtLeast(GROOVY_2_6_0_ALPHA1) && groovyOlderThan(GROOVY_3_0_0_BETA1))) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_2_5_7 + "/" + GROOVY_3_0_0_BETA1 + " or newer. No 2.6 version is supported."); } } else if ("12".equals(targetBytecode) || "11".equals(targetBytecode) || "10".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_2_5_3) || (groovyAtLeast(GROOVY_2_6_0_ALPHA1) && groovyOlderThan(GROOVY_3_0_0_ALPHA4))) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_2_5_3 + "/" + GROOVY_3_0_0_ALPHA4 + " or newer. No 2.6 version is supported."); } } else if ("9".equals(targetBytecode) || "1.9".equals(targetBytecode)) { if (!isGroovyIndy() && (groovyOlderThan(GROOVY_2_5_3) || (groovyAtLeast(GROOVY_2_6_0_ALPHA1) && groovyOlderThan(GROOVY_2_6_0_ALPHA4)) || (groovyAtLeast(GROOVY_3_0_0_ALPHA1) && groovyOlderThan(GROOVY_3_0_0_ALPHA2)))) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_2_5_3 + "/" + GROOVY_2_6_0_ALPHA4 + "/" + GROOVY_3_0_0_ALPHA2 + " or newer."); } else if (isGroovyIndy() && (groovyOlderThan(GROOVY_2_5_3) || (groovyAtLeast(GROOVY_2_6_0_ALPHA1) && groovyOlderThan(GROOVY_3_0_0_ALPHA4)))) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_2_5_3 + "/" + GROOVY_3_0_0_ALPHA4 + " or newer. No 2.6 version is supported."); } } else if ("8".equals(targetBytecode) || "1.8".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_2_3_3)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_2_3_3 + " or newer."); } } else if ("7".equals(targetBytecode) || "1.7".equals(targetBytecode) || "6".equals(targetBytecode) || "1.6".equals(targetBytecode)) { if (groovyOlderThan(GROOVY_2_1_3)) { throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_2_1_3 + " or newer."); } } else if (!"5".equals(targetBytecode) && !"1.5".equals(targetBytecode) && !"4".equals(targetBytecode) && !"1.4".equals(targetBytecode)) { throw new IllegalArgumentException("Unrecognized target bytecode: '" + targetBytecode + "'. This check can be skipped with 'skipBytecodeCheck', but this may result in a different target bytecode being used."); } } protected static String translateJavacTargetToTargetBytecode(String targetBytecode) { Map<String, String> javacTargetToTargetBytecode = new HashMap<>(); javacTargetToTargetBytecode.put("5", "1.5"); javacTargetToTargetBytecode.put("6", "1.6"); javacTargetToTargetBytecode.put("7", "1.7"); javacTargetToTargetBytecode.put("8", "1.8"); javacTargetToTargetBytecode.put("1.9", "9"); return javacTargetToTargetBytecode.getOrDefault(targetBytecode, targetBytecode); } } |
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\GroovyDocJarMojo.java | 135 |
org\codehaus\gmavenplus\mojo\GroovyDocTestsJarMojo.java | 135 |
getLog().info("Not adding GroovyDoc jar to attached artifacts list."); } } catch (ArchiverException e) { throw new MojoExecutionException("ArchiverException: Error while creating archive", e); } catch (IOException e) { throw new MojoExecutionException("IOException: Error while creating archive", e); } catch (RuntimeException e) { throw new MojoExecutionException("RuntimeException: Error while creating archive", e); } } /** * Method that creates the jar file * * @param groovydocFiles the directory where the generated jar file will be put * @param jarFileName the filename of the generated jar file * @return a File object that contains the generated jar file * @throws ArchiverException When an issue occurs preventing Maven Archiver from creating the jar file * @throws IOException When an IO issue occurs preventing Maven Archiver from creating the jar file */ protected File generateArchive(File groovydocFiles, String jarFileName) throws ArchiverException, IOException { File groovydocJar = new File(jarOutputDirectory, jarFileName); if (groovydocJar.exists()) { if (!groovydocJar.delete()) { getLog().warn("Unable to delete " + groovydocJar.getAbsolutePath()); } } MavenArchiver archiver = new MavenArchiver(); archiver.setArchiver(jarArchiver); archiver.setOutputFile(groovydocJar); if (!groovydocFiles.exists()) { getLog().warn("JAR will be empty - no content was marked for inclusion!"); } else { archiver.getArchiver().addDirectory(groovydocFiles); } if (useDefaultManifestFile && defaultManifestFile.exists() && archive.getManifestFile() == null) { getLog().info("Adding existing MANIFEST to archive. Found under: " + defaultManifestFile.getPath()); archive.setManifestFile(defaultManifestFile); } try { archiver.createArchive(session, project, archive); } catch (ManifestException e) { throw new ArchiverException("ManifestException: " + e.getMessage(), e); } catch (DependencyResolutionRequiredException e) { throw new ArchiverException("DependencyResolutionRequiredException: " + e.getMessage(), e); } return groovydocJar; } } |
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\AbstractCompileMojo.java | 45 |
org\codehaus\gmavenplus\mojo\AbstractGenerateStubsMojo.java | 47 |
public abstract class AbstractCompileMojo extends AbstractGroovySourcesMojo { /** * Groovy 5.0.0-alpha-1 version. */ protected static final Version GROOVY_5_0_0_ALPHA1 = new Version(5, 0, 0, "alpha-1"); /** * Groovy 4.0.11 version. */ protected static final Version GROOVY_4_0_21 = new Version(4, 0, 21); /** * Groovy 4.0.11 version. */ protected static final Version GROOVY_4_0_16 = new Version(4, 0, 16); /** * Groovy 4.0.11 version. */ protected static final Version GROOVY_4_0_11 = new Version(4, 0, 11); /** * Groovy 4.0.6 version. */ protected static final Version GROOVY_4_0_6 = new Version(4, 0, 6); /** * Groovy 4.0.2 version. */ protected static final Version GROOVY_4_0_2 = new Version(4, 0, 2); /** * Groovy 4.0.0 beta-1 version. */ protected static final Version GROOVY_4_0_0_BETA1 = new Version(4, 0, 0, "beta-1"); /** * Groovy 4.0.0 alpha-3 version. */ protected static final Version GROOVY_4_0_0_ALPHA3 = new Version(4, 0, 0, "alpha-3"); /** * Groovy 4.0.0 alpha-1 version. */ protected static final Version GROOVY_4_0_0_ALPHA1 = new Version(4, 0, 0, "alpha-1"); /** * Groovy 3.0.8 version. */ protected static final Version GROOVY_3_0_8 = new Version(3, 0, 8); /** * Groovy 3.0.6 version. */ protected static final Version GROOVY_3_0_6 = new Version(3, 0, 6); /** * Groovy 3.0.5 version. */ protected static final Version GROOVY_3_0_5 = new Version(3, 0, 5); |
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\AbstractCompileMojo.java | 105 |
org\codehaus\gmavenplus\mojo\AbstractGenerateStubsMojo.java | 102 |
protected static final Version GROOVY_3_0_5 = new Version(3, 0, 5); /** * Groovy 3.0.3 version. */ protected static final Version GROOVY_3_0_3 = new Version(3, 0, 3); /** * Groovy 3.0.0 beta-2 version. */ protected static final Version GROOVY_3_0_0_BETA2 = new Version(3, 0, 0, "beta-2"); /** * Groovy 3.0.0 beta-1 version. */ protected static final Version GROOVY_3_0_0_BETA1 = new Version(3, 0, 0, "beta-1"); /** * Groovy 3.0.0 alpha-4 version. */ protected static final Version GROOVY_3_0_0_ALPHA4 = new Version(3, 0, 0, "alpha-4"); /** * Groovy 3.0.0 alpha-2 version. */ protected static final Version GROOVY_3_0_0_ALPHA2 = new Version(3, 0, 0, "alpha-2"); /** * Groovy 3.0.0 alpha-1 version. */ protected static final Version GROOVY_3_0_0_ALPHA1 = new Version(3, 0, 0, "alpha-1"); /** * Groovy 2.6.0 alpha-4 version. */ protected static final Version GROOVY_2_6_0_ALPHA4 = new Version(2, 6, 0, "alpha-4"); /** * Groovy 2.6.0 alpha-1 version. */ protected static final Version GROOVY_2_6_0_ALPHA1 = new Version(2, 6, 0, "alpha-1"); /** * Groovy 2.5.7 version. */ protected static final Version GROOVY_2_5_7 = new Version(2, 5, 7); /** * Groovy 2.5.3 version. */ protected static final Version GROOVY_2_5_3 = new Version(2, 5, 3); /** * Groovy 2.5.0 alpha-1 version. */ protected static final Version GROOVY_2_5_0_ALPHA1 = new Version(2, 5, 0, "alpha-1"); |
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\ConsoleMojo.java | 70 |
org\codehaus\gmavenplus\mojo\ShellMojo.java | 75 |
public void execute() throws MojoExecutionException, MojoFailureException { try { setupClassWrangler(project.getTestClasspathElements(), includeClasspath); } catch (MalformedURLException e) { throw new MojoExecutionException("Unable to add project test dependencies to classpath.", e); } catch (DependencyResolutionRequiredException e) { throw new MojoExecutionException("Test dependencies weren't resolved.", e); } logPluginClasspath(); classWrangler.logGroovyVersion(mojoExecution.getMojoDescriptor().getGoal()); try { getLog().debug("Project test classpath:\n" + project.getTestClasspathElements()); } catch (DependencyResolutionRequiredException e) { getLog().debug("Unable to log project test classpath"); } if (!groovyVersionSupportsAction()) { getLog().error("Your Groovy version (" + classWrangler.getGroovyVersionString() + ") doesn't support running a console. The minimum version of Groovy required is " + minGroovyVersion + ". Skipping console startup."); |
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\ConsoleMojo.java | 71 |
org\codehaus\gmavenplus\mojo\ExecuteMojo.java | 122 |
org\codehaus\gmavenplus\mojo\ShellMojo.java | 76 |
try { setupClassWrangler(project.getTestClasspathElements(), includeClasspath); } catch (MalformedURLException e) { throw new MojoExecutionException("Unable to add project test dependencies to classpath.", e); } catch (DependencyResolutionRequiredException e) { throw new MojoExecutionException("Test dependencies weren't resolved.", e); } logPluginClasspath(); classWrangler.logGroovyVersion(mojoExecution.getMojoDescriptor().getGoal()); try { getLog().debug("Project test classpath:\n" + project.getTestClasspathElements()); } catch (DependencyResolutionRequiredException e) { getLog().debug("Unable to log project test classpath"); } if (!groovyVersionSupportsAction()) { getLog().error("Your Groovy version (" + classWrangler.getGroovyVersionString() + ") doesn't support running a console. The minimum version of Groovy required is " + minGroovyVersion + ". Skipping console startup."); |
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\ConsoleMojo.java | 179 |
org\codehaus\gmavenplus\mojo\ShellMojo.java | 157 |
protected Object setupConsole(final Class<?> consoleClass, final Class<?> bindingClass) throws InvocationTargetException, IllegalAccessException, InstantiationException { Object binding = invokeConstructor(findConstructor(bindingClass)); initializeProperties(); Method setVariable = findMethod(bindingClass, "setVariable", String.class, Object.class); if (bindPropertiesToSeparateVariables) { for (Object k : properties.keySet()) { invokeMethod(setVariable, binding, k, properties.get(k)); } } else { if (groovyOlderThan(GROOVY_4_0_0_RC_1)) { invokeMethod(setVariable, binding, "properties", properties); } else { throw new IllegalArgumentException("properties is a read-only property in Groovy " + GROOVY_4_0_0_RC_1 + " and later."); } } |
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\CompileMojo.java | 68 |
org\codehaus\gmavenplus\mojo\GenerateStubsMojo.java | 76 |
org\codehaus\gmavenplus\mojo\GroovyDocMojo.java | 74 |
doCompile(getFiles(sources, false), project.getCompileClasspathElements(), outputDirectory); } catch (ClassNotFoundException e) { throw new MojoExecutionException("Unable to get a Groovy class from classpath (" + e.getMessage() + "). Do you have Groovy as a compile dependency in your project?", e); } catch (InvocationTargetException e) { throw new MojoExecutionException("Error occurred while calling a method on a Groovy class from classpath.", e); } catch (InstantiationException e) { throw new MojoExecutionException("Error occurred while instantiating a Groovy class from classpath.", e); } catch (IllegalAccessException e) { throw new MojoExecutionException("Unable to access a method on a Groovy class from classpath.", e); } catch (DependencyResolutionRequiredException e) { throw new MojoExecutionException("Compile dependencies weren't resolved.", e); } catch (MalformedURLException e) { throw new MojoExecutionException("Unable to add project compile dependencies to classpath.", e); } } } |
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\CompileTestsMojo.java | 79 |
org\codehaus\gmavenplus\mojo\GenerateTestStubsMojo.java | 86 |
org\codehaus\gmavenplus\mojo\GroovyDocTestsMojo.java | 74 |
doCompile(getTestFiles(testSources, false), project.getTestClasspathElements(), testOutputDirectory); } catch (ClassNotFoundException e) { throw new MojoExecutionException("Unable to get a Groovy class from classpath (" + e.getMessage() + "). Do you have Groovy as a compile dependency in your project?", e); } catch (InvocationTargetException e) { throw new MojoExecutionException("Error occurred while calling a method on a Groovy class from classpath.", e); } catch (InstantiationException e) { throw new MojoExecutionException("Error occurred while instantiating a Groovy class from classpath.", e); } catch (IllegalAccessException e) { throw new MojoExecutionException("Unable to access a method on a Groovy class from classpath.", e); } catch (DependencyResolutionRequiredException e) { throw new MojoExecutionException("Test dependencies weren't resolved.", e); } catch (MalformedURLException e) { throw new MojoExecutionException("Unable to add project test dependencies to classpath.", e); } } } |
File | Line |
---|---|
org\codehaus\gmavenplus\mojo\GroovyDocJarMojo.java | 46 |
org\codehaus\gmavenplus\mojo\GroovyDocTestsJarMojo.java | 46 |
public class GroovyDocJarMojo extends GroovyDocMojo { /** * Specifies the filename that will be used for the generated jar file. Please note that <code>-groovydoc</code> * will be appended to the file name. */ @Parameter(property = "project.build.finalName") protected String finalName; /** * Specifies the directory where the generated jar file will be put. */ @Parameter(property = "project.build.directory") protected String jarOutputDirectory; /** * The Jar archiver. */ @Component(role = Archiver.class, hint = "jar") protected JarArchiver jarArchiver; /** * The archive configuration to use. * See <a href="http://maven.apache.org/shared/maven-archiver/index.html">Maven Archiver Reference</a>. */ @Parameter protected final MavenArchiveConfiguration archive = new MavenArchiveConfiguration(); /** * Specifies whether to attach the generated artifact to the project helper. */ @Parameter(property = "attach", defaultValue = "true") protected boolean attach; /** * Used for attaching the artifact in the project. */ @Component private MavenProjectHelper projectHelper; /** * Path to the default MANIFEST file to use. It will be used if * <code>useDefaultManifestFile</code> is set to <code>true</code>. */ @Parameter(defaultValue = "${project.build.outputDirectory}/META-INF/MANIFEST.MF", required = true, readonly = true) protected File defaultManifestFile; /** * Set this to <code>true</code> to enable the use of the <code>defaultManifestFile</code>. */ @Parameter(defaultValue = "false") private boolean useDefaultManifestFile; /** * The classifier for the GroovyDoc jar. */ @Parameter(defaultValue = "groovydoc") |