Показать сообщение отдельно
Старый 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.