|[p2-dev] Releasing API changes|
If you go to the Eclipse Projects Downloads page and look at the available nightly builds you will see there has only been one successful build in the past week and for the most part it has been our fault. People rely on nightly builds to test things and we haven't been able to deliver one. This is unacceptable especially since these daily breakages are almost completely avoidable.
Yes p2 is in the process of promoting and changing its API. But we still need to be extremely careful when releasing these changes. This also includes changes to provisional API that we have from previous releases.
In order to minimize breaking the build, here is a reminder of the steps that need to be taken:
1). Run all the tests. It only takes a couple of minutes and we should be running all our tests before every change anyway.
2). Ensure that you have all our projects and dependent projects loaded. This includes all the p2 projects as well as the projects which are known to depend on us. (for instance PDE and Platform-UI, etc)
3). If there is a breaking change that will effect another team, enter a bug report and attach a patch to fix the problem. Then coordinate the release of the patch with the other team.
4). Ensure the rest of the members of the other team are aware of the breaking changes and know they have to have p2 checked out of the repository from HEAD. This can be done with a note to the mailing list.
"Coordinating the release" does not mean release the API changes and leave the patch for the other team on a bug report. It means we need to contact a member of the other team and agree on a time to release the change. If we can't get a hold of the other team then we do not release our changes because that would result in a broken build.
The milestone is soon and EclipseCon right after. People need clean builds. Let's ensure we do our best to deliver them.