public void bake(final JBakeConfiguration config) { final Oven oven = new Oven(config); oven.bake(); final List<Throwable> errors = oven.getErrors(); if (!errors.isEmpty()) { final StringBuilder msg = new StringBuilder(); // TODO: decide, if we want the all errors here msg.append( MessageFormat.format("JBake failed with {0} errors:\n", errors.size())); int errNr = 1; for (final Throwable error : errors) { msg.append(MessageFormat.format("{0}. {1}\n", errNr, error.getMessage())); ++errNr; } throw new JBakeException(msg.toString(), errors.get(0)); } } }
private void exec(FileObject file) { final Oven oven = new Oven(config); oven.bake(new File(file.getName().getPath())); } }
@Test public void bakeWithAbsolutePaths() { configuration.setTemplateFolder( new File(sourceFolder, "freemarkerTemplates") ); configuration.setContentFolder( new File(sourceFolder, "content") ); configuration.setAssetFolder( new File(sourceFolder, "assets") ); final Oven oven = new Oven(configuration); oven.bake(); assertThat(oven.getErrors()).isEmpty(); }
@Test(expected = JBakeException.class) public void shouldThrowExceptionIfSourceFolderDoesNotExist() { configuration.setSourceFolder(new File(folder.getRoot(),"none")); new Oven(configuration); }
@Test(expected = JBakeException.class) public void shouldInspectConfigurationDuringInstantiationFromUtils() { configuration.setSourceFolder(new File(folder.getRoot(),"none")); Utensils utensils = new Utensils(); utensils.setConfiguration(configuration); new Oven(utensils); }
@Test public void shouldInstantiateNeededUtensils() throws Exception { configuration.setTemplateFolder( folder.newFolder("template") ); configuration.setContentFolder( folder.newFolder("content") ); configuration.setAssetFolder( folder.newFolder("assets") ); Oven oven = new Oven(configuration); assertThat(oven.getUtensils().getContentStore()).isNotNull(); assertThat(oven.getUtensils().getCrawler()).isNotNull(); assertThat(oven.getUtensils().getRenderer()).isNotNull(); assertThat(oven.getUtensils().getAsset()).isNotNull(); assertThat(oven.getUtensils().getConfiguration()).isEqualTo(configuration); }
@Test public void shouldCrawlRenderAndCopyAssets() throws Exception { configuration.setTemplateFolder( folder.newFolder("template") ); configuration.setContentFolder( folder.newFolder("content") ); configuration.setAssetFolder( folder.newFolder("assets") ); contentStore = spy(new ContentStore("memory", "documents"+ System.currentTimeMillis())); Crawler crawler = mock(Crawler.class); Renderer renderer = mock(Renderer.class); Asset asset = mock(Asset.class); Utensils utensils = new Utensils(); utensils.setConfiguration(configuration); utensils.setContentStore(contentStore); utensils.setRenderer(renderer); utensils.setCrawler(crawler); utensils.setAsset(asset); Oven oven = new Oven(utensils); oven.bake(); verify(contentStore, times(1)).startup(); verify(renderer,atLeastOnce()).renderIndex(anyString()); verify(crawler,times(1)).crawl(); verify(asset,times(1)).copy(); } }
public void bake(final JBakeConfiguration config) { final Oven oven = new Oven(config); oven.bake(); final List<Throwable> errors = oven.getErrors(); if (!errors.isEmpty()) { final StringBuilder msg = new StringBuilder(); // TODO: decide, if we want the all errors here msg.append( MessageFormat.format("JBake failed with {0} errors:\n", errors.size())); int errNr = 1; for (final Throwable error : errors) { msg.append(MessageFormat.format("{0}. {1}\n", errNr, error.getMessage())); ++errNr; } throw new JBakeException(msg.toString(), errors.get(0)); } } }
private void exec(FileObject file) { final Oven oven = new Oven(config); oven.bake(new File(file.getName().getPath())); } }
orient.startup(); final Oven oven = new Oven(source, destination, new CompositeConfiguration() {{ final CompositeConfiguration config = new CompositeConfiguration(); config.addConfiguration(new MapConfiguration(new HashMap<String, Object>() {{