<commit_before>package org.jerkar.api.project;

import java.io.File;

import org.jerkar.api.utils.JkUtilsFile;


@Deprecated // Experimental !!!!
public class JkProjectOutLayout {

    public static JkProjectOutLayout classicJava() {
        final File outputDir = new File(".");
        final File generatedSourceDir = new File(outputDir, "generated-sources/java");
        final File generatedResourceDir = new File(outputDir, "generated-resources");
        final File classDir = new File(outputDir, "classes");
        final File generatedTestResourceDir = new File(outputDir, "generated-test-resources");
        final File testClassDir = new File(outputDir, "test-classes");
        final File testReportDir = new File(outputDir, "test-reports");
        final File javadocDir = new File(outputDir, "javadoc");
        return new JkProjectOutLayout(outputDir, generatedSourceDir, generatedResourceDir,
                generatedTestResourceDir, classDir, testClassDir, testReportDir, javadocDir);
    }

    private final File outputDir;

    private final File generatedSourceDir;

    /**
     * Returns location of generated resources.
     */
    private final File generatedResourceDir;

    private final File generatedTestResourceDir;

    /**
     * Returns location where the java production classes are compiled.
     */
    private final File classDir;

    /**
     * Returns location where the java production classes are compiled.
     */
    private final File testClassDir;

    /**
     * Returns location where the test reports are written.
     */
    private final File testReportDir;

    private final File javadocDir;

    private JkProjectOutLayout(File outputDir, File generatedSourceDir, File generatedResourceDir,
            File generatedTestResourceDir, File classDir, File testClassDir, File testReportDir, File javadocDir) {
        super();
        this.outputDir = outputDir;
        this.generatedSourceDir = generatedSourceDir;
        this.generatedResourceDir = generatedResourceDir;
        this.generatedTestResourceDir = generatedTestResourceDir;
        this.classDir = classDir;
        this.testClassDir = testClassDir;
        this.testReportDir = testReportDir;
        this.javadocDir = javadocDir;
    }

    public JkProjectOutLayout withOutputBaseDir(File newOutputDir) {
        final File originalOut = this.outputDir;
        final File outputDir = newOutputDir;
        final File classDir = move(this.classDir, originalOut, newOutputDir);<commit_msg>Experiment new Java build model using Java8 features<commit_after>package org.jerkar.api.project;

import java.io.File;

import org.jerkar.api.utils.JkUtilsFile;


@Deprecated // Experimental !!!!
public class JkProjectOutLayout {

    public static JkProjectOutLayout classicJava() {
        final File outputDir = new File(".");
        final File generatedSourceDir = new File(outputDir, "generated-sources/java");
        final File generatedResourceDir = new File(outputDir, "generated-resources");
        final File classDir = new File(outputDir, "classes");
        final File generatedTestResourceDir = new File(outputDir, "generated-test-resources");
        final File testClassDir = new File(outputDir, "test-classes");
        final File testReportDir = new File(outputDir, "test-reports");
        final File javadocDir = new File(outputDir, "javadoc");
        return new JkProjectOutLayout(outputDir, generatedSourceDir, generatedResourceDir,
                generatedTestResourceDir, classDir, testClassDir, testReportDir, javadocDir);
    }

    private final File outputDir;

    private final File generatedSourceDir;

    /**
     * Returns location of generated resources.
     */
    private final File generatedResourceDir;

    private final File generatedTestResourceDir;

    /**
     * Returns location where the java production classes are compiled.
     */
    private final File classDir;

    /**
     * Returns location where the java production classes are compiled.
     */
    private final File testClassDir;

    /**
     * Returns location where the test reports are written.
     */
    private final File testReportDir;

    private final File javadocDir;

    private JkProjectOutLayout(File outputDir, File generatedSourceDir, File generatedResourceDir,
            File generatedTestResourceDir, File classDir, File testClassDir, File testReportDir, File javadocDir) {
        super();
        this.outputDir = outputDir;
        this.generatedSourceDir = generatedSourceDir;
        this.generatedResourceDir = generatedResourceDir;
        this.generatedTestResourceDir = generatedTestResourceDir;
        this.classDir = classDir;
        this.testClassDir = testClassDir;
        this.testReportDir = testReportDir;
        this.javadocDir = javadocDir;
    }

    public JkProjectOutLayout withOutputBaseDir(String newOutputDirPath) {
        return withOutputBaseDir(new File(newOutputDirPath));
    }

    public JkProjectOutLayout withOutputBaseDir(File newOutputDir) {
        final File originalOut = this.outputDir;
        final File outputDir = newOutputDir;
        final File classDir = move(this.classDir, originalOut, newOutputDir);
{'fraction_non_alphanumeric': 0.0743801652892562, 'fraction_numerical': 0.00019219680953296174, 'mean_word_length': 3.3222591362126246, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7490135', 'n_tokens_mistral': 1354, 'n_tokens_neox': 1296, 'n_words': 387}