List of usage examples for org.apache.maven.project MavenProject addTestCompileSourceRoot
public void addTestCompileSourceRoot(String path)
From source file:com.coderplus.m2e.jaxwscore.CoderPlusBuildParticipant.java
License:Open Source License
@Override public Set<IProject> build(final int kind, final IProgressMonitor monitor) throws Exception { final MojoExecution execution = getMojoExecution(); if (execution == null) { return null; }/*from w w w. j a v a2 s . c o m*/ IMaven maven = MavenPlugin.getMaven(); MavenProject mavenProject = getMavenProjectFacade().getMavenProject(); final BuildContext buildContext = getBuildContext(); boolean skip = Boolean.TRUE.equals(maven.getMojoParameterValue(mavenProject, execution, SKIP, Boolean.class, new NullProgressMonitor())); if (skip) { return null; } File staleFile = maven.getMojoParameterValue(mavenProject, execution, STALE_FILE, File.class, new NullProgressMonitor()); boolean xnocompile = Boolean.TRUE.equals(maven.getMojoParameterValue(mavenProject, execution, XNOCOMPILE, Boolean.class, new NullProgressMonitor())); boolean keep = Boolean.TRUE.equals(maven.getMojoParameterValue(mavenProject, execution, KEEP, Boolean.class, new NullProgressMonitor())); File outputDirectory = maven.getMojoParameterValue(mavenProject, execution, OUTPUT_DIRECTORY, File.class, new NullProgressMonitor()); if ((keep || xnocompile) && outputDirectory != null) { if (WSIMPORT_TEST.equals(execution.getGoal()) || WSGEN_TEST.equals(execution.getGoal())) { mavenProject.addTestCompileSourceRoot(outputDirectory.getAbsolutePath()); } else { mavenProject.addCompileSourceRoot(outputDirectory.getAbsolutePath()); } } if (buildContext.isIncremental() && staleFile != null && staleFile.exists()) { File wsdlDirectory = maven.getMojoParameterValue(mavenProject, execution, WSDL_DIRECTORY, File.class, new NullProgressMonitor()); File bindingDirectory = maven.getMojoParameterValue(mavenProject, execution, BINDING_DIRECTORY, File.class, new NullProgressMonitor()); Scanner wsdlScanner = buildContext.newScanner(wsdlDirectory); Scanner bindingScanner = buildContext.newScanner(bindingDirectory); String[] includedBindingFiles = null; String[] includedWsdlFiles = null; if (bindingScanner != null) { bindingScanner.scan(); includedBindingFiles = bindingScanner.getIncludedFiles(); } if (wsdlScanner != null) { wsdlScanner.scan(); includedWsdlFiles = wsdlScanner.getIncludedFiles(); } if ((includedWsdlFiles == null || includedWsdlFiles.length == 0) && (includedBindingFiles == null || includedBindingFiles.length == 0)) { //ignore if there were no changes to the resources and was an incremental build return null; } } setTaskName(monitor); //execute the maven mojo final Set<IProject> result = executeMojo(kind, monitor); //refresh the output directory if (outputDirectory != null && outputDirectory.exists()) { buildContext.refresh(outputDirectory); } return result; }
From source file:com.sixdegreeshq.sitenav.GeneratorMojo.java
License:Apache License
@Override public void execute() throws MojoExecutionException, MojoFailureException { try {/*from w w w . j a va2 s . c o m*/ MavenProject project = MavenProject.class.cast(getPluginContext().get("project")); project.addCompileSourceRoot(outputFolder.getAbsolutePath()); if (testing) { project.addTestCompileSourceRoot(outputFolder.getAbsolutePath()); } else { project.addCompileSourceRoot(outputFolder.getAbsolutePath()); } ClassLoader cl = getProjectClassLoader(project); SitenavHandler sitenavHandler = new SitenavHandler(); SAXParser parser = SAXParserFactory.newInstance().newSAXParser(); parser.parse(new InputSource(cl.getResourceAsStream(inputResourceLocation)), sitenavHandler); File packageDir = new File(outputFolder, outputPackage.replace('.', '/')); packageDir.mkdirs(); if (sitenavHandler.getRoot().getChildren() != null) { String pageSB = readResource("/com/sixdegreeshq/sitenav/tpl/Page.tpl"); String pageContent = pageSB.toString().replace("${packageName}", outputPackage); FileOutputStream pageFOS = new FileOutputStream(new File(packageDir, "Page.java")); pageFOS.write(pageContent.getBytes()); pageFOS.close(); for (Page topLevelNode : sitenavHandler.getRoot().getChildren()) { String className = topLevelNode.alias; File javaFile = new File(packageDir, className + ".java"); PrintWriter pw = new PrintWriter(javaFile, "UTF-8"); String nodeSB = readResource("/com/sixdegreeshq/sitenav/tpl/Node.tpl"); ; String nodeContent = nodeSB.toString().replace("${localeDeclaration}", localeResolutionCode) .replace("${className}", className) .replace("${packageDeclaration}", "package " + outputPackage + ";") .replace("${alias}", className) .replace("${langs}", toString(topLevelNode.getPaths(), true)) .replace("${paths}", toString(topLevelNode.getPaths(), false)) .replace("${pathsDeclarations}", getDeclarations(topLevelNode.getPaths())) .replace("${classModifier}", ""); nodeContent = nodeContent.replace("${childrenDeclaration}", navigate(topLevelNode)); nodeContent = nodeContent.replace("${children}", children(topLevelNode)); FileOutputStream nodeFOS = new FileOutputStream(new File(packageDir, className + ".java")); nodeFOS.write(nodeContent.getBytes()); nodeFOS.close(); } } } catch (Throwable t) { t.printStackTrace(); throw new MojoExecutionException(t.getMessage(), t); } }
From source file:net.java.javabuild.SourceFoldersUtils.java
License:Apache License
public static void addSourceFolders(MavenProject project) { project.addTestCompileSourceRoot(BuilderFolders.BUILD_SOURCES); project.addTestResource(toResource(BuilderFolders.BUILD_RESOURCES, project)); project.addCompileSourceRoot(BuilderFolders.GENERATED_SOURCES); project.addResource(toResource(BuilderFolders.GENERATED_RESOURCES, project)); project.addTestCompileSourceRoot(BuilderFolders.GENERATED_TEST_SOURCES); project.addTestResource(toResource(BuilderFolders.GENERATED_TEST_RESOURCES, project)); }
From source file:org.codehaus.mojo.templating.FilterTestSourcesMojo.java
License:Apache License
@Override protected void addSourceFolderToProject(MavenProject mavenProject) { mavenProject.addTestCompileSourceRoot(getOutputDirectory().getAbsolutePath()); }
From source file:org.sonar.api.test.MavenTestUtils.java
License:Open Source License
public static MavenProject loadPom(String pomUrlInClasspath) { FileReader fileReader = null; try {/*from w w w.j a v a 2 s . c om*/ File pomFile = new File(MavenTestUtils.class.getResource(pomUrlInClasspath).toURI()); MavenXpp3Reader pomReader = new MavenXpp3Reader(); fileReader = new FileReader(pomFile); Model model = pomReader.read(fileReader); MavenProject project = new MavenProject(model); project.setFile(pomFile); project.getBuild().setDirectory(pomFile.getParentFile().getPath()); project.addCompileSourceRoot(pomFile.getParentFile().getPath() + "/src/main/java"); project.addTestCompileSourceRoot(pomFile.getParentFile().getPath() + "/src/test/java"); return project; } catch (Exception e) { throw new SonarException("Failed to read Maven project file : " + pomUrlInClasspath, e); } finally { IOUtils.closeQuietly(fileReader); } }
From source file:org.sonar.batch.InMemoryPomCreator.java
License:Open Source License
public MavenProject create() { File workDir = project.getWorkDir(); String buildDirectory = workDir.getAbsolutePath() + "/target"; Properties properties = project.getProperties(); if (project.getBinaries().size() == 0) { project.addBinaryDir(buildDirectory + "/classes"); }/*from w w w. j a va2s .c om*/ final MavenProject pom = new MavenProject() { /** * This allows to specify base directory without specifying location of a pom.xml */ @Override public File getBasedir() { return project.getBaseDir(); }; /** * This allows to specify project classpath (binaries + libraries). */ @Override public List<String> getCompileClasspathElements() throws DependencyResolutionRequiredException { List<String> cp = new ArrayList<String>(); cp.addAll(project.getBinaries()); cp.addAll(project.getLibraries()); return cp; } }; String key = getPropertyOrDie(properties, CoreProperties.PROJECT_KEY_PROPERTY); String[] keys = key.split(":"); pom.setGroupId(keys[0]); pom.setArtifactId(keys[1]); pom.setVersion(getPropertyOrDie(properties, CoreProperties.PROJECT_VERSION_PROPERTY)); pom.setName(properties.getProperty(CoreProperties.PROJECT_NAME_PROPERTY, "Unnamed - " + key)); pom.setDescription(properties.getProperty(CoreProperties.PROJECT_DESCRIPTION_PROPERTY, "")); pom.getModel().setProperties(properties); pom.setArtifacts(Collections.EMPTY_SET); // Configure fake directories pom.getBuild().setDirectory(buildDirectory); pom.getBuild().setOutputDirectory(project.getBinaries().get(0)); Reporting reporting = new Reporting(); String reportingOutputDirectory = buildDirectory + "/site"; reporting.setOutputDirectory(reportingOutputDirectory); pom.setReporting(reporting); // Configure source directories for (String dir : project.getSourceDirs()) { pom.addCompileSourceRoot(dir); } // Configure test directories for (String dir : project.getTestDirs()) { pom.addTestCompileSourceRoot(dir); } return pom; }