Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Both when building a baseline repository and when doing a release we should have some consistent definition of what artifacts in a workspace need to be released and baselined. I am not sure if we currently have such a definition, but we should and it should match the definition of what to baseline (and what not). A good way to do this is to either explicitly list in cnf/build.bnd what projects to baseline, or, even easier, to turn on baselining globally and exclude the projects that should not be baselined (by adding "-baseline:" to their bnd files). The question is, is our release plugin capable of taking the list of artifacts that should be released and baselined based on this information?We can currently define what bundles will be released based on a list of patterns of project names to exclude. We usually exclude *.itest and *.demo (but we can expand that to things like *.example as well). By never releasing certain bundles we can always set "-baselining: *" in our workspace as there will never be anything to baseline those artifacts against.

When Releasing

When releasing we enable baselining to validate that the artifacts we're about to release are correctly versioned. Here we have the same problem: it only works correctly if we can ensure that the same Java compiler is used. That means we cannot baseline against the release repository, but have to generate a baseline repository again. If baselining succeeds, we can continue with the release process, otherwise we need to abort and let the developer fix the issue. This is already how the release plugin works.

...