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?