diff --git a/.travis.yml b/.travis.yml index 4e1d54375..7545927b4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,22 +1,29 @@ language: java -dist: precise +os: linux +dist: trusty addons: - hostname: short-hostname - -jdk: - - openjdk7 - - oraclejdk7 - - oraclejdk8 + hosts: + - jbake-builder + hostname: jbake-builder + +matrix: + include: + - jdk: oraclejdk9 + - jdk: oraclejdk8 + - jdk: openjdk8 + - jdk: openjdk7 + dist: precise + - os: osx install: true script: - - ./gradlew check + - ./gradlew check -i after_success: - - ./gradlew jacocoTestReport coveralls || ./gradlew clean + - ./gradlew -PskipSigning jacocoRootReport coveralls || ./gradlew clean after_failure: - ./gradlew clean check --debug diff --git a/BUILD.adoc b/BUILD.adoc index b20d22c1f..7c572a907 100644 --- a/BUILD.adoc +++ b/BUILD.adoc @@ -81,17 +81,26 @@ Total time: 0.996 secs Waiting for changes to input files of tasks... (ctrl-d to exit) ---- +=== smoke tests + +The `jbake-dist` module has a task called `smokeTest`. +It executes the produced application, initializes a jbake project for each supported example project and bake it. + +The `check` task depends on the `smokeTest` task and is part of the travis CI execution. + === code coverage To generate a nice code coverage report run the following task. ---- -./gradlew jacocoTestReport +./gradlew jacocoRootTestReport ---- It compiles your code, execute your tests, collect data and generate a report with {jacoco-web}. It produces XML and html reports. The xml file is used to trigger the {coveralls} service with the `coveralls` task. -The reports can be found at `build/reports/jacoco/test/`. +The reports can be found at `build/reports/jacoco/jacocoRootReport/html`. + +NOTE: This is an aggregation of all project modules. You can generate coverage reports for each module with `./gradlew jacocoTestReport` or for a particular module `./gradlew :jbake-cli:jacocoTestReport` plugin:: https://docs.gradle.org/current/userguide/jacoco_plugin.html // TODO: write something about smokeTests and check diff --git a/appveyor.yml b/appveyor.yml index 9ac233630..a799d5ebc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -8,6 +8,7 @@ environment: matrix: - JAVA_HOME: C:\Program Files\Java\jdk1.7.0 - JAVA_HOME: C:\Program Files\Java\jdk1.8.0 + - JAVA_HOME: C:\Program Files\Java\jdk9 install: - SET PATH=%JAVA_HOME%\bin;%PATH% - echo %PATH% diff --git a/build.gradle b/build.gradle index 564842c37..284f72f65 100644 --- a/build.gradle +++ b/build.gradle @@ -1,32 +1,13 @@ plugins { - id "java" id "eclipse" id "idea" - id "jacoco" id "io.sdkman.vendors" version "1.1.1" apply false id "com.jfrog.bintray" version "1.7.3" apply false id "com.github.kt3k.coveralls" version "2.8.1" apply false id 'com.github.ben-manes.versions' version '0.15.0' } - -if( JavaVersion.current().java7Compatible ) { - apply plugin: 'com.github.kt3k.coveralls' - apply plugin: 'com.jfrog.bintray' - apply from: 'gradle/application.gradle' - apply from: 'gradle/signing.gradle' - apply from: 'gradle/maven-publishing.gradle' - apply from: 'gradle/publishing.gradle' - apply from: 'gradle/sdkman.gradle' -} - -sourceCompatibility = 1.7 -targetCompatibility = 1.7 - -repositories { - jcenter() -} - +// common variables ext { asciidoctorjVersion = '1.5.6' asciidoctorjDiagramVersion = '1.5.4.1' @@ -51,92 +32,123 @@ ext { jsoupVersion = '1.10.3' } -sourceSets { - smokeTest { - java { - srcDir file('src/smoke-test/java') - } - resources { - srcDir file('src/smoke-test/resources') - } +/** + * Apply coveralls to the root project as we just need it here to send the + * aggregated coverage execution data from the jacocoRootReport task + */ +apply plugin: 'com.github.kt3k.coveralls' + +/** + * Apply jacoco plugin to all projects and add jcenter as default repository + */ +allprojects { + apply plugin: 'jacoco' + + repositories { + jcenter() } -} -configurations { - dist + jacoco { + toolVersion = jacocoVersion + } - runtime.extendsFrom dist } -dependencies { - compile group: 'commons-io', name: 'commons-io', version: commonsIoVersion - compile group: 'commons-configuration', name: 'commons-configuration', version: commonsConfigurationVersion - compile group: 'org.apache.commons', name: 'commons-vfs2', version: commonsVfs2Version - compile group: 'org.apache.commons', name: 'commons-lang3', version: commonsLangVersion - compile group: 'com.googlecode.json-simple', name: 'json-simple', version: jsonSimpleVersion - compile group: 'args4j', name: 'args4j', version: args4jVersion - compile group: 'org.freemarker', name: 'freemarker', version: freemarkerVersion - compile group: 'com.orientechnologies', name: 'orientdb-graphdb', version: orientDbVersion - compile group: 'org.asciidoctor', name: 'asciidoctorj', version: asciidoctorjVersion - compile group: 'org.eclipse.jetty', name: 'jetty-server', version: jettyServerVersion - compile group: 'org.codehaus.groovy', name: 'groovy', version: groovyVersion - compile group: 'org.codehaus.groovy', name: 'groovy-templates', version: groovyVersion - compile group: 'org.thymeleaf', name: 'thymeleaf', version: thymeleafVersion - compile group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion - compile group: 'org.slf4j', name: 'jul-to-slf4j', version: slf4jVersion - compile group: 'ch.qos.logback', name: 'logback-classic', version: logbackVersion - compile group: 'ch.qos.logback', name: 'logback-core', version: logbackVersion - compile group: 'de.neuland-bfi', name: 'jade4j', version: jade4jVersion - compile group: 'org.jsoup', name:'jsoup', version: jsoupVersion - compile "com.vladsch.flexmark:flexmark-all:$flexmarkVersion" - - dist group: 'org.asciidoctor', name: 'asciidoctorj-diagram', version: asciidoctorjDiagramVersion - - testCompile group: 'junit', name: 'junit', version: junit4Version - testCompile group: 'org.assertj', name: 'assertj-core', version: assertjCoreVersion - testCompile group: 'org.mockito', name: 'mockito-core', version: mockitoVersion - - smokeTestCompile configurations.testCompile - smokeTestCompile sourceSets.test.output - smokeTestRuntime configurations.testRuntime -} +/** + * Common setup for all subprojects + */ +subprojects { -dependencyUpdates.resolutionStrategy = { - componentSelection { rules -> - rules.all { ComponentSelection selection -> - boolean rejected = ['alpha', 'beta', 'rc', 'cr', 'm'].any { qualifier -> - selection.candidate.version ==~ /(?i).*[.-]?${qualifier}[.\d-]*/ - } - if (rejected) { - selection.reject('Release candidate') - } + apply plugin: 'java' + + if( JavaVersion.current().java7Compatible ) { + apply from: "$rootDir/gradle/signing.gradle" + // We do not publish any jars from the jbake-dist project + if ( project.name != "jbake-dist" ) { + apply from: "$rootDir/gradle/maven-publishing.gradle" + } + // bintray setup + apply from: "$rootDir/gradle/publishing.gradle" + } + + sourceCompatibility = 1.7 + targetCompatibility = 1.7 + + dependencies { + compile "org.slf4j:slf4j-api:$slf4jVersion" + compile "org.slf4j:jul-to-slf4j:$slf4jVersion" + compile "ch.qos.logback:logback-classic:$logbackVersion" + compile "ch.qos.logback:logback-core:$logbackVersion" + testCompile "junit:junit:$junit4Version" + testCompile "org.assertj:assertj-core:$assertjCoreVersion" + testCompile "org.mockito:mockito-core:$mockitoVersion" + } + + dependencyUpdates.resolutionStrategy = { + componentSelection { rules -> + rules.all { ComponentSelection selection -> + boolean rejected = ['alpha', 'beta', 'rc', 'cr', 'm'].any { qualifier -> + selection.candidate.version ==~ /(?i).*[.-]?${qualifier}[.\d-]*/ + } + if (rejected) { + selection.reject('Release candidate') + } + } + } + } + + test { + jvmArgs '-XX:MaxPermSize=2048m', '-XX:MaxDirectMemorySize=512m', '-Dorientdb.installCustomFormatter=false=false' + } + + jacocoTestReport { + reports { + xml.enabled = true // coveralls plugin depends on xml format report + html.enabled = true + } } - } -} -test { - jvmArgs '-Xmx512m', '-XX:MaxPermSize=512m', '-XX:MaxDirectMemorySize=128m', '-Dorientdb.installCustomFormatter=false=false' + jacocoTestReport.dependsOn test } -task smokeTest(type: Test, dependsOn: installDist) { - group 'Verification' - description 'Runs the integration tests.' - setTestClassesDirs sourceSets.smokeTest.output.classesDirs - classpath = sourceSets.smokeTest.runtimeClasspath - shouldRunAfter test +task jacocoMerge(type: JacocoMerge) { + description 'Merge all testreport execution data from subprojects excluding jbake-dist' + dependsOn subprojects.test + executionData subprojects.findAll{it.name!="jbake-dist"}.jacocoTestReport.executionData } -check.dependsOn smokeTest +task jacocoRootReport(type: JacocoReport, group: 'Coverage reports') { + description = 'Generates an aggregate report from all subprojects' + dependsOn jacocoMerge -jacoco { - toolVersion = jacocoVersion -} + sourceDirectories = files(subprojects.sourceSets.main.allSource.srcDirs) + classDirectories = files(subprojects.sourceSets.main.output) + executionData = jacocoMerge.executionData -jacocoTestReport { reports { - xml.enabled = true // coveralls plugin depends on xml format report html.enabled = true + xml.enabled = true } } -jacocoTestReport.dependsOn test +task testReport(type: TestReport) { + description "Generate an aggregated Testreport for all projects" + + destinationDir = file("$buildDir/reports/allTests") + // Include the results from the `test` task in all subprojects + reportOn subprojects*.test +} + +coveralls { + sourceDirs = subprojects.sourceSets.main.allSource.srcDirs.flatten() + jacocoReportPath = "${buildDir}/reports/jacoco/jacocoRootReport/jacocoRootReport.xml" +} + +tasks.coveralls { + group = 'Coverage reports' + description = 'Uploads the aggregated coverage report to Coveralls' + + dependsOn jacocoRootReport + // Skip Task if not run on CI Server + onlyIf { System.env.'CI' } +} diff --git a/gradle.properties b/gradle.properties index 6c88d0a76..574285fab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,4 +11,4 @@ jacocoVersion=0.7.9 bintrayDryRun=false bintrayOrg=jbake bintrayRepo=maven - +bintrayBinaryRepo=binary diff --git a/gradle/maven-publishing.gradle b/gradle/maven-publishing.gradle index 9244eedd6..ae58803d8 100644 --- a/gradle/maven-publishing.gradle +++ b/gradle/maven-publishing.gradle @@ -1,6 +1,13 @@ +import java.text.SimpleDateFormat + apply plugin: 'maven' -ext.isReleaseVersion = !version.endsWith("SNAPSHOT") +Date buildTimeAndDate = new Date() +ext { + buildDate = new SimpleDateFormat('yyyy-MM-dd').format(buildTimeAndDate) + buildTime = new SimpleDateFormat('HH:mm:ss.SSSZ').format(buildTimeAndDate) + isReleaseVersion = !version.endsWith("SNAPSHOT") +} def jbakePom = pom { project { @@ -49,6 +56,23 @@ def jbakePom = pom { } } +jar { + manifest { + attributes( + 'Built-By': System.properties['user.name'], + 'Created-By': "${System.properties['java.version']} (${System.properties['java.vendor']} ${System.properties['java.vm.version']})".toString(), + 'Build-Date': buildDate, + 'Build-Time': buildTime, + 'Specification-Title': project.name, + 'Specification-Version': project.version, + 'Specification-Vendor': project.name, + 'Implementation-Title': project.name, + 'Implementation-Version': project.version, + 'Implementation-Vendor': project.name + ) + } +} + task javadocJar(type: Jar) { classifier = 'javadoc' from javadoc diff --git a/gradle/publishing.gradle b/gradle/publishing.gradle index 500f6321d..64622e023 100644 --- a/gradle/publishing.gradle +++ b/gradle/publishing.gradle @@ -1,58 +1,88 @@ -import java.text.SimpleDateFormat +apply plugin: 'com.jfrog.bintray' -Date buildTimeAndDate = new Date() -ext { - buildDate = new SimpleDateFormat('yyyy-MM-dd').format(buildTimeAndDate) - buildTime = new SimpleDateFormat('HH:mm:ss.SSSZ').format(buildTimeAndDate) -} +ext.bintrayUsername = project.hasProperty('bintrayUsername') ? bintrayUsername : '' +ext.bintrayKey = project.hasProperty('bintrayKey') ? bintrayKey : '' -jar { - manifest { - attributes( - 'Built-By': System.properties['user.name'], - 'Created-By': "${System.properties['java.version']} (${System.properties['java.vendor']} ${System.properties['java.vm.version']})".toString(), - 'Build-Date': buildDate, - 'Build-Time': buildTime, - 'Specification-Title': project.name, - 'Specification-Version': project.version, - 'Specification-Vendor': project.name, - 'Implementation-Title': project.name, - 'Implementation-Version': project.version, - 'Implementation-Vendor': project.name - ) - } -} +if (project.name == "jbake-dist") { + + /** + * jbake-dist specific bintray configuration. + * + * We just need the distribution packages from the project with signatures if they are present. + * Notice the repository. It's a generic one. You can configure it with -PbintrayBinaryRepo=whatever + */ + afterEvaluate { + bintray { + user = bintrayUsername + key = bintrayKey + + if ( !project.hasProperty('skipSigning') ) { + filesSpec { + from signArchives.outputs.files.filter { !it.name.endsWith(".jar") } + from signArchives.signatureFiles.filter { !it.name.endsWith(".jar.asc") } + + into "." + } + } + else { + filesSpec { + from distZip + from distTar -ext.bintrayUsername = project.hasProperty('bintrayUsername')?bintrayUsername:'' -ext.bintrayKey = project.hasProperty('bintrayKey')?bintrayKey:'' + into "." + } + } -bintray { - user = bintrayUsername - key = bintrayKey - configurations = ['archives'] + dryRun = bintrayDryRun.toBoolean() - if ( !project.hasProperty('skipSigning') ) { - // Copy the signed pom to bintrayDestination - filesSpec { - from signPom - into signPom.bintrayDestination + pkg { + userOrg = bintrayOrg + repo = bintrayBinaryRepo + name = applicationName + desc = project.description + licenses = ['MIT'] + labels = ['jbake', 'site-generator'] + websiteUrl = project.website + issueTrackerUrl = project.issues + vcsUrl = project.vcs + publicDownloadNumbers = true + } } - signPom.dependsOn install - bintrayUpload.dependsOn signPom } - dryRun = bintrayDryRun.toBoolean() - pkg { - userOrg = bintrayOrg - repo = bintrayRepo - name = project.name - desc = project.description - licenses = ['MIT'] - labels = ['jbake', 'site-generator'] - websiteUrl = project.website - issueTrackerUrl = project.issues - vcsUrl = project.vcs - publicDownloadNumbers = true +} else { + + afterEvaluate { + bintray { + user = bintrayUsername + key = bintrayKey + configurations = ['archives'] + + if (!project.hasProperty('skipSigning')) { + // Copy the signed pom to bintrayDestination + filesSpec { + from signPom + into signPom.bintrayDestination + } + signPom.dependsOn install + bintrayUpload.dependsOn signPom + } + + dryRun = bintrayDryRun.toBoolean() + pkg { + userOrg = bintrayOrg + repo = bintrayRepo + name = project.name + desc = project.description + licenses = ['MIT'] + labels = ['jbake', 'site-generator'] + websiteUrl = project.website + issueTrackerUrl = project.issues + vcsUrl = project.vcs + publicDownloadNumbers = true + } + } } + } diff --git a/gradle/signing.gradle b/gradle/signing.gradle index 810aa2852..cc2c3ebd3 100644 --- a/gradle/signing.gradle +++ b/gradle/signing.gradle @@ -38,4 +38,4 @@ if ( !project.hasProperty('skipSigning') ) { } } } -} \ No newline at end of file +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7a3265ee9..a5fe1cb94 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f16d26666..21621b8cb 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Fri Feb 02 20:00:24 CET 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.5-all.zip diff --git a/jbake-core/build.gradle b/jbake-core/build.gradle new file mode 100644 index 000000000..bd56c8fca --- /dev/null +++ b/jbake-core/build.gradle @@ -0,0 +1,31 @@ +import java.text.SimpleDateFormat + +description = "The core library of JBake" + +dependencies { + compile "commons-io:commons-io:$commonsIoVersion" + compile "commons-configuration:commons-configuration:$commonsConfigurationVersion" + compile "org.apache.commons:commons-vfs2:$commonsVfs2Version" + compile "org.apache.commons:commons-lang3:$commonsLangVersion" + compile "com.googlecode.json-simple:json-simple:$jsonSimpleVersion" + compile "com.orientechnologies:orientdb-graphdb:$orientDbVersion" + compile "org.asciidoctor:asciidoctorj:$asciidoctorjVersion" + compile "org.codehaus.groovy:groovy-templates:$groovyVersion" + compile "org.freemarker:freemarker:$freemarkerVersion" + compile "org.thymeleaf:thymeleaf:$thymeleafVersion" + compile "de.neuland-bfi:jade4j:$jade4jVersion" + compile "com.vladsch.flexmark:flexmark-all:$flexmarkVersion" + + // cli specific dependencies + compile "org.eclipse.jetty:jetty-server:$jettyServerVersion" + compile "args4j:args4j:$args4jVersion" +} + +processResources { + from("src/main/resources") { + include 'default.properties' + expand jbakeVersion: project.version, + timestamp: new SimpleDateFormat("yyyy-MM-dd HH:mm:ssa").format( new Date() ) + } +} + diff --git a/src/main/java/org/jbake/app/Asset.java b/jbake-core/src/main/java/org/jbake/app/Asset.java similarity index 100% rename from src/main/java/org/jbake/app/Asset.java rename to jbake-core/src/main/java/org/jbake/app/Asset.java diff --git a/src/main/java/org/jbake/app/ConfigUtil.java b/jbake-core/src/main/java/org/jbake/app/ConfigUtil.java similarity index 100% rename from src/main/java/org/jbake/app/ConfigUtil.java rename to jbake-core/src/main/java/org/jbake/app/ConfigUtil.java diff --git a/src/main/java/org/jbake/app/ContentStore.java b/jbake-core/src/main/java/org/jbake/app/ContentStore.java similarity index 100% rename from src/main/java/org/jbake/app/ContentStore.java rename to jbake-core/src/main/java/org/jbake/app/ContentStore.java diff --git a/src/main/java/org/jbake/app/Crawler.java b/jbake-core/src/main/java/org/jbake/app/Crawler.java similarity index 100% rename from src/main/java/org/jbake/app/Crawler.java rename to jbake-core/src/main/java/org/jbake/app/Crawler.java diff --git a/src/main/java/org/jbake/app/DBUtil.java b/jbake-core/src/main/java/org/jbake/app/DBUtil.java similarity index 100% rename from src/main/java/org/jbake/app/DBUtil.java rename to jbake-core/src/main/java/org/jbake/app/DBUtil.java diff --git a/src/main/java/org/jbake/app/DocumentList.java b/jbake-core/src/main/java/org/jbake/app/DocumentList.java similarity index 100% rename from src/main/java/org/jbake/app/DocumentList.java rename to jbake-core/src/main/java/org/jbake/app/DocumentList.java diff --git a/src/main/java/org/jbake/app/FileUtil.java b/jbake-core/src/main/java/org/jbake/app/FileUtil.java similarity index 100% rename from src/main/java/org/jbake/app/FileUtil.java rename to jbake-core/src/main/java/org/jbake/app/FileUtil.java diff --git a/src/main/java/org/jbake/app/JBakeException.java b/jbake-core/src/main/java/org/jbake/app/JBakeException.java similarity index 100% rename from src/main/java/org/jbake/app/JBakeException.java rename to jbake-core/src/main/java/org/jbake/app/JBakeException.java diff --git a/src/main/java/org/jbake/app/Oven.java b/jbake-core/src/main/java/org/jbake/app/Oven.java similarity index 100% rename from src/main/java/org/jbake/app/Oven.java rename to jbake-core/src/main/java/org/jbake/app/Oven.java diff --git a/src/main/java/org/jbake/app/Parser.java b/jbake-core/src/main/java/org/jbake/app/Parser.java similarity index 100% rename from src/main/java/org/jbake/app/Parser.java rename to jbake-core/src/main/java/org/jbake/app/Parser.java diff --git a/src/main/java/org/jbake/app/Renderer.java b/jbake-core/src/main/java/org/jbake/app/Renderer.java similarity index 100% rename from src/main/java/org/jbake/app/Renderer.java rename to jbake-core/src/main/java/org/jbake/app/Renderer.java diff --git a/src/main/java/org/jbake/app/ZipUtil.java b/jbake-core/src/main/java/org/jbake/app/ZipUtil.java similarity index 100% rename from src/main/java/org/jbake/app/ZipUtil.java rename to jbake-core/src/main/java/org/jbake/app/ZipUtil.java diff --git a/src/main/java/org/jbake/launcher/BakeWatcher.java b/jbake-core/src/main/java/org/jbake/launcher/BakeWatcher.java similarity index 100% rename from src/main/java/org/jbake/launcher/BakeWatcher.java rename to jbake-core/src/main/java/org/jbake/launcher/BakeWatcher.java diff --git a/src/main/java/org/jbake/launcher/Baker.java b/jbake-core/src/main/java/org/jbake/launcher/Baker.java similarity index 100% rename from src/main/java/org/jbake/launcher/Baker.java rename to jbake-core/src/main/java/org/jbake/launcher/Baker.java diff --git a/src/main/java/org/jbake/launcher/CustomFSChangeListener.java b/jbake-core/src/main/java/org/jbake/launcher/CustomFSChangeListener.java similarity index 100% rename from src/main/java/org/jbake/launcher/CustomFSChangeListener.java rename to jbake-core/src/main/java/org/jbake/launcher/CustomFSChangeListener.java diff --git a/src/main/java/org/jbake/launcher/Init.java b/jbake-core/src/main/java/org/jbake/launcher/Init.java similarity index 100% rename from src/main/java/org/jbake/launcher/Init.java rename to jbake-core/src/main/java/org/jbake/launcher/Init.java diff --git a/src/main/java/org/jbake/launcher/JettyServer.java b/jbake-core/src/main/java/org/jbake/launcher/JettyServer.java similarity index 100% rename from src/main/java/org/jbake/launcher/JettyServer.java rename to jbake-core/src/main/java/org/jbake/launcher/JettyServer.java diff --git a/src/main/java/org/jbake/launcher/LaunchOptions.java b/jbake-core/src/main/java/org/jbake/launcher/LaunchOptions.java similarity index 100% rename from src/main/java/org/jbake/launcher/LaunchOptions.java rename to jbake-core/src/main/java/org/jbake/launcher/LaunchOptions.java diff --git a/src/main/java/org/jbake/launcher/Main.java b/jbake-core/src/main/java/org/jbake/launcher/Main.java similarity index 100% rename from src/main/java/org/jbake/launcher/Main.java rename to jbake-core/src/main/java/org/jbake/launcher/Main.java diff --git a/src/main/java/org/jbake/model/DocumentAttributes.java b/jbake-core/src/main/java/org/jbake/model/DocumentAttributes.java similarity index 100% rename from src/main/java/org/jbake/model/DocumentAttributes.java rename to jbake-core/src/main/java/org/jbake/model/DocumentAttributes.java diff --git a/src/main/java/org/jbake/model/DocumentStatus.java b/jbake-core/src/main/java/org/jbake/model/DocumentStatus.java similarity index 100% rename from src/main/java/org/jbake/model/DocumentStatus.java rename to jbake-core/src/main/java/org/jbake/model/DocumentStatus.java diff --git a/src/main/java/org/jbake/model/DocumentTypeListener.java b/jbake-core/src/main/java/org/jbake/model/DocumentTypeListener.java similarity index 100% rename from src/main/java/org/jbake/model/DocumentTypeListener.java rename to jbake-core/src/main/java/org/jbake/model/DocumentTypeListener.java diff --git a/src/main/java/org/jbake/model/DocumentTypeUtils.java b/jbake-core/src/main/java/org/jbake/model/DocumentTypeUtils.java similarity index 100% rename from src/main/java/org/jbake/model/DocumentTypeUtils.java rename to jbake-core/src/main/java/org/jbake/model/DocumentTypeUtils.java diff --git a/src/main/java/org/jbake/model/DocumentTypes.java b/jbake-core/src/main/java/org/jbake/model/DocumentTypes.java similarity index 100% rename from src/main/java/org/jbake/model/DocumentTypes.java rename to jbake-core/src/main/java/org/jbake/model/DocumentTypes.java diff --git a/src/main/java/org/jbake/parser/AsciidoctorEngine.java b/jbake-core/src/main/java/org/jbake/parser/AsciidoctorEngine.java similarity index 100% rename from src/main/java/org/jbake/parser/AsciidoctorEngine.java rename to jbake-core/src/main/java/org/jbake/parser/AsciidoctorEngine.java diff --git a/src/main/java/org/jbake/parser/Engines.java b/jbake-core/src/main/java/org/jbake/parser/Engines.java similarity index 100% rename from src/main/java/org/jbake/parser/Engines.java rename to jbake-core/src/main/java/org/jbake/parser/Engines.java diff --git a/src/main/java/org/jbake/parser/ErrorEngine.java b/jbake-core/src/main/java/org/jbake/parser/ErrorEngine.java similarity index 100% rename from src/main/java/org/jbake/parser/ErrorEngine.java rename to jbake-core/src/main/java/org/jbake/parser/ErrorEngine.java diff --git a/src/main/java/org/jbake/parser/MarkdownEngine.java b/jbake-core/src/main/java/org/jbake/parser/MarkdownEngine.java similarity index 100% rename from src/main/java/org/jbake/parser/MarkdownEngine.java rename to jbake-core/src/main/java/org/jbake/parser/MarkdownEngine.java diff --git a/src/main/java/org/jbake/parser/MarkupEngine.java b/jbake-core/src/main/java/org/jbake/parser/MarkupEngine.java similarity index 100% rename from src/main/java/org/jbake/parser/MarkupEngine.java rename to jbake-core/src/main/java/org/jbake/parser/MarkupEngine.java diff --git a/src/main/java/org/jbake/parser/ParserContext.java b/jbake-core/src/main/java/org/jbake/parser/ParserContext.java similarity index 100% rename from src/main/java/org/jbake/parser/ParserContext.java rename to jbake-core/src/main/java/org/jbake/parser/ParserContext.java diff --git a/src/main/java/org/jbake/parser/ParserEngine.java b/jbake-core/src/main/java/org/jbake/parser/ParserEngine.java similarity index 100% rename from src/main/java/org/jbake/parser/ParserEngine.java rename to jbake-core/src/main/java/org/jbake/parser/ParserEngine.java diff --git a/src/main/java/org/jbake/parser/RawMarkupEngine.java b/jbake-core/src/main/java/org/jbake/parser/RawMarkupEngine.java similarity index 100% rename from src/main/java/org/jbake/parser/RawMarkupEngine.java rename to jbake-core/src/main/java/org/jbake/parser/RawMarkupEngine.java diff --git a/src/main/java/org/jbake/render/ArchiveRenderer.java b/jbake-core/src/main/java/org/jbake/render/ArchiveRenderer.java similarity index 100% rename from src/main/java/org/jbake/render/ArchiveRenderer.java rename to jbake-core/src/main/java/org/jbake/render/ArchiveRenderer.java diff --git a/src/main/java/org/jbake/render/DocumentsRenderer.java b/jbake-core/src/main/java/org/jbake/render/DocumentsRenderer.java similarity index 100% rename from src/main/java/org/jbake/render/DocumentsRenderer.java rename to jbake-core/src/main/java/org/jbake/render/DocumentsRenderer.java diff --git a/src/main/java/org/jbake/render/FeedRenderer.java b/jbake-core/src/main/java/org/jbake/render/FeedRenderer.java similarity index 100% rename from src/main/java/org/jbake/render/FeedRenderer.java rename to jbake-core/src/main/java/org/jbake/render/FeedRenderer.java diff --git a/src/main/java/org/jbake/render/IndexRenderer.java b/jbake-core/src/main/java/org/jbake/render/IndexRenderer.java similarity index 100% rename from src/main/java/org/jbake/render/IndexRenderer.java rename to jbake-core/src/main/java/org/jbake/render/IndexRenderer.java diff --git a/src/main/java/org/jbake/render/RenderingTool.java b/jbake-core/src/main/java/org/jbake/render/RenderingTool.java similarity index 100% rename from src/main/java/org/jbake/render/RenderingTool.java rename to jbake-core/src/main/java/org/jbake/render/RenderingTool.java diff --git a/src/main/java/org/jbake/render/SitemapRenderer.java b/jbake-core/src/main/java/org/jbake/render/SitemapRenderer.java similarity index 100% rename from src/main/java/org/jbake/render/SitemapRenderer.java rename to jbake-core/src/main/java/org/jbake/render/SitemapRenderer.java diff --git a/src/main/java/org/jbake/render/TagsRenderer.java b/jbake-core/src/main/java/org/jbake/render/TagsRenderer.java similarity index 100% rename from src/main/java/org/jbake/render/TagsRenderer.java rename to jbake-core/src/main/java/org/jbake/render/TagsRenderer.java diff --git a/src/main/java/org/jbake/template/AbstractTemplateEngine.java b/jbake-core/src/main/java/org/jbake/template/AbstractTemplateEngine.java similarity index 100% rename from src/main/java/org/jbake/template/AbstractTemplateEngine.java rename to jbake-core/src/main/java/org/jbake/template/AbstractTemplateEngine.java diff --git a/src/main/java/org/jbake/template/DelegatingTemplateEngine.java b/jbake-core/src/main/java/org/jbake/template/DelegatingTemplateEngine.java similarity index 100% rename from src/main/java/org/jbake/template/DelegatingTemplateEngine.java rename to jbake-core/src/main/java/org/jbake/template/DelegatingTemplateEngine.java diff --git a/src/main/java/org/jbake/template/FreemarkerTemplateEngine.java b/jbake-core/src/main/java/org/jbake/template/FreemarkerTemplateEngine.java similarity index 100% rename from src/main/java/org/jbake/template/FreemarkerTemplateEngine.java rename to jbake-core/src/main/java/org/jbake/template/FreemarkerTemplateEngine.java diff --git a/src/main/java/org/jbake/template/GroovyMarkupTemplateEngine.java b/jbake-core/src/main/java/org/jbake/template/GroovyMarkupTemplateEngine.java similarity index 100% rename from src/main/java/org/jbake/template/GroovyMarkupTemplateEngine.java rename to jbake-core/src/main/java/org/jbake/template/GroovyMarkupTemplateEngine.java diff --git a/src/main/java/org/jbake/template/GroovyTemplateEngine.java b/jbake-core/src/main/java/org/jbake/template/GroovyTemplateEngine.java similarity index 100% rename from src/main/java/org/jbake/template/GroovyTemplateEngine.java rename to jbake-core/src/main/java/org/jbake/template/GroovyTemplateEngine.java diff --git a/src/main/java/org/jbake/template/JadeTemplateEngine.java b/jbake-core/src/main/java/org/jbake/template/JadeTemplateEngine.java similarity index 100% rename from src/main/java/org/jbake/template/JadeTemplateEngine.java rename to jbake-core/src/main/java/org/jbake/template/JadeTemplateEngine.java diff --git a/src/main/java/org/jbake/template/ModelExtractor.java b/jbake-core/src/main/java/org/jbake/template/ModelExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/ModelExtractor.java rename to jbake-core/src/main/java/org/jbake/template/ModelExtractor.java diff --git a/src/main/java/org/jbake/template/ModelExtractors.java b/jbake-core/src/main/java/org/jbake/template/ModelExtractors.java similarity index 100% rename from src/main/java/org/jbake/template/ModelExtractors.java rename to jbake-core/src/main/java/org/jbake/template/ModelExtractors.java diff --git a/src/main/java/org/jbake/template/ModelExtractorsDocumentTypeListener.java b/jbake-core/src/main/java/org/jbake/template/ModelExtractorsDocumentTypeListener.java similarity index 100% rename from src/main/java/org/jbake/template/ModelExtractorsDocumentTypeListener.java rename to jbake-core/src/main/java/org/jbake/template/ModelExtractorsDocumentTypeListener.java diff --git a/src/main/java/org/jbake/template/NoModelExtractorException.java b/jbake-core/src/main/java/org/jbake/template/NoModelExtractorException.java similarity index 100% rename from src/main/java/org/jbake/template/NoModelExtractorException.java rename to jbake-core/src/main/java/org/jbake/template/NoModelExtractorException.java diff --git a/src/main/java/org/jbake/template/RenderingException.java b/jbake-core/src/main/java/org/jbake/template/RenderingException.java similarity index 100% rename from src/main/java/org/jbake/template/RenderingException.java rename to jbake-core/src/main/java/org/jbake/template/RenderingException.java diff --git a/src/main/java/org/jbake/template/TemplateEngineAdapter.java b/jbake-core/src/main/java/org/jbake/template/TemplateEngineAdapter.java similarity index 100% rename from src/main/java/org/jbake/template/TemplateEngineAdapter.java rename to jbake-core/src/main/java/org/jbake/template/TemplateEngineAdapter.java diff --git a/src/main/java/org/jbake/template/TemplateEngines.java b/jbake-core/src/main/java/org/jbake/template/TemplateEngines.java similarity index 100% rename from src/main/java/org/jbake/template/TemplateEngines.java rename to jbake-core/src/main/java/org/jbake/template/TemplateEngines.java diff --git a/src/main/java/org/jbake/template/ThymeleafTemplateEngine.java b/jbake-core/src/main/java/org/jbake/template/ThymeleafTemplateEngine.java similarity index 100% rename from src/main/java/org/jbake/template/ThymeleafTemplateEngine.java rename to jbake-core/src/main/java/org/jbake/template/ThymeleafTemplateEngine.java diff --git a/src/main/java/org/jbake/template/model/AllContentExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/AllContentExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/AllContentExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/AllContentExtractor.java diff --git a/src/main/java/org/jbake/template/model/AllTagsExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/AllTagsExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/AllTagsExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/AllTagsExtractor.java diff --git a/src/main/java/org/jbake/template/model/DBExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/DBExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/DBExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/DBExtractor.java diff --git a/src/main/java/org/jbake/template/model/PublishedContentExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/PublishedContentExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/PublishedContentExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/PublishedContentExtractor.java diff --git a/src/main/java/org/jbake/template/model/PublishedCustomExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/PublishedCustomExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/PublishedCustomExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/PublishedCustomExtractor.java diff --git a/src/main/java/org/jbake/template/model/PublishedDateExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/PublishedDateExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/PublishedDateExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/PublishedDateExtractor.java diff --git a/src/main/java/org/jbake/template/model/PublishedPagesExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/PublishedPagesExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/PublishedPagesExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/PublishedPagesExtractor.java diff --git a/src/main/java/org/jbake/template/model/PublishedPostsExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/PublishedPostsExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/PublishedPostsExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/PublishedPostsExtractor.java diff --git a/src/main/java/org/jbake/template/model/TagPostsExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/TagPostsExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/TagPostsExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/TagPostsExtractor.java diff --git a/src/main/java/org/jbake/template/model/TaggedDocumentsExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/TaggedDocumentsExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/TaggedDocumentsExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/TaggedDocumentsExtractor.java diff --git a/src/main/java/org/jbake/template/model/TagsExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/TagsExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/TagsExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/TagsExtractor.java diff --git a/src/main/java/org/jbake/template/model/TypedDocumentsExtractor.java b/jbake-core/src/main/java/org/jbake/template/model/TypedDocumentsExtractor.java similarity index 100% rename from src/main/java/org/jbake/template/model/TypedDocumentsExtractor.java rename to jbake-core/src/main/java/org/jbake/template/model/TypedDocumentsExtractor.java diff --git a/src/main/java/org/jbake/util/HtmlUtil.java b/jbake-core/src/main/java/org/jbake/util/HtmlUtil.java similarity index 100% rename from src/main/java/org/jbake/util/HtmlUtil.java rename to jbake-core/src/main/java/org/jbake/util/HtmlUtil.java diff --git a/src/main/java/org/jbake/util/PagingHelper.java b/jbake-core/src/main/java/org/jbake/util/PagingHelper.java similarity index 100% rename from src/main/java/org/jbake/util/PagingHelper.java rename to jbake-core/src/main/java/org/jbake/util/PagingHelper.java diff --git a/src/main/resources/META-INF/org.jbake.parser.MarkupEngines.properties b/jbake-core/src/main/resources/META-INF/org.jbake.parser.MarkupEngines.properties similarity index 100% rename from src/main/resources/META-INF/org.jbake.parser.MarkupEngines.properties rename to jbake-core/src/main/resources/META-INF/org.jbake.parser.MarkupEngines.properties diff --git a/src/main/resources/META-INF/org.jbake.parser.TemplateEngines.properties b/jbake-core/src/main/resources/META-INF/org.jbake.parser.TemplateEngines.properties similarity index 100% rename from src/main/resources/META-INF/org.jbake.parser.TemplateEngines.properties rename to jbake-core/src/main/resources/META-INF/org.jbake.parser.TemplateEngines.properties diff --git a/src/main/resources/META-INF/org.jbake.template.ModelExtractors.properties b/jbake-core/src/main/resources/META-INF/org.jbake.template.ModelExtractors.properties similarity index 100% rename from src/main/resources/META-INF/org.jbake.template.ModelExtractors.properties rename to jbake-core/src/main/resources/META-INF/org.jbake.template.ModelExtractors.properties diff --git a/src/main/resources/META-INF/services/org.jbake.render.RenderingTool b/jbake-core/src/main/resources/META-INF/services/org.jbake.render.RenderingTool similarity index 100% rename from src/main/resources/META-INF/services/org.jbake.render.RenderingTool rename to jbake-core/src/main/resources/META-INF/services/org.jbake.render.RenderingTool diff --git a/src/main/resources/default.properties b/jbake-core/src/main/resources/default.properties similarity index 100% rename from src/main/resources/default.properties rename to jbake-core/src/main/resources/default.properties diff --git a/src/main/resources/jetty-logging.properties b/jbake-core/src/main/resources/jetty-logging.properties similarity index 100% rename from src/main/resources/jetty-logging.properties rename to jbake-core/src/main/resources/jetty-logging.properties diff --git a/src/test/java/org/jbake/FakeDocumentBuilder.java b/jbake-core/src/test/java/org/jbake/FakeDocumentBuilder.java similarity index 100% rename from src/test/java/org/jbake/FakeDocumentBuilder.java rename to jbake-core/src/test/java/org/jbake/FakeDocumentBuilder.java diff --git a/src/test/java/org/jbake/TestUtils.java b/jbake-core/src/test/java/org/jbake/TestUtils.java similarity index 100% rename from src/test/java/org/jbake/TestUtils.java rename to jbake-core/src/test/java/org/jbake/TestUtils.java diff --git a/src/test/java/org/jbake/app/AssetTest.java b/jbake-core/src/test/java/org/jbake/app/AssetTest.java similarity index 100% rename from src/test/java/org/jbake/app/AssetTest.java rename to jbake-core/src/test/java/org/jbake/app/AssetTest.java diff --git a/src/test/java/org/jbake/app/ConfigUtilTest.java b/jbake-core/src/test/java/org/jbake/app/ConfigUtilTest.java similarity index 100% rename from src/test/java/org/jbake/app/ConfigUtilTest.java rename to jbake-core/src/test/java/org/jbake/app/ConfigUtilTest.java diff --git a/src/test/java/org/jbake/app/ContentStoreTest.java b/jbake-core/src/test/java/org/jbake/app/ContentStoreTest.java similarity index 100% rename from src/test/java/org/jbake/app/ContentStoreTest.java rename to jbake-core/src/test/java/org/jbake/app/ContentStoreTest.java diff --git a/src/test/java/org/jbake/app/CrawlerTest.java b/jbake-core/src/test/java/org/jbake/app/CrawlerTest.java similarity index 100% rename from src/test/java/org/jbake/app/CrawlerTest.java rename to jbake-core/src/test/java/org/jbake/app/CrawlerTest.java diff --git a/src/test/java/org/jbake/app/FileUtilTest.java b/jbake-core/src/test/java/org/jbake/app/FileUtilTest.java similarity index 100% rename from src/test/java/org/jbake/app/FileUtilTest.java rename to jbake-core/src/test/java/org/jbake/app/FileUtilTest.java diff --git a/src/test/java/org/jbake/app/InitTest.java b/jbake-core/src/test/java/org/jbake/app/InitTest.java similarity index 100% rename from src/test/java/org/jbake/app/InitTest.java rename to jbake-core/src/test/java/org/jbake/app/InitTest.java diff --git a/src/test/java/org/jbake/app/MdParserTest.java b/jbake-core/src/test/java/org/jbake/app/MdParserTest.java similarity index 100% rename from src/test/java/org/jbake/app/MdParserTest.java rename to jbake-core/src/test/java/org/jbake/app/MdParserTest.java diff --git a/src/test/java/org/jbake/app/OvenTest.java b/jbake-core/src/test/java/org/jbake/app/OvenTest.java similarity index 100% rename from src/test/java/org/jbake/app/OvenTest.java rename to jbake-core/src/test/java/org/jbake/app/OvenTest.java diff --git a/src/test/java/org/jbake/app/PaginationTest.java b/jbake-core/src/test/java/org/jbake/app/PaginationTest.java similarity index 100% rename from src/test/java/org/jbake/app/PaginationTest.java rename to jbake-core/src/test/java/org/jbake/app/PaginationTest.java diff --git a/src/test/java/org/jbake/app/ParserTest.java b/jbake-core/src/test/java/org/jbake/app/ParserTest.java similarity index 100% rename from src/test/java/org/jbake/app/ParserTest.java rename to jbake-core/src/test/java/org/jbake/app/ParserTest.java diff --git a/src/test/java/org/jbake/app/template/AbstractTemplateEngineRenderingTest.java b/jbake-core/src/test/java/org/jbake/app/template/AbstractTemplateEngineRenderingTest.java similarity index 100% rename from src/test/java/org/jbake/app/template/AbstractTemplateEngineRenderingTest.java rename to jbake-core/src/test/java/org/jbake/app/template/AbstractTemplateEngineRenderingTest.java diff --git a/src/test/java/org/jbake/app/template/FreemarkerTemplateEngineRenderingTest.java b/jbake-core/src/test/java/org/jbake/app/template/FreemarkerTemplateEngineRenderingTest.java similarity index 100% rename from src/test/java/org/jbake/app/template/FreemarkerTemplateEngineRenderingTest.java rename to jbake-core/src/test/java/org/jbake/app/template/FreemarkerTemplateEngineRenderingTest.java diff --git a/src/test/java/org/jbake/app/template/GroovyMarkupTemplateEngineRenderingTest.java b/jbake-core/src/test/java/org/jbake/app/template/GroovyMarkupTemplateEngineRenderingTest.java similarity index 100% rename from src/test/java/org/jbake/app/template/GroovyMarkupTemplateEngineRenderingTest.java rename to jbake-core/src/test/java/org/jbake/app/template/GroovyMarkupTemplateEngineRenderingTest.java diff --git a/src/test/java/org/jbake/app/template/GroovyTemplateEngineRenderingTest.java b/jbake-core/src/test/java/org/jbake/app/template/GroovyTemplateEngineRenderingTest.java similarity index 100% rename from src/test/java/org/jbake/app/template/GroovyTemplateEngineRenderingTest.java rename to jbake-core/src/test/java/org/jbake/app/template/GroovyTemplateEngineRenderingTest.java diff --git a/src/test/java/org/jbake/app/template/JadeTemplateEngineRenderingTest.java b/jbake-core/src/test/java/org/jbake/app/template/JadeTemplateEngineRenderingTest.java similarity index 100% rename from src/test/java/org/jbake/app/template/JadeTemplateEngineRenderingTest.java rename to jbake-core/src/test/java/org/jbake/app/template/JadeTemplateEngineRenderingTest.java diff --git a/src/test/java/org/jbake/app/template/ThymeleafTemplateEngineRenderingTest.java b/jbake-core/src/test/java/org/jbake/app/template/ThymeleafTemplateEngineRenderingTest.java similarity index 100% rename from src/test/java/org/jbake/app/template/ThymeleafTemplateEngineRenderingTest.java rename to jbake-core/src/test/java/org/jbake/app/template/ThymeleafTemplateEngineRenderingTest.java diff --git a/src/test/java/org/jbake/launcher/LaunchOptionsTest.java b/jbake-core/src/test/java/org/jbake/launcher/LaunchOptionsTest.java similarity index 100% rename from src/test/java/org/jbake/launcher/LaunchOptionsTest.java rename to jbake-core/src/test/java/org/jbake/launcher/LaunchOptionsTest.java diff --git a/src/test/java/org/jbake/launcher/MainTest.java b/jbake-core/src/test/java/org/jbake/launcher/MainTest.java similarity index 100% rename from src/test/java/org/jbake/launcher/MainTest.java rename to jbake-core/src/test/java/org/jbake/launcher/MainTest.java diff --git a/src/test/java/org/jbake/model/DocumentTypesTest.java b/jbake-core/src/test/java/org/jbake/model/DocumentTypesTest.java similarity index 100% rename from src/test/java/org/jbake/model/DocumentTypesTest.java rename to jbake-core/src/test/java/org/jbake/model/DocumentTypesTest.java diff --git a/src/test/java/org/jbake/render/ArchiveRendererTest.java b/jbake-core/src/test/java/org/jbake/render/ArchiveRendererTest.java similarity index 100% rename from src/test/java/org/jbake/render/ArchiveRendererTest.java rename to jbake-core/src/test/java/org/jbake/render/ArchiveRendererTest.java diff --git a/src/test/java/org/jbake/render/DocumentsRendererTest.java b/jbake-core/src/test/java/org/jbake/render/DocumentsRendererTest.java similarity index 100% rename from src/test/java/org/jbake/render/DocumentsRendererTest.java rename to jbake-core/src/test/java/org/jbake/render/DocumentsRendererTest.java diff --git a/src/test/java/org/jbake/render/FeedRendererTest.java b/jbake-core/src/test/java/org/jbake/render/FeedRendererTest.java similarity index 100% rename from src/test/java/org/jbake/render/FeedRendererTest.java rename to jbake-core/src/test/java/org/jbake/render/FeedRendererTest.java diff --git a/src/test/java/org/jbake/render/IndexRendererTest.java b/jbake-core/src/test/java/org/jbake/render/IndexRendererTest.java similarity index 100% rename from src/test/java/org/jbake/render/IndexRendererTest.java rename to jbake-core/src/test/java/org/jbake/render/IndexRendererTest.java diff --git a/src/test/java/org/jbake/render/RendererTest.java b/jbake-core/src/test/java/org/jbake/render/RendererTest.java similarity index 100% rename from src/test/java/org/jbake/render/RendererTest.java rename to jbake-core/src/test/java/org/jbake/render/RendererTest.java diff --git a/src/test/java/org/jbake/render/ServiceLoaderTest.java b/jbake-core/src/test/java/org/jbake/render/ServiceLoaderTest.java similarity index 100% rename from src/test/java/org/jbake/render/ServiceLoaderTest.java rename to jbake-core/src/test/java/org/jbake/render/ServiceLoaderTest.java diff --git a/src/test/java/org/jbake/render/SitemapRendererTest.java b/jbake-core/src/test/java/org/jbake/render/SitemapRendererTest.java similarity index 100% rename from src/test/java/org/jbake/render/SitemapRendererTest.java rename to jbake-core/src/test/java/org/jbake/render/SitemapRendererTest.java diff --git a/src/test/java/org/jbake/render/TagsRendererTest.java b/jbake-core/src/test/java/org/jbake/render/TagsRendererTest.java similarity index 100% rename from src/test/java/org/jbake/render/TagsRendererTest.java rename to jbake-core/src/test/java/org/jbake/render/TagsRendererTest.java diff --git a/src/test/java/org/jbake/render/support/MockCompositeConfiguration.java b/jbake-core/src/test/java/org/jbake/render/support/MockCompositeConfiguration.java similarity index 100% rename from src/test/java/org/jbake/render/support/MockCompositeConfiguration.java rename to jbake-core/src/test/java/org/jbake/render/support/MockCompositeConfiguration.java diff --git a/src/test/java/org/jbake/template/ModelExtractorsDocumentTypeListenerTest.java b/jbake-core/src/test/java/org/jbake/template/ModelExtractorsDocumentTypeListenerTest.java similarity index 100% rename from src/test/java/org/jbake/template/ModelExtractorsDocumentTypeListenerTest.java rename to jbake-core/src/test/java/org/jbake/template/ModelExtractorsDocumentTypeListenerTest.java diff --git a/src/test/java/org/jbake/template/ModelExtractorsTest.java b/jbake-core/src/test/java/org/jbake/template/ModelExtractorsTest.java similarity index 100% rename from src/test/java/org/jbake/template/ModelExtractorsTest.java rename to jbake-core/src/test/java/org/jbake/template/ModelExtractorsTest.java diff --git a/src/test/java/org/jbake/util/HtmlUtilTest.java b/jbake-core/src/test/java/org/jbake/util/HtmlUtilTest.java similarity index 100% rename from src/test/java/org/jbake/util/HtmlUtilTest.java rename to jbake-core/src/test/java/org/jbake/util/HtmlUtilTest.java diff --git a/src/test/java/org/jbake/util/PagingHelperTest.java b/jbake-core/src/test/java/org/jbake/util/PagingHelperTest.java similarity index 100% rename from src/test/java/org/jbake/util/PagingHelperTest.java rename to jbake-core/src/test/java/org/jbake/util/PagingHelperTest.java diff --git a/src/test/resources/fixture/assets/css/bootstrap-responsive.min.css b/jbake-core/src/test/resources/fixture/assets/css/bootstrap-responsive.min.css similarity index 100% rename from src/test/resources/fixture/assets/css/bootstrap-responsive.min.css rename to jbake-core/src/test/resources/fixture/assets/css/bootstrap-responsive.min.css diff --git a/src/test/resources/fixture/assets/css/bootstrap.min.css b/jbake-core/src/test/resources/fixture/assets/css/bootstrap.min.css similarity index 100% rename from src/test/resources/fixture/assets/css/bootstrap.min.css rename to jbake-core/src/test/resources/fixture/assets/css/bootstrap.min.css diff --git a/src/test/resources/fixture/assets/img/glyphicons-halflings-white.png b/jbake-core/src/test/resources/fixture/assets/img/glyphicons-halflings-white.png similarity index 100% rename from src/test/resources/fixture/assets/img/glyphicons-halflings-white.png rename to jbake-core/src/test/resources/fixture/assets/img/glyphicons-halflings-white.png diff --git a/src/test/resources/fixture/assets/img/glyphicons-halflings.png b/jbake-core/src/test/resources/fixture/assets/img/glyphicons-halflings.png similarity index 100% rename from src/test/resources/fixture/assets/img/glyphicons-halflings.png rename to jbake-core/src/test/resources/fixture/assets/img/glyphicons-halflings.png diff --git a/src/test/resources/fixture/assets/js/bootstrap.min.js b/jbake-core/src/test/resources/fixture/assets/js/bootstrap.min.js similarity index 100% rename from src/test/resources/fixture/assets/js/bootstrap.min.js rename to jbake-core/src/test/resources/fixture/assets/js/bootstrap.min.js diff --git a/src/test/resources/fixture/assets/js/html5shiv.js b/jbake-core/src/test/resources/fixture/assets/js/html5shiv.js similarity index 100% rename from src/test/resources/fixture/assets/js/html5shiv.js rename to jbake-core/src/test/resources/fixture/assets/js/html5shiv.js diff --git a/src/test/resources/fixture/assets/js/jquery-1.9.1.min.js b/jbake-core/src/test/resources/fixture/assets/js/jquery-1.9.1.min.js similarity index 100% rename from src/test/resources/fixture/assets/js/jquery-1.9.1.min.js rename to jbake-core/src/test/resources/fixture/assets/js/jquery-1.9.1.min.js diff --git a/src/test/resources/fixture/content/.ignorablefile.html b/jbake-core/src/test/resources/fixture/content/.ignorablefile.html similarity index 100% rename from src/test/resources/fixture/content/.ignorablefile.html rename to jbake-core/src/test/resources/fixture/content/.ignorablefile.html diff --git a/src/test/resources/fixture/content/about.html b/jbake-core/src/test/resources/fixture/content/about.html similarity index 100% rename from src/test/resources/fixture/content/about.html rename to jbake-core/src/test/resources/fixture/content/about.html diff --git a/src/test/resources/fixture/content/allcontent.html b/jbake-core/src/test/resources/fixture/content/allcontent.html similarity index 100% rename from src/test/resources/fixture/content/allcontent.html rename to jbake-core/src/test/resources/fixture/content/allcontent.html diff --git a/src/test/resources/fixture/content/blog/2012/first-post.html b/jbake-core/src/test/resources/fixture/content/blog/2012/first-post.html similarity index 100% rename from src/test/resources/fixture/content/blog/2012/first-post.html rename to jbake-core/src/test/resources/fixture/content/blog/2012/first-post.html diff --git a/src/test/resources/fixture/content/blog/2012/images/custom-image.png b/jbake-core/src/test/resources/fixture/content/blog/2012/images/custom-image.png similarity index 100% rename from src/test/resources/fixture/content/blog/2012/images/custom-image.png rename to jbake-core/src/test/resources/fixture/content/blog/2012/images/custom-image.png diff --git a/src/test/resources/fixture/content/blog/2012/sample.json b/jbake-core/src/test/resources/fixture/content/blog/2012/sample.json similarity index 100% rename from src/test/resources/fixture/content/blog/2012/sample.json rename to jbake-core/src/test/resources/fixture/content/blog/2012/sample.json diff --git a/src/test/resources/fixture/content/blog/2013/images/custom-image.jpg b/jbake-core/src/test/resources/fixture/content/blog/2013/images/custom-image.jpg similarity index 100% rename from src/test/resources/fixture/content/blog/2013/images/custom-image.jpg rename to jbake-core/src/test/resources/fixture/content/blog/2013/images/custom-image.jpg diff --git a/src/test/resources/fixture/content/blog/2013/second-post.html b/jbake-core/src/test/resources/fixture/content/blog/2013/second-post.html similarity index 100% rename from src/test/resources/fixture/content/blog/2013/second-post.html rename to jbake-core/src/test/resources/fixture/content/blog/2013/second-post.html diff --git a/src/test/resources/fixture/content/blog/2016/another-post.html b/jbake-core/src/test/resources/fixture/content/blog/2016/another-post.html similarity index 100% rename from src/test/resources/fixture/content/blog/2016/another-post.html rename to jbake-core/src/test/resources/fixture/content/blog/2016/another-post.html diff --git a/src/test/resources/fixture/content/blog/2016/draft-post.html b/jbake-core/src/test/resources/fixture/content/blog/2016/draft-post.html similarity index 100% rename from src/test/resources/fixture/content/blog/2016/draft-post.html rename to jbake-core/src/test/resources/fixture/content/blog/2016/draft-post.html diff --git a/src/test/resources/fixture/content/blog/invalid_header.html b/jbake-core/src/test/resources/fixture/content/blog/invalid_header.html similarity index 100% rename from src/test/resources/fixture/content/blog/invalid_header.html rename to jbake-core/src/test/resources/fixture/content/blog/invalid_header.html diff --git a/src/test/resources/fixture/content/index2.html b/jbake-core/src/test/resources/fixture/content/index2.html similarity index 100% rename from src/test/resources/fixture/content/index2.html rename to jbake-core/src/test/resources/fixture/content/index2.html diff --git a/src/test/resources/fixture/content/papers/draft-paper.html b/jbake-core/src/test/resources/fixture/content/papers/draft-paper.html similarity index 100% rename from src/test/resources/fixture/content/papers/draft-paper.html rename to jbake-core/src/test/resources/fixture/content/papers/draft-paper.html diff --git a/src/test/resources/fixture/content/papers/published-paper.html b/jbake-core/src/test/resources/fixture/content/papers/published-paper.html similarity index 100% rename from src/test/resources/fixture/content/papers/published-paper.html rename to jbake-core/src/test/resources/fixture/content/papers/published-paper.html diff --git a/src/test/resources/fixture/content/projects.html b/jbake-core/src/test/resources/fixture/content/projects.html similarity index 100% rename from src/test/resources/fixture/content/projects.html rename to jbake-core/src/test/resources/fixture/content/projects.html diff --git a/src/test/resources/fixture/freemarkerTemplates/allcontent.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/allcontent.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/allcontent.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/allcontent.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/archive.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/archive.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/archive.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/archive.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/feed.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/feed.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/feed.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/feed.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/footer.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/footer.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/footer.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/footer.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/header.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/header.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/header.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/header.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/index.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/index.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/index.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/index.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/menu.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/menu.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/menu.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/menu.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/page.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/page.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/page.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/page.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/post.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/post.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/post.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/post.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/sitemap.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/sitemap.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/sitemap.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/sitemap.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/tags-index.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/tags-index.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/tags-index.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/tags-index.ftl diff --git a/src/test/resources/fixture/freemarkerTemplates/tags.ftl b/jbake-core/src/test/resources/fixture/freemarkerTemplates/tags.ftl similarity index 100% rename from src/test/resources/fixture/freemarkerTemplates/tags.ftl rename to jbake-core/src/test/resources/fixture/freemarkerTemplates/tags.ftl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/allcontent.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/allcontent.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/allcontent.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/allcontent.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/archive.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/archive.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/archive.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/archive.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/feed.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/feed.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/feed.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/feed.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/footer.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/footer.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/footer.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/footer.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/header.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/header.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/header.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/header.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/index.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/index.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/index.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/index.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/layout/main.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/layout/main.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/layout/main.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/layout/main.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/menu.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/menu.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/menu.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/menu.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/page.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/page.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/page.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/page.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/paper.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/paper.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/paper.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/paper.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/post.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/post.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/post.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/post.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/sitemap.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/sitemap.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/sitemap.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/sitemap.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/tags-index.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/tags-index.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/tags-index.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/tags-index.tpl diff --git a/src/test/resources/fixture/groovyMarkupTemplates/tags.tpl b/jbake-core/src/test/resources/fixture/groovyMarkupTemplates/tags.tpl similarity index 100% rename from src/test/resources/fixture/groovyMarkupTemplates/tags.tpl rename to jbake-core/src/test/resources/fixture/groovyMarkupTemplates/tags.tpl diff --git a/src/test/resources/fixture/groovyTemplates/allcontent.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/allcontent.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/allcontent.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/allcontent.gsp diff --git a/src/test/resources/fixture/groovyTemplates/archive.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/archive.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/archive.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/archive.gsp diff --git a/src/test/resources/fixture/groovyTemplates/feed.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/feed.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/feed.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/feed.gsp diff --git a/src/test/resources/fixture/groovyTemplates/footer.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/footer.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/footer.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/footer.gsp diff --git a/src/test/resources/fixture/groovyTemplates/header.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/header.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/header.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/header.gsp diff --git a/src/test/resources/fixture/groovyTemplates/index.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/index.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/index.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/index.gsp diff --git a/src/test/resources/fixture/groovyTemplates/page.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/page.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/page.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/page.gsp diff --git a/src/test/resources/fixture/groovyTemplates/post.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/post.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/post.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/post.gsp diff --git a/src/test/resources/fixture/groovyTemplates/sitemap.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/sitemap.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/sitemap.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/sitemap.gsp diff --git a/src/test/resources/fixture/groovyTemplates/tags-index.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/tags-index.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/tags-index.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/tags-index.gsp diff --git a/src/test/resources/fixture/groovyTemplates/tags.gsp b/jbake-core/src/test/resources/fixture/groovyTemplates/tags.gsp similarity index 100% rename from src/test/resources/fixture/groovyTemplates/tags.gsp rename to jbake-core/src/test/resources/fixture/groovyTemplates/tags.gsp diff --git a/src/test/resources/fixture/assets/ignorablefolder/.jbakeignore b/jbake-core/src/test/resources/fixture/ignorablefolder/.jbakeignore similarity index 100% rename from src/test/resources/fixture/assets/ignorablefolder/.jbakeignore rename to jbake-core/src/test/resources/fixture/ignorablefolder/.jbakeignore diff --git a/src/test/resources/fixture/assets/ignorablefolder/file_in_ignored_folder.html b/jbake-core/src/test/resources/fixture/ignorablefolder/file_in_ignored_folder.html similarity index 100% rename from src/test/resources/fixture/assets/ignorablefolder/file_in_ignored_folder.html rename to jbake-core/src/test/resources/fixture/ignorablefolder/file_in_ignored_folder.html diff --git a/src/test/resources/fixture/ignorables/.test.txt b/jbake-core/src/test/resources/fixture/ignorables/.test.txt similarity index 100% rename from src/test/resources/fixture/ignorables/.test.txt rename to jbake-core/src/test/resources/fixture/ignorables/.test.txt diff --git a/src/test/resources/fixture/ignorables/test.txt b/jbake-core/src/test/resources/fixture/ignorables/test.txt similarity index 100% rename from src/test/resources/fixture/ignorables/test.txt rename to jbake-core/src/test/resources/fixture/ignorables/test.txt diff --git a/src/test/resources/fixture/jadeTemplates/archive.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/archive.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/archive.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/archive.jade diff --git a/src/test/resources/fixture/jadeTemplates/feed.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/feed.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/feed.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/feed.jade diff --git a/src/test/resources/fixture/jadeTemplates/footer.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/footer.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/footer.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/footer.jade diff --git a/src/test/resources/fixture/jadeTemplates/header.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/header.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/header.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/header.jade diff --git a/src/test/resources/fixture/jadeTemplates/index.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/index.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/index.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/index.jade diff --git a/src/test/resources/fixture/jadeTemplates/layout.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/layout.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/layout.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/layout.jade diff --git a/src/test/resources/fixture/jadeTemplates/page.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/page.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/page.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/page.jade diff --git a/src/test/resources/fixture/jadeTemplates/post.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/post.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/post.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/post.jade diff --git a/src/test/resources/fixture/jadeTemplates/sitemap.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/sitemap.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/sitemap.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/sitemap.jade diff --git a/src/test/resources/fixture/jadeTemplates/tags-index.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/tags-index.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/tags-index.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/tags-index.jade diff --git a/src/test/resources/fixture/jadeTemplates/tags.jade b/jbake-core/src/test/resources/fixture/jadeTemplates/tags.jade similarity index 100% rename from src/test/resources/fixture/jadeTemplates/tags.jade rename to jbake-core/src/test/resources/fixture/jadeTemplates/tags.jade diff --git a/src/test/resources/fixture/jbake.properties b/jbake-core/src/test/resources/fixture/jbake.properties similarity index 100% rename from src/test/resources/fixture/jbake.properties rename to jbake-core/src/test/resources/fixture/jbake.properties diff --git a/src/test/resources/fixture/media/favicon.ico b/jbake-core/src/test/resources/fixture/media/favicon.ico similarity index 100% rename from src/test/resources/fixture/media/favicon.ico rename to jbake-core/src/test/resources/fixture/media/favicon.ico diff --git a/src/test/resources/fixture/test.zip b/jbake-core/src/test/resources/fixture/test.zip similarity index 100% rename from src/test/resources/fixture/test.zip rename to jbake-core/src/test/resources/fixture/test.zip diff --git a/src/test/resources/fixture/thymeleafTemplates/allcontent.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/allcontent.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/allcontent.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/allcontent.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/archive.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/archive.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/archive.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/archive.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/feed.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/feed.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/feed.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/feed.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/footer.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/footer.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/footer.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/footer.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/header.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/header.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/header.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/header.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/index.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/index.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/index.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/index.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/page.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/page.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/page.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/page.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/post.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/post.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/post.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/post.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/sitemap.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/sitemap.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/sitemap.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/sitemap.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/tags-index.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/tags-index.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/tags-index.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/tags-index.thyme diff --git a/src/test/resources/fixture/thymeleafTemplates/tags.thyme b/jbake-core/src/test/resources/fixture/thymeleafTemplates/tags.thyme similarity index 100% rename from src/test/resources/fixture/thymeleafTemplates/tags.thyme rename to jbake-core/src/test/resources/fixture/thymeleafTemplates/tags.thyme diff --git a/src/test/resources/logback.xml b/jbake-core/src/test/resources/logback.xml similarity index 100% rename from src/test/resources/logback.xml rename to jbake-core/src/test/resources/logback.xml diff --git a/jbake-dist/build.gradle b/jbake-dist/build.gradle new file mode 100644 index 000000000..10e41b53f --- /dev/null +++ b/jbake-dist/build.gradle @@ -0,0 +1,44 @@ +apply from: "$rootDir/gradle/application.gradle" +apply from: "$rootDir/gradle/sdkman.gradle" + +description = "The binary distribution package that bundles JBake cli" + +sourceSets { + smokeTest { + java { + srcDir file('src/smoke-test/java') + } + resources { + srcDir file('src/smoke-test/resources') + } + } +} + +configurations { + dist + + runtime.extendsFrom dist +} + + +dependencies { + compile project(':jbake-core') + dist group: 'org.asciidoctor', name: 'asciidoctorj-diagram', version: asciidoctorjDiagramVersion + smokeTestCompile configurations.testCompile + smokeTestCompile sourceSets.test.output + smokeTestRuntime configurations.testRuntime +} + +artifacts { + archives distZip +} + +task smokeTest(type: Test, dependsOn: installDist) { + group 'Verification' + description 'Runs the integration tests.' + setTestClassesDirs sourceSets.smokeTest.output.classesDirs + classpath = sourceSets.smokeTest.runtimeClasspath + shouldRunAfter test +} + +check.dependsOn smokeTest diff --git a/src/dist/lib/logging/logback.xml b/jbake-dist/src/dist/lib/logging/logback.xml similarity index 100% rename from src/dist/lib/logging/logback.xml rename to jbake-dist/src/dist/lib/logging/logback.xml diff --git a/src/smoke-test/java/org/jbake/BuiltInProjectsTest.java b/jbake-dist/src/smoke-test/java/org/jbake/BuiltInProjectsTest.java similarity index 100% rename from src/smoke-test/java/org/jbake/BuiltInProjectsTest.java rename to jbake-dist/src/smoke-test/java/org/jbake/BuiltInProjectsTest.java diff --git a/settings.gradle b/settings.gradle index 08ebb4dcb..6af1a1acd 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,4 @@ -rootProject.name = 'jbake-core' +rootProject.name = 'jbake-base' +include 'jbake-core' +include 'jbake-dist' + diff --git a/src/test/resources/fixture/ignorablefolder/.jbakeignore b/src/test/resources/fixture/ignorablefolder/.jbakeignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/test/resources/fixture/ignorablefolder/file_in_ignored_folder.html b/src/test/resources/fixture/ignorablefolder/file_in_ignored_folder.html deleted file mode 100644 index 05d6d7d42..000000000 --- a/src/test/resources/fixture/ignorablefolder/file_in_ignored_folder.html +++ /dev/null @@ -1,16 +0,0 @@ -title=Second Post -date=2013-02-28 -type=post -tags=blog -status=published -og={"description": "Something"} -~~~~~~ - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque vel diam purus. Curabitur ut nisi lacus. -Nam id nisl quam. Donec a lorem sit amet libero pretium vulputate vel ut purus. Suspendisse leo arcu, -mattis et imperdiet luctus, pulvinar vitae mi. Quisque fermentum sollicitudin feugiat. Mauris nec leo -ligula. Vestibulum tristique odio ut risus ultricies a hendrerit quam iaculis. Duis tempor elit sit amet -ligula vehicula et iaculis sem placerat. Fusce dictum, metus at volutpat lacinia, elit massa auctor risus, -id auctor arcu enim eu augue. Donec ultrices turpis in mi imperdiet ac venenatis sapien sodales. In -consequat imperdiet nunc quis bibendum. Nulla semper, erat quis ornare tristique, lectus massa posuere -libero, ut vehicula lectus nunc ut lorem. Aliquam erat volutpat.