Use latest git tag to set model version (#964)

Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
Andrey Sobolev
2022-02-08 10:06:06 +01:00
committed by GitHub
parent aa8519d02a
commit b9808cf4ea
8 changed files with 61 additions and 7 deletions
+40
View File
@@ -0,0 +1,40 @@
//
// Copyright © 2022 Anticrm Platform Contributors.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
import { exec } from 'child_process'
import { writeFileSync } from 'fs'
import currentVersion from './version.json'
exec('git describe --tags --abbrev=0', (err, stdout, stderr) => {
if (err !== null) {
console.log('Error', err)
process.exit(1)
}
const rawVersion = stdout.trim().replace('v', '').split('.')
if (rawVersion.length === 3) {
const version = {
major: parseInt(rawVersion[0]),
minor: parseInt(rawVersion[1]),
patch: parseInt(rawVersion[2]) + 1 // Always use +1 version from released already.
}
const newVersion = JSON.stringify(version)
if (JSON.stringify(currentVersion) !== newVersion) {
console.log('Bumping version from', currentVersion, 'to', version)
writeFileSync('./src/version.json', newVersion)
} else {
console.log('same version already')
}
}
})
+4 -6
View File
@@ -14,6 +14,8 @@
//
import core, { Data, Version } from '@anticrm/core'
import jsonVersion from './version.json'
import { Builder } from '@anticrm/model'
import { createModel as activityModel } from '@anticrm/model-activity'
import { createModel as attachmentModel } from '@anticrm/model-attachment'
@@ -38,6 +40,8 @@ import { createModel as viewModel } from '@anticrm/model-view'
import { createModel as workbenchModel } from '@anticrm/model-workbench'
import { createModel as notificationModel } from '@anticrm/model-notification'
export const version: Data<Version> = jsonVersion as Data<Version>
const builder = new Builder()
const builders = [
@@ -70,12 +74,6 @@ for (const b of builders) {
b(builder)
}
export const version: Data<Version> = {
major: 0,
minor: 6,
patch: 0
}
builder.createDoc(core.class.Version, core.space.Model, version, core.version.Model)
export default builder
+1
View File
@@ -0,0 +1 @@
{"major":0,"minor":6,"patch":0}