justj.tools
- the tools used to generate JREs and to manage the archive.eclipse.org
site.
justj
- the projects used for building JREs at https://ci.eclipse.org/justj/
.
justj-website
- the project used to maintain this website.
.github
- the project used to maintain the GitHub site.
https://wiki.eclipse.org/JustJ
To best contribute to Eclipse in general, and to JustJ specifically, please do the following:
JustJ has a fully automated Oomph setup.
To set up a local environment in which you can replicate JustJ's builds, and contribute to JustJ development, click the following link:
Please read the instructions that follow and review the screen captures, each of which can be clicked to see the full image details.
After applying the configuration you will be prompted for the following variables:
If you've used Oomph before, many of the variables will not be prompted unless you checkmark the Show all variables.
Please do so now, and review the setting for Git clone location rule to ensure that it contains ${@id.locationQualifier|trim}
as illustrated above.
Older versions of Oomph did not include this part, so if that is missing, use the dropdown to choose the first choice.
Doing so will ensure that the Git clone for the website project will be properly included in the development environment.
If you later wish to do local Maven/Tycho builds, which is highly likely,
and mvn
is not on your PATH
,
use the Browse... button for the Maven Command to specify the location fully.
Proceed to the final page and launch the installation to complete the provisioning process.
Once the provisioning process runs to completion, the workspace will contain the following projects:
Launchers are organized as favorites on the Debug/Run toolbar menu buttons:
Also, launchers are organized as favorites on the External Tools toolbar menu button:
The Maven/Tycho build of the tools can be replicated by launching Build JustJ Tools. Once this completes, the IDE itself can be updated to install those locally built tools. Open the Updater as follows:
Hit the BACK button to go back to the Variables page, checkmark the Show all variables checkbox at the bottom left, and modify the JustJ Tools Repository as shown below:
This will use ${git.clone.justj.tools.location|uri}/releng/org.eclipse.justj.tools.site/target/repository
as the location.
Now run the wizard to completion. It will perform in the background as follows on the status line at the bottom right of the IDE:
You can click the animated button to bring it into the foreground. When it completes, and a restart is needed, as is the case now, you will need to open the dialog and hit Finish to restart the IDE.
jregen
Model
Open the justj.jregen
model and double-click the root Model
instance to show the Properties view as follows:
From the context menu or the menu bar Reconcile the model:
This will take quite some time to complete.
It uses the Source property to locate a justj.manifest
as described in the Anatomy of jre-gen
section,
downloading all the JREs and storing them in the local-cache
folder.
Refresh the org.eclipse.justj.model
project to see the new jre-gen
folder:
The model is now reconciled to incorporate the information from the JREs.
From the context menu or the menu bar Generate the model:
Refresh the org.eclipse.justj.model
project to see the new jre-gen
folder:
The structure is as described in the Anatomy of jre-gen
section.
At this point we can locally build the JRE p2 update site from the /org.eclipse.justj.model/jre-gen/pom.xml
as follows:
Note that there are also launchers for additional Maven/Tycho builds.
${project_loc:/org.eclipse.justj.tools.parent}/../..
${project_loc:/org.eclipse.justj.tools.sample.product}
${project_loc:/org.eclipse.justj.tools.sample.product}
but using the locally-built JRE p2 update site
-Dorg.eclipse.justj.jre.repository=${file_uri:${resource_loc:/org.eclipse.justj.model/jre-gen/releng/org.eclipse.justj.site}}/target/repository
.
${project_loc:/org.eclipse.justj.model}
by reconciling and generating it.
${project_loc:/org.eclipse.justj.releng}/index
like https://archive.eclipse.org/justj/jres/14/downloads/latest/
${project_loc:/org.eclipse.justj.model}/jre-gen
The following launchers are available on the Debug toolbar menu button:
org.eclipse.justj.p2.manager
application for the tools repository;
this is useful for debugging code that manages the p2 update sites, including the support for generating the update site index.
org.eclipse.justj.p2.manager
application for the tools repository as well;
the update site manager has built-in support to use rsync and helps test that.
This launcher works only for project committers and is hard coded currently to work only for me.
org.eclipse.justj.codegen.model.util.Reconciler
;
this is useful for quickly debugging the reconciler logic rather than launching a self-hosted instance.
org.eclipse.justj.codegen.model.util.Generator
;
this is useful for quickly debugging the generator logic rather than launching a self-hosted instance.
org.eclipse.justj.codegen.model.util.Generator
purely to generate a description
that can be copied into the the Anatomy of jre-gen
section.
org.eclipse.justj.p2.manager
application for the JRE repository;
this is useful for debugging the specialized site index generation for JRE p2 repositories.
org.eclipse.justj.p2.manager
application for the JRE repository;
this is useful for debugging the specialized site index generation for JRE p2 repositories, including super update sites,
and for testing rsynch integration locally.
org.eclipse.justj.codegen.model.util.Indexer
to produce an index like https://archive.eclipse.org/justj/jres/14/downloads/latest/
;
this is useful for debugging the index generation logic locally.
org.eclipse.justj.codegen.templates.jdeps.JdepsIndex
to produce an index like the children of
https://archive.eclipse.org/justj/jdeps/
;
this is useful for debugging the jdeps
index generation logic locally.
org.eclipse.justj.codegen.model.util.JdepsIndex
in combination with org.eclipse.justj.codegen/templates/jdeps/index.html.jet
.
So do not edit it ever—your changes will be lost—edit org.eclipse.justj.codegen.model.util.JdepsIndex
instead.
org.eclipse.justj.codegen.templates.jdeps.JdepsIndex
to produce a root index like
https://archive.eclipse.org/justj/jdeps/
;
this is useful for debugging the jdeps
index generation logic locally.
The tools infrastructure makes heavy use of JET templates.
Please read the JET Tutorial to make the best use of this tool.