Skip to content

Commit 5ce62ac

Browse files
committed
architecture: master -> main
1 parent af73346 commit 5ce62ac

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

_pages/develop/architecture.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ It gets more subtle when making heavy use of software libraries (sometimes calle
257257
Some cardinal reasons to strive for reproducible builds are:
258258

259259
- Reproducible builds are essential for the scientific method (see sidebar right).
260-
- It becomes possible to use a [feature branch workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) development style where the `master` branch is always release ready—or even a {% include wikipedia title='Continuous delivery' text='continuous delivery'%} approach.
260+
- It becomes possible to use a [feature branch workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) development style where the main branch is always release ready—or even a {% include wikipedia title='Continuous delivery' text='continuous delivery'%} approach.
261261
- [Debugging with git-bisect](/develop/git/pinpoint-regressions) becomes feasible.
262262
- As a consequence, it avoids {% include wikipedia title='Technical debt' text='technical debt'%} in favor of a robust development style.
263263
- It attracts more developers to the project, since things "just work" out of the box.
@@ -268,7 +268,7 @@ For the reasons stated above, the SciJava software components strive for reprodu
268268

269269
Each component depends on release [versions](http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-syntax.html#pom-reationships-sect-versions) of *all* its dependencies—never on [snapshots](http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-syntax.html#pom-relationships-sect-snapshot-versions) or [version ranges](http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-project-dependencies.html#pom-relationships-sect-version-ranges). A Maven snapshot is a moving target, and depending on one results in an irreproducible build. Similarly, all Maven plugins used, as well as the parent POM, are also declared at release versions. In short: all `<version>` tags specify release versions, never `SNAPSHOT` or `LATEST` versions. We use the [Maven Enforcer Plugin](http://maven.apache.org/enforcer/maven-enforcer-plugin/) to enforce this requirement (though it can be temporarily disabled by setting the `enforcer.skip` property).
270270

271-
We sometimes use `SNAPSHOT` versions temporarily on topic branches. However, we always [rewrite them](/develop/git#rewriting-history) before merging to master, to purge all `SNAPSHOT` references, so that all commits in the history build reproducibly. We use SciJava's [check-branch.sh](https://github.com/scijava/scijava-scripts/blob/1386a7b0bc9e832d45f925202e1382717cf4a706/check-branch.sh) script to ensure all commits on a topic branch build cleanly with passing tests.
271+
We sometimes use `SNAPSHOT` versions temporarily on topic branches. However, we always [rewrite them](/develop/git#rewriting-history) before merging to main, to purge all `SNAPSHOT` references, so that all commits in the history build reproducibly. We use SciJava's [check-branch.sh](https://github.com/scijava/scijava-scripts/blob/1386a7b0bc9e832d45f925202e1382717cf4a706/check-branch.sh) script to ensure all commits on a topic branch build cleanly with passing tests.
272272

273273
## Using snapshot couplings during development
274274

@@ -293,7 +293,7 @@ In the case of Eclipse, you may need to "Update Maven project" in order to see t
293293

294294
{% include notice icon="warning" content='Current versions of the Eclipse Maven integration (tested with Eclipse Mars) fail to correctly resolve the `LATEST` version tag to `SNAPSHOT`s. Use the command-line client instead.' %}
295295

296-
Either way, ***be sure to work on a topic branch while developing code in this fashion.*** You will need to clean up your Git history afterwards before merging things to the `master` branch, in order to achieve [reproducible builds](#reproducible-builds).
296+
Either way, ***Be sure to work on a topic branch while developing code in this fashion.*** You will need to clean up your Git history afterwards before merging things to the main branch, in order to achieve [reproducible builds](#reproducible-builds).
297297

298298
# Versioning
299299

0 commit comments

Comments
 (0)