Как создать переменную в XML-файле flex-config, которую можно будет использовать внутри него?

Мы можем автоматически сгенерировать XML-файл flex-confix из flash-builder , чтобы пользователи, которые хотят скомпилировать проект самостоятельно, могли сделать это. не покупая FB. Поэтому мы используем что-то вроде -dump-config slotConfig.xml в качестве аргумента гибкого компилятора. Это создает для нас файл ... с множеством подробных комментариев, подобных тому, который я создал из этого проекта :


   
   
   
      
      false
      
      
      
      false
      
      true
      
      
      
      true
      
      
      
      
      
      
      
      false
      
         
      
      
      
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\player\10.1\playerglobal.swc
      
      
         
         true
         
         
         
            
            
         
         
         
         ${flexlib}/localFonts.ser
         
         
            flash.fonts.JREFontManager
            flash.fonts.BatikFontManager
            flash.fonts.AFEFontManager
            flash.fonts.CFFFontManager
         
         
         20
         
         1000
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      false
      
      
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\textLayout.swc
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\osmf.swc
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\framework.swc
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\spark.swc
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\sparkskins.swc
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\rpc.swc
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\datavisualization.swc
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\flash-integration.swc
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\libs\utilities.swc
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\locale\{locale}
         C:\Users\Avesta\Adobe Flash Builder 4\CloudObserverAdvancedPlayer\libs
      
      
      
         en_US
      
      
      
         
         
         
         
      
      
         
         
            http://ns.adobe.com/mxml/2009
            mxml-2009-manifest.xml
         
         
            library://ns.adobe.com/flex/spark
            spark-manifest.xml
         
         
            library://ns.adobe.com/flex/mx
            mx-manifest.xml
         
         
            http://www.adobe.com/2006/mxml
            mxml-manifest.xml
         
      
      
      true
      
      true
      
      
      
      
      
      false
      
      false
      
      
      
      false
      
      false
      
      
         C:\Users\Avesta\Adobe Flash Builder 4\CloudObserverAdvancedPlayer\src
      
      
      true
      
      
         themes/Spark/spark.css
      
      
         C:\downloads\flex_sdk_4.1.0.16076\frameworks\themes\Wireframe\wireframe.swc
      
      
      true
      
      false
      
      false
      
      true
      
      true
      
      true
      
      true
      
      true
      
      true
      
      true
      
      true
      
      true
      
      true
      
      false
      
      false
      
      true
      
      true
      
      false
      
      false
      
      true
      
      true
      
      true
      
      true
      
      false
      
      true
      
      true
      
      true
      
      true
      
      true
      
      true
      
      false
      
      false
      
      true
      
      false
      
      false
      
      true
      
      true
      
      false
   
   
   
   
   0xFFFFFF
   
   24
   
   
      1000
      60
   
   
   
      500
      375
   
   
   
   
      
      
   
   halo
   
   
   
   
   
   
   
   ${flexlib}/${configname}-config.xml
   
   
   
      
      
      
      unknown
      
      
      
      http://www.adobe.com/products/flex
      
      EN
      
      
      
      
      
      unknown
      
      Adobe Flex 4 Application
   
   
   
   
   
   
   
   
   
   false
   
   10.1.0
   
   
   
   true
   
   true
   
   

, как вы можете видеть, он содержит множество абсолютных путей. Но мы хотим развернуть этот скрипт. Поэтому нам непременно нужно создать уровень абстракции для таких вещей, как пути для гибкого SDK (здесь "C: \ downloads \ flex_sdk_4.1.0.16076 \") или путь к C: \ Users \ Avesta \ Adobe Flash Builder 4 \ CloudObserverAdvancedPlayer \ src и, конечно, путь к библиотекам

C:\Users\Avesta\Adobe Flash Builder 4\CloudObserverAdvancedPlayer\libs

Также мне кажется странным тот факт, что FB генерирует такой "грязный" файл. Неужели компилятор не знает, где он находится в файловой системе? И почему мы не можем использовать динамические адреса, относительные пути?

В общем, некоторые из этих проблем могут быть решены: например, мы можем (МЫ МОЖЕМ?) Создать некоторые varSdk, varSource, varLibs в этом xml и заменить там содержимое ( _varSdkContent_ ) с такими скриптами ( windows - bat , linux, mac - sh ) поместите эти сценарии где-нибудь в наш проект и добавьте в них строку, которая компилирует весь проект, например:

mxmlc MainApp.mxml load-config flex-config.xml output /pathToRelease

Итак ... мои вопросы:

  • Можно ли использовать относительные пути в файле гибкой конфигурации?
  • Может ли компилятор дать нам ссылку на то, где он находится?

или, если первые 2 неразрешимы:

  • Как создать переменные в этом гибком файле конфигурации?
  • Как чем использовать их внутри?

7
задан Community 23 May 2017 в 12:09
поделиться