Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.07.2012, 11:22
Samuel_D вне форума Посмотреть профиль Отправить личное сообщение для Samuel_D Найти все сообщения от Samuel_D
  № 1  
Ответить с цитированием
Samuel_D

Регистрация: Aug 2010
Сообщений: 18
Question FLashdevelop + Ant + source-path

Ошибка : сборка происходит только если build.xml открыт в Flashdevelop и его вкладка активна, иначе ошибка : "Не удалось открыть "src"".

Что делаю :
Создаю новый большой проект под Flashdevelop + Ant. Для теста создал build.xml :

Код:
<project name="project" basedir="." default="build_app">	
	
	<property file="${user.home}\ant\project.properties"/>
	<taskdef resource="flexTasks.tasks" classpath="lib/flexTasks.jar"></taskdef>
	<property name="PROJECT_NAME" value="SOME_NAME"></property>
	<property name="APP_ROOT" value=""></property>
	<property name="SOURCE_DIR" value="${APP_ROOT}src\"></property>
	<property name="DEPLOY_DIR" value="${APP_ROOT}bin\"></property>
	
	<target name="loader">
		<mxmlc file="${SOURCE_DIR}Loader.as" output="${DEPLOY_DIR}\loader.swf" incremental="true">
			<debug>false</debug>
			<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"></load-config>
			<source-path path-element="${FLEX_HOME}/frameworks"></source-path>  
			<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>
		</mxmlc>
	</target>
	
</project>
И все было хорошо пока я не решил что пора разносить все по пакетам, для начала добавил новую переменную LOADER_DIR и прописал пакет в Loader.as -> package project.loader :

Код:
<project name="SOME_NAME" basedir="." default="build_app">	
	
	<property file="${user.home}\ant\project.properties"/>
	<taskdef resource="flexTasks.tasks" classpath="lib/flexTasks.jar"></taskdef>
	<property name="project" value="SOME_NAME"></property>
	<property name="APP_ROOT" value=""></property>
	<property name="SOURCE_DIR" value="${APP_ROOT}src"></property>
	<property name="LOADER_DIR" value="${SOURCE_DIR}\${PROJECT_NAME}\loader\"></property>
	<property name="DEPLOY_DIR" value="${APP_ROOT}bin\${PROJECT_NAME}\"></property>
	
	<target name="loader">
		<mxmlc file="${LOADER_DIR}Loader.as" output="${DEPLOY_DIR}\loader.swf" incremental="true">
			<debug>false</debug>
			<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"></load-config>
			<source-path path-element="${FLEX_HOME}/frameworks"></source-path>  
			<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>
		</mxmlc>
	</target>
	
</project>
Нарвался на ошибку :

Ошибка: Файл, найденный по исходному пути, должен иметь структуру пакета "", идентичную пакету определения "project.loader".

решил ее добавив в build.xml след. строку :
Код:
<source-path path-element="${SOURCE_DIR}"></source-path>
теперь все хорошо работает, но при условии что в Flashdevelop открыт build.xml для редактирования и обязательно закладка с кодом build.xml должна быть активной, иначе ошибка :
Не удалось открыть "src"

Кто знает в чем проблема ? А то совсем не по приколу перед каждой компиляцией открывать закладку с build.xml а потом назад к коду.

P.S. Flashdevelop 4.0.4 + Apache Ant 1.8.4 + Ant plugin for FD4


Последний раз редактировалось Samuel_D; 05.07.2012 в 11:48.
Старый 05.07.2012, 13:26
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 2  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Когда вызываешь Test Project в FD из кода ты не вызываешь сборку антом - сборка идёт по дефолтным настройкам FD. Копай в ту сторону.
__________________
Отряд Котовскага

Старый 05.07.2012, 13:38
Samuel_D вне форума Посмотреть профиль Отправить личное сообщение для Samuel_D Найти все сообщения от Samuel_D
  № 3  
Ответить с цитированием
Samuel_D

Регистрация: Aug 2010
Сообщений: 18
Котяра, спасибо, но проблема не в этом. Я сборку выполняю через Ant plugin for FD4 а не через FD, т.е. в панели Ant выбираю нужный target и вызываю "Run target".

P.S. прошу прощение, но как оказалось все намного глубже и по своей оплошности я не обратил внимание что эта проблема была всегда. Я начал с нуля и увидел что проблема не в пакетах, а в чем-то другом.
Вот новый build.xml - ничего сложного, но и он не хочет работать как надо, может это проблема плагина ? есть кто-то кто работает с Ant plugin for FD4 ? или всетаки я чего-то не дописал в build.xml.
Код:
<?xml version="1.0" encoding="UTF-8"?>
<project name="compile-and-reduce" default="default" basedir="../">
	<condition property="exe" value=".exe">
		<os family="windows"/>
	</condition>
	<condition property="exe" value="">
		<os family="unix"/>
	</condition>
	
	<property name="dir.build" value="${basedir}/build"/>
	<property file="${user.home}/ant/build.properties"/>
	<property name="dir.src" value="${basedir}/src"/>
	<property name="dir.bin" value="${basedir}/bin"/>
	
	<property name="file.swf" value="test.swf"/>
	<property name="file.main" value="Main.as"/>
	
    <target name="compile">
    	<exec executable="${flex.mxmlc}">
			<arg line="-define=CONFIG::Debug,false"/>
			<arg line="-define+=CONFIG::Release,true"/>
			<arg line="-strict"/>
			<arg line="-optimize"/>
			<arg line="-debug=false"/>
			<arg line="-static-link-runtime-shared-libraries"/>
			<arg line="-o '${dir.bin}/${file.swf}'"/>
			<arg line="-el '${flex.libs}/player/10.0/playerglobal.swc'"/>
			<arg line="-sp '${dir.src}'"/>
			<arg line="-- '${dir.src}/${file.main}.as'"/>
		</exec>
	</target>
	
</project>
Добавлено через 29 минут
Все-таки build.xml :

Код:
<?xml version="1.0" encoding="UTF-8"?>
<project name="compile-and-reduce" default="default" basedir="../">
	<condition property="exe" value=".exe">
		<os family="windows"/>
	</condition>
	<condition property="exe" value="">
		<os family="unix"/>
	</condition>
	
	<property name="dir.build" value="${basedir}/build"/>
	<property file="${user.home}/ant/build.properties"/>
	<property name="dir.src" value="${basedir}/src"/>
	<property name="dir.bin" value="${basedir}/bin"/>
	
	<property name="file.swf" value="test.swf"/>
	<property name="file.main" value="Main.as"/>
	
    <target name="compile">
    	<exec executable="${flex.mxmlc}">
			<arg line="-define=CONFIG::Debug,false"/>
			<arg line="-define+=CONFIG::Release,true"/>
			<arg line="-strict"/>
			<arg line="-optimize"/>
			<arg line="-debug=false"/>
			<arg line="-static-link-runtime-shared-libraries"/>
			<arg line="-o '${dir.bin}/${file.swf}'"/>
			<arg line="-el '${flex.libs}/player/10.0/playerglobal.swc'"/>
			<arg line="-sp '${dir.src}'"/>
			<arg line="-- '${dir.src}/${file.main}.as'"/>
		</exec>
	</target>
	
</project>
Всем спасибо, все работает.


Последний раз редактировалось Samuel_D; 05.07.2012 в 14:08.
Старый 05.07.2012, 16:23
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 4  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Я бы ещё задал не
Код AS1/AS2:
default="default"
а
Код AS3:
default="compile"
чтобы в консоли (мало ли) вызывать просто
Цитата:
ant
__________________
Отряд Котовскага

Старый 05.07.2012, 17:26
Samuel_D вне форума Посмотреть профиль Отправить личное сообщение для Samuel_D Найти все сообщения от Samuel_D
  № 5  
Ответить с цитированием
Samuel_D

Регистрация: Aug 2010
Сообщений: 18
Котяра, спасибо, так и сделал.

Но теперь не могу вынести Main.as в пакет (package project.loader) :
Ошибка: Файл, найденный по исходному пути, должен иметь структуру пакета "loader", идентичную пакету определения "project.loader".

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.