I want to use propel with gradle and got this failure while executing:
In Filesystem.php line 104:
Failed to create "www\propel\model"\Base": mkdir(): File exists.
Before I used gradle I created a batch (init-propel.bat) which works great:
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
My filesystem structure is like this:
www\vendor\bin\propel // propel filled by composer
www\propel // for all outputs
build.gradle
init-propel.bat
schema.xml
And now my not working gradle script:
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
While starting propel gradle task it generates the Base and Map folder with first class inside, but when come to the second class it breaks with "File exists." exception. I am wondering about, that it works great by calling batch from explorer or by gradle:
task propel(type: Exec) {
commandLine 'cmd', '/c', 'init-propel.bat'
}