@Test public void testDefaultPackaging() throws MojoExecutionException, IOException { WebJarPackager packager = new WebJarPackager(); packager.project = mock(MavenProject.class); packager.projectHelper = mock(MavenProjectHelper.class); when(packager.project.getArtifactId()).thenReturn("test"); when(packager.project.getVersion()).thenReturn("1.1"); when(packager.project.getBasedir()).thenReturn(fake); packager.buildDirectory = new File("target/junk"); copy(); packager.packageWebJar = true; packager.deployWebJarToWisdom = true; packager.execute(); final File wj = new File(packager.buildDirectory, "test-1.1-webjar.jar"); assertThat(wj).isFile(); JarFile jar = new JarFile(wj); assertThat(jar.getEntry(WebJarPackager.ROOT + "test/1.1/less/style.less")).isNotNull(); assertThat(jar.getEntry(WebJarPackager.ROOT + "test/1.1/missing")).isNull(); assertThat(jar.getEntry(WebJarPackager.ROOT + "test/1.1/coffee/script.coffee")).isNotNull(); Attributes attributes = jar.getManifest().getMainAttributes(); assertThat(attributes.getValue("Webjar-Name")).isEqualTo("test"); assertThat(attributes.getValue("Webjar-Version")).isEqualTo("1.1"); }
@Test public void testNameVersionAndClassifierCustomization() throws MojoExecutionException, IOException { WebJarPackager packager = new WebJarPackager(); packager.project = mock(MavenProject.class); packager.projectHelper = mock(MavenProjectHelper.class); when(packager.project.getArtifactId()).thenReturn("test"); when(packager.project.getVersion()).thenReturn("1.0"); when(packager.project.getBasedir()).thenReturn(fake); packager.buildDirectory = new File("target/junk"); copy(); packager.webjar = new WebJar(); packager.webjar.setName("library"); packager.webjar.setVersion("2.0"); packager.webjar.setClassifier("wb"); packager.execute(); final File wj = new File(packager.buildDirectory, "library-2.0-wb.jar"); assertThat(wj).isFile(); JarFile jar = new JarFile(wj); assertThat(jar.getEntry(WebJarPackager.ROOT + "library/2.0/missing")).isNull(); assertThat(jar.getEntry(WebJarPackager.ROOT + "library/2.0/coffee/script.coffee")).isNotNull(); assertThat(jar.getEntry(WebJarPackager.ROOT + "library/2.0/less/style.less")).isNotNull(); Attributes attributes = jar.getManifest().getMainAttributes(); assertThat(attributes.getValue("Webjar-Name")).isEqualTo("library"); assertThat(attributes.getValue("Webjar-Version")).isEqualTo("2.0"); }
@Test public void testIncludesCustomization() throws MojoExecutionException, IOException { WebJarPackager packager = new WebJarPackager(); packager.project = mock(MavenProject.class); packager.projectHelper = mock(MavenProjectHelper.class); when(packager.project.getArtifactId()).thenReturn("test"); when(packager.project.getVersion()).thenReturn("1.0"); when(packager.project.getBasedir()).thenReturn(fake); packager.buildDirectory = new File("target/junk"); copy(); packager.webjar = new WebJar(); FileSet set = new FileSet(); set.setDirectory(new File(classes, "assets").getAbsolutePath()); set.setIncludes(ImmutableList.of("**/coffee/*")); packager.webjar.setFileset(set); packager.execute(); final File wj = new File(packager.buildDirectory, "test-1.0-webjar.jar"); assertThat(wj).isFile(); JarFile jar = new JarFile(wj); assertThat(jar.getEntry(WebJarPackager.ROOT + "test/1.0/missing")).isNull(); assertThat(jar.getEntry(WebJarPackager.ROOT + "test/1.0/coffee/script.coffee")).isNotNull(); assertThat(jar.getEntry(WebJarPackager.ROOT + "test/1.0/less/style.less")).isNull(); }
@Test public void testExcludesCustomization() throws MojoExecutionException, IOException { WebJarPackager packager = new WebJarPackager(); packager.project = mock(MavenProject.class); packager.projectHelper = mock(MavenProjectHelper.class); when(packager.project.getArtifactId()).thenReturn("test"); when(packager.project.getVersion()).thenReturn("1.0"); when(packager.project.getBasedir()).thenReturn(fake); packager.buildDirectory = new File("target/junk"); copy(); packager.webjar = new WebJar(); FileSet set = new FileSet(); set.setDirectory(new File(classes, "assets").getAbsolutePath()); set.setExcludes(ImmutableList.of("**/less/*")); packager.webjar.setFileset(set); packager.execute(); final File wj = new File(packager.buildDirectory, "test-1.0-webjar.jar"); assertThat(wj).isFile(); JarFile jar = new JarFile(wj); assertThat(jar.getEntry(WebJarPackager.ROOT + "test/1.0/missing")).isNull(); assertThat(jar.getEntry(WebJarPackager.ROOT + "test/1.0/coffee/script.coffee")).isNotNull(); assertThat(jar.getEntry(WebJarPackager.ROOT + "test/1.0/less/style.less")).isNull(); }
@Test public void testDefaultConfiguration() throws MojoExecutionException { WebJarPackager packager = new WebJarPackager(); packager.project = mock(MavenProject.class); packager.projectHelper = mock(MavenProjectHelper.class); when(packager.project.getArtifactId()).thenReturn("test"); when(packager.project.getVersion()).thenReturn("1.0"); when(packager.project.getBasedir()).thenReturn(new File("")); packager.buildDirectory = new File("target"); packager.packageWebJar = true; packager.deployWebJarToWisdom = true; packager.execute(); // No file, so no creation assertThat(new File(packager.buildDirectory, "test-1.0-webjar.jar")).doesNotExist(); }
/** * @return {@link #projectHelper} */ public MavenProjectHelper getProjectHelper() { return projectHelper; }
/** * @param projectHelper {@link #projectHelper} */ public void setProjectHelper(MavenProjectHelper projectHelper) { this.projectHelper = projectHelper; }
public MavenProjectHelper getProjectHelper() { return projectHelper; }
/** * @return the projectHelper */ public MavenProjectHelper getProjectHelper() { return projectHelper; }
public static void execute(WebSphereModel model, PlexusConfiguration target, MavenProject project, MavenProjectHelper projectHelper, List<Artifact> pluginArtifact, Log logger) throws IOException, MojoExecutionException { // The fileName should probably use the plugin executionId instead of the targetName boolean useDefaultTargetName = false; String antTargetName = target.getAttribute("name"); if (null == antTargetName) { antTargetName = DEFAULT_ANT_TARGET_NAME; useDefaultTargetName = true; } StringBuilder fileName = new StringBuilder(50); fileName.append("build"); if (StringUtils.isNotBlank(model.getHost())) { fileName.append("-").append(model.getHost()); } if (StringUtils.isNotBlank(model.getApplicationName())) { fileName.append("-").append(model.getApplicationName()); } fileName.append("-").append(antTargetName).append("-").append(CommandUtils.getTimestampString()).append(".xml"); File buildFile = getBuildFile(project, fileName.toString()); if (model.isVerbose()) { logger.info("ant fileName: " + fileName); } if (buildFile.exists()) { logger.info("[SKIPPED] already executed"); return; } StringWriter writer = new StringWriter(); AntXmlPlexusConfigurationWriter xmlWriter = new AntXmlPlexusConfigurationWriter(); xmlWriter.write(target, writer); StringBuffer antXML = writer.getBuffer(); if (useDefaultTargetName) { stringReplace(antXML, "<target", "<target name=\"" + antTargetName + "\""); } final String xmlHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"; antXML.insert(0, xmlHeader); final String projectOpen = "<project name=\"" + Constants.PLUGIN_ID + "\" default=\"" + antTargetName + "\">\n"; int index = antXML.indexOf("<target"); antXML.insert(index, projectOpen); final String projectClose = "\n</project>"; antXML.append(projectClose); buildFile.getParentFile().mkdirs(); FileUtils.fileWrite(buildFile.getAbsolutePath(), "UTF-8", antXML.toString()); Project antProject = generateAntProject(model, buildFile, project, projectHelper, pluginArtifact, logger); antProject.executeTarget(antTargetName); }
/** * Method description * * * @return */ public MavenProjectHelper getProjectHelper() { return projectHelper; }
/** * Method description * * * @param projectHelper */ public void setProjectHelper(MavenProjectHelper projectHelper) { this.projectHelper = projectHelper; }