Changes for page Build Management
Last modified by Richard Kreissig on 2023/09/14 08:50
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -14,7 +14,7 @@ 14 14 15 15 = Software We Use = 16 16 17 -To implement our automatic builds, we use the popular [[Maven>>url:http://maven.apache.org/||shape="rect"]] tool in conjunction with [[Tycho>>url:http://eclipse.org/tycho/||shape="rect"]], a set of Maven plug-ins that allow Maven to build Eclipse projects. To implement our continuous integration builds, we use [[Atlassian Bamboo>>url:http://www.atlassian.com/software/bamboo/overview||shape="rect"]]. 17 +To implement our automatic builds, we use the popular [[Maven>>url:http://maven.apache.org/||shape="rect"]] tool in conjunction with [[Tycho>>url:http://eclipse.org/tycho/||shape="rect"]], a set of Maven plug-ins that allow Maven to build Eclipse projects. Our KLay layouters library is built using [[Apache Ant>>url:http://ant.apache.org/||shape="rect"]]. To implement our continuous integration builds, we use [[Atlassian Bamboo>>url:http://www.atlassian.com/software/bamboo/overview||shape="rect"]]. 18 18 19 19 == Maven / Tycho == 20 20 ... ... @@ -24,6 +24,10 @@ 24 24 25 25 Tycho is a set of Maven plugins that handles compiling and dependency management as well as bundling of Eclipse plug-ins. Tycho understands Eclipse metadata files such as {{code language="none"}}plugin.xml{{/code}} or {{code language="none"}}feature.xml{{/code}}, provides dependency information extracted from those files, and provides an Eclipse instance for compiling and packaging Eclipse bundles. 26 26 27 +== Apache Ant == 28 + 29 +Ant is a very popular Java build tool. While Maven wants to know metadata about a project and then knows what to do to build it, Ant works by specifying exactly what to do to build a project. These steps are configured in a {{code language="none"}}build.xml{{/code}} file. We try to avoid using Ant, but still have Ant build files around for jobs too specialized to be properly handled by Maven. 30 + 27 27 == Bamboo == 28 28 29 29 While Maven and Tycho know how to compile KIELER, Bamboo knows when to compile KIELER and what to do with the compiled project. Bamboo has access to our source code repositories and triggers continuous integration builds every time someone pushes new code into a repository. It also does a full build every night and copies the results onto our nightly build update site to be accessed by people all around the world. And beyond. Tell your friends! ... ... @@ -81,6 +81,13 @@ 81 81 1. Eclipse metadata and POM files are not synchronized. Thus, if the version of an Eclipse plug-in changes, its {{code language="none"}}pom.xml{{/code}} needs to be updated accordingly. 82 82 1. 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 {{code language="none"}}de.cau.cs.kieler.core.product{{/code}}) and have to be manually synchronized. 83 83 88 +== The Curious Case of Building the KLay Library == 89 + 90 +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 {{code language="none"}}/build/de.cau.cs.kieler.klay.libraries{{/code}} directory and do the following: 91 + 92 +1. Set the {{code language="none"}}PRODUCT{{/code}} environment variable to point to a complete installation of KIELER. You can get one by using the automatic Maven build. 93 +1. Run Ant on the {{code language="none"}}build.xml{{/code}} file. This will produce both versions of the KLay layout library. 94 + 84 84 = Continuous and Nightly Builds = 85 85 86 86 There are basically three different build plans for each of the KIELER projects:
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -616041 11 +6160412 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/616041 1/Build Management1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/6160412/Build Management