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