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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Mar 2009
Сообщений: 65
Cool Передача СВОИХ параметров на этапе компиляции

Необходимо во флешку встроить версионность. Тоесть билд машина собирает проект и каким то образом в swf-ку необходимо при этом передать версию билда. Я полагаю какие либо свои параметры необходимо передавать вместе с допустимыми параметрами компиляции. Но как их передавать и как их обрабатывать не могу найти.

Старый 16.06.2011, 15:37
_sestra_ вне форума Посмотреть профиль Отправить личное сообщение для _sestra_ Найти все сообщения от _sestra_
  № 2  
Ответить с цитированием
_sestra_
 
Аватар для _sestra_

Регистрация: Dec 2005
Сообщений: 219
Отправить сообщение для _sestra_ с помощью ICQ Отправить сообщение для _sestra_ с помощью Skype™
1) Во Flash Builder 4 -> Проект -> Свойства -> Компилятор (ActionScript/библиотеки Flex/...) -> Дополнительные аргументы компилятора:
Код:
-define=NAMESPACE::version,'1.0.0'
2) Используя compc и mxmlc запись аналогична, отличия только в синтаксисе шела (Win, Unix,...)

Достучаться до значения так:
Код AS3:
NAMESPACE::version
__________________
Счастье - это хорошее здоровье и плохая память

Старый 16.06.2011, 15:51
Gogan вне форума Посмотреть профиль Отправить личное сообщение для Gogan Найти все сообщения от Gogan
  № 3  
Ответить с цитированием
Gogan

Регистрация: Mar 2009
Сообщений: 65
По красоте ! Спасибо! То что нужно!

Старый 16.06.2011, 16:09
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 4  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Самый простой вариант -- научить билд-машину перед сборкой определять ревизию собираемой версии и писать ее в исходник.

Второй вариант -- когда номера билдов должны быть четко связаны со списком изменений. Для subversion это делается, к примеру, так: создаем отдельный файл (Buildinfo.as, к примеру), в который будем вносить информацию об изменениях в конкретном билде. В нем же пишет плейсхолдер для номера билда:

Код AS3:
var version:String="$Rev: 1 $";
Затем сообщаем svn, что нужно обновлять ревизию:

Код:
svn propset svn:keywords "Rev" Buildinfo.as
Теперь перед созданием нового билда вписываем в файл информацию об изменениях и при коммите svn сам впишет новый номер ревизии.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 16.06.2011, 21:37
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Crazy Посмотреть сообщение
Теперь перед созданием нового билда вписываем в файл информацию об изменениях и при коммите svn сам впишет новый номер ревизии.
Вот этот момент чуть подробнее осветите, пожалуйста. Как вписываем, что вписываем.
Я просто бы слегка модифицировал его каждый раз, чтобы он получил новый номер ревизии при коммите.
Однако это не спасает, когда нужно учитывать номер билда. Вы же не каждый раз коммитите сырцы тестового билда.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 16.06.2011, 22:10
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
<exec executable="svn" property="svn.info" output="version.txt">
    <arg line="info"/>
</exec>
Естественно, использовать output, когда нужно в файл, который потом прилинковать, property, если нужно в самом билд скрипте получить. (Ант) Можно еще с filterchain поизвращаться, если нужно красивое форматирование.
bash / любой другой шелл:
Код:
svn info | awk '/Revision: / { print $2 }' | ваши действия
...
__________________
Hell is the possibility of sanity

Старый 16.06.2011, 23:01
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Олег, как поможет это в случаях с билдами, не попадающими в свн?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 16.06.2011, 23:02
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 8  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Сообщение от dimarik Посмотреть сообщение
Вот этот момент чуть подробнее осветите, пожалуйста. Как вписываем, что вписываем.
Я просто бы слегка модифицировал его каждый раз, чтобы он получил новый номер ревизии при коммите.
Однако это не спасает, когда нужно учитывать номер билда. Вы же не каждый раз коммитите сырцы тестового билда.
Мне нужно, чтобы билд, попадающий в тестирование, имел номер и список изменений -- персональный номер на каждую отдельную сборку мне не нужен. Соответственно, когда проект готовится к передаче в тестирование -- в Buildinfo вписывается информация об изменениях, которые готовы к тестированию. И при коммите получает автоматически новый номер. Несколько упрощенно это будет выглядеть так:


Код AS3:
package some.project.build 
{
 
  final public class BuildInfo 
  {
 
 
    private function defineChanges():void
    {
      bugfix(1001, "Приклеили хвост крокодилу");
      feature(1002, "Научили крокодила летать");
      bug(1003, "Увы, летает пока низковато");
    }
 
    private var _buildString:String = "$Rev: 1 $";
    private var _buildNo;
    private var _changes:Vector.<ChangeInfo> = new Vector.<ChangeInfo>();
 
    public function BuildInfo() 
    {
      _buildNo = extractBuildNo(_buildString);
      defineChanges();
    }
 
    // ну и здесь всякие свойства, extractBuildNo(), bugfix() etc
 
  }
 
}
Пишу по памяти, возможны опечатки.

Что с этого получаем:

1. Номер версии и список изменений доступны приложению (в about'е показать, к примеру)
2. Известно, что тестировщики будут знать, что тестировать.
3. Нельзя забыть назначить номер версии.
4. Мелкие правки, вносимые после коммита этого файла, не сбивают номер сборки (да, я знаю, что в кривых руках это чревато)

Добавлено через 1 минуту
Цитата:
Сообщение от dimarik Посмотреть сообщение
Олег, как поможет это в случаях с билдами, не попадающими в свн?
Если билд не попадает в репозиторий, а значит невоспроизводим, то зачем ему персональный номер?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 16.06.2011, 23:18
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 9  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Я Вас понял. У нас разные понятия билда. Любое F10 во FB после изменения сырца я почему-то считаю билдом.

Это нисколечко не изменяет суть описанного Вами выше. Просто номер билда будет верным.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 16.06.2011 в 23:26.
Старый 16.06.2011, 23:51
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 10  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Как можно на практике использовать это "любое" значение?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

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

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

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


 


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


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