1This document is licensed under the GNU Free Documentation License,
2Version 1.3, 3 November 2008
3
4# Compatibility
5
6This workspace is compatible with all bndtools versions since 3.3.0.REL.
7
8# Update Log
9
10# Changes since bndtools 4.2.0 release
11
12* this: -
13
14# Changes since bndtools 4.1.0 release
15
16* Fix the clean task
17* Update the jacoco version to 0.8.3
18* Most bundle versions were updated
19
20# Changes since bndtools 4.0.0 release
21
22* Indexing is now done through the Index task of the Bnd Gradle plugin
23
24# Changes since bndtools 3.5.0 release
25
26* The project moved to GitLab:
27  https://gitlab.com/fhuberts/bndtoolsWorkspace
28
29* Removed the obsolete bnd_preCompileRefresh property
30
31# Changes since bndtools 3.4.0 release
32
33* Update versions in maven files
34
35* Update the jacoco version to 0.7.9
36
37# Changes since bndtools 3.3.0 release
38
39* Fix typos in cnf/ext/repositories.bnd
40
41* update build.bnd
42  Main update is to compile with debug information for non-batch builds.
43
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.
48
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
54
55* Make build the default task for all projects
56
57* Add support for the Gradle 'offline' start parameter
58
59# Changes since bndtools 3.2.0 release
60
61* None
62
63# Changes since bndtools 3.1.0 release
64
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
69  0.7.6.201602180812.
70
71# Changes since bndtools 3.0.0 release
72
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.
79
80# Changes since bndtools 2.4.0 release
81
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.
85
86  These 'override' variables were removed:
87  *  ```findbugsEffort```
88  *  ```findbugsReportLevel```
89  *  ```findbugsReportsDir```
90  *  ```findbugsToolVersion```
91
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    * &nbsp;```excludeFilter``` is overridden
103      to ```<cnf>/findbugs/findbugs.exclude.xml``` if the 'override'
104      variable ```findbugsExcludesFile``` is not set by the project.
105
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.
109
110  These 'override' variables were removed:
111  * &nbsp;```jacocoHtmlDir```
112  * &nbsp;```jacocoReportsDir```
113  * &nbsp;```jacocoToolVersion```
114
115  * The destination file changes from ```reports/jacoco/test.exec```
116    to ```jacoco/test.exec```.
117
118    ```
119    generated/reports/jacoco/test.exec --> generated/jacoco/test.exec
120    ```
121
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.
125
126  These 'override' variables were removed:
127  * &nbsp;```javaLibsDirName```
128  * &nbsp;```javaTestEnableAssertions```
129  * &nbsp;```javaTestIgnoreFailures```
130  * &nbsp;```javaTestMaxParallelForks```
131  * &nbsp;```javaTestReportDirName```
132  * &nbsp;```javaTestResultsDirName```
133
134  * &nbsp;```libsDirName``` changes from ```.``` to the default ```libs```.
135  * &nbsp;```testResultsDirName``` changes from ```reports/tests/xml``` to
136    the default ```test-results```.
137  * &nbsp;```testReportDirName``` changes from ```tests/html``` to the
138    default ```tests```.
139
140    ```
141    generated/reports/tests/xml --> generated/test-results
142    generated/tests/html        --> generated/reports/tests
143    ```
144
145* Support bndtools 3.0.0 (DEV)
146
147# Changes since bndtools 2.3.0 release
148
149The changes were made to let the build be more in-line with what is delivered
150by the bndtools project through its Gradle support (starting with
151bndtools 2.4.0.M1).
152
153Below the changes that affect users are detailed.
154
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
166  to ```cnf/cache```.
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
178  longer configurable.
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
199    to ```jacoco...```.
200  * The ```gradleBuildIndex...``` properties were renamed
201    to ```index...```.
202  * The ```gradleBuildJavaDoc...``` properties were renamed
203    to ```javadoc...```.
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):
214
215```
216bundle     --> jar
217bundleTest --> check
218```
219
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
226  plugin).
227* Logging is no longer set up.
228* The default bnd directories are no longer setup on the project. The
229  corresponding properties are
230
231```
232bndSrcDir
233bndSrcBinDir
234bndTestSrcDir
235bndTestSrcBinDir
236bndTargetDir
237```
238
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
245  be accomplished by
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.
252