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 * ```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 * ```jacocoHtmlDir``` 112 * ```jacocoReportsDir``` 113 * ```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 * ```javaLibsDirName``` 128 * ```javaTestEnableAssertions``` 129 * ```javaTestIgnoreFailures``` 130 * ```javaTestMaxParallelForks``` 131 * ```javaTestReportDirName``` 132 * ```javaTestResultsDirName``` 133 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 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