Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема gcomp (число прочтений - 6922 )
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
gcomp
11. Июля 2011 :: 05:55
Печать  
Вопрос возник:
можно ли как-то указать gcomp-у, что в каталоге декомпиляции некоторые подкаталоги удалять не нужно?

Ведь он же не удаляет каталоги .svn и .cvs, в которых хранится служебная инфа репозитариев?
Или не-удаление этих каталогов жестко прошито в сорцах gcomp-а?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: gcomp
Ответ #1 - 11. Июля 2011 :: 06:34
Печать  
2009-11-25      fez
     * CommonFunctions.cpp 1.10:
           Расширил список игнорируемых файлов для работы с репозиториями git и mercurial
           http://www.1cpp.ru/forum/YaBB.pl?num=1258976022
  
Наверх
 
IP записан
 
slawa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 125
Зарегистрирован: 05. Октября 2006
Re: gcomp
Ответ #2 - 11. Июля 2011 :: 06:40
Печать  
Прошито жестко
Открывай в любом hex-редакторе файл gcomp.dll, ищи строку .svn рядом с ней и есть строки исключения, правь их под себя.
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: gcomp
Ответ #3 - 11. Июля 2011 :: 07:58
Печать  
Кстати, если кому интересно, могу выложить 2 батника:

Первый рекурсивно обходит каталог _Модули, в котором иерархически лежат файлы классов и их дефайнов, и переносит их в каталог репозитария (если модуль/дефайн в txt-виде - то просто копирует, если в ert-виде - то декомпилит в минимальном режиме). И что самое главное - в репозитарий это сваливается в той же иерархии каталогов, что и живет в каталоге _Модули.

Второй - соответствено, из ветки репозитария собирает обратно в каталог _Модули (правда, есть мелкий баг - если у обработки есть описание, то после компиляции в каталоге _Модули появятся лишние каталоги).


Собственно, первый вопрос возник из-за ошибки в создании репозитария:
по уму надо было сделать в каталоге базы подкаталог Repo (который и был бы корнем репозитария), уже в котором иметь каталоги SRC - для декомпиляции конфы, _Модули - для декомпиляции модулей, и далее по необходимости.
У меня же получилось, что корнем репозитария ялвяется КаталогИБ\SRC, куда декомпилится МДшник. и в нем же катало _Модули и проч. В результате, при каждой декомпиляции каталог _Модули удаляется gcomp-ом, а затем заного создается-заполняется.
  
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: gcomp
Ответ #4 - 11. Июля 2011 :: 11:21
Печать  
2 Satans Claws
Выложи, интересно.
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: gcomp
Ответ #5 - 11. Июля 2011 :: 11:30
Печать  
2 пары батников:
первая - для декомпиляции МДшника и внешних модулей/классов, лежащих в каталоге _Модули
decompile.bat лежит в каталоге базы, infolder.bat лежит в КаталогИБ\_Модули\
запускать только decompile.ert

вторая - собирает МДшник и внешние модуля/классы
оба батника (compile.bat и compile_ert.bat) лежат в каталоге базы
compile.bat сам копирует compile_ert.bat в нужный каталог (если каталог исходников модулей лежит не в SRC - то можно просто положить туда compile_ert.bat и не копировать каждый раз, ибо gcomp не будет его грохать).

Ах, да - компиляция внешних модулей заточена под SVN. Для CVS надо будет переписать одну проверку в батнике compile_ert.bat
  

bat.rar ( 0 KB | Загрузки )
Наверх
 
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: gcomp
Ответ #6 - 12. Июля 2011 :: 09:22
Печать  
Спасибо!!!
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: gcomp
Ответ #7 - 04. Августа 2011 :: 04:55
Печать  
Satans Claws писал(а) 11. Июля 2011 :: 11:30:
2 пары батников:


немного доработал под более разумную организацию репозитария (ибо удаляемый при каждой декомпиляции МДшника каталог репозитария _Модули - задалбывает Улыбка ).
Баг с лишними каталогами, создаваемыми при компиляции, не вылечил; но сделал, чтоб он не портил описания (раньше компиляция внешней ert -> изменение описания -> декомпиляция не переносило измененное описание в репозитарий).
Ну и ридмиху написал.

Цитата:
батники предполагают использование следующей структуры каталогов:
В каталоге базы есть следующие каталоги:
     _Модули            - место хранения внешних классов (поддерживается иерархия этого каталога)
     SRC                  - каталог, связанный с репозитарием
     SRC\MD            - каталог декомпиляции МДшника
     SRC\_Модули      - каталог декомпиляции внешних классов (иерархия этого каталога поддерживается в соответствии с иерархией каталога _Модули)
     <аналогично SRC\_Модули можно сделать каталоги ExtForms|PrnForms для распаковки внешних отчетов/печатных форм>
     <можно сделать, например, каталог SRC\Images - куда скидывать изображения>
Корнем репозитария явлется катало SRC

Запускаемые bat-файлы:
     decompile.ert      - декомпиляция всего
     compile.ert      - компиляция всего

decompile.bat сам запускает рекурсивный батник decompile_ert.bat; при необходимости, в него же (decompile.bat) дописать вызов батников для ExtForms, PrnForms, Images, etc...
decompile.bat кладется в каталог базы (рядом с МДшником); decompile_ert.bat - в каталог _Модули

compile.bat сам запускает рекурсивный батник compile_ert.bat; при необходимости, в него же (compile.bat) можно дописать вызов батников для ExtForms, PrnForms, Images, etc...
compile.bat кладется в каталог базы (рядом с МДшником); compile_ert.bat - в SRC\_Модули


compile_ert.bat имеет баг: если у внешнего ert-класса (или просто обработки) есть описание, то после компиляции создается пустой каталог с именем ert-шки и файлом описание.txt внутри.
Вероятно, это может иметь последствия при декомпиляции.
« Последняя редакция: 08. Августа 2011 :: 10:57 - Satans Claws »  

bat_3.rar ( 1 KB | Загрузки )
Наверх
 
IP записан
 
phsin
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 5
Зарегистрирован: 27. Декабря 2007
Re: gcomp
Ответ #8 - 28. Апреля 2014 :: 16:27
Печать  
После сборки некоторые ert не открываются  Печаль
Подскажите пожалуйста в какую сторону копать?

gcomp 2.2.16.beta
  
Наверх
 
IP записан
 
phsin
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 5
Зарегистрирован: 27. Декабря 2007
Re: gcomp
Ответ #9 - 28. Апреля 2014 :: 17:06
Печать  
Извините, разобрался...

В файле  decompile_ert.bat ошибка - нужно убрать префикс "--trancate-mms", иначе после компиляции некоторые ert не открываются

правильный decompile_ert.bat :

Код
Выбрать все
@echo off
IF %1.==. (GOTO END:)

IF NOT EXIST ..\SRC\_Модули\%1 ( MD ..\SRC\_Модули\%1 )

for /D %%i in (%1\*) do call %0 %%i

xcopy %1\*.txt ..\SRC\_Модули\%1\ /Y
for %%i in (%1\*.ert) do gcomp -q -d -F %%i -D ..\SRC\_Модули\%1 -v --no-ini --no-version --no-empty-mxl

:END
 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать