1 This document is licensed under the GNU Free Documentation License,
2 Version 1.3, 3 November 2008
6 This workspace is compatible with all bndtools versions since 3.3.0.REL.
10 # Changes since bndtools 4.2.0 release
14 # Changes since bndtools 4.1.0 release
17 * Update the jacoco version to 0.8.3
18 * Most bundle versions were updated
20 # Changes since bndtools 4.0.0 release
22 * Indexing is now done through the Index task of the Bnd Gradle plugin
24 # Changes since bndtools 3.5.0 release
26 * The project moved to GitLab:
27 https://gitlab.com/fhuberts/bndtoolsWorkspace
29 * Removed the obsolete bnd_preCompileRefresh property
31 # Changes since bndtools 3.4.0 release
33 * Update versions in maven files
35 * Update the jacoco version to 0.7.9
37 # Changes since bndtools 3.3.0 release
39 * Fix typos in cnf/ext/repositories.bnd
42 Main update is to compile with debug information for non-batch builds.
44 * Add Maven and Pelagic repositories, remove Bndtools Hub repository
45 Put some relevant bundles in the maven configurations and removed
46 everything from the Build repository: those can be downloaded through
47 the configured Maven repositories.
49 * Clean up the workspace
50 Removed the bnd repository plugin, it is no longer needed since the
51 bnd gradle plugin contains all the classes that the bnd repository
52 plugin does. Also moved the gradle build dependencies into a file
53 repository to facilitate easier updating from the maven repository
55 * Make build the default task for all projects
57 * Add support for the Gradle 'offline' start parameter
59 # Changes since bndtools 3.2.0 release
63 # Changes since bndtools 3.1.0 release
65 * Some documentation snippets were added: section 'Replacing The Bndtools
66 Gradle Setup', a remark about using the latest Jenkins plugins, and 2 links
67 to the Eclipse marketplace landing pages for the plugin.
68 * The jacoco version ```jacocoToolVersion``` setting was updated to
71 # Changes since bndtools 3.0.0 release
73 * The jacoco task re-introduced its ```jacocoToolVersion``` setting, with a
74 default of the latest released version (0.7.5.201505241946).
75 This is because the Gradle Jacoco plugin uses an old version of Jacoco.
76 * Like other bndtools headless build plugins, the plugin will issue
77 relevant warnings when generating or removing files.
78 * Improve caching behaviour when using the Gradle daemon.
80 # Changes since bndtools 2.4.0 release
82 * Defaults (most of them) are no longer overridden for the findbugs task.
83 Instead of using the 'override' variables, configure the desired settings
84 directly on the project or in one of the 'custom' templates.
86 These 'override' variables were removed:
87 * ```findbugsEffort```
88 * ```findbugsReportLevel```
89 * ```findbugsReportsDir```
90 * ```findbugsToolVersion```
92 * Note that ```ignoreFailures```, ```includeFilter```
93 and ```excludeFilter``` are still overridden if the project doesn't
94 configure their 'override' variables:
95 * ```ignoreFailures``` is overridden to ```true``` if the
96 'override' variable ```findbugsIgnoreFailures``` is not set by the
97 project. This is because its default is ```false```, which will fail
98 the build when findbugs reports anything.
99 * ```includeFilter``` is overridden
100 to ```<cnf>/findbugs/findbugs.include.xml``` if the 'override'
101 variable ```findbugsIncludesFile``` is not set by the project.
102 * ```excludeFilter``` is overridden
103 to ```<cnf>/findbugs/findbugs.exclude.xml``` if the 'override'
104 variable ```findbugsExcludesFile``` is not set by the project.
106 * Defaults are no longer overridden for the jacoco task.
107 Instead of using the 'override' variables, configure the desired settings
108 directly on the project or in one of the 'custom' templates.
110 These 'override' variables were removed:
111 * ```jacocoHtmlDir```
112 * ```jacocoReportsDir```
113 * ```jacocoToolVersion```
115 * The destination file changes from ```reports/jacoco/test.exec```
116 to ```jacoco/test.exec```.
119 generated/reports/jacoco/test.exec --> generated/jacoco/test.exec
122 * Defaults are no longer overridden for java projects.
123 Instead of using the 'override' variables, configure the desired settings
124 directly on the project or in one of the 'custom' templates.
126 These 'override' variables were removed:
127 * ```javaLibsDirName```
128 * ```javaTestEnableAssertions```
129 * ```javaTestIgnoreFailures```
130 * ```javaTestMaxParallelForks```
131 * ```javaTestReportDirName```
132 * ```javaTestResultsDirName```
134 * ```libsDirName``` changes from ```.``` to the default ```libs```.
135 * ```testResultsDirName``` changes from ```reports/tests/xml``` to
136 the default ```test-results```.
137 * ```testReportDirName``` changes from ```tests/html``` to the
141 generated/reports/tests/xml --> generated/test-results
142 generated/tests/html --> generated/reports/tests
145 * Support bndtools 3.0.0 (DEV)
147 # Changes since bndtools 2.3.0 release
149 The changes were made to let the build be more in-line with what is delivered
150 by the bndtools project through its Gradle support (starting with
153 Below the changes that affect users are detailed.
155 * The wrapper task now always uses the latest released Gradle version, unless
156 unless the ```rootGradleVersion``` is set when running the task.
157 * The javadoc title, docTitle and windowTitle are now configurable.
158 * The ```jacocoTestReport``` task is automatically run when either of
159 the ```test``` or ```check``` tasks are scheduled to run.
160 * The jacoco reports are now placed in ```generated/reports/jacoco```.
161 * The findbugs reports are now placed in ```generated/reports/findbugs```.
162 * All custom buildscripts were renamed to better reflect that they're hooks,
163 when they're invoked and the scope they affect.
164 * Default tasks are no longer set up.
165 * The build dependencies cache directory is no longer configurable and is fixed
167 * The build properties in ```cnf/build.gradle.properties``` were moved
168 to ```gradle.properties```.
169 * Build dependencies now only support '*.uri' properties (configured
170 in ```gradle.properties```), support for the '*.location' properties was
171 dropped and the '*.url' properties are now interpreted as URIs, hence the
172 name-change. It is also no longer needed to list the bnd jar in these
173 properties because it is defined in the ```gradle.properties``` file.
174 * The template now automatically applies the
175 buildscript ```cnf/gradle/template/javaProject.gradle``` to projects that
176 hava applied the Gradle Java plugin.
177 * The bindex and repoindex properties for the jar and the main class are no
179 * All ```gradleBuild...``` properties were renamed and some were removed.
180 * The property ```gradleBuildDependenciesCacheDir``` was removed.
181 * The property ```gradleBuildBuildProperties``` was removed.
182 * The ```gradleBuildLogging...``` properties were removed.
183 * The property ```gradleBuildGradleVersion``` was renamed
184 to ```rootGradleVersion```.
185 * The property ```gradleBuildBndProjectsDefaultTasks``` was renamed
186 to ```bnd_defaultTask``` in ```gradle.properties``` and is now a
187 comma-separated list of tasks.
188 * The property ```gradleBuildNonBndProjectsDefaultTasks``` was renamed
189 to ```others_defaultTask``` in ```gradle.properties``` and is now a
190 comma-separated list of tasks.
191 * The property ```gradleBuildRootProjectDefaultTasks``` was renamed
192 to ```root_defaultTask``` in ```gradle.properties``` and is now a
193 comma-separated list of tasks.
194 * The ```gradleBuildLibsDirName``` property was renamed
195 to ```javaLibsDirName```.
196 * The ```gradleBuildTest...``` properties were renamed
197 to ```javaTest...```.
198 * The ```gradleBuildJacoco...``` properties were renamed
200 * The ```gradleBuildIndex...``` properties were renamed
202 * The ```gradleBuildJavaDoc...``` properties were renamed
204 * The ```gradleBuildFindbugs...``` properties were renamed
205 to ```findbugs...```.
206 * The findbugs include and exclude files were moved from ```cnf```
207 to ```cnf/findbugs```.
208 * The official bnd plugin as delivered by the bnd project is now used. This adds
209 support for all features that it implements, like setting the Java 8 compiler
210 profile (through ```javac.profile``` in a bnd file).
211 * Many ```bnd...``` properties are no longer set (as a result of using the
212 official bnd plugin).
213 * Some tasks were renamed (as a result of using the official bnd plugin):
220 * A ```name.bndrun``` file will now create an ```export.name``` task
221 automatically. The ```export``` task will depend on all such created export
222 tasks in the project.
223 * The ```export``` tasks now put their artifacts in
224 the ```generated/distributions``` directory instead of
225 the ```generated/export``` directory (as a result of using the official bnd
227 * Logging is no longer set up.
228 * The default bnd directories are no longer setup on the project. The
229 corresponding properties are
239 * The file ```cnf/gradle/bndLayout.gradle``` was removed. Projects usings it
240 should manually setup their source sets
241 (as described [here](BUILDING-GRADLE.md#AddingJavaProjectsToTheBuild)).
242 * The property ```in.ant``` is no longer set to indicate a headless build.
243 Instead, the ```driver``` or ```gestallt``` macros from bnd can be used.
244 For example: setting a different release repository in the gradle build can
246 setting ```-releaserepo:${if;${driver;gradle};ReleaseCI;Release}``` in the
247 file ```cnf/ext/repositories.bnd```.
248 * The ```jsr14``` compiler target is no longer directly supported.
249 Refer to the official bnd plugin for details.
250 * Some task dependencies were adjusted, see
251 the ```cnf/gradle/doc/template.svg``` diagram for details.