From 140633a39e4d4131389072c30444ecfb103e3bab Mon Sep 17 00:00:00 2001 From: Mat Booth Date: Tue, 11 Oct 2016 14:42:24 +0100 Subject: 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 --- CONTRIBUTING.md | 83 ++++++++++++++++++++++ framework/bundles/org.eclipse.ecf.identity/pom.xml | 2 +- releng/features/org.eclipse.ecf.core/pom.xml | 2 +- .../org.eclipse.ecf.filetransfer.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- 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: + +``` + + + 4.0.0 + + org.eclipse.ecf + ecf-parent + 1.0.0-SNAPSHOT + ../../../ + + org.eclipse.ecf + + org.eclipse.ecf.core.feature + + 1.3.0-SNAPSHOT + + eclipse-feature + +``` + +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 @@ org.eclipse.ecf org.eclipse.ecf.identity - 3.7.0-SNAPSHOT + 3.8.0-SNAPSHOT eclipse-plugin 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 @@ org.eclipse.ecf org.eclipse.ecf.core - 3.13.2-SNAPSHOT + 3.13.3-SNAPSHOT eclipse-feature 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 @@ org.eclipse.ecf org.eclipse.ecf.filetransfer.feature - 3.13.2-SNAPSHOT + 3.13.3-SNAPSHOT eclipse-feature 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 @@ org.eclipse.ecf org.eclipse.ecf.filetransfer.httpclient4.feature - 3.13.2-SNAPSHOT + 3.13.3-SNAPSHOT eclipse-feature 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 @@ org.eclipse.ecf org.eclipse.ecf.remoteservice.sdk.feature - 3.13.2-SNAPSHOT + 3.13.3-SNAPSHOT eclipse-feature -- cgit v1.2.3 From ac4a8c63028a26fd43f162e445d718e6b27a802d Mon Sep 17 00:00:00 2001 From: Mat Booth Date: Fri, 14 Oct 2016 13:45:38 +0100 Subject: Bug 455300 - Add ECF maven repository definitions Needed to routinely deploy artifacts to repo.eclipse.org Change-Id: Ie3eec6f30f642433eb1b46d63eebe152b3a1393c Signed-off-by: Mat Booth --- pom.xml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 385f709a9..767c9eed5 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,6 @@ 3.1.1 - Eclipse Public License v1.0 @@ -44,6 +43,20 @@ Bugzilla + + + repo.eclipse.org + ECF Maven Repository - Releases + https://repo.eclipse.org/content/repositories/ecf-releases/ + + + repo.eclipse.org + ECF Maven Repository - Snapshots + https://repo.eclipse.org/content/repositories/ecf-snapshots/ + true + + + 0.26.0 1.1.3 -- cgit v1.2.3 From df04d7e2ab449b84389270320f7108955677b73b Mon Sep 17 00:00:00 2001 From: Mat Booth Date: Sat, 15 Oct 2016 10:42:22 +0100 Subject: Bug 455300 - Allow deploying to snapshot maven repository When deploying snapshots from continuous integration, a SNAPSHOT and qualifier timestamp is mandatory. Change-Id: I97bb62a8bd90c2285057f7d9e2b0d530c8723a11 Signed-off-by: Mat Booth --- tests/bundles/org.eclipse.ecf.tests.protocol.msn/META-INF/MANIFEST.MF | 2 +- tests/bundles/org.eclipse.ecf.tests.protocol.msn/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/bundles/org.eclipse.ecf.tests.protocol.msn/META-INF/MANIFEST.MF b/tests/bundles/org.eclipse.ecf.tests.protocol.msn/META-INF/MANIFEST.MF index 913bb15f1..bb3924b5d 100755 --- a/tests/bundles/org.eclipse.ecf.tests.protocol.msn/META-INF/MANIFEST.MF +++ b/tests/bundles/org.eclipse.ecf.tests.protocol.msn/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.ecf.tests.protocol.msn -Bundle-Version: 0.3.1 +Bundle-Version: 0.3.1.qualifier Fragment-Host: org.eclipse.ecf.protocol.msn;bundle-version="0.3.1" Bundle-Localization: plugin Require-Bundle: org.junit diff --git a/tests/bundles/org.eclipse.ecf.tests.protocol.msn/pom.xml b/tests/bundles/org.eclipse.ecf.tests.protocol.msn/pom.xml index 0924b58f0..0f7699309 100644 --- a/tests/bundles/org.eclipse.ecf.tests.protocol.msn/pom.xml +++ b/tests/bundles/org.eclipse.ecf.tests.protocol.msn/pom.xml @@ -10,6 +10,6 @@ org.eclipse.ecf org.eclipse.ecf.tests.protocol.msn - 0.3.1 + 0.3.1-SNAPSHOT eclipse-test-plugin -- cgit v1.2.3