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.page.PageTypes
|
||||
import com.jessebrault.ssg.page.PagesProviders
|
||||
import com.jessebrault.ssg.part.Part
|
||||
import com.jessebrault.ssg.part.PartTypes
|
||||
import com.jessebrault.ssg.part.PartsProviders
|
||||
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.TemplatesProviders
|
||||
import com.jessebrault.ssg.text.TextTypes
|
||||
import com.jessebrault.ssg.util.ExtensionUtil
|
||||
import com.jessebrault.ssg.util.PathUtil
|
||||
import com.jessebrault.ssg.text.TextsProviders
|
||||
import com.jessebrault.ssg.util.Result
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
import java.util.function.Consumer
|
||||
|
||||
final class DefaultBuildScriptConfiguratorFactory implements BuildScriptConfiguratorFactory {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(DefaultBuildScriptConfiguratorFactory)
|
||||
|
||||
@Override
|
||||
Consumer<BuildScriptBase> get() {
|
||||
return {
|
||||
@ -43,24 +36,14 @@ final class DefaultBuildScriptConfiguratorFactory implements BuildScriptConfigur
|
||||
texts(TextsProviders.from(new File('texts'), types.textTypes))
|
||||
pages(PagesProviders.from(new File('pages'), types.pageTypes))
|
||||
templates(TemplatesProviders.from(new File('templates'), types.templateTypes))
|
||||
|
||||
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())
|
||||
}
|
||||
})
|
||||
parts(PartsProviders.of(new File('parts'), types.partTypes))
|
||||
}
|
||||
|
||||
taskFactories { sp ->
|
||||
taskFactories { sourceProviders ->
|
||||
register('textToHtml', TextToHtmlTaskFactory::new) {
|
||||
it.specProvider += CollectionProviders.from {
|
||||
def templates = sp.templatesProvider.provide()
|
||||
sp.textsProvider.provide().collect {
|
||||
def templates = sourceProviders.templatesProvider.provide()
|
||||
sourceProviders.textsProvider.provide().collect {
|
||||
def frontMatterResult = it.type.frontMatterGetter.get(it)
|
||||
if (frontMatterResult.hasDiagnostics()) {
|
||||
return Result.ofDiagnostics(frontMatterResult.diagnostics)
|
||||
@ -74,23 +57,30 @@ final class DefaultBuildScriptConfiguratorFactory implements BuildScriptConfigur
|
||||
}
|
||||
}
|
||||
}
|
||||
it.allTextsProvider += sp.textsProvider
|
||||
it.allPartsProvider += sp.partsProvider
|
||||
it.allTextsProvider += sourceProviders.textsProvider
|
||||
it.allPartsProvider += sourceProviders.partsProvider
|
||||
|
||||
//noinspection GroovyUnnecessaryReturn
|
||||
return
|
||||
}
|
||||
|
||||
register('pageToHtml', PageToHtmlTaskFactory::new) {
|
||||
it.pagesProvider += sp.pagesProvider
|
||||
it.allTextsProvider += sp.textsProvider
|
||||
it.allPartsProvider += sp.partsProvider
|
||||
it.pagesProvider += sourceProviders.pagesProvider
|
||||
it.allTextsProvider += sourceProviders.textsProvider
|
||||
it.allPartsProvider += sourceProviders.partsProvider
|
||||
|
||||
//noinspection GroovyUnnecessaryReturn
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
it.build('default') {
|
||||
outputDir = new File('build')
|
||||
|
||||
//noinspection GroovyUnnecessaryReturn
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user