All of the projects have now been converted to use maven tycho so that the editors can be built outside eclipse by running the following in the top level directory.
mvn install
which will produce an installable feature update site in eclipse.repository/target/repository
.
The plug-in can then be installed in the usual fashion for eclipse by adding the above directory as a "local repository"
after the maven build in the top level, then
mvn -X deploy -P release --projects mavenbase,net.ivoa.vodsl,vodsl.standalone
if this is successful then
mvn nexus-staging:release -P release --projects mavenbase,net.ivoa.vodsl,vodsl.standalone
or go to https://oss.sonatype.org/ to release manually
last known eclipse build on DSL-2021-09 on intel
There are tutorials and reference documents to guide development on the Xtext site
The content of the various subdirectories is as follows;
- net.ivoa.vodsl - an eclipse project for the XText grammar for the DSL
- net.ivoa.vodsl.sdk - eclipse feature definition the VODSL editor
- net.ivoa.vodsl.tests - tests for the VODSL
- net.ivoa.vodsl.ui - eclipse custom editor for the VODSL
- vodsl.standalone - a stand-alone validating parser that will convert VODSL files to VO-DML
- eclipse.target - a directory that defines the target eclipse installation
- eclipse.repository - the installable VODSL editor feature update site will be created in this directory.
The essential steps to modifying this code and creating a plugin build
- edit the grammar to add new features if desired
- generate Xtext artifacts by right clicking on the grammar and selecting "generate Xtext Artifacts" from the "Run As" menu.
- changing other behaviour of the plug-in in either the grammar or editor ui sub-projects.
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion="0.4.0"
mvn org.eclipse.tycho:tycho-versions-plugin:update-eclipse-metadata
- It is best to use the pre-configured "Eclipse modelling bundle" (or DSL tools) as your eclipse installation.
- to test in place with the minimally configured eclipse platform it is necessary to add "Eclipse UI IDE Application" to the list of automatically added plugin dependencies. and "Views Log"
fxdiagram is not being developed any more, and along with the death of bintray, and java 9+ modularisation there are several consequences, which make building difficult;
- to install javafx need to follow https://tomsondev.bestsolution.at/2020/01/28/setting-up-efxclipse-rcp-development-for-java11-and-pde/
- note that it is now quite hard to get hold of javafx 11 sdk (the closest to when fxdiagram finished development)
- need local build of fxdiagram to create a local p2 repository
- need xtext/xtext-reference-projects#186
- fully qualified names should have the model name followed by ':' and the rest of the packages delimited by '.' - This works for a full name, but the scoping sometimes allows a shorter name to be used - sometimes (when an auto-suggested model element is inserted) just the first part of the name (even when this is not a model name) is mistakenly delimited by ':'. In fact this does not matter internally as no distinction is made between the parts of the fully qualified name when it is split into its component parts. It does however make the VODSL slightly confusing to read in some cases.
- some of the VO-DML validation rules are not yet implemented
- the "unique composition" rule, where an object type cannot be the target of two compositions.
- the FXDiagram implementation has some quirks that sometimes require shutting down the view and reopening to stop the strange behaviour.
https://www.eclipse.org/elk/ https://www.slideshare.net/schwurbel/diagrams-xtext-and-ux https://github.com/JanKoehnlein/FXDiagram
need -Dorg.osgi.framework.bundle.parent=ext -Dosgi.framework.extensions=org.eclipse.fx.osgi as VM argument to get javafx to load in debugger
-
build to create the update site does not seem to be completely working. need to do a build in eclipse and then upload
-
note that the build product oomph https://gitlab.cs.man.ac.uk/emerlin/eclipse-setups
-
https://wiki.eclipse.org/Equinox_p2_Repository_Mirroring - to get all of the Kieler stuff.
~/eclipse/DSL-2020-06/Eclipse.app/Contents/MacOS/eclipse -nosplash -verbose -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source http://rtsys.informatik.uni-kiel.de/~kieler/updatesite/release_pragmatics_2015-02 -destination file:pwd
/kielermirror/
- transfer to metis:/data/vo/eclipse/vodsleditor/ - for site http://vo.jb.man.ac.uk/eclipse/vodsleditor/
JDK 11
- https://git.fortiss.org/af3/org.fortiss.openjfx.git
- https://github.com/reficio/p2-maven-plugin used this...
JDK 17
- have been able to get