skrugly / mirakle

Gradle plugin to move build process to remote machine.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Setting the correct remote folder for Windows to Windows build environment

bravo-delta opened this issue · comments

Hi, I'm trying to set this plugin up in a Windows 10 Client and Server environment with Android Studio.

Both systems have Cygwin installed in the default path (C:\cygwin64) and rsync and openssh are installed and working properly.

I'm using Version 1.4.1-RC-2, because this includes the fix for the cygwin path issue #61

Now my issue is, that after the successful rsync command
Starting process 'command 'rsync''. Working directory: C:\Users\user\Projects\application Command: rsync user@SYSTEM:~/mirakle/"application"/ ./ --rsh ssh --exclude=mirakle.gradle --archive --delete --exclude=**/src/ --exclude=.gradle --exclude=.idea --exclude=**/.git/ --exclude=**/local.properties --exclude=**/.svn/ Successfully started process 'command 'rsync''

the build process fails with the following message:

The specified project directory 'C:\cygwin64\home\user\home\user\mirakle\application' does not exist.

For some reason the final path contains the subdirectory \home\user part twice.
The real path is C:\cygwin64\home\user\mirakle\application

I tried changing the remoteFolder property within my mirakle.gradle file, but this does only change the end of the final string. The prefix stays the same.

Do you have any idea what might be wrong here?
The rsync command works, so the path seems to be ok, at least in the first step.

Hey, could you run build with --info flag and post the ssh params of executeOnRemote command.

The executeOnRemote command looks like that.

executeOnRemote Caching disabled for task ':executeOnRemote' because: Caching has not been enabled for the task Task ':executeOnRemote' is not up-to-date because: Task has not declared any outputs despite executing actions. Starting process 'command 'ssh''. Working directory: C:\Users\user\Projects\application Command: ssh user@SYSTEM ~/mirakle/"application"/gradlew -Pmirakle.build.on.remote=true -p ~/mirakle/"application" :app:assembleDevDebug --parallel --project-prop "android.injected.invoked.from.ide=true" --project-prop "android.injected.studio.version=10.4.1.1" --system-prop "idea.active=true" --system-prop "idea.version=4.1" --info

Could you set remoteFolder "C:\cygwin64\home\user\mirakle" in mirakle_init.gradle or mirakle.gradle, run build with --info again and post rsync args of uploadToRemote and ssh args of executeOnRemote.

With backward slashes it says "Illegal escape character in string literal" and does nothing when building.

I tried it with forward slashes instead:
remoteFolder "C:/cygwin64/home/user/mirakle"

this outputs:
> Task :uploadToRemote FAILED Caching disabled for task ':uploadToRemote' because: Caching has not been enabled for the task Task ':uploadToRemote' is not up-to-date because: Task has not declared any outputs despite executing actions. Starting process 'command 'rsync''. Working directory: C:\Users\user\Projects\application Command: rsync /cygdrive/c/Users/user/Projects/application user@SYSTEM:C:/cygwin64/home/user/mirakle --rsh ssh --exclude=mirakle.gradle --archive --delete --exclude=**/build --exclude=.gradle --exclude=.idea --exclude=**/.git/ --exclude=**/local.properties --exclude=**/.svn/ Successfully started process 'command 'rsync'' rsync: [Receiver] mkdir "/home/user/C:/cygwin64/home/user/mirakle" failed: No such file or directory (2)

Could you leave your telegram or email contact, let's debug it there.

Resolved by defining remoteFolder "mirakle".
Probably related issue #26