Example usage for org.apache.maven.project MavenProject addTestCompileSourceRoot

List of usage examples for org.apache.maven.project MavenProject addTestCompileSourceRoot

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject addTestCompileSourceRoot.

Prototype

public void addTestCompileSourceRoot(String path) 

Source Link

Usage

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;
}