public class GoomphCacheLocations extends Object
There are a few things which goomph needs to cache on the developer’s machine. They are described exhaustively by this class.
All these values can be overridden either by setting the
value of the public static override_whatever
variable.
If your gradle build is split across multiple files using
apply from:
, then these static variables will get wiped
out. You can fix this by setting a project property
as such: project.ext.goomph_override_whatever=something
Modifier and Type | Field and Description |
---|---|
static File |
override_bundlePool |
static File |
override_eclipseReleaseMetadata |
static File |
override_p2bootstrap |
static String |
override_p2bootstrapUrl |
static File |
override_pdeBootstrap |
static String |
override_pdeBootstrapUrl |
static File |
override_workspaces |
Constructor and Description |
---|
GoomphCacheLocations() |
Modifier and Type | Method and Description |
---|---|
static File |
bundlePool()
Bundle pool used for caching jars and
assembling disjoint eclipse installs:
~/.p2/pool |
static File |
eclipseReleaseMetadata()
MavenCentralMap needs to look at p2 metadata
to know what the version numbers are for the specific
bundles of a given eclipse release are. |
static void |
initFromProject(Project project)
Initializes overrides based on project properties named “goomph_override_whatever”
|
static File |
p2bootstrap()
Location where the p2-bootstrap application
is cached:
~/.goomph/p2-bootstrap . |
static Optional<String> |
p2bootstrapUrl()
Location where the p2-bootstrap application should be downloaded from.
|
static File |
pdeBootstrap()
Location where eclipse instances with PDE build
are cached:
~/.goomph/pde-bootstrap . |
static Optional<String> |
pdeBootstrapUrl()
Location where the pde-bootstrap application should be downloaded from.
|
static File |
workspaces()
When Goomph creates an IDE for you, it must
also create an eclipse workspace.
|
public static File override_eclipseReleaseMetadata
public static File override_workspaces
public static String override_p2bootstrapUrl
public static File override_p2bootstrap
public static String override_pdeBootstrapUrl
public static File override_pdeBootstrap
public static File override_bundlePool
public static void initFromProject(Project project)
Initializes overrides based on project properties named “goomph_override_whatever”
public static File eclipseReleaseMetadata()
MavenCentralMap
needs to look at p2 metadata
to know what the version numbers are for the specific
bundles of a given eclipse release are.
Rather than downloading this metadata over and over, we only download it once, and cache the results here.
public static File workspaces()
When Goomph creates an IDE for you, it must also create an eclipse workspace. Unfortunately, that workspace cannot be a subdirectory of the project directory (an eclipse limitation). This is a problem for single-project builds.
As a workaround, we put all eclipse workspaces in a central location, which is tied to their project directory. Whenever a new workspace is created, we do a quick check to make there aren’t any stale workspaces. If the workspace has gone stale, we delete it.
public static Optional<String> p2bootstrapUrl()
Location where the p2-bootstrap application should be downloaded from.
Goomph’s p2 tasks rely on the eclipse p2 director application. It is distributed within the Eclipse SDK. But rather than requiring the entire SDK, we have packaged just the jars required for p2 director into a ~7MB download available on bintray as goomph-p2-bootstrap.
This only gets downloaded if you use P2Model
.
Defaults to https://dl.bintray.com/diffplug/opensource/com/diffplug/gradle/goomph-p2-bootstrap/
. If you override, it still
needs to follow the correct versioning scheme. e.g. if you want to relocate to https://intranet/goomph-p2-boostrap
, then
the artifact will need to be available at https://intranet/goomph-p2-boostrap/4.5.2/goomph-p2-bootstrap.zip
As new versions of p2bootstrap come out, you will have to update your internal URL cache, but these releases are infrequent.
public static File p2bootstrap()
Location where the p2-bootstrap application
is cached: ~/.goomph/p2-bootstrap
.
Goomph’s p2 tasks rely on the eclipse p2 director application. It is distributed within the Eclipse SDK. But rather than requiring the entire SDK, we have packaged just the jars required for p2 director into a ~7MB download available on bintray as goomph-p2-bootstrap.
This only gets downloaded if you use P2Model
.
public static Optional<String> pdeBootstrapUrl()
Location where the pde-bootstrap application should be downloaded from.
Goomph’s pde tasks rely on the eclipse p2 director application. It is distributed within the Eclipse SDK. The Package is downloaded and installed during configuration from official eclipse repository.
Defaults to official update site of the selected Eclipse Release. If you override, it still
needs to follow the correct versioning scheme. e.g. if you want to relocate to https://intranet/goomph-pde-boostrap
, then
the artifact will need to be available at https://intranet/goomph-pde-boostrap/4.5.2/goomph-pde-bootstrap.zip
As new versions of pdeBootstrap come out, you will have to update your internal URL cache, but these releases are infrequent.
public static File pdeBootstrap()
Location where eclipse instances with PDE build
are cached: ~/.goomph/pde-bootstrap
.
public static File bundlePool()
Bundle pool used for caching jars and
assembling disjoint eclipse installs: ~/.p2/pool
If you are using Oomph to create lots of eclipse installations, then this will go a lot faster if you cache all of their jars in a central location.
Oomph does this by default in the given location.