8bd89ded6563eceedc5171e0e96e0121af751a85
[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 * 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
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
151 bndtools 2.4.0.M1).
152
153 Below 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 ```
216 bundle     --> jar
217 bundleTest --> 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 ```
232 bndSrcDir
233 bndSrcBinDir
234 bndTestSrcDir
235 bndTestSrcBinDir
236 bndTargetDir
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.