Releases: ihmcrobotics/ihmc-build
0.15.1 Release Notes
API Removal
ihmc-ci
library and plugin is removed from this project and is not automatically applied to projectsihmc.convertJobNameToHyphenatedName
has been removed and replaced by
testSuites.convertJobNameToHyphenatedName
(now provided only byihmc-ci-plugin
)
Migration
Please use the following code to get the old functionality:
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
mavenLocal()
}
dependencies {
classpath "us.ihmc:ihmc-build:0.15.1" // new build plugin without ci
classpath "us.ihmc:ihmc-ci-plugin:0.18.0" // apply ci separately now
}
}
apply plugin: "us.ihmc.ihmc-build"
apply plugin: "us.ihmc.ihmc-ci-plugin"
println testSuites.convertJobNameToHyphenatedName("AtlasAFast") // replaces removed method
testDependencies {
compile group: "us.ihmc", name: "ihmc-ci-core-api", version: "0.18.0" // these were auto included before
}
0.14.0 Release Notes
Bug fix
- Dependencies included in the build, but do not have "source" as their version, now keep their declared version instead of inheriting the parent's version
For example, if
project-a
has included the buildproject-b
,project-a
's version is0.2
,project-b
's version is1.0
,project-a/build.gradle
containscompile [...] name: project-b, version: 1.0
,
it is no longer the case that the IHMCDependenciesExtension would override1.0
to0.2
when passing the version to Gradle.
Quality improvements
- Improve message for "source" version dependencies that aren't present
- Add unit tests for test suite generation using ihmc-ci
- Add binray properties to README
0.13.0 Release Notes
We reworked the publish command-line interface so users can publish to arbitrary repositories easily using the standard gradle publish
task. We wanted to make it consistent, supporting maven local naturally and protect against accidental release publishes. This enables publishing an entire project group at once with an intuitive gradle publishAll -PpublishUrl=ihmcRelease
, or to maven local using gradle publishAll -PpublishUrl=local
.
In addition, having publishUrl = local
does not change the version to LOCAL
, like publishMode
did, which was occasionally frustrating and should be decoupled anyway.
Deprecated API
publishMode
property is now deprecated.LOCAL
,STABLE
, andSNAPSHOT
values will set up the coorespondingpublishUrl
andsnapshotMode
properties. See below.
New Publishing API
New property publishUrl
(defaults to local
) where publishUrl
is a keyword or an actual URL. There will be a few keywords predefined in configurePublications()
with custom ones added with addPublishUrl(...)
:
local
: The default behavior whenpublishUrl
is not set,gradle publish
will publish to mavenLocal()ihmcRelease
: Bintraymaven-release
or Artifactoryproprietary-releases
(based onopenSource
variable)ihmcVendor
: Bintraymaven-vendor
or Artifactoryproprietary-vendor
(based onopenSource
variable)ihmcSnapshots
: Artifactorysnapshots
or Artifactoryproprietary-snapshots
(based onopenSource
variable)
New addPublishUrl()
method. Publish to these repos with gradle publish -PpublishUrl=myRepoKeyword
ihmc { group = "us.ihmc" version = "0.1.0" vcsUrl = "some-url" openSource = true configureDependencyResolution() // without credentials addPublishUrl("myRepoKeyword", "http://my.site/repo") // with credentials addPublishUrl("mySecureRepoKeyword", "http://my.site/repo", publishUsername, publishPassword) configurePublications() }
On-the-fly custom repoURL publishing:
gradle publish -PpublishUrl=http://my.site/repo [-PpublishUsername=user -PpublishPassword=pass]
publishToMavenLocal
still works normally.
New property snapshotMode=true
for CI (for dependency configuration only). Set version to SNAPSHOT-0 and sets up dynamic dependency snapping based on additional properties. Internal use only.
0.12.10 Release Notes
0.12.1 Release Notes
This release fixes the Artifactory publish repository name for closed source projects from proprietary
to proprietary-releases
.
0.12.0 Release Notes
API Changes
- PascalCased dependency declarations will no longer match to kebab-cased artifacts.
(No IHMC maintained projects were using this, and it was a pretty bad "best effort" type feature.)
Bug fixes
- Fix bug where kebabCasedNames were not picked up in settings evaluation. Fixes #37.
Under the Hood Improvements
- Move a few info log messsages to debug level.
- Exclude builds earlier, enabling simpler logic and less checks later.
- Simplify transitive dependency function; make it easier to read and understand.
- Sort included builds and pass them to Gradle in order.
- Remove load call in properties and do loading in the init block.
- Add some doc. Rename workspace to repository group. Simplify initial path mapping.
0.11.9 Release Notes
API Changes
- Remove includeBuildsFromWorkspace property. Setting
depthFromWorkspaceDirectory = 0
is the bug free version ofincludeBuildsFromWorkspace = false
.
Usability Improvements
- Remove Artifactory missing credential message.
0.11.4 Release Notes
Performance Improvements
- Fix #38 by removing artifactory repositories when not on Bamboo.
0.11.3 Release Notes
Fix #36 by hard crashing when version is declared as "source", but included build is not present.
0.11.2 Release Notes
Bug Fixes
- Fix new issue where Eclipse copies build files into the bin folder and the build plugin tries to pick them up as projects. Exclude out and bin folders.