Clean up and added default build.
This commit is contained in:
parent
b1488f7434
commit
6cae49ca14
@ -5,26 +5,19 @@ import com.jessebrault.ssg.html.TextToHtmlSpec
|
|||||||
import com.jessebrault.ssg.html.TextToHtmlTaskFactory
|
import com.jessebrault.ssg.html.TextToHtmlTaskFactory
|
||||||
import com.jessebrault.ssg.page.PageTypes
|
import com.jessebrault.ssg.page.PageTypes
|
||||||
import com.jessebrault.ssg.page.PagesProviders
|
import com.jessebrault.ssg.page.PagesProviders
|
||||||
import com.jessebrault.ssg.part.Part
|
|
||||||
import com.jessebrault.ssg.part.PartTypes
|
import com.jessebrault.ssg.part.PartTypes
|
||||||
|
import com.jessebrault.ssg.part.PartsProviders
|
||||||
import com.jessebrault.ssg.provider.CollectionProviders
|
import com.jessebrault.ssg.provider.CollectionProviders
|
||||||
import com.jessebrault.ssg.template.TemplatesProviders
|
|
||||||
import com.jessebrault.ssg.text.TextsProviders
|
|
||||||
import com.jessebrault.ssg.template.Template
|
|
||||||
import com.jessebrault.ssg.template.TemplateTypes
|
import com.jessebrault.ssg.template.TemplateTypes
|
||||||
|
import com.jessebrault.ssg.template.TemplatesProviders
|
||||||
import com.jessebrault.ssg.text.TextTypes
|
import com.jessebrault.ssg.text.TextTypes
|
||||||
import com.jessebrault.ssg.util.ExtensionUtil
|
import com.jessebrault.ssg.text.TextsProviders
|
||||||
import com.jessebrault.ssg.util.PathUtil
|
|
||||||
import com.jessebrault.ssg.util.Result
|
import com.jessebrault.ssg.util.Result
|
||||||
import org.slf4j.Logger
|
|
||||||
import org.slf4j.LoggerFactory
|
|
||||||
|
|
||||||
import java.util.function.Consumer
|
import java.util.function.Consumer
|
||||||
|
|
||||||
final class DefaultBuildScriptConfiguratorFactory implements BuildScriptConfiguratorFactory {
|
final class DefaultBuildScriptConfiguratorFactory implements BuildScriptConfiguratorFactory {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(DefaultBuildScriptConfiguratorFactory)
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
Consumer<BuildScriptBase> get() {
|
Consumer<BuildScriptBase> get() {
|
||||||
return {
|
return {
|
||||||
@ -43,24 +36,14 @@ final class DefaultBuildScriptConfiguratorFactory implements BuildScriptConfigur
|
|||||||
texts(TextsProviders.from(new File('texts'), types.textTypes))
|
texts(TextsProviders.from(new File('texts'), types.textTypes))
|
||||||
pages(PagesProviders.from(new File('pages'), types.pageTypes))
|
pages(PagesProviders.from(new File('pages'), types.pageTypes))
|
||||||
templates(TemplatesProviders.from(new File('templates'), types.templateTypes))
|
templates(TemplatesProviders.from(new File('templates'), types.templateTypes))
|
||||||
|
parts(PartsProviders.of(new File('parts'), types.partTypes))
|
||||||
parts(CollectionProviders.from(new File('parts')) { File file ->
|
|
||||||
def extension = ExtensionUtil.getExtension(file.path)
|
|
||||||
def partType = types.partTypes.find { it.ids.contains(extension) }
|
|
||||||
if (!partType) {
|
|
||||||
logger.warn('there is no PartType for file {}; skipping', file)
|
|
||||||
null
|
|
||||||
} else {
|
|
||||||
new Part(PathUtil.relative('parts', file.path), partType, file.getText())
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
taskFactories { sp ->
|
taskFactories { sourceProviders ->
|
||||||
register('textToHtml', TextToHtmlTaskFactory::new) {
|
register('textToHtml', TextToHtmlTaskFactory::new) {
|
||||||
it.specProvider += CollectionProviders.from {
|
it.specProvider += CollectionProviders.from {
|
||||||
def templates = sp.templatesProvider.provide()
|
def templates = sourceProviders.templatesProvider.provide()
|
||||||
sp.textsProvider.provide().collect {
|
sourceProviders.textsProvider.provide().collect {
|
||||||
def frontMatterResult = it.type.frontMatterGetter.get(it)
|
def frontMatterResult = it.type.frontMatterGetter.get(it)
|
||||||
if (frontMatterResult.hasDiagnostics()) {
|
if (frontMatterResult.hasDiagnostics()) {
|
||||||
return Result.ofDiagnostics(frontMatterResult.diagnostics)
|
return Result.ofDiagnostics(frontMatterResult.diagnostics)
|
||||||
@ -74,23 +57,30 @@ final class DefaultBuildScriptConfiguratorFactory implements BuildScriptConfigur
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
it.allTextsProvider += sp.textsProvider
|
it.allTextsProvider += sourceProviders.textsProvider
|
||||||
it.allPartsProvider += sp.partsProvider
|
it.allPartsProvider += sourceProviders.partsProvider
|
||||||
|
|
||||||
//noinspection GroovyUnnecessaryReturn
|
//noinspection GroovyUnnecessaryReturn
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
register('pageToHtml', PageToHtmlTaskFactory::new) {
|
register('pageToHtml', PageToHtmlTaskFactory::new) {
|
||||||
it.pagesProvider += sp.pagesProvider
|
it.pagesProvider += sourceProviders.pagesProvider
|
||||||
it.allTextsProvider += sp.textsProvider
|
it.allTextsProvider += sourceProviders.textsProvider
|
||||||
it.allPartsProvider += sp.partsProvider
|
it.allPartsProvider += sourceProviders.partsProvider
|
||||||
|
|
||||||
//noinspection GroovyUnnecessaryReturn
|
//noinspection GroovyUnnecessaryReturn
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
it.build('default') {
|
||||||
|
outputDir = new File('build')
|
||||||
|
|
||||||
|
//noinspection GroovyUnnecessaryReturn
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user