Project website: LANG_IDE_SITE
--
You will need Maven for building LANG_IDE_NAME.
mvn clean verify
at the root of the repository. This will run the test suite, and afterwards produce a p2 repository (an Eclipse Software Site) at bin-maven/features.repository/repository
.mvn clean package
.target-platform/
and run mvn package
. This should create a deps-repository/repository
directory.target-platform/IDE-base.target
to target-platform/IDE-gen.target
. (this last filename is already git-ignored).target-platform/IDE-gen.target
in Eclipse, so that it opens under the PDE editor. target-platform/deps-repository/repository
directory.bin-maven
folder in the top-level project, open its Properties from the Project Explorer context menu, and mark that directory as "Derived" in the "Resources" property page. This will prevent those folder resources to appear in UI operations such as "Open Resource" for example. A release is a web site with an Eclipse p2 update site. The website may contain no web pages at all, rather it can be just the p2 site. To create and deploy a new release:
mvn clean verify
to perform the Tycho build (see section above). Ensure all tests pass.
sign-build
Maven profile must be activated, and the required properties set.ant -f releng/ CreateProjectSite
. This last step will prepare the project web site under bin-maven/ProjectSite
.ant -f releng/ PublishProjectSite -DreleaseTag=<tagName>
. What happens here is that the whole project site will be pushed into a Git repository, to then be served in some way (for example Github Pages). If projectSiteGitURL
is not specified, the default value in releng-build.properties will be used.
ant -f releng/
, this will print the help.latest
should also be created in Github, pointing to the latest release commit. The previous latest
tag can be deleted/overwritten. The documentation pages use this tag/branch in their links.This project uses the LangEclipseIDE framework, which is designed to have its source embedded in the host IDE. See this section for more info on how this should be managed.
See https://github.com/bruno-medeiros/MelnormeEclipse/wiki/Extensive-Compile-Time-Checking for more info on this principle.
if(foo.blah()) {
doThis();
}
foo(one, two, three,
four, five, six);
There is also an Eclipse formatter profile settings file you can use, although you are not obliged to format with all rules of that formatter settings. If you make a minor source change, don't format the whole file, but only around the changes you are contributing.
This code idiom is often used in this project's JUnit tests:
@Test
public void testXXX() throws Exception { testXXX$(); }
public void testXXX$() throws Exception {
This is donely solely as an aid when debugging code, so that the "Drop to frame" functionality can be used on the unit-test method. It seems the Eclipse debugger (or the JVM) cannot drop-to-frame to a method that is invoked dynamically (such as the unit-test method). So we wrap the unit-test method on another one. So while we now cannot drop-to-frame in testXXX
, we can do it in testXXX$
, which basically allows us to restart the unit-test.
TODO: investigate if there is an alternate way to achieve the same. I haven't actually checked that.