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
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.
16 # Changes since bndtools 4.1.0 release
19 * Update the jacoco version to 0.8.3
20 * Most bundle versions were updated
22 # Changes since bndtools 4.0.0 release
24 * Indexing is now done through the Index task of the Bnd Gradle plugin
26 # Changes since bndtools 3.5.0 release
28 * The project moved to GitLab:
29 https://gitlab.com/fhuberts/bndtoolsWorkspace
31 * Removed the obsolete bnd_preCompileRefresh property
33 # Changes since bndtools 3.4.0 release
35 * Update versions in maven files
37 * Update the jacoco version to 0.7.9
39 # Changes since bndtools 3.3.0 release
41 * Fix typos in ```<cnf>/ext/repositories.bnd```
44 Main update is to compile with debug information for non-batch builds.
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.
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
57 * Make build the default task for all projects
59 * Add support for the Gradle 'offline' start parameter
61 # Changes since bndtools 3.2.0 release
65 # Changes since bndtools 3.1.0 release
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
73 # Changes since bndtools 3.0.0 release
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.
82 # Changes since bndtools 2.4.0 release
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.
88 These 'override' variables were removed:
89 * ```findbugsEffort```
90 * ```findbugsReportLevel```
91 * ```findbugsReportsDir```
92 * ```findbugsToolVersion```
94 * Note that ```ignoreFailures```, ```includeFilter```
95 and ```excludeFilter``` are still overridden if the project doesn't
96 configure their 'override' variables:
97 * ```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 * ```includeFilter``` is overridden
102 to ```<cnf>/findbugs/findbugs.include.xml``` if the 'override'
103 variable ```findbugsIncludesFile``` is not set by the project.
104 * ```excludeFilter``` is overridden
105 to ```<cnf>/findbugs/findbugs.exclude.xml``` if the 'override'
106 variable ```findbugsExcludesFile``` is not set by the project.
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.
112 These 'override' variables were removed:
113 * ```jacocoHtmlDir```
114 * ```jacocoReportsDir```
115 * ```jacocoToolVersion```
117 * The destination file changes from ```reports/jacoco/test.exec```
118 to ```jacoco/test.exec```.
121 generated/reports/jacoco/test.exec --> generated/jacoco/test.exec
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.
128 These 'override' variables were removed:
129 * ```javaLibsDirName```
130 * ```javaTestEnableAssertions```
131 * ```javaTestIgnoreFailures```
132 * ```javaTestMaxParallelForks```
133 * ```javaTestReportDirName```
134 * ```javaTestResultsDirName```
136 * ```libsDirName``` changes from ```.``` to the default ```libs```.
137 * ```testResultsDirName``` changes from ```reports/tests/xml``` to
138 the default ```test-results```.
139 * ```testReportDirName``` changes from ```tests/html``` to the
143 generated/reports/tests/xml --> generated/test-results
144 generated/tests/html --> generated/reports/tests
147 * Support bndtools 3.0.0 (DEV)
149 # Changes since bndtools 2.3.0 release
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
155 Below the changes that affect users are detailed.
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
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
202 * The ```gradleBuildIndex...``` properties were renamed
204 * The ```gradleBuildJavaDoc...``` properties were renamed
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):
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
229 * Logging is no longer set up.
230 * The default bnd directories are no longer setup on the project. The
231 corresponding properties are
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
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.