Support a Dropbox shared folder in PhoneGap Build

The ability for PhoneGap build to pull updated source from a Dropbox.com shared folder would be wonderful. Completed builds could optionally be saved to the shared folder too.
20 people like
this idea
+1
Reply
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated happy, confident, thankful, excited

  • I don't understand the Dropbox use case; a git repo seems better in so many ways. I'd hit -1 if I could.

    I don't see how this has any value, and if dropbox should be supported, how about Box? Or email submission? Or my own S3 bucket?

    If you put your build directory in git, it's pretty trivial to have builds trigger deploys. There may be a clean way to do this with submodules.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated happy, confident, thankful, excited

  • GIT or SVN is clearly the way forward - a developer with any understanding of the importance of version control should use these without fail as opposed to a sync folder such as dropbox / windows live etc (although these are awesome to use in thier own right but not for code).

    I have built systems that use a notification hook to an API so that on a commit/push I can add keywords that the api picks up and can handle - I defo think PG would benefit from that.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated happy, confident, thankful, excited

  • Agreed. You should *not* be pushing your development folder to phonegap for builds. Uncompressed JS and unused resources? Come on. I setup two gradle tasks to handle versioning and deploying my application, and they're almost trivial, but they're incredibly useful. My 'build' task compresses JS/CSS and copies the appropriate resources to ./build, and the 'deploy' task does the git work to push a build.

    There may be a sexy way to use submodules, but I just manually setup the repository for the build folder.

    task version << {
    if (!gitHasNoChangesToCommit()) {
    throw new GradleException("There are git changes to commit. Commit or unstage changes to version this release.")
    }
    else {
    def version = incrementJsVersion()
    incrementConfigVersion()

    exec {
    commandLine = ['git', 'add', 'js/version.js', 'config.xml']
    }
    exec {
    commandLine = ['git', 'commit', '-m', 'Incrementing build version']
    }
    exec {
    commandLine = ['git', 'tag', version]
    }
    }
    }

    task deploy(dependsOn: ['build']) << {
    exec {
    commandLine = ['git', 'add', '-u']
    workingDir = new File('./build')
    }
    exec {
    commandLine = ['git', 'add', '.']
    workingDir = new File('./build')
    }
    exec {
    commandLine = ['git', 'commit', '-m', '"Building"']
    workingDir = new File('./build')
    }
    exec {
    commandLine = ['git', 'push', 'build', 'master']
    workingDir = new File('./build')
    }
    }


    If you *do* have a build file that pushes to dropbox, it's trivial to add the push step. If you *don't* have a build, it's time to get one. I use gradle because it's simple and easy, and I work primarily in groovy, but any build tool should be able to handle compression and command line execution.

    To James's suggestion, there may be something cool that could be done with watching branches or tags, but I'm not convinced of the value to *me*. As I've illustrated above, you should not be using the git repository as your main form of source control, nor should you be pushing your development project folder.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated happy, confident, thankful, excited

  • Done is better than perfect. Simplicity matters. For many, Dropbox or a similar level of simplicity would be great. I suppose since Nitobi was acquired something like this isn't so likely. Hope something else is being cooked up though!
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated happy, confident, thankful, excited

  • I don't mind clicking "Update code", dragging my zipped project to the dialog and clicking "Upload".

    This way I can automatically clean up my structure and files, in advance, with a simple script. Removing unused files, '.svn' folders and other irrelevant stuff. Even running a script compiler first is easy. Seriously, who does develop without version control? Hopefully not the target group of PGB. Dropbox? really? ;-)

    To sum up: I don't see a usecase?
    Please use your ressources to build a MORE STABLE service.

    Thank you!
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated happy, confident, thankful, excited

  • If using Dropbox's file versioning is not enough, a more dedicated version control system could still be used, perhaps in addition, for media heavy projects Dropbox makes good sense over a regular version control system, for the assets and a bit of code.
    If large video files are used, syncing them as they infrequently change is much better than compressing and uploading manually each time and would make using Phonegap better for sure.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned sad, anxious, confused, frustrated happy, confident, thankful, excited