From e61dda45d1d8e7ce249a22d17b3afbf1773897f2 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Wed, 24 May 2017 21:10:04 +0200 Subject: [PATCH] restructured project into jbake-core and jbake-dist module moved sources to new module jbake-core added jbake-cli as java library used by jbake-app to bundle distribution. aggregate jacoco test report and configure coveralls for root project generate aggregated test report for all subprojects some words about jacocoRootTestReport and smoke tests update gradle to 4.5 added build matrix and test osx too heapspace options for gradle drop precise and oraclejdk7 which is deprecated at travis now run openjdk7 on precise. removed jbake-cli module for now and merged back to jbake-core add jdk9 build to appveyor wrong jdk7 path. documentation https://www.appveyor.com/docs/build-environment/#java broken increase MaxPermSize for tests renamed jbake-app to jbake-dist --- .travis.yml | 25 ++- BUILD.adoc | 13 +- appveyor.yml | 1 + build.gradle | 192 ++++++++++-------- gradle.properties | 2 +- gradle/maven-publishing.gradle | 26 ++- gradle/publishing.gradle | 124 ++++++----- gradle/signing.gradle | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 54708 -> 54329 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- jbake-core/build.gradle | 31 +++ .../src}/main/java/org/jbake/app/Asset.java | 0 .../main/java/org/jbake/app/ConfigUtil.java | 0 .../main/java/org/jbake/app/ContentStore.java | 0 .../src}/main/java/org/jbake/app/Crawler.java | 0 .../src}/main/java/org/jbake/app/DBUtil.java | 0 .../main/java/org/jbake/app/DocumentList.java | 0 .../main/java/org/jbake/app/FileUtil.java | 0 .../java/org/jbake/app/JBakeException.java | 0 .../src}/main/java/org/jbake/app/Oven.java | 0 .../src}/main/java/org/jbake/app/Parser.java | 0 .../main/java/org/jbake/app/Renderer.java | 0 .../src}/main/java/org/jbake/app/ZipUtil.java | 0 .../java/org/jbake/launcher/BakeWatcher.java | 0 .../main/java/org/jbake/launcher/Baker.java | 0 .../launcher/CustomFSChangeListener.java | 0 .../main/java/org/jbake/launcher/Init.java | 0 .../java/org/jbake/launcher/JettyServer.java | 0 .../org/jbake/launcher/LaunchOptions.java | 0 .../main/java/org/jbake/launcher/Main.java | 0 .../org/jbake/model/DocumentAttributes.java | 0 .../java/org/jbake/model/DocumentStatus.java | 0 .../org/jbake/model/DocumentTypeListener.java | 0 .../org/jbake/model/DocumentTypeUtils.java | 0 .../java/org/jbake/model/DocumentTypes.java | 0 .../org/jbake/parser/AsciidoctorEngine.java | 0 .../main/java/org/jbake/parser/Engines.java | 0 .../java/org/jbake/parser/ErrorEngine.java | 0 .../java/org/jbake/parser/MarkdownEngine.java | 0 .../java/org/jbake/parser/MarkupEngine.java | 0 .../java/org/jbake/parser/ParserContext.java | 0 .../java/org/jbake/parser/ParserEngine.java | 0 .../org/jbake/parser/RawMarkupEngine.java | 0 .../org/jbake/render/ArchiveRenderer.java | 0 .../org/jbake/render/DocumentsRenderer.java | 0 .../java/org/jbake/render/FeedRenderer.java | 0 .../java/org/jbake/render/IndexRenderer.java | 0 .../java/org/jbake/render/RenderingTool.java | 0 .../org/jbake/render/SitemapRenderer.java | 0 .../java/org/jbake/render/TagsRenderer.java | 0 .../template/AbstractTemplateEngine.java | 0 .../template/DelegatingTemplateEngine.java | 0 .../template/FreemarkerTemplateEngine.java | 0 .../template/GroovyMarkupTemplateEngine.java | 0 .../jbake/template/GroovyTemplateEngine.java | 0 .../jbake/template/JadeTemplateEngine.java | 0 .../org/jbake/template/ModelExtractor.java | 0 .../org/jbake/template/ModelExtractors.java | 0 .../ModelExtractorsDocumentTypeListener.java | 0 .../template/NoModelExtractorException.java | 0 .../jbake/template/RenderingException.java | 0 .../jbake/template/TemplateEngineAdapter.java | 0 .../org/jbake/template/TemplateEngines.java | 0 .../template/ThymeleafTemplateEngine.java | 0 .../template/model/AllContentExtractor.java | 0 .../template/model/AllTagsExtractor.java | 0 .../org/jbake/template/model/DBExtractor.java | 0 .../model/PublishedContentExtractor.java | 0 .../model/PublishedCustomExtractor.java | 0 .../model/PublishedDateExtractor.java | 0 .../model/PublishedPagesExtractor.java | 0 .../model/PublishedPostsExtractor.java | 0 .../template/model/TagPostsExtractor.java | 0 .../model/TaggedDocumentsExtractor.java | 0 .../jbake/template/model/TagsExtractor.java | 0 .../model/TypedDocumentsExtractor.java | 0 .../main/java/org/jbake/util/HtmlUtil.java | 0 .../java/org/jbake/util/PagingHelper.java | 0 .../org.jbake.parser.MarkupEngines.properties | 0 ...rg.jbake.parser.TemplateEngines.properties | 0 ....jbake.template.ModelExtractors.properties | 0 .../services/org.jbake.render.RenderingTool | 0 .../src}/main/resources/default.properties | 0 .../main/resources/jetty-logging.properties | 0 .../java/org/jbake/FakeDocumentBuilder.java | 0 .../src}/test/java/org/jbake/TestUtils.java | 0 .../test/java/org/jbake/app/AssetTest.java | 0 .../java/org/jbake/app/ConfigUtilTest.java | 0 .../java/org/jbake/app/ContentStoreTest.java | 0 .../test/java/org/jbake/app/CrawlerTest.java | 0 .../test/java/org/jbake/app/FileUtilTest.java | 0 .../test/java/org/jbake/app/InitTest.java | 0 .../test/java/org/jbake/app/MdParserTest.java | 0 .../test/java/org/jbake/app/OvenTest.java | 0 .../java/org/jbake/app/PaginationTest.java | 0 .../test/java/org/jbake/app/ParserTest.java | 0 .../AbstractTemplateEngineRenderingTest.java | 0 ...FreemarkerTemplateEngineRenderingTest.java | 0 ...oovyMarkupTemplateEngineRenderingTest.java | 0 .../GroovyTemplateEngineRenderingTest.java | 0 .../JadeTemplateEngineRenderingTest.java | 0 .../ThymeleafTemplateEngineRenderingTest.java | 0 .../org/jbake/launcher/LaunchOptionsTest.java | 0 .../java/org/jbake/launcher/MainTest.java | 0 .../org/jbake/model/DocumentTypesTest.java | 0 .../org/jbake/render/ArchiveRendererTest.java | 0 .../jbake/render/DocumentsRendererTest.java | 0 .../org/jbake/render/FeedRendererTest.java | 0 .../org/jbake/render/IndexRendererTest.java | 0 .../java/org/jbake/render/RendererTest.java | 0 .../org/jbake/render/ServiceLoaderTest.java | 0 .../org/jbake/render/SitemapRendererTest.java | 0 .../org/jbake/render/TagsRendererTest.java | 0 .../support/MockCompositeConfiguration.java | 0 ...delExtractorsDocumentTypeListenerTest.java | 0 .../jbake/template/ModelExtractorsTest.java | 0 .../java/org/jbake/util/HtmlUtilTest.java | 0 .../java/org/jbake/util/PagingHelperTest.java | 0 .../assets/css/bootstrap-responsive.min.css | 0 .../fixture/assets/css/bootstrap.min.css | 0 .../assets/img/glyphicons-halflings-white.png | Bin .../assets/img/glyphicons-halflings.png | Bin .../fixture/assets/js/bootstrap.min.js | 0 .../resources/fixture/assets/js/html5shiv.js | 0 .../fixture/assets/js/jquery-1.9.1.min.js | 0 .../fixture/content/.ignorablefile.html | 0 .../test/resources/fixture/content/about.html | 0 .../resources/fixture/content/allcontent.html | 0 .../fixture/content/blog/2012/first-post.html | 0 .../content/blog/2012/images/custom-image.png | Bin .../fixture/content/blog/2012/sample.json | 0 .../content/blog/2013/images/custom-image.jpg | Bin .../content/blog/2013/second-post.html | 0 .../content/blog/2016/another-post.html | 0 .../fixture/content/blog/2016/draft-post.html | 0 .../fixture/content/blog/invalid_header.html | 0 .../resources/fixture/content/index2.html | 0 .../fixture/content/papers/draft-paper.html | 0 .../content/papers/published-paper.html | 0 .../resources/fixture/content/projects.html | 0 .../freemarkerTemplates/allcontent.ftl | 0 .../fixture/freemarkerTemplates/archive.ftl | 0 .../fixture/freemarkerTemplates/feed.ftl | 0 .../fixture/freemarkerTemplates/footer.ftl | 0 .../fixture/freemarkerTemplates/header.ftl | 0 .../fixture/freemarkerTemplates/index.ftl | 0 .../fixture/freemarkerTemplates/menu.ftl | 0 .../fixture/freemarkerTemplates/page.ftl | 0 .../fixture/freemarkerTemplates/post.ftl | 0 .../fixture/freemarkerTemplates/sitemap.ftl | 0 .../freemarkerTemplates/tags-index.ftl | 0 .../fixture/freemarkerTemplates/tags.ftl | 0 .../groovyMarkupTemplates/allcontent.tpl | 0 .../fixture/groovyMarkupTemplates/archive.tpl | 0 .../fixture/groovyMarkupTemplates/feed.tpl | 0 .../fixture/groovyMarkupTemplates/footer.tpl | 0 .../fixture/groovyMarkupTemplates/header.tpl | 0 .../fixture/groovyMarkupTemplates/index.tpl | 0 .../groovyMarkupTemplates/layout/main.tpl | 0 .../fixture/groovyMarkupTemplates/menu.tpl | 0 .../fixture/groovyMarkupTemplates/page.tpl | 0 .../fixture/groovyMarkupTemplates/paper.tpl | 0 .../fixture/groovyMarkupTemplates/post.tpl | 0 .../fixture/groovyMarkupTemplates/sitemap.tpl | 0 .../groovyMarkupTemplates/tags-index.tpl | 0 .../fixture/groovyMarkupTemplates/tags.tpl | 0 .../fixture/groovyTemplates/allcontent.gsp | 0 .../fixture/groovyTemplates/archive.gsp | 0 .../fixture/groovyTemplates/feed.gsp | 0 .../fixture/groovyTemplates/footer.gsp | 0 .../fixture/groovyTemplates/header.gsp | 0 .../fixture/groovyTemplates/index.gsp | 0 .../fixture/groovyTemplates/page.gsp | 0 .../fixture/groovyTemplates/post.gsp | 0 .../fixture/groovyTemplates/sitemap.gsp | 0 .../fixture/groovyTemplates/tags-index.gsp | 0 .../fixture/groovyTemplates/tags.gsp | 0 .../fixture}/ignorablefolder/.jbakeignore | 0 .../file_in_ignored_folder.html | 0 .../resources/fixture/ignorables/.test.txt | 0 .../resources/fixture/ignorables/test.txt | 0 .../fixture/jadeTemplates/archive.jade | 0 .../resources/fixture/jadeTemplates/feed.jade | 0 .../fixture/jadeTemplates/footer.jade | 0 .../fixture/jadeTemplates/header.jade | 0 .../fixture/jadeTemplates/index.jade | 0 .../fixture/jadeTemplates/layout.jade | 0 .../resources/fixture/jadeTemplates/page.jade | 0 .../resources/fixture/jadeTemplates/post.jade | 0 .../fixture/jadeTemplates/sitemap.jade | 0 .../fixture/jadeTemplates/tags-index.jade | 0 .../resources/fixture/jadeTemplates/tags.jade | 0 .../test/resources/fixture/jbake.properties | 0 .../test/resources/fixture/media/favicon.ico | Bin .../src}/test/resources/fixture/test.zip | Bin .../thymeleafTemplates/allcontent.thyme | 0 .../fixture/thymeleafTemplates/archive.thyme | 0 .../fixture/thymeleafTemplates/feed.thyme | 0 .../fixture/thymeleafTemplates/footer.thyme | 0 .../fixture/thymeleafTemplates/header.thyme | 0 .../fixture/thymeleafTemplates/index.thyme | 0 .../fixture/thymeleafTemplates/page.thyme | 0 .../fixture/thymeleafTemplates/post.thyme | 0 .../fixture/thymeleafTemplates/sitemap.thyme | 0 .../thymeleafTemplates/tags-index.thyme | 0 .../fixture/thymeleafTemplates/tags.thyme | 0 .../src}/test/resources/logback.xml | 0 jbake-dist/build.gradle | 44 ++++ .../src}/dist/lib/logging/logback.xml | 0 .../java/org/jbake/BuiltInProjectsTest.java | 0 settings.gradle | 5 +- .../fixture/ignorablefolder/.jbakeignore | 0 .../file_in_ignored_folder.html | 16 -- 213 files changed, 315 insertions(+), 169 deletions(-) create mode 100644 jbake-core/build.gradle rename {src => jbake-core/src}/main/java/org/jbake/app/Asset.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/ConfigUtil.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/ContentStore.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/Crawler.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/DBUtil.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/DocumentList.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/FileUtil.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/JBakeException.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/Oven.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/Parser.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/Renderer.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/app/ZipUtil.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/launcher/BakeWatcher.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/launcher/Baker.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/launcher/CustomFSChangeListener.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/launcher/Init.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/launcher/JettyServer.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/launcher/LaunchOptions.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/launcher/Main.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/model/DocumentAttributes.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/model/DocumentStatus.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/model/DocumentTypeListener.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/model/DocumentTypeUtils.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/model/DocumentTypes.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/parser/AsciidoctorEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/parser/Engines.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/parser/ErrorEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/parser/MarkdownEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/parser/MarkupEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/parser/ParserContext.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/parser/ParserEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/parser/RawMarkupEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/render/ArchiveRenderer.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/render/DocumentsRenderer.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/render/FeedRenderer.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/render/IndexRenderer.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/render/RenderingTool.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/render/SitemapRenderer.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/render/TagsRenderer.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/AbstractTemplateEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/DelegatingTemplateEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/FreemarkerTemplateEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/GroovyMarkupTemplateEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/GroovyTemplateEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/JadeTemplateEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/ModelExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/ModelExtractors.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/ModelExtractorsDocumentTypeListener.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/NoModelExtractorException.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/RenderingException.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/TemplateEngineAdapter.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/TemplateEngines.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/ThymeleafTemplateEngine.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/AllContentExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/AllTagsExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/DBExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/PublishedContentExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/PublishedCustomExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/PublishedDateExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/PublishedPagesExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/PublishedPostsExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/TagPostsExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/TaggedDocumentsExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/TagsExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/template/model/TypedDocumentsExtractor.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/util/HtmlUtil.java (100%) rename {src => jbake-core/src}/main/java/org/jbake/util/PagingHelper.java (100%) rename {src => jbake-core/src}/main/resources/META-INF/org.jbake.parser.MarkupEngines.properties (100%) rename {src => jbake-core/src}/main/resources/META-INF/org.jbake.parser.TemplateEngines.properties (100%) rename {src => jbake-core/src}/main/resources/META-INF/org.jbake.template.ModelExtractors.properties (100%) rename {src => jbake-core/src}/main/resources/META-INF/services/org.jbake.render.RenderingTool (100%) rename {src => jbake-core/src}/main/resources/default.properties (100%) rename {src => jbake-core/src}/main/resources/jetty-logging.properties (100%) rename {src => jbake-core/src}/test/java/org/jbake/FakeDocumentBuilder.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/TestUtils.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/AssetTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/ConfigUtilTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/ContentStoreTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/CrawlerTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/FileUtilTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/InitTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/MdParserTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/OvenTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/PaginationTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/ParserTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/template/AbstractTemplateEngineRenderingTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/template/FreemarkerTemplateEngineRenderingTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/template/GroovyMarkupTemplateEngineRenderingTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/template/GroovyTemplateEngineRenderingTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/template/JadeTemplateEngineRenderingTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/app/template/ThymeleafTemplateEngineRenderingTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/launcher/LaunchOptionsTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/launcher/MainTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/model/DocumentTypesTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/render/ArchiveRendererTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/render/DocumentsRendererTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/render/FeedRendererTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/render/IndexRendererTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/render/RendererTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/render/ServiceLoaderTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/render/SitemapRendererTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/render/TagsRendererTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/render/support/MockCompositeConfiguration.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/template/ModelExtractorsDocumentTypeListenerTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/template/ModelExtractorsTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/util/HtmlUtilTest.java (100%) rename {src => jbake-core/src}/test/java/org/jbake/util/PagingHelperTest.java (100%) rename {src => jbake-core/src}/test/resources/fixture/assets/css/bootstrap-responsive.min.css (100%) rename {src => jbake-core/src}/test/resources/fixture/assets/css/bootstrap.min.css (100%) rename {src => jbake-core/src}/test/resources/fixture/assets/img/glyphicons-halflings-white.png (100%) rename {src => jbake-core/src}/test/resources/fixture/assets/img/glyphicons-halflings.png (100%) rename {src => jbake-core/src}/test/resources/fixture/assets/js/bootstrap.min.js (100%) rename {src => jbake-core/src}/test/resources/fixture/assets/js/html5shiv.js (100%) rename {src => jbake-core/src}/test/resources/fixture/assets/js/jquery-1.9.1.min.js (100%) rename {src => jbake-core/src}/test/resources/fixture/content/.ignorablefile.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/about.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/allcontent.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/blog/2012/first-post.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/blog/2012/images/custom-image.png (100%) rename {src => jbake-core/src}/test/resources/fixture/content/blog/2012/sample.json (100%) rename {src => jbake-core/src}/test/resources/fixture/content/blog/2013/images/custom-image.jpg (100%) rename {src => jbake-core/src}/test/resources/fixture/content/blog/2013/second-post.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/blog/2016/another-post.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/blog/2016/draft-post.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/blog/invalid_header.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/index2.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/papers/draft-paper.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/papers/published-paper.html (100%) rename {src => jbake-core/src}/test/resources/fixture/content/projects.html (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/allcontent.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/archive.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/feed.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/footer.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/header.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/index.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/menu.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/page.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/post.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/sitemap.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/tags-index.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/freemarkerTemplates/tags.ftl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/allcontent.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/archive.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/feed.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/footer.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/header.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/index.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/layout/main.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/menu.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/page.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/paper.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/post.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/sitemap.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/tags-index.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyMarkupTemplates/tags.tpl (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/allcontent.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/archive.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/feed.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/footer.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/header.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/index.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/page.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/post.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/sitemap.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/tags-index.gsp (100%) rename {src => jbake-core/src}/test/resources/fixture/groovyTemplates/tags.gsp (100%) rename {src/test/resources/fixture/assets => jbake-core/src/test/resources/fixture}/ignorablefolder/.jbakeignore (100%) rename {src/test/resources/fixture/assets => jbake-core/src/test/resources/fixture}/ignorablefolder/file_in_ignored_folder.html (100%) rename {src => jbake-core/src}/test/resources/fixture/ignorables/.test.txt (100%) rename {src => jbake-core/src}/test/resources/fixture/ignorables/test.txt (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/archive.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/feed.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/footer.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/header.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/index.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/layout.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/page.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/post.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/sitemap.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/tags-index.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jadeTemplates/tags.jade (100%) rename {src => jbake-core/src}/test/resources/fixture/jbake.properties (100%) rename {src => jbake-core/src}/test/resources/fixture/media/favicon.ico (100%) rename {src => jbake-core/src}/test/resources/fixture/test.zip (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/allcontent.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/archive.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/feed.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/footer.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/header.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/index.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/page.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/post.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/sitemap.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/tags-index.thyme (100%) rename {src => jbake-core/src}/test/resources/fixture/thymeleafTemplates/tags.thyme (100%) rename {src => jbake-core/src}/test/resources/logback.xml (100%) create mode 100644 jbake-dist/build.gradle rename {src => jbake-dist/src}/dist/lib/logging/logback.xml (100%) rename {src => jbake-dist/src}/smoke-test/java/org/jbake/BuiltInProjectsTest.java (100%) delete mode 100644 src/test/resources/fixture/ignorablefolder/.jbakeignore delete mode 100644 src/test/resources/fixture/ignorablefolder/file_in_ignored_folder.html 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 7a3265ee94c0ab25cf079ac8ccdf87f41d455d42..a5fe1cb94b9ee5ce57e6113458225bcba12d83e3 100644 GIT binary patch delta 15814 zcmZ9zW0a&z6D{1fZQHhO+qUhRwpnf4wrAS5In%a1-P3dXocn$2UFX)XTvZC{2eQvy45xWSA{mdFYZtrb1^_ z%*zGyuMzH}5oj0K+DSd8f`D7=SMlW=g>s-QRWcK?pH;!s=d<_o=dhIC2~B_nm`%8i&h{0-e1qO^IT z8tj;A!zK<`{|oQ2YISi&tmc;XGHm#gvD2bTt)k{)%&V>~Npp0WqW+C6>cM>>==jCJen&TS66JYLJXJN~`vU-n3X6~ojkti!u9Tjvh9XYd2k!&UAcjHtf*=Kwo_Ci{(ckRM~2kA$4HBnEuSSMz5dC8RgcrFYi#mjA<2E8t@1;vO=B?z@J3r_ zpaoy6$F*{QYsL~qBV8Kv!^ub&{ETFeFCsFe@?uIQ#9Po5=U5Q{wy6g0@S|>b6~nnI z17XHnVnMcW)i77-^|yA>#fIK{0>o2uJ(N-@UMcmWE6tN|BZ2N*HYR;V-h$-ABZLwn ztOg{sYiMzUBu_Z%0WsONt>9oA7{{ct7UkY#>DXqcS#_(Hsp$ow zP6q|e3X6)uK{@_!hItsrI%@#R2Oc3eVyH$K3M76%9{n*Q;@n-qE7GT06bWf71>cR{@_P{dJq`xAB>_{<@slr zy~nxrTbSg{m|R^+jltys%~tu&NJkDcv_A(+XT~T*2H}ImEH8iGE=U(Pla4x}RTKE5 z3nZxh7D62l``}9sJt9^ilm+I{ZS!#?bH7JCFR_p0VY4a(S%hb>0Kj-wl?cclhFUR$ zYUrhV-}@9UXjH2^Cf%rJ9Z;5uc%Yk=&_?!!sBJJULh%dX*hbs5U8W&@Lybknl&mGF zhd=m9-7KlB2B^XDvxm3YPKGgims>%| zvV$){i8|%>FXoSo7EqAMkw%?FTA*Pt=oCs(5CttpcIJxO0EoNu#ghoMRo-)kLml*l zbBf=+*Ac?k%mLaYY3c~PJH@xfkl~M1zSVGE%XJFa516Lve?WKxi1*qH@HBh}v~!sn zc$Q{dbqL`70T+4@VN_ozY<<)cMTmAU1A`cD$%%8ync6e^Xtt0Vm z3xI=wOu_<1Y%qb}g3*A2vv`0JtqUb|Rg}-!_Qpm=6%@K%RQh0}bu5V=WO^!0YI-th z5Pumh>)&13-R)qa)Hq-xWkB?u+A`Tw*a`b%!Uto=oRv@&3%p%F7ZI1_1s* zkpx@9)+OcGM$6lTG9){UN1ASB6O4B%bSffjsjGH74db9lE%vR-QA^`lq(7;PhsWus}w^H-+SJ^W3~JA4KndI z4*tsHTGfo;Vj916sH-}5x2%&%NoY;hj-ijKx(n1jJ-TM|C^yor<}Jyhr0;0aim3wEl9l6b67F`zq+*%& zT`D`%IAe5GoU7Xz!cfp8Cad|e2Z4}zFy+OHyJ z&%|Us85787eeARhHQioG#{OOIba_slD)M4WCtSbB=k1VexAqhguKp{ug4WD)HC3H` zSusujS}THCHzL`+O;eDSm%H2xQ(cf~$u_2_F`kHsvtsWpu!l@KS`QwxTW&2y0;;h97TzzIVR@sz39{R&8s$- z{fX;F%&?^1sMYucN1%P zTg2K}<9akPh&gO{QC}K(94f(eEXX^#TqC)HK@v*Cc<;fwq<%KX>cYhrU|eNx{LI9E zGv!hTWg-gJjKv}0v2r)%x0{tjX=}l2VTE!HKgF;tOfxdrq3Du*OxG48R)xqul>jUG zrCbM*Qu=}#2=gf;Z!$@55^S?c{|EG+Q-%Qo0s{jA0wN0H^M0{e3S{!r1)v7NOh}+x zpc-WwwDVQ()SbobOW*dqilL=RpbLK^p7e3jmbTP~8|63?JlS>!oaFk?IRZX^KZA>) z%HwG$*vXhzXHXc9v_?=^ab{+!t7@>$B~^7k@nNr|Ffv3eq+F~_XOGn+SZWb$1x)ru zXd3c9>YB;yG=*RNw8SZh19%tEu~TSo(+#*UHn!{kZ11%W*dm=WnW%HAm=@GOFJe8r zSx1bx?91ps67)UTs!uwvMoI73zm*yyTM@wHMPrv4#E-47sD1GK4BFCr={n(#M-T^= zX@4+s6EfKyci(Ijw{x_OB>gf{q*~*em_Lbu5gXx*2rl1_lLHE^02)_MltQ{U)2?l8xYd@SFnhg@nlClp;&5(4l)lWMhY=g`*`2z*y0GSVME)mul+DD ziWv3HJ7=u5u(BkfblKI&UN*m+;THD9yJuT0cobiR}wvW+N86Id*T&Fe~}T<9Y+9)9gIvnCPsBa>kooP$Fub- zN8~C}!Tp)G;7#r3WXXIC?ws7&dd4wVh@ys%p!0N(+-9Iw(lP9O9IrHmS zZWj1X-QVgRACWtk_;P$`KW;G&tNF4!aq>|^-}e6t}`HMpdP@cRFs4{41`Wr1%9~$E!r`a ztJ0C%R8bpfXx&ov8U7je3D3WTq&M3BlW&Rn5Ah$=y!;+~ah71j1ol5}#gqX8>zub zC+Pu|5D>r`=b6wOhr-1JN6>)_b#?P7<&j`Y=B&4(v7**tuUD>)vosPSAVID94q zKh$W8;keQauk5hH!P9So<2vTVpw~LFw(9Yj{JSr^x=M;uvz2kD^0=FkeRsJh03G_f zoo2X);pgdA7E->18}v1pBK&)KRSPE++vx7E6KfoAJ!h47Xe zu5FoQvs7nPj(c*|#ON}ExC^r|{E@WY$T8qmD>$Y(O2@SG)VK5r9EoGoU-Y%?x69tu zxu|g1b`rg^ru>%jX<_(ViLpz!_U@UV&3-3I#8ZEa%J&R8Eqctlg(#+(g(JPw1EIOj zrtEej`5m=_sQs=vk?`8;4TKXu+wQD;Kj#YDL{TZ0%*)6DEa)@b^@?lcJ`G>!vI;

=dO+g3E5Ycz28^Djhlur9JMyN&5nwh(% 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 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.