Concierge will be build using Gradle. The gradle wrapper scripts will be used, to simplify installation. The wrapper scripts are checked in into repository as ./gradlew
and ./gradlew.bat
. The required files to start and download gradle are in folder .gradle-wrapper
, do not touch.
// use wrapper task since Gradle 4.8
wrapper {
gradleVersion = '4.10.2'
jarFile = '.gradle-wrapper/gradle-wrapper.jar'
}
Updates of gradle version can be done by changing the wrapper task in ./build.gradle
to an updated version and running the task ./gradlew wrapper
again.
$ ./gradlew wrapper
A complete build can be done using
$ ./gradlew clean build distZip distTar installDist
This will clean workspace, build and run tests, and will create a distribution file named distribution/build/distributions/concierge-<version>.zip
and ...tar.gz
. By installDist
it will be unpacked into distribution/build/install
to easily check artifact results.
The framework and the bundles jars will be named to Bundle-SymbolicName and Bundle-Version, e.g. org.eclipse.concierge-5.1.0.SNAPSHOT-20151114134106.jar
. The Manifest.MF will specify the Bundle-Version: 5.1.0.qualifier
, qualifier will be replaced by the current build date/time (MANIFEST driven approach). The version maintenance is up to the individual bundles/framework dependent on compatibility of changes.
The version for the distribution will be defined in version.txt
in root directory. The used release plugin will automatically read in this file and use it as project.version
property. When this file will have a .SNAPSHOT
ending, it will be considered as a SNAPSHOT version. When doing a release (by calling ./gradlew release
) it will remove SNAPSHOT, make a release build, create a tag in git, and increase the version to next number.
Files added to the distribution can be added to the folder distribution/src/main/dist
. These files will automatically added to distribution folder.
In folder distribution/src/markdown
are all documentation files in markdown format. They will be transformed to HTML using gradle tasks. For displaying markdown files Strapdown will be used.
Documentation for Concierge developers/committers is included in folder distribution/src/markdown/docs/contributor
.
There is a Hudson instance (HIPP) hosted at Eclipse Hudson Infrastructure. All committer have access to this instance, please login with your Eclipse committer account.
There is a job ConciergeDistribution doing a build by checking git master branch for changes. This script will start the gradle-wrapper by a shell build task using
./gradlew -Dhttps.proxyHost=proxy.eclipse.org -Dhttps.proxyPort=9898 -Dhttps.nonProxyHosts=*.eclipse.org clean build distZip distTar installDist
The build job has to set the proxy settings to get gradle-version downloaded from Internet.
The Files to archive will be set to distribution/build/distributions/*
.
When distribution has been made, a SNAPSHOT build will be published to Eclipse Download section by the job ConciergeDistributionPublishSnapshot. It will upload these file to download area and will provide a [publish.log] file for checking the publishing process:
- Concierge Downloads: http://download.eclipse.org/concierge/
- Concierge Snapshot builds: http://download.eclipse.org/concierge/snapshots
- Concierge Release builds: http://download.eclipse.org/concierge/releases