Я хочу использовать propel с gradle и получил эту ошибку при выполнении:
В строке Filesystem.php 104:
Не удалось создать "www \ propel \ model" \Base ": mkdir (): файл существует.
Прежде чем использовать gradle, я создал пакет (init-propel.bat), который прекрасно работает:
REM build propel
call www\vendor\bin\propel sql:build --output-dir="www\propel\sql"
call www\vendor\bin\propel model:build --output-dir="www\propel\model"
call www\vendor\bin\propel config:convert --output-dir="www\propel"
pause
Структура моей файловой системыпримерно так:
www\vendor\bin\propel // propel filled by composer
www\propel // for all outputs
build.gradle
init-propel.bat
schema.xml
А теперь мой неработающий скрипт gradle:
task propel() {
}
task propel_sql(type: Exec) {
commandLine 'cmd', '/c', 'www\\vendor\\bin\\propel sql:build --output-dir="www\\propel\\sql""'
}
task propel_model_clean(type: Delete) {
delete 'www\\propel\\model\\Base', 'www\\propel\\model\\Map'
}
task propel_model(type: Exec, dependsOn: propel_model_clean) {
commandLine 'cmd', '/c', 'www\\vendor\\bin\\propel model:build --output-dir="www\\propel\\model""'
}
task propel_config(type: Exec) {
commandLine 'cmd', '/c', 'www\\vendor\\bin\\propel config:convert --output-dir="www\\propel"'
}
propel.finalizedBy propel_sql
propel.finalizedBy propel_model
propel.finalizedBy propel_config
При запуске задачи Propel Gradle генерируется папка Base и Map с первым классом внутри, но когда приходитко второму классу он разрывается с исключением «Файл существует». Мне интересно, что он прекрасно работает, вызывая пакет из проводника или из gradle:
task propel(type: Exec) {
commandLine 'cmd', '/c', 'init-propel.bat'
}