問題タブ [semantic-versioning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - セマンティック バージョニングと git ブランチ
v1.0にマスター ブランチがあり、 v1.1devである開発ブランチがあります。
次に、dev から新しいリリース ブランチを作成し、バージョン番号をv1.1devからv1.1に上げ、仕上げ、リリース ブランチを master にマージすると、presto- v1.1が で生まれmaster
ます。
しかし、その後、同じリリース ブランチを dev にマージし直すので、dev ブランチもv1.1になります。
これは技術的には正しいのですが、dev は常にdevで終わるべきだと思います。結局のところ、次の実際のバージョンに向けて取り組んでいるのは開発バージョンだからです。
だから私の質問は:
- リリース ブランチにマージした後、誰もが dev ブランチで 1 つのコミットを行って Dec コードのバージョンを上げているのでしょうか、それとも何か不足していますか (スクリプト、方法論、テクニックなど)?
- また、上記の説明は、人々がどのようにバージョン番号を上げているかを一般的に表していますか?
TL;DR: セマンティック バージョニングを想定して、git バージョン管理されたプロジェクトのさまざまなブランチでバージョン番号を上げる必要があるのはいつですか?
gradle - セマンティック バージョニングの buildScript ブロックの一部として非依存アーティファクトをダウンロードする方法
まず、私はこれに完全に困惑しているので、表示するコードはありません。これは SO の質問としては不適切な形式であるため、本当にお詫び申し上げます。関連するビルド スクリプトを昨日丸ごと作成しましたが、これに関して役立つものは何も得られませんでした。
私は現在、 SemVer APIを使用して、自分の Artifactory から以前に公開された JAR に対して現在の JAR を検証するjar
タスク(またはそのdoLast {}
閉鎖)の一部として、ビルド スクリプトに取り組んでいます。プロジェクトの以前のバージョンを実際にダウンロードすることを除いて、私が持っているものはすべて機能します。機能するスクリプトを考案することができないようです。
これまでの私のアプローチは、Gradle が依存関係管理システムとして Ivy を使用しているため、 Ivy の Ant タスクの一部を適切なパラメーターで呼び出すことができるはずであるという推論に基づいていました。現在のプロジェクトと同じなので、実際にグループ、名前にアクセスできます。および現在のバージョンを簡単に取得し、ダウンロードしたアーティファクト ファイルへのパスを取得して、前述の SemVer API の入力として使用します。少しGradleの初心者であり、実際にIvyを数年間使用していない私は、この時点でこれを実際にクリーンな方法で行う方法がわからないことがわかりました。これに関する私の主なハードルの 1 つは、これまでのところ、Gradle のドキュメントが広すぎて、必要な特定のビットの適切な用語さえ覚えていないときに、物事を見つけるのが難しいことです。
私がこれまでに持っているもののコード/ビルド スクリプトのサンプルを提供していないので、あなたの答えが正しい方向への単なるナッジであるかどうかは気にしません。
configuration - セマンティック バージョニング - 設定更新時のバージョン更新
私たちのアプリケーションでは、デプロイ時に構成 (DB ホスト、API キーなど) を設定できるため、構成はコード、つまりアプリケーションのバージョンから独立しています。
ほとんどの構成はそのように設定できますが、めったに更新されず、現在そのように設定できないサードパーティの構成ファイルが 1 つあります。
このファイルの値を更新する必要がある場合、バージョン番号はどうすればよいですか?
構成は実際には次のいずれも実行しないため、semver のドキュメントはこの特定のケースをカバーしていないようです。
- 下位互換性のある修正は導入されていません
- 新しい下位互換機能は導入されていません
- 後方非互換機能は導入されません
この構成の更新は、現在実行しているワーカーの数を増やすだけです。
ありがとうございました
git - Composer ブランチのエイリアスとタグのベスト プラクティス
Packagist にパッケージがあります。バージョンにタグを付けて、0.2.0
dev-master のブランチ エイリアスを 0.3.x-dev に設定しました。これは、私が行っているすべての開発が次の 0.3.x リリースに向けられていることを意味します。0.3.*@dev
また、人々が私のパッケージのバージョンを要求できることも意味します。
ここで、自分がやっていることはバージョン 1.0 に近づいていることに突然気付いたとしましょう。そのため、dev-master のブランチ エイリアスを に変更し1.0.x-dev
ます。私は 0.3 タグを作成したことがないため、この0.3.*@dev
要件で私のパッケージを使用しているすべての人の依存関係が壊れてしまいます。
それで... ブランチ エイリアスを変更する前に 0.3 タグを作成しておくべきでしたか? それとも、私のパッケージの dev ブランチを要求することで人々が取るリスクですか?
angularjs - AngularJS の複数バージョンのサポート
私は Angular Modal Service と呼ばれる AngularJS ライブラリを維持しています。次のように、AngularJS 1.3 を対象とするように依存関係を変更したいと思います。
ただし、ライブラリが ~1.2 で機能することは明確にわかっています。私のコードの最新バージョンをアップグレードする必要がある消費者を強制したくありません。これを行うことは可能です:
ライブラリの影響を低く抑えますか? また、それが可能である場合、それは実際に適切でしょうか? これに関する適切なガイドラインはありますか?