2011-08-31 8 views
16

मैं हाल ही में एस.ए.एस.एस. [http://sass-lang.com/] एक जावा आधारित परियोजना में साथ खेलना शुरू कर दिया और एक चींटी कार्य बनाना चाहता था कि:एस.ए.एस.एस. एक चींटी कार्य + निर्देशिका रचना के माध्यम से सीएसएस के लिए

    प्रत्येक .scss फ़ाइल + उप निर्देशिकाओं के लिए
  • एक शीर्ष स्तर एससीएसएस निर्देशिका में .scss फ़ाइलों से युक्त:
    • एक मुख्य सीएसएस dir
    • में उचित निर्देशिका बनाने .scss फ़ाइल संकलन और .css फ़ाइल जहां से वह संबंधित

मैं यह करने के बारे में कैसे जा सकता हूं?

उत्तर

11

rewinder द्वारा Original answer:


यह मुझे कुछ समय देने के लिए यह पता लगाने की समाप्त हो गया तो मैंने सोचा कि मैं पोस्ट होता मैं इसे कैसे पूरा किया। यहाँ मेरी सेटअप है:

build.properties

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

एससीएसएस निर्देशिका संरचना:

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

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

यहाँ चींटी कार्य है 210

कार्य चलाने के बाद परिणामों की उम्मीद है: .scss फ़ाइलों को उसी पथ पर संकलित किया गया है जिसे वे नीचे बनाए गए थे। अगर फ़ाइल पैरेंट निर्देशिका अभी तक ${css.dir} के तहत मौजूद नहीं है तो यह तदनुसार बनाई गई है।

संबंधित मुद्दे