Hi Curtis, Curtis Rueden wrote:
> Hi Jörg, > >> We use simply "x-SNAPSHOT" for the parent version. That way no >> unreleased project has to be touched, it simply uses the "lastest" >> SNAPSHOT of the parent. No script required. > > Yeah, that is very convenient, if you are willing to accept the two-edged > sword of irreproducible builds. What do you mean with "irreproducible builds"? Definitely, if you project relies on a SNAPSHOT parent, it does not matter if you call it 1-SNAPSHOT or x-SNAPSHOT. > A breaking change in the parent will break > all builds that consume it... but can be fixed just as easily too without > touching the downstream projects. Well, somebody obviously made the choice for the SNAPSHOT parent ... with all consequences. > Of course, it's a decision every project has to make for themselves. My > projects opted for build reproducibility by using only release linkages > (for parent POMs, dependencies and plugins). This has many advantages: > e.g., "git bisect" fully works as one might hope, allowing you to > resurrect the state of the code even from years prior and still build > successfully. The downside is that you must make releases in order to be > able to pin to them. Once a project is released, you also have a released parent. No surprises anymore. And the project can then make its own decision if it creates also a branch for the parent and rely on e.g. 254.x-SNAPSHOT either for maintenance releases or further development. This scheme works well for us now for several years. Cheers, Jörg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
