...
The following build profiles are available in the KIELER Semantics repository:
...
Warning |
---|
|
Document the Semantics build profiles. |
What to Be Aware of
There are some things that people need to be aware of to keep the build files in a valid state.
- Eclipse metadata and POM files are not synchronized. Thus, if the version of an Eclipse plug-in changes, its
pom.xml
needs to be updated accordingly. - The repository POM directories contain product files and product icons. These are copies of the files found in the corresponding branding plug-ing (such as
de.cau.cs.kieler.core.product
) and have to be manually synchronized.
...
We distribute our KLay layout algorithms in two library files: one that contains just our algorithms, and another one that also contains dependencies such as required EMF classes. To build the KLay libraries, navigate to the /build/de.cau.cs.kieler.klay.libraries
directory and do the following:
- Set the TARGET_PLATFORM environment variable to point to a local copy of our currently used target platform p2 repository. Ask Unknown User (cds) where you can get that.
- Set the
KIELER_REPOSITORY
environment variable to point to a local copy of a p2 repository of our pragmatics build. Again, ask Unknown User (cds) where you can get that. - Run Ant on the
build.xml
file. This will produce both versions of the KLay layout library.
Note |
---|
We would love to switch our KLay library build over to Maven since that would allow us to publish the library in an official Maven artifact repository. |
Continuous and Nightly Builds
...
- Continuous Plugins – Compiles the plug-ins and runs the unit tests on them. None of the compiled artifacts are published anywhere (in fact, no update site or product is even produced). This plan is triggered by pushing stuff into the repositories, giving early feedback regarding whether committed changes break anything.
- Nightly <Product> – Assembles distributable product files and/or update sites. Distributable files are published in the nightly build directory
/home/kieler/public_html/files/nightly
. Update sites are published in /home/kieler/public_html/updatesite/nightly
. These plans are run once every night. - Nightly Rating – Compiles the plug-ins and runs our code quality rating doclet on them. The result is a website published at
/home/kieler/public_html/rating
. This plan is run once every night. - Release Builds – Continuous builds of release branches once a release is imminent. These usually run whenever changes are pushed into the repository. All release builds are placed in a special Bamboo project calles KIELER Releases.
The Semantics project has an additional build plan:
...
Our automatic builds produce a bunch of so-called artifacts: redistributable applications as well as a number of update sites. This table lists all artifacts, the project or repository they belong to, the build file responsible for producing them, the Bamboo build plan that builds them, and the directory they are finally placed in.
Tip |
---|
|
Don't be alarmed if the timestamps of the plugin and feature jar files on the updatesite don't match the current time. The time is probably UTC. Which is nice. |
Artifact | Repository | Build File | Bamboo Build Plan | Final Directory |
---|
KLay Layout Libraries | Pragmatics | ...klay.libraries/build.xml | KIELER Pragmatics -> Nightly KLay | /home/kieler/public_html/files/nightly/klay |
KLighDning RCA | Pragmatics | ...klighdning.repository/pom.xml | KIELER Pragmatics -> Nightly KLighDning/home/kieler/public_html/files/nightly/klighning | KWebS RCA | Pragmatics | ...kwebs.repository/pom.xml | KIELER Pragmatics -> Nightly |
ProductKWebS | /home/kieler/public_html/files/nightly/kwebs |
KIELER Pragmatics |
Update SiteUpdatesite | Pragmatics | ...pragmatics.repository/pom.xml | KIELER Pragmatics -> Nightly |
ProductPragmatics Updatesite | /home/kieler/public_html/updatesite/nightly/pragmatics/ |
Papyrus Layout |
Update SiteUpdatesite | Pragmatics | ...papyrus.repository/pom.xml | KIELER Pragmatics -> Nightly |
ProductPapyrus Updatesite | /home/kieler/public_html/updatesite/nightly-papyrus/ |
KIELER RCA | Semantics | ...semantics.repository/pom.xml | KIELER Semantics -> Nightly Semantics Product | /home/kieler/public_html/files/nightly/ |
KIELER Semantics |
Update SiteUpdatesite | Semantics | ...semantics.repository/pom.xml | KIELER Semantics -> Nightly |
ProductSemantics Updatesite | /home/kieler/public_html/updatesite/nightly/semantics/ |
Ptolemy Libraries |
Update SiteUpdatesite | Ptolemy | ...ptolemy.repository/pom.xml | KIELER Semantics -> Ptolemy |
Update SiteUpdatesite | /home/kieler/public_html/updatesite/ptolemy/ |