@@ -500,9 +500,15 @@ object GenerativePlugin extends AutoPlugin {
500500 }
501501 }
502502
503- val renderedMatricesPre = job.matrixAdds.toList.sortBy(_._1) map {
504- case (key, values) => s " $key: ${values.map(wrap).mkString(" [" , " , " , " ]" )}"
505- } mkString " \n "
503+ val renderedMatricesAdds =
504+ if (job.matrixAdds.isEmpty) " "
505+ else
506+ job
507+ .matrixAdds
508+ .toList
509+ .sortBy(_._1)
510+ .map { case (key, values) => s " $key: ${values.map(wrap).mkString(" [" , " , " , " ]" )}" }
511+ .mkString(" \n " , " \n " , " " )
506512
507513 // TODO refactor all of this stuff to use whitelist instead
508514 val whitelist = Map (
@@ -524,44 +530,35 @@ object GenerativePlugin extends AutoPlugin {
524530 }
525531 }
526532
527- val renderedIncludesPre = if (job.matrixIncs.isEmpty) {
528- renderedMatricesPre
529- } else {
530- job.matrixIncs.foreach(inc => checkMatching(inc.matching))
531-
532- val rendered = compileListOfSimpleDicts(
533- job.matrixIncs.map(i => i.matching ++ i.additions))
533+ val renderedIncludes =
534+ if (job.matrixIncs.isEmpty) " "
535+ else {
536+ job.matrixIncs.foreach(inc => checkMatching(inc.matching))
534537
535- val renderedMatrices =
536- if (renderedMatricesPre.isEmpty)
537- " "
538- else
539- renderedMatricesPre + " \n "
540-
541- s " ${renderedMatrices}include: \n ${indent(rendered, 1 )}"
542- }
538+ val rendered = compileListOfSimpleDicts(
539+ job.matrixIncs.map(i => i.matching ++ i.additions))
543540
544- val renderedExcludesPre = if (job.matrixExcs.isEmpty) {
545- renderedIncludesPre
546- } else {
547- job.matrixExcs.foreach(exc => checkMatching(exc.matching))
541+ s " \n include: \n ${indent(rendered, 1 )}"
542+ }
548543
549- val rendered = compileListOfSimpleDicts(job.matrixExcs.map(_.matching))
544+ val renderedExcludes =
545+ if (job.matrixExcs.isEmpty) " "
546+ else {
547+ job.matrixExcs.foreach(exc => checkMatching(exc.matching))
550548
551- val renderedIncludes =
552- if (renderedIncludesPre.isEmpty)
553- " "
554- else
555- renderedIncludesPre + " \n "
549+ val rendered = compileListOfSimpleDicts(job.matrixExcs.map(_.matching))
556550
557- s " ${renderedIncludes} exclude :\n ${indent(rendered, 1 )}"
558- }
551+ s " \n exclude :\n ${indent(rendered, 1 )}"
552+ }
559553
560- val renderedMatrices =
561- if (renderedExcludesPre.isEmpty)
562- " "
563- else
564- " \n " + indent(renderedExcludesPre, 2 )
554+ val renderedMatrices = indent(
555+ buildMatrix(
556+ 0 ,
557+ " os" -> job.oses,
558+ " scala" -> job.scalas,
559+ " java" -> job.javas.map(_.render)) +
560+ renderedMatricesAdds + renderedIncludes + renderedExcludes,
561+ 2 )
565562
566563 val declareShell = job.oses.exists(_.contains(" windows" ))
567564
@@ -583,7 +580,7 @@ object GenerativePlugin extends AutoPlugin {
583580 val body = s """ name: ${wrap(job.name)}${renderedNeeds}${renderedCond}
584581 |strategy: ${renderedFailFast}
585582 | matrix:
586- | ${buildMatrix( 2 , " os " -> job.oses, " scala " -> job.scalas, " java " -> job.javas.map(_.render))}${ renderedMatrices}
583+ | ${renderedMatrices}
587584 |runs-on: ${runsOn}${renderedEnvironment}${renderedContainer}${renderedPerm}${renderedEnv}${renderedOutputs}${renderedConcurrency}${renderedTimeoutMinutes}
588585 |steps:
589586 | ${renderedSteps}""" .stripMargin
0 commit comments