feat/release #4
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/release"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@ -111,15 +111,15 @@ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"[[package]]name = "cfg-if"version = "1.0.4"Cargo.lock bitte aus dem Repo löschen
@ -8,2 +8,4 @@clap_complete = "4.5.60"rush = { git = "https://repo.prod.meissa.de/meissa/rush.git", tag = "0.1.1" }rush_task = { git = "https://repo.prod.meissa.de/meissa/rush.git", tag = "0.0.1" }gleiches repo, zwei libs ?
@ -46,4 +48,4 @@class BuildConfigFile {<<struct>>+project_root_path Option~String~String?
@ -50,2 +52,3 @@+build_dir_name String+primary_build_file String+secondary_build_files Vec~String~nicht eher [String] ?
@ -154,0 +186,4 @@git_add_files_to_commit_cmds(&self)git_commit_cmd(&self, message)git_push_commit_cmd(&self)git_push_release_tag(&self)git_push_release_tag_cmd ?
@ -0,0 +40,4 @@}}pub fn new_merge_with_config(wozu brauchen wir das hier ?
In den A.C. hatten wir geschrieben, dass die parameter von der cli oder einem config file kommen können, das merge die parameter von der build_config mit dem cli input, wobei der cli input stärker gewichtet ist
Bzw. das war die Idee aber jetzt geht das auch :D
Ich dachte da eher an ein entweder oder und nicht an gemischte quellen ... lass uns das nochmals diskutieren.
@ -0,0 +224,4 @@//thenassert_eq!(patch.get_next_version().unwrap(), Version::new(1, 2, 3));}Der interessante Fall ist:
Snapshot-version from x und zwar für alle filetypen.
Der Test dafür fehlt.
@ -0,0 +107,4 @@major: version.major,minor: version.minor,patch: version.patch + 1,pre: Prerelease::new("SNAPSHOT").unwrap(),Der String hängt vom release type ab ...
z.b. dev für python & image ...
@ -0,0 +119,4 @@))}pub fn get_next_snapshot_version(&self) -> Result<Version, ApplicationError> {get_next_prerelease_version
@ -0,0 +67,4 @@impl BuildType {pub const GRADLE_GROOVY: BuildType = BuildType {default_filename: "build.gradle",sind die filenames hier fix vorgegeben oder nur die datei endung ?
Die sind für das implizite finden der primary build file, bei explizit angegeben files wird die nur Endung verglichen um den build type zu bestimmen
implizit hört sich nach einem Fass ohne boden an ... lass uns hier mal zusammen draufschauen und die Folgekosten überlegen.
@ -0,0 +152,4 @@use crate::domain::release::{BuildFile, BuildType};#[test]fn test_get_version_string() {Test für jeden build type mit get_version_from and mit replace_version ...
@ -118,6 +118,22 @@ impl From<String> for ApplicationError {}}impl From<regex::Error> for ApplicationError {Die Fehler hier habe nix mit validation zu tun => in eine andere datei!
@ -0,0 +15,4 @@primary_file.path));let secondary_files = if !release_input.secondary_build_files.is_empty() {warum diese if ?
Release input kann ja immer einen vektor von haben - im Empty-Fall ist der Vektor dann eben auch empty ....
@ -0,0 +39,4 @@}fn find_and_load_build_file(file_path: &String) -> Result<BuildFile, ApplicationError> {if file_path.is_empty() {alles implizite bitte in die domaine schieben.
Hier in der infrastruktur keine unnötige logik mehr sondern nur noch stright forward operations.
@ -0,0 +81,4 @@}}pub fn save_file_content(build_file: &BuildFile, content: &str) -> Result<(), ApplicationError> {die pub-schnittstelle bitte äquivalent zu - symmetrie!
@ -0,0 +96,4 @@}}pub fn write_version_to_files(Warum brauchen wir das ? imho sollte die infra hier nur 2 pub functions haben !
Alles andere kann hoch in den service wandern.
@ -0,0 +111,4 @@Ok(())}fn write_version_to_file(s.o.
Version ersetzen sollte in der Domaine passieren, dort können wir das ordentlich testen.
@ -0,0 +123,4 @@Ok(())}pub fn assert_result_with_info<T>(Wozu brauchen wir das ?
Ansgar hatte sich gewünscht, dass am ende des Programms eine Zusammenfassung gezeigt wird, ob wichtige schritte geklappt haben oder nicht, und ich wollte nicht dauernd im code match {ok(), err()} schreiben
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.