Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMat Booth2016-10-11 13:42:24 +0000
committerMat Booth2016-10-11 14:19:30 +0000
commit140633a39e4d4131389072c30444ecfb103e3bab (patch)
tree09a30aa35dbb670c37c397c8762720cc7136e6a6
parentd5c3fd37d14a462ae5d5ad2549bf5b05352dda6f (diff)
downloadorg.eclipse.ecf-140633a39e4d4131389072c30444ecfb103e3bab.tar.gz
org.eclipse.ecf-140633a39e4d4131389072c30444ecfb103e3bab.tar.xz
org.eclipse.ecf-140633a39e4d4131389072c30444ecfb103e3bab.zip
Bug 501905 - [Releng] [maven] Synchronise poms with versions from Manifests
Also add some documentation about building ECF and bundle version maintenance. Change-Id: I1d61b59afe5b70e5a45986ab145504f85e064988 Signed-off-by: Mat Booth <mat.booth@redhat.com>
-rw-r--r--CONTRIBUTING.md83
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/pom.xml2
-rw-r--r--releng/features/org.eclipse.ecf.core/pom.xml2
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.feature/pom.xml2
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/pom.xml2
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/pom.xml2
6 files changed, 88 insertions, 5 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d0d91cdde..b27e3ad9a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -11,3 +11,86 @@ contribution process.
[1]: http://eclipse.org/contribute/
[2]: http://wiki.eclipse.org/Gerrit
+
+Building the SDK from Source
+----------------------------
+
+In order to build the ECF SDK on the command line, you need Apache Maven at
+least version 3.1.1.
+
+To build against the default target platform (usually based on the newest
+release of Eclipse) invoke the following from the root directory of the git
+repository (i.e. the directory this file is in):
+
+ $ mvn clean verify
+
+To build ECF against a specific target platform:
+
+ $ mvn clean verify -Dtarget-platform=neon
+
+If the build is successful, a valid p2 repository will be generated in the
+"releng/org.eclipse.ecf.releng.repository/target/repository" directory. This
+may be used directly with Eclipse, for example, to install the newly built
+ECF SDK directly into your Eclipse installation.
+
+To build the p2 repository containing packed and signed bundles, necessary for
+a release:
+
+ $ mvn clean verify -Ppack-and-sign
+
+It is possible to install the ECF components into your local Maven repository
+for consumption by other Maven-based projects:
+
+ $ mvn clean install
+
+Tests are disabled by default, so to enable the execution of the test suite
+during the build:
+
+ $ mvn clean verify -DskipTests=false
+
+All the above options may be combined with one another.
+
+Adding New Bundles/Features
+---------------------------
+
+OSGi bundles and Eclipse features can be thought of as Maven modules. So to
+add a new bundle or feature to the build can easily be done by adding a new
+module line to the master pom.xml, which is located at the root of this git
+repository. The new bundle or feature just needs its own pom.xml in its
+directory. In most cases, the new pom.xml file can be trivially simple, for
+example:
+
+```
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.ecf</groupId>
+ <artifactId>ecf-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../</relativePath>
+ </parent>
+ <groupId>org.eclipse.ecf</groupId>
+ <!-- Artifact ID must be same as bundle or feature ID -->
+ <artifactId>org.eclipse.ecf.core.feature</artifactId>
+ <!-- Version must be same as bundle or feature version, but suffixed with "-SNAPSHOT" instead of ".qualifier" -->
+ <version>1.3.0-SNAPSHOT</version>
+ <!-- Packaging must be "eclipse-feature", "eclipse-plugin" or "eclipse-test-plugin" -->
+ <packaging>eclipse-feature</packaging>
+</project>
+```
+
+Bundle Version Maintenance
+--------------------------
+
+When a version number is increased, either in a bundle's "MANIFEST.MF" file
+or in a feature's "feature.xml" file, the version in the corresponding
+pom.xml file must also be changed to match. This can be done manually, or
+by invoking a Tycho utility to synchronise your pom.xml versions:
+
+ $ mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:update-pom
+
+And the changes to the pom.xml files should be committed with the rest of
+the change.
+
diff --git a/framework/bundles/org.eclipse.ecf.identity/pom.xml b/framework/bundles/org.eclipse.ecf.identity/pom.xml
index 29415e5bc..7bd3518f0 100644
--- a/framework/bundles/org.eclipse.ecf.identity/pom.xml
+++ b/framework/bundles/org.eclipse.ecf.identity/pom.xml
@@ -10,6 +10,6 @@
</parent>
<groupId>org.eclipse.ecf</groupId>
<artifactId>org.eclipse.ecf.identity</artifactId>
- <version>3.7.0-SNAPSHOT</version>
+ <version>3.8.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/releng/features/org.eclipse.ecf.core/pom.xml b/releng/features/org.eclipse.ecf.core/pom.xml
index c05b4af53..0d85daa6f 100644
--- a/releng/features/org.eclipse.ecf.core/pom.xml
+++ b/releng/features/org.eclipse.ecf.core/pom.xml
@@ -10,6 +10,6 @@
</parent>
<groupId>org.eclipse.ecf</groupId>
<artifactId>org.eclipse.ecf.core</artifactId>
- <version>3.13.2-SNAPSHOT</version>
+ <version>3.13.3-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/releng/features/org.eclipse.ecf.filetransfer.feature/pom.xml b/releng/features/org.eclipse.ecf.filetransfer.feature/pom.xml
index 5a3ea5119..fbfd088af 100644
--- a/releng/features/org.eclipse.ecf.filetransfer.feature/pom.xml
+++ b/releng/features/org.eclipse.ecf.filetransfer.feature/pom.xml
@@ -10,6 +10,6 @@
</parent>
<groupId>org.eclipse.ecf</groupId>
<artifactId>org.eclipse.ecf.filetransfer.feature</artifactId>
- <version>3.13.2-SNAPSHOT</version>
+ <version>3.13.3-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/pom.xml b/releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/pom.xml
index a85eb0cf2..1e842a727 100644
--- a/releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/pom.xml
+++ b/releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/pom.xml
@@ -10,6 +10,6 @@
</parent>
<groupId>org.eclipse.ecf</groupId>
<artifactId>org.eclipse.ecf.filetransfer.httpclient4.feature</artifactId>
- <version>3.13.2-SNAPSHOT</version>
+ <version>3.13.3-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/releng/features/org.eclipse.ecf.remoteservice.sdk.feature/pom.xml b/releng/features/org.eclipse.ecf.remoteservice.sdk.feature/pom.xml
index 537c5b4fc..e2bc57764 100644
--- a/releng/features/org.eclipse.ecf.remoteservice.sdk.feature/pom.xml
+++ b/releng/features/org.eclipse.ecf.remoteservice.sdk.feature/pom.xml
@@ -10,6 +10,6 @@
</parent>
<groupId>org.eclipse.ecf</groupId>
<artifactId>org.eclipse.ecf.remoteservice.sdk.feature</artifactId>
- <version>3.13.2-SNAPSHOT</version>
+ <version>3.13.3-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>

Back to the top