2011-08-31 10 views

Respuesta

11

Original answer por rewinder:


Se terminó por tomar algún tiempo para averiguarlo, así que pensé que había puesto la forma en que lo logró. Aquí está mi configuración:

build.properties

css.dir=./template/ver1-0/css/v3 
sass.dir=./template/ver1-0/css/v3/scss 

SCSS estructura directorio:

/template/ver1-0/css/v3/scss 
    + widgets 
     - widgettest.scss 
     - widgettest2.scss 
    + global 
     - globaltest.scss 
     - globaltest2.css 
    - file1.scss 
    - file2.scss 
    - _partial1.scss 
    - _partial2.scss 

Aquí está la tarea de Ant :

<!-- scss to CSS --> 
<!-- via: http://workingonthecoolstuff.blogspot.com/2011/02/using-sass-in-ant-build.html --> 
<target name="sass-compile-to-css"> 
    <echo message="Compiling scss files to css..." /> 
    <!-- create the css destination dir if it doesn't already exist --> 
    <property name="css-dest" location="${css.dir}"/> 
    <echo message="Creating directory at ${css.dir} [if it doesn't yet exist]" /> 
    <mkdir dir="${css-dest}" /> 
    <!-- create subdirs if necessary 
     via: https://stackoverflow.com/questions/536511/how-to-create-directories-specified-by-a-mapper-in-ant --> 
    <echo message="Creating css directories (and temporary .css files) for .scss to be compiled..." /> 
    <touch mkdirs="true"> 
     <fileset dir="${sass.dir}" includes="**/*.scss" excludes="**/_*" /> 
     <mapper type="glob" from="*.scss" to="${css.dir}/*.css"/> 
    </touch> 
    <echo message="Running sass executable against sass files and compiling to CSS directory [${css-dest}] " /> 
    <!-- run sass executable --> 
    <apply executable="sass" dest="${css-dest}" verbose="true" force="true" failonerror="true"> 
     <arg value="--unix-newlines" /> 
     <srcfile /> 
     <targetfile /> 
     <fileset dir="${sass.dir}" includes="**/*.scss" excludes="**/_*" /> 
     <mapper type="glob" from="*.scss" to="*.css"/> 
    </apply> 
    <echo message="Done compiling scss files!" /> 
</target> 

Después de ejecutar la tarea, los resultados son los deseados: los archivos .scss se compilan en la misma ruta en la que se crearon. Si el directorio principal del archivo todavía no existía en ${css.dir}, entonces se crea en consecuencia.

Cuestiones relacionadas