CPD Results
The following document contains the results of PMD's CPD 7.3.0.
Duplications
| File | Line |
|---|---|
| org\codehaus\gmavenplus\mojo\AbstractCompileMojo.java | 549 |
| org\codehaus\gmavenplus\mojo\AbstractGenerateStubsMojo.java | 470 |
}
/**
* 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 ("25".equals(targetBytecode)) {
if (groovyOlderThan(GROOVY_4_0_27)) {
throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_4_0_24 + " or newer.");
}
if (groovyNewerThan(GROOVY_5_0_0_ALPHA1) && groovyOlderThan(GROOVY_5_0_0_ALPHA13)) {
throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_5_0_0_ALPHA13 + " or newer.");
}
} else if ("24".equals(targetBytecode)) {
if (groovyOlderThan(GROOVY_4_0_24)) {
throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_4_0_24 + " or newer.");
}
if (groovyNewerThan(GROOVY_5_0_0_ALPHA1) && groovyOlderThan(GROOVY_5_0_0_ALPHA11)) {
throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_5_0_0_ALPHA11 + " or newer.");
}
} else if ("23".equals(targetBytecode)) {
if (groovyOlderThan(GROOVY_4_0_21)) {
throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_4_0_21 + " or newer.");
}
if (groovyNewerThan(GROOVY_5_0_0_ALPHA1) && groovyOlderThan(GROOVY_5_0_0_ALPHA8)) {
throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_5_0_0_ALPHA8 + " 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.");
}
if (groovyNewerThan(GROOVY_5_0_0_ALPHA1) && groovyOlderThan(GROOVY_5_0_0_ALPHA3)) {
throw new IllegalArgumentException("Target bytecode " + targetBytecode + " requires Groovy " + GROOVY_5_0_0_ALPHA3 + " 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) { | |
| 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-13 version.
*/
protected static final Version GROOVY_5_0_0_ALPHA13 = new Version(5, 0, 0, "alpha-13");
/**
* Groovy 5.0.0-alpha-11 version.
*/
protected static final Version GROOVY_5_0_0_ALPHA11 = new Version(5, 0, 0, "alpha-11");
/**
* Groovy 5.0.0-alpha-8 version.
*/
protected static final Version GROOVY_5_0_0_ALPHA8 = new Version(5, 0, 0, "alpha-8");
/**
* Groovy 5.0.0-alpha-3 version.
*/
protected static final Version GROOVY_5_0_0_ALPHA3 = new Version(5, 0, 0, "alpha-3");
/**
* 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.27 version.
*/
protected static final Version GROOVY_4_0_27 = new Version(4, 0, 27);
/**
* Groovy 4.0.24 version.
*/
protected static final Version GROOVY_4_0_24 = new Version(4, 0, 24);
/**
* Groovy 4.0.21 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\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 | 135 |
| org\codehaus\gmavenplus\mojo\AbstractGenerateStubsMojo.java | 132 |
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 | 139 |
| 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") | |
GMavenPlus