Skip to content

Add differentiation between development and release builds #808

@tobous

Description

@tobous

There should be some way of differentiating between development and release builds to avoid confusion on the user side. Furthermore, this distinction would remove the possibility of running into internal incompatibilities when trying to use release builds with development builds (see #804).

Previously, we were using the suffix .DEVEL for this purpose. I would suggest to just use .DEV, but that is a matter of taste. (It would be even nicer to add the commit hash to guarantee compatibility between development builds, but that would require git functionality that may not be present when building, so I am not sure whether this is doable.)

Furthermore, the previous solution (before the move to semantic versioning) was to always have the ".DEVEL" qualifier committed in the git repo, only remove it temporarily for releases, and then add it back (and increase the current release number).

A better solution (in my opinion) would be to patch the version as part of the build process. This could by done by adding a .DEV modifier to the version by default unless a specific argument is provided specifying that the process should create a release build.
This would lead to the build always creating development builds unless specified otherwise and would remove the hassle of having to manage "DEV" status in the git repo.

I know that this is possible for IntelliJ (but would require moving the process of setting the version number from the plugin.xml to the build.gradle file).

@m273d15 Do you know whether something like this also possible for building Eclipse plugins?

Also, for the Saros Server, we would have to patch SarosServer.java as it contains the version number.

Metadata

Metadata

Assignees

Labels

Area: InfrastructureIssue affecting the infrastructure to build, test and deploy Saros and its documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions