It is indeed the HTTP HEAD requests in exists and lastModified from getArtifact on a URL-based repository even if it is locally cached.
CMR does honour offline mode. However, when working online and network cuts out or becomes problematic --
on a train
on mobile
DDos attack on JDK or modules.ceylon-lang.org server
turn on company VPN
or any other situation that reinforces the inherent unreliability of networks
Eclipse hangs and only recovery is to set off-line in the config properties again manually, i.e. without Eclipse present.
It will even try to send out a head a request for JDK docs every time.
and try to look for CARs when JARs are present.
We probably have to assume that whenever it successfully downloaded a certain version of a complete artifact in whatever usable state (i.e. without source etc.) that is the state of the artifact and it is valid, unless cleaned out by the user.
Maven gets around the problem with and lastAccessed marker files or the whole SNAPSHOT method where it repeatedly tries to get the same module.
-- OR --
a very brief timeout on HEAD or more sophisticated network detection and recovery - like so auto-updaters etc.
In fact, Windows 8 (and probably Ubuntu) introduces the concept of metered and non-metered connections, but we can leave that for now, but at least leave out the JDK docs unless they are in the local JDK installation. In metred mode, software will not try to do any unnecessary tasks, so by adding java.base '7' it would not go and download javadocs over a mobile connection.
It is indeed the HTTP HEAD requests in
exists
andlastModified
fromgetArtifact
on a URL-based repository even if it is locally cached.CMR does honour offline mode. However, when working online and network cuts out or becomes problematic --
Eclipse hangs and only recovery is to set off-line in the config properties again manually, i.e. without Eclipse present.
We probably have to assume that whenever it successfully downloaded a certain version of a complete artifact in whatever usable state (i.e. without source etc.) that is the state of the artifact and it is valid, unless cleaned out by the user.
Maven gets around the problem with and lastAccessed marker files or the whole SNAPSHOT method where it repeatedly tries to get the same module.
-- OR -- a very brief timeout on HEAD or more sophisticated network detection and recovery - like so auto-updaters etc.
In fact, Windows 8 (and probably Ubuntu) introduces the concept of metered and non-metered connections, but we can leave that for now, but at least leave out the JDK docs unless they are in the local JDK installation. In metred mode, software will not try to do any unnecessary tasks, so by adding
java.base '7'
it would not go and download javadocs over a mobile connection.