Setup for development in isolated network

I often develop software in isolated networks, the kind where you move data in on write-once medium (i.e. DVD-R) and connection to the Internet (proxied, firewalled or scaned) is big NO-NO.

Right now I’m using Maven. my usual workflow is:

  • write pom.xml on a computer connected to the Internet
  • mvn dependency:go-offline get dependencies for compile, test and all build plugins
  • mvn dependency:sources dependency:resolve -Dclassifier=javadoc get sources and javadoc to ease development and debugging
  • move ~/.m2/repository to target machine on slow write-once media
  • develop, debug and test with mvn --offline on isolated network.

What is the recommended way to reproduce such workflow using gradle?

  • What plugins should I use to force resolving all dependencies (for each and every phase of my build)?
  • What folders should I move to target machine?