2011-08-31 15 views

Odpowiedz

11

Original answer przez rewinder:


To skończyło się mi trochę czasu, aby zrozumieć to więc pomyślałem, że mogę napisać w jaki sposób go osiągnąć. Oto moja konfiguracja:

build.properties

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

SCSS struktura katalogu:

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

Oto Ant zadanie:

<!-- 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> 

Po uruchomieniu zadania wyniki są następujące: pliki .scs są kompilowane do tej samej ścieżki, w której zostały utworzone. Jeśli katalog nadrzędny pliku nie istniał jeszcze pod numerem ${css.dir}, zostanie odpowiednio utworzony.

Powiązane problemy