Initial sketch of replacement of Run.id by number.
Does not yet deal with migrating historical records.
Merge remote-tracking branch 'origin/master' into build-number-is-id-JENKINS-24380
Fixed compatibility with MatrixRun.
The Run constructors taking a timestamp must not be deprecated.
And the root directory must be created in RunMap.put, not the constructor,
in case the number (and hence directory name) is changed after the constructor completes.
Implemented @daniel-beck’s suggestion for defense against build number duplication.
Defend against out-of-order builds even if nextBuildNumber is wrong.
Making various changes to ALLRM incompatible to subclasses, so be explicit that this is distinct from RunMap only for purposes of clarity and testing.
Added RunIdMigrator.
Be consistent and use Integer.toString rather than String.valueOf.
Need to synchronize access to LEGACY_ID_FORMATTER.
Obsolete logic to delete build number symlinks.
Minimizing diff to master.
Integer.toString here too.
A couple of methods that should no longer be @Deprecated.
Simplified constructor.
Merge branch 'master' into build-number-is-id-JENKINS-24380
Compilability fix.
Safer to use AtomicFileWriter.
Merge branch 'master' into build-number-is-id-JENKINS-24380
Added a tool to reverse the build directory migration if required.
Making reverse migration tool handle more kinds of item groups.