graduele taakgroepering/inkapseling

Ik ben bezig met het maken van een eenvoudige website en ben bezig met het schrijven van een graduele script dat dingen als pluis doet en css/html/js verkleint.

In deze fase heb ik zojuist de CSS gedaan die werkt, maar die zich in een eerste ongestructureerd formaat bevindt

defaultTasks 'loadToOutput', 'minCSS' ,'deployToSite'

task loadToOutput(type: Copy) {
    from 'src/web'
    into 'output'
}

task compileSCSS(type: Exec) {
    commandLine 'sass', '/home/alistair/dev/personalwebsite/output/style/main.scss', '/home/alistair/dev/personalwebsite/output/style/main.css'
}

task csslint(type: Exec, dependsOn: compileSCSS) {
    def cmdLineOptions = ["--errors=adjoining-classes,box-model,box-sizing,compatible-vendor-prefixes,display-property-grouping,duplicate-background-images,duplicate-properties,empty-rules,errors,fallback-colors,floats,font-faces,font-sizes,gradients,import,important,known-properties,outline-none,overqualified-elements,qualified-headings,regex-selectors,rules-count,shorthand,text-indent,unique-headings,universal-selector,unqualified-attributes,vendor-prefix,zero-units"]
    def cssDir = '/home/alistair/dev/personalwebsite/output/style'

    commandLine = ["csslint"] + cmdLineOptions + [cssDir]
}

task minCSS(type: Exec, dependsOn: csslint) {
    commandLine 'csso', '/home/alistair/dev/personalwebsite/output/style/main.css', '/home/alistair/dev/personalwebsite/output/style/main.css'
}

task deployToSite(type: Copy) {
    from 'output'
    into '/var/www/personalwebsite'
}

Wat ik wil doen is de CSS-taken op een iets schonere manier groeperen. bv

task CSS {
    compile
    lint
    minify
}

De enige manier om dit te achterhalen is om een ​​apart buildbestand te hebben met het CSS-project, dat een beetje overdreven is voor mijn huidige behoeften. Is er een eenvoudige/aanbevolen manier om taken in een groep in te delen en de groep als het ware gewoon uit te voeren?

(Er zijn geweldige referentiedocumenten over graduele, maar heel weinig informatie over kookboeken/voorbeelden/beste praktijken: /)

3
ja, ja dat kan. dat is perfect, dank je. je kunt een antwoord plaatsen als je wilt of ik wil. proost
toegevoegd de auteur Alistair, de bron
Kun je dat niet gewoon doen met taak-CSS (afhankelijk van: [compileer, lint, minify]) ?
toegevoegd de auteur rodion, de bron
cool :) Ik heb het opnieuw gepost als een goed antwoord.
toegevoegd de auteur rodion, de bron

1 antwoord

De oplossing:

task CSS(dependsOn: [compile, lint, minify])
1
toegevoegd