Package com.diffplug.gradle
Class GoomphCacheLocations
- java.lang.Object
-
- com.diffplug.gradle.GoomphCacheLocations
-
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. -p2bootstrap()
-pdeBootstrap()
-pdeBootstrapUrl()
-bundlePool()
-workspaces()
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`
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description GoomphCacheLocations()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static File
bundlePool()
Bundle pool used for caching jars and assembling disjoint eclipse installs: `~/.p2/pool` If you are using [Oomph](https://projects.eclipse.org/projects/tools.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.static File
eclipseReleaseMetadata()
MavenCentralMapping
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.
-
-
-
Field Detail
-
override_eclipseReleaseMetadata
public static File override_eclipseReleaseMetadata
-
override_workspaces
public static File override_workspaces
-
override_p2bootstrapUrl
public static String override_p2bootstrapUrl
-
override_p2bootstrap
public static File override_p2bootstrap
-
override_pdeBootstrapUrl
public static String override_pdeBootstrapUrl
-
override_pdeBootstrap
public static File override_pdeBootstrap
-
override_bundlePool
public static File override_bundlePool
-
-
Method Detail
-
initFromProject
public static void initFromProject(Project project)
Initializes overrides based on project properties named "goomph_override_whatever"
-
eclipseReleaseMetadata
public static File eclipseReleaseMetadata()
MavenCentralMapping
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.
-
workspaces
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.
-
p2bootstrapUrl
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](https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fp2_director.html&cp=2_0_20_2). 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](https://bintray.com/diffplug/opensource/goomph-p2-bootstrap/view). This only gets downloaded if you useP2Model
. 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.
-
p2bootstrap
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](https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fp2_director.html&cp=2_0_20_2). 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](https://bintray.com/diffplug/opensource/goomph-p2-bootstrap/view). This only gets downloaded if you useP2Model
.
-
pdeBootstrapUrl
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](https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fp2_director.html&cp=2_0_20_2). 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.
-
pdeBootstrap
public static File pdeBootstrap()
Location where eclipse instances with PDE build are cached: `~/.goomph/pde-bootstrap`.
-
bundlePool
public static File bundlePool()
Bundle pool used for caching jars and assembling disjoint eclipse installs: `~/.p2/pool` If you are using [Oomph](https://projects.eclipse.org/projects/tools.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.
-
-