diff --git a/README.md b/README.md index 0f8a28c..15f6576 100644 --- a/README.md +++ b/README.md @@ -39,8 +39,9 @@ Or to build a WO application package: This plugin comes with some options that you can change in the `configuration` section of the plugin. -- **flattenResources**: Flatten all Resources and WebServerResouces into the Resources folder of the application/framework package. -- **readPatternsets**: Include Resources and WebResources files according to an existing patternset files. +- **flattenResources**: Flatten all Resources and WebServerResouces into the Resources folder of the application/framework package. All nested folders other than wo and eomodeld are dissolved. +- **flattenComponents**: Flatten only the WOComponents and EOModels from Resources or Components folders. All other files and directories keep their original nesting structure. +- **readPatternsets**: Include Resources and WebResources files according to an existing patternset files in the woproject folder. The files here get added *in addition* to anything in the Resources and Component folders processed by default. Also those files and folders will not get flattened. - **skipAppleProvidedFrameworks**: Do not include Apple WebObjects libraries when building application packages. - **includeJavaClientClassesInWebServerResources**: Include JavaClientClasses in the WebServerResources package. diff --git a/src/main/java/org/wocommunity/maven/wolifecycle/AbstractDefineResourcesMojo.java b/src/main/java/org/wocommunity/maven/wolifecycle/AbstractDefineResourcesMojo.java index 1fe294a..1ca4dfa 100644 --- a/src/main/java/org/wocommunity/maven/wolifecycle/AbstractDefineResourcesMojo.java +++ b/src/main/java/org/wocommunity/maven/wolifecycle/AbstractDefineResourcesMojo.java @@ -27,6 +27,7 @@ import org.apache.maven.plugin.MojoFailureException; public abstract class AbstractDefineResourcesMojo extends AbstractWOMojo { + /** * Search for the resource with the specified directory. * @@ -37,7 +38,7 @@ public abstract class AbstractDefineResourcesMojo extends AbstractWOMojo { * @return Returns the resource found or a new one if no one could be found */ static Resource findOrCreateResource(final List resources, - final String resourceDirectory) { + final String resourceDirectory) { if (resourceDirectory == null) { throw new IllegalArgumentException( "The resource directory argument cannot be null"); @@ -63,6 +64,15 @@ static Resource findOrCreateResource(final List resources, * @parameter property="flattenResources" */ private Boolean flattenResources; + + /** + * Flatten all WOComponents from Resources and Components into the Resources + * folder of the WO application/framework package. This is a subset the work + * done for {@link #flattenResources}. + * + * @parameter property="flattenComponents" + */ + private Boolean flattenComponents; public AbstractDefineResourcesMojo() { super(); @@ -108,64 +118,107 @@ private Resource createResources(final List resourcesInclude, } private List createResources(final String directory, - final String targetPath) { - String fullTargetPath = getFullTargetPath(targetPath); + final String targetPath, + final boolean isResourceRoot, + final boolean isWebServerResources) { + + String fullTargetPath = getFullTargetPath(targetPath); - File resourcesDirectory = new File(getProjectFolder(), directory); + File resourcesDirectory = new File(getProjectFolder(), directory); - @SuppressWarnings("unchecked") - Resource resource = findOrCreateResource(getProject().getResources(), - resourcesDirectory.getAbsolutePath()); + @SuppressWarnings("unchecked") + Resource resource = findOrCreateResource(getProject().getResources(), + resourcesDirectory.getAbsolutePath()); - resource.addExclude("*.lproj/**"); + // The default state of "Resource" is to add all things inside the + // directory, BUT if there are include and exclude patterns, those are + // preferred - if (flattenResources()) { - resource.addInclude("*"); - resource.addInclude("*.wo/**"); - resource.addInclude("*.eomodeld/**"); - } + // lproj directory must go always to the resource root and therefore + // gets special handling + resource.addExclude("*.lproj/**"); - resource.setTargetPath(fullTargetPath); + getLog().debug("directory:" + directory + "; target:" + targetPath + + "; isResourceRoot: " + isResourceRoot + + "; isWebServerResources: " + isWebServerResources + + "; flattenComponents: " + flattenComponents); - List resources = new ArrayList(); + if (flattenResources()) { + // if we flatten all resouces, than all content of this directory + // goes to the target resource directory - resources.add(resource); + // all the files ... + resource.addInclude("*"); + // all Components + resource.addInclude("*.wo/**"); + // all eomodels + resource.addInclude("*.eomodeld/**"); + // but we will handle the other directories ourself - File[] files = resourcesDirectory.listFiles(); + } else if (!isWebServerResources && flattenComponents()) { + getLog().info("Will flatten components from " + directory + " into " + + targetPath); - for (int i = 0; i < files.length; i++) { - File file = files[i]; + // add all components in this directory + resource.addInclude("*.wo/**"); + resource.addInclude("*.api"); + resource.addInclude("*.eomodeld/**"); - String filename = file.getName(); + // add all other things at the resource root directory also + if (isResourceRoot) { + resource.addInclude("*"); + resource.addInclude("*/"); + // but exclude wo, api and models in all subdirectories + resource.addExclude("*/**/*.wo/**"); + resource.addExclude("*/**/*.api"); + resource.addInclude("*/**/*.eomodeld/**"); + } + } - if (filename != null && filename.endsWith(".lproj")) { - resource = new Resource(); + resource.setTargetPath(fullTargetPath); - resource.setDirectory(file.getAbsolutePath()); + List resources = new ArrayList(); - if (filename.equalsIgnoreCase("Nonlocalized.lproj")) { - resource.setTargetPath(fullTargetPath); - } else { - resource.setTargetPath(fullTargetPath + File.separator - + filename); - } + resources.add(resource); - resources.add(resource); + File[] files = resourcesDirectory.listFiles(); - continue; - } + for (int i = 0; i < files.length; i++) { + File file = files[i]; - if (includeResourcesRecursively(file)) { - List additionalResources = createResources(directory - + File.separator + filename, targetPath); + String filename = file.getName(); - resources.addAll(additionalResources); - } - } + if (filename != null && filename.endsWith(".lproj")) { + resource = new Resource(); + + resource.setDirectory(file.getAbsolutePath()); + + if (filename.equalsIgnoreCase("Nonlocalized.lproj")) { + resource.setTargetPath(fullTargetPath); + } else { + resource.setTargetPath( + fullTargetPath + File.separator + filename); + } + + resources.add(resource); + + continue; + } - return resources; + if ((flattenResources() + || (!isWebServerResources && flattenComponents())) + && includeResourcesRecursively(file)) { + List additionalResources = createResources(directory + File.separator + filename, + targetPath, false, isWebServerResources); + + resources.addAll(additionalResources); + } + } + + return resources; } + @Override public void execute() throws MojoExecutionException, MojoFailureException { getLog().info("Creating output folders"); @@ -182,6 +235,10 @@ public void execute() throws MojoExecutionException, MojoFailureException { if (readPatternsets != null && readPatternsets.booleanValue()) { executeResourcesPatternsetFiles(); executeWebServerResourcesPatternsetFiles(); + + if (flattenComponents() || flattenResources()) { + getLog().info("Patternset resources will not get flattened."); + } } executeDefineProjectWonderStyleFolders(); @@ -197,137 +254,121 @@ private void executeCreateFolders() { } private void executeDefineMavenStyleFolders() { - getLog().debug("Patching resources for WO Maven style"); + getLog().debug("Patching resources for WO Maven style"); - String pathPrefix = "src" + File.separator + "main" + File.separator; + String pathPrefix = "src" + File.separator + "main" + File.separator; - String resourcesFolder = pathPrefix + "resources"; + String resourcesFolder = pathPrefix + "resources"; - File resourcesFile = new File(getProjectFolder(), resourcesFolder); + File resourcesFile = new File(getProjectFolder(), resourcesFolder); - if (resourcesFile.exists()) { - getLog().debug( - "Patching " + resourcesFolder - + " folder. Adding include..."); + if (resourcesFile.exists()) { + getLog().debug("Patching " + resourcesFolder + + " folder. Adding include..."); - List resourcesFromResourcesFolder = createResources( - resourcesFolder, "Resources"); + List resourcesFromResourcesFolder = createResources( + resourcesFolder, "Resources", true, false); - addResources(resourcesFromResourcesFolder); - } else { - getLog() - .debug( - "No " - + resourcesFolder - + " folder found within project. Skipping include..."); - } + addResources(resourcesFromResourcesFolder); + } else { + getLog().debug("No " + resourcesFolder + + " folder found within project. Skipping include..."); + } - String componentsFolder = pathPrefix + "components"; + String componentsFolder = pathPrefix + "components"; - File componentsFile = new File(getProjectFolder(), componentsFolder); + File componentsFile = new File(getProjectFolder(), componentsFolder); - if (componentsFile.exists()) { - getLog().debug( - "Patching " + componentsFolder - + " folder. Adding include..."); + if (componentsFile.exists()) { + getLog().debug("Patching " + componentsFolder + + " folder. Adding include..."); - List resourcesFromResourcesFolder = createResources( - componentsFolder, "Resources"); + List resourcesFromResourcesFolder = createResources( + componentsFolder, "Resources", true, false); - addResources(resourcesFromResourcesFolder); - } else { - getLog() - .debug( - "No " - + componentsFolder - + " folder found within project. Skipping include..."); - } + addResources(resourcesFromResourcesFolder); + } else { + getLog().debug("No " + componentsFolder + + " folder found within project. Skipping include..."); + } - String webServerResourcesFolder = pathPrefix + "webserver-resources"; + String webServerResourcesFolder = pathPrefix + "webserver-resources"; - File webServerResourcesFile = new File(getProjectFolder(), - webServerResourcesFolder); + File webServerResourcesFile = new File(getProjectFolder(), + webServerResourcesFolder); - if (webServerResourcesFile.exists()) { - getLog().debug( - "Patching " + webServerResourcesFolder - + " folder. Adding include..."); + if (webServerResourcesFile.exists()) { + getLog().debug("Patching " + webServerResourcesFolder + + " folder. Adding include..."); - List webServerResourcesFromWebServerResourcesFolder = createResources( - webServerResourcesFolder, "WebServerResources"); + List webServerResourcesFromWebServerResourcesFolder = createResources( + webServerResourcesFolder, "WebServerResources", true, true); - addResources(webServerResourcesFromWebServerResourcesFolder); - } else { - getLog() - .debug( - "No " - + webServerResourcesFolder - + " folder found within project. Skipping include..."); - } + addResources(webServerResourcesFromWebServerResourcesFolder); + } else { + getLog().debug("No " + webServerResourcesFolder + + " folder found within project. Skipping include..."); + } } private void executeDefineProjectWonderStyleFolders() { - getLog().debug("Patching resources for WOnder style"); + getLog().debug("Patching resources for WOnder style"); - File componentsFile = new File(getProjectFolder(), "Components"); + File componentsFile = new File(getProjectFolder(), "Components"); - if (componentsFile.exists()) { - getLog().debug("Patching \"Components\" folder. Adding include..."); + if (componentsFile.exists()) { + getLog().debug("Patching \"Components\" folder. Adding include..."); - List resourcesFromComponentsFolder = createResources( - "Components", "Resources"); + List resourcesFromComponentsFolder = createResources( + "Components", "Resources", true, false); - addResources(resourcesFromComponentsFolder); - } else { - getLog() - .debug( - "No \"Components\" folder found within project. Skipping include..."); - } + addResources(resourcesFromComponentsFolder); + } else { + getLog().debug( + "No \"Components\" folder found within project. Skipping include..."); + } - File resourcesFile = new File(getProjectFolder(), "Resources"); + File resourcesFile = new File(getProjectFolder(), "Resources"); - if (resourcesFile.exists()) { - getLog().debug("Patching \"Resources\" folder. Adding include..."); + if (resourcesFile.exists()) { + getLog().debug("Patching \"Resources\" folder. Adding include..."); - List resourcesFromResourcesFolder = createResources( - "Resources", "Resources"); + List resourcesFromResourcesFolder = createResources( + "Resources", "Resources", true, false); - addResources(resourcesFromResourcesFolder); - } else { - getLog() - .debug( - "No \"Resources\" folder found within project. Skipping include..."); - } + addResources(resourcesFromResourcesFolder); + } else { + getLog().debug( + "No \"Resources\" folder found within project. Skipping include..."); + } - File webServerResourcesFile = new File(getProjectFolder(), - "WebServerResources"); + File webServerResourcesFile = new File(getProjectFolder(), + "WebServerResources"); - if (webServerResourcesFile.exists()) { - getLog() - .debug( - "Patching \"WebServerResources\" folder. Adding include..."); + if (webServerResourcesFile.exists()) { + getLog().debug( + "Patching \"WebServerResources\" folder. Adding include..."); - List webServerResourcesFromWebServerResourcesFolder = createResources( - "WebServerResources", "WebServerResources"); + List webServerResourcesFromWebServerResourcesFolder = createResources( + "WebServerResources", "WebServerResources", true, true); - addResources(webServerResourcesFromWebServerResourcesFolder); - } else { - getLog() - .debug( - "No \"WebServerResources\" folder found within project. Skipping include..."); - } + addResources(webServerResourcesFromWebServerResourcesFolder); + } else { + getLog().debug( + "No \"WebServerResources\" folder found within project. Skipping include..."); + } } private void executeExistingComponents() { executePatchResources("Components", getFullTargetPath("Resources")); } - private void executeExistingResources() { - this.executePatchResources("WebServerResources", this - .getFullTargetPath("WebServerResources")); + private void executeExistingWebServerResources() { + this.executePatchResources("WebServerResources", + this.getFullTargetPath("WebServerResources")); } - private void executeExistingWebServerResources() { + private void executeExistingResources() { this.executePatchResources("Resources", getFullTargetPath("Resources")); } @@ -347,73 +388,72 @@ private void executePatchResources(final String existingTargetPath, } private void executeResourcesPatternsetFiles() { - getLog().debug("Loading Pattern Sets for Resources"); + getLog().debug("Loading Pattern Sets for Resources"); - File woProjectFile = getWOProjectFolder(); + File woProjectFile = getWOProjectFolder(); - if (woProjectFile == null) { - getLog() - .debug( - "No \"woproject\" folder found within project. Skipping patternsets..."); + if (woProjectFile == null) { + getLog().debug( + "No \"woproject\" folder found within project. Skipping patternsets..."); - return; - } + return; + } - getLog() - .debug( - "\"woproject\" folder found within project. Reading patternsets..."); + getLog().debug( + "\"woproject\" folder found within project. Reading patternsets..."); - List resourcesIncludeFromAntPatternsetFiles = getResourcesInclude(); - List resourcesExcludeFromAntPatternsetFiles = getResourcesExclude(); + List resourcesIncludeFromAntPatternsetFiles = getResourcesInclude(); + List resourcesExcludeFromAntPatternsetFiles = getResourcesExclude(); - if (resourcesIncludeFromAntPatternsetFiles != null - && resourcesExcludeFromAntPatternsetFiles != null - && (resourcesIncludeFromAntPatternsetFiles.size() > 0 || resourcesExcludeFromAntPatternsetFiles - .size() > 0)) { - Resource resourcesFromAntPatternsetFiles = createResources( - resourcesIncludeFromAntPatternsetFiles, - resourcesExcludeFromAntPatternsetFiles, "Resources"); + if (resourcesIncludeFromAntPatternsetFiles != null + && resourcesExcludeFromAntPatternsetFiles != null + && (resourcesIncludeFromAntPatternsetFiles.size() > 0 + || resourcesExcludeFromAntPatternsetFiles.size() > 0)) { + Resource resourcesFromAntPatternsetFiles = createResources( + resourcesIncludeFromAntPatternsetFiles, + resourcesExcludeFromAntPatternsetFiles, "Resources"); - getProject().addResource(resourcesFromAntPatternsetFiles); - } + getProject().addResource(resourcesFromAntPatternsetFiles); + } } private void executeWebServerResourcesPatternsetFiles() { - getLog().debug("Loading Pattern Sets for Resources"); - File woProjectFile = getWOProjectFolder(); - if (woProjectFile == null) { - getLog() - .debug( - "No \"woproject\" folder found within project. Skipping patternsets..."); - - return; - } - - getLog() - .debug( - "\"woproject\" folder found within project. Reading patternsets..."); - - List webserverResourcesIncludeFromAntPatternsetFiles = getWebserverResourcesInclude(); - List webserverResourcesExcludeFromAntPatternsetFiles = getWebserverResourcesExclude(); - - if (webserverResourcesIncludeFromAntPatternsetFiles != null - && webserverResourcesExcludeFromAntPatternsetFiles != null - && (webserverResourcesIncludeFromAntPatternsetFiles.size() > 0 || webserverResourcesExcludeFromAntPatternsetFiles - .size() > 0)) { - Resource webserverResourcesFromAntPatternsetFiles = this - .createResources( - webserverResourcesIncludeFromAntPatternsetFiles, - webserverResourcesExcludeFromAntPatternsetFiles, - "WebServerResources"); - this.getProject().addResource( - webserverResourcesFromAntPatternsetFiles); - } + getLog().debug("Loading Pattern Sets for Resources"); + File woProjectFile = getWOProjectFolder(); + if (woProjectFile == null) { + getLog().debug( + "No \"woproject\" folder found within project. Skipping patternsets..."); + + return; + } + + getLog().debug( + "\"woproject\" folder found within project. Reading patternsets..."); + + List webserverResourcesIncludeFromAntPatternsetFiles = getWebserverResourcesInclude(); + List webserverResourcesExcludeFromAntPatternsetFiles = getWebserverResourcesExclude(); + + if (webserverResourcesIncludeFromAntPatternsetFiles != null + && webserverResourcesExcludeFromAntPatternsetFiles != null + && (webserverResourcesIncludeFromAntPatternsetFiles.size() > 0 + || webserverResourcesExcludeFromAntPatternsetFiles.size() > 0)) { + Resource webserverResourcesFromAntPatternsetFiles = this.createResources( + webserverResourcesIncludeFromAntPatternsetFiles, + webserverResourcesExcludeFromAntPatternsetFiles, + "WebServerResources"); + this.getProject() + .addResource(webserverResourcesFromAntPatternsetFiles); + } } public Boolean flattenResources() { return BooleanUtils.toBooleanDefaultIfNull(flattenResources, false); } + public Boolean flattenComponents() { + return BooleanUtils.toBooleanDefaultIfNull(flattenComponents, false); + } + String getFullTargetPath(final String targetPath) { StringBuilder builder = new StringBuilder(); @@ -457,10 +497,10 @@ private List getWebserverResourcesInclude() { public abstract boolean hasContentsFolder(); boolean includeResourcesRecursively(final File file) { - String filename = file.getName(); + String filename = file.getName(); - return flattenResources() && file.isDirectory() && !file.isHidden() - && !filename.endsWith(".wo") && !filename.endsWith(".eomodeld"); + return file.isDirectory() && !file.isHidden() + && !filename.endsWith(".wo") && !filename.endsWith(".eomodeld"); } public abstract boolean includesVersionInArtifactName(); @@ -484,10 +524,8 @@ private List readPatternset(final String patternsetFileName) { pattern = patternsetReader.getPattern(); } catch (IOException e) { - getLog() - .error( - "Exception while loading \"" + patternsetFileName - + "\"", e); + getLog().error("Exception while loading \"" + patternsetFileName + + "\"", e); } return pattern; diff --git a/src/main/java/org/wocommunity/maven/wolifecycle/AbstractPackageMojo.java b/src/main/java/org/wocommunity/maven/wolifecycle/AbstractPackageMojo.java index 778ffa0..44ff09e 100644 --- a/src/main/java/org/wocommunity/maven/wolifecycle/AbstractPackageMojo.java +++ b/src/main/java/org/wocommunity/maven/wolifecycle/AbstractPackageMojo.java @@ -32,6 +32,7 @@ public AbstractPackageMojo() { super(); } + @Override public void execute() throws MojoExecutionException, MojoFailureException { getLog().info("Packaging WebObjects project"); diff --git a/src/main/java/org/wocommunity/maven/wolifecycle/DefineWOApplicationResourcesMojo.java b/src/main/java/org/wocommunity/maven/wolifecycle/DefineWOApplicationResourcesMojo.java index fe44ac6..31748b1 100644 --- a/src/main/java/org/wocommunity/maven/wolifecycle/DefineWOApplicationResourcesMojo.java +++ b/src/main/java/org/wocommunity/maven/wolifecycle/DefineWOApplicationResourcesMojo.java @@ -136,11 +136,9 @@ private void copyJarEntryToFile(final String jarFileName, } file.createNewFile(); - InputStream is = null; - OutputStream os = null; - try { - is = new JarFile(jarFileName).getInputStream(jarEntry); - os = new FileOutputStream(file); + try (JarFile jarf = new JarFile(jarFileName); + InputStream is = jarf.getInputStream(jarEntry); + OutputStream os = new FileOutputStream(file)) { byte[] buf = new byte[1024]; int len; @@ -148,14 +146,6 @@ private void copyJarEntryToFile(final String jarFileName, os.write(buf, 0, len); } - } finally { - if (is != null) { - is.close(); - } - - if (os != null) { - os.close(); - } } } @@ -270,11 +260,8 @@ && isWebObjectAppleGroup(artifact.getGroupId())) { continue; } - try { - FileInputStream fileInputStream = new FileInputStream(jarFile); - - JarInputStream jarInputStream = new JarInputStream( - fileInputStream); + try (FileInputStream fileInputStream = new FileInputStream(jarFile); + JarInputStream jarInputStream = new JarInputStream(fileInputStream)) { int counter = 0; @@ -301,11 +288,8 @@ && isWebObjectAppleGroup(artifact.getGroupId())) { } } } - getLog() - .debug( - counter - + " WebServerResources was extracted and copied from Jar named " - + jarFile.getName()); + getLog().debug(counter + " WebServerResources was extracted and copied from Jar named " + + jarFile.getName()); } catch (FileNotFoundException e) { throw new MojoExecutionException("Could not open file ('" + jarFile.getName() + "') input stream", e); @@ -342,7 +326,7 @@ public boolean includesVersionInArtifactName() { return true; } - private boolean isArtifactDeployed(final File file) { + private static boolean isArtifactDeployed(final File file) { return file.isFile(); } diff --git a/src/main/java/org/wocommunity/maven/wolifecycle/PatternsetReader.java b/src/main/java/org/wocommunity/maven/wolifecycle/PatternsetReader.java index 6b45515..09ac891 100644 --- a/src/main/java/org/wocommunity/maven/wolifecycle/PatternsetReader.java +++ b/src/main/java/org/wocommunity/maven/wolifecycle/PatternsetReader.java @@ -33,10 +33,8 @@ public PatternsetReader(final File patternset) throws IOException { List patternList = new ArrayList(); - BufferedReader patternReader = null; - - try { - patternReader = new BufferedReader(new FileReader(patternset)); + try (FileReader fr = new FileReader(patternset); + BufferedReader patternReader = new BufferedReader(fr)) { String line = patternReader.readLine(); @@ -47,14 +45,6 @@ public PatternsetReader(final File patternset) throws IOException { line = patternReader.readLine(); } - } finally { - if (null != patternReader) { - try { - patternReader.close(); - } catch (IOException ioe) { - // Ignore exception - } - } } pattern = patternList; diff --git a/src/test/java/org/wocommunity/maven/wolifecycle/MockWOMojo.java b/src/test/java/org/wocommunity/maven/wolifecycle/MockWOMojo.java index a1f6690..641eee7 100644 --- a/src/test/java/org/wocommunity/maven/wolifecycle/MockWOMojo.java +++ b/src/test/java/org/wocommunity/maven/wolifecycle/MockWOMojo.java @@ -18,7 +18,6 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.project.MavenProject; -import org.wocommunity.maven.wolifecycle.AbstractWOMojo; /** * Only to test methods on abstract class @@ -27,6 +26,7 @@ */ public class MockWOMojo extends AbstractWOMojo { + @Override public void execute() throws MojoExecutionException, MojoFailureException { // Do nothing } diff --git a/src/test/java/org/wocommunity/maven/wolifecycle/TestAbstractDefineResourcesMojo.java b/src/test/java/org/wocommunity/maven/wolifecycle/TestAbstractDefineResourcesMojo.java index b6f76e3..0efa908 100644 --- a/src/test/java/org/wocommunity/maven/wolifecycle/TestAbstractDefineResourcesMojo.java +++ b/src/test/java/org/wocommunity/maven/wolifecycle/TestAbstractDefineResourcesMojo.java @@ -29,7 +29,6 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; -import org.wocommunity.maven.wolifecycle.AbstractDefineResourcesMojo; public class TestAbstractDefineResourcesMojo extends AbstractMojoTestCase { private static final File TEST_POM = new File(getBasedir(), @@ -93,7 +92,7 @@ public void testDontFlattenHiddenResources() throws Exception { File file = Mockito.spy(new File(".svn")); - Mockito.stub(file.isHidden()).toReturn(true); + Mockito.when(file.isHidden()).thenReturn(true); assertThat(mojo.includeResourcesRecursively(file), is(false)); } @@ -130,7 +129,7 @@ public void testFlattenResourcesForNullInitialization() throws Exception { public void testFullTargetDirectoryNotIncludingVersion() throws Exception { mojo = Mockito.spy(mojo); - Mockito.stub(mojo.includesVersionInArtifactName()).toReturn(false); + Mockito.when(mojo.includesVersionInArtifactName()).thenReturn(false); String path = mojo.getFullTargetPath("folder");