AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GitLab CI integration

Ein Thema von Whookie · begonnen am 7. Okt 2022 · letzter Beitrag vom 30. Jan 2023
Antwort Antwort
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
268 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: GitLab CI integration

  Alt 2. Nov 2022, 12:26
Hallo Uwe,

du erwähnst $(SanitizedProjectName). Ich habe versucht diese Variable über optsets in Anwendungen zu verwenden, jedoch scheint das nicht zu funktionieren. Der Wert der Variable ist immer Leer. Habe es ist einem Testprojekt mit 11.2 probiert.

Hast du dazu eine Idee? In der *.dproj Datei gibt es jedefalls den Eintrag <SanitizedProjectName>TestApplication</SanitizedProjectName>
Delphi programming is awesome.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.723 Beiträge
 
Delphi 12 Athens
 
#2

AW: GitLab CI integration

  Alt 9. Nov 2022, 09:00
Sorry für die späte Antwort, aber ich bin erst gestern nach gut einer Woche aus dem Krankenhaus zurück und immer noch nur sparsam einsetzbar.

Die Variable ist in der Basis-Konfiguration definiert, aber leider nicht an erster Stelle. Einträge davor sehen also nur einen Leerstring.

Du kannst entweder die Verwendung auf die Childkonfigurationen verlagern oder meinen Project Magician verwenden und das Normalize für das Projekt aktivieren. Der sortiert das um.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: GitLab CI integration

  Alt 9. Nov 2022, 09:21
Uwe, ich wünsche dir Gute Besserung und vollständige Genesung!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
268 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: GitLab CI integration

  Alt 11. Nov 2022, 06:51
Sorry für die späte Antwort, aber ich bin erst gestern nach gut einer Woche aus dem Krankenhaus zurück und immer noch nur sparsam einsetzbar.

Die Variable ist in der Basis-Konfiguration definiert, aber leider nicht an erster Stelle. Einträge davor sehen also nur einen Leerstring.

Du kannst entweder die Verwendung auf die Childkonfigurationen verlagern oder meinen Project Magician verwenden und das Normalize für das Projekt aktivieren. Der sortiert das um.
Hallo Uwe,

auch von mir gute Besserung und danke für die dann doch schnelle Reaktion! Den Project Magician verwende ich bereits (Danke für das Tools, das hilft sehr!). Die Optsets kommen ja durch Imports rein. Diese sind teilweise VOR der Basiskonfiguration, aber ich konnte bereits beobachten, dass auch welche NACH der Basiskonfiguration + Sub-Konfigurationen sind (Trotz Project Magician). Das konnte ich mir auch nicht erklären, da ich davon ausgegangen bin das der Project Magician alle Imports gleich behandelt.
Delphi programming is awesome.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.723 Beiträge
 
Delphi 12 Athens
 
#5

AW: GitLab CI integration

  Alt 11. Nov 2022, 08:27
Kannst du mir mal so eine dproj mit den optsets schicken? Ich weiss nur nicht, wann ich dazu komme. Kann Weihnachten werden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
268 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: GitLab CI integration

  Alt 30. Jan 2023, 09:00
Es ist echt frustrierend. $(SanitizedProjectName) kann man nicht in optsets verwenden, da diese Variable beim Laden noch nicht existiert.

Mit $(MSBuildProjectName) bekommt man das Projekt zwar compiliert, jedoch kann man dann nicht mehr debuggen:
https://quality.embarcadero.com/browse/RSP-38952
https://quality.embarcadero.com/browse/RSP-40471
https://quality.embarcadero.com/browse/RSP-40472

Das sind einfach schon drei Bugs, die einem aufhalten, eine saubere CI/CD Umgebung aufzubauen.
Wozu bezahlt man eigentlich noch teure Lizenzen, wenn die grundlegendsten Dinge nicht funktionieren.
Delphi programming is awesome.

Geändert von pustekuchen (30. Jan 2023 um 09:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.723 Beiträge
 
Delphi 12 Athens
 
#7

AW: GitLab CI integration

  Alt 30. Jan 2023, 09:41
Das sind einfach schon drei Bugs, die einem aufhalten, eine saubere CI/CD Umgebung aufzubauen.
Wozu bezahlt man eigentlich noch teure Lizenzen, wenn die grundlegendsten Dinge nicht funktionieren.
Also das ist doch jetzt wirklich maßlos übertrieben! Die Variable $(SanitizedProjectName) ist nicht mal dokumentiert, noch für die von dir vorgesehene Verwendung gedacht. Die Kombination OptSet und SanitizedProjectName gehört wohl auch eher in den exotischen Bereich. Ich bin ziemlich sicher, dass man dieses Szenario bei Embarcadero nicht auf dem Schirm hat.

Intern hatte ich schon angeregt, die Variable bereits in der ersten PropertyGroup zu deklarieren, wo auch MainSource drin steht. Dann würde das auch mit den OptSets klappen. Vielleicht baue ich das irgendwann mal in den Project Magician ein.

Dass $(MSBuildProjectName) von der IDE, insbesonder dem Debugger, nicht aufgelöst werden kann, da es von MSBuild intern gesetzt wird, kann man Delphi kaum anlasten.

Zu den C++ Problemen kann ich nichts sagen, da ich diese Personality nie verwende. Aus diesem Grund gehört C++ auch nicht zu den von Project Magician unterstützten Zielen. Wenn's klappt ist es gut, wenn nicht dann eben nicht.

Ich kenne persönlich aber eine ganze Reihe von Delphi-Installationen, die problemlos in CI/CD Umgebungen laufen. Einige davon habe ich selbst eingerichtet.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
268 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: GitLab CI integration

  Alt 30. Jan 2023, 10:44
Also das ist doch jetzt wirklich maßlos übertrieben! Die Variable $(SanitizedProjectName) ist nicht mal dokumentiert, noch für die von dir vorgesehene Verwendung gedacht. Die Kombination OptSet und SanitizedProjectName gehört wohl auch eher in den exotischen Bereich. Ich bin ziemlich sicher, dass man dieses Szenario bei Embarcadero nicht auf dem Schirm hat.
Wahrscheinlich bräuchte man SanitizedProjectName auch gar nicht, wenn man MSBuildProjectName problemlos nutzen könnte.

Intern hatte ich schon angeregt, die Variable bereits in der ersten PropertyGroup zu deklarieren, wo auch MainSource drin steht. Dann würde das auch mit den OptSets klappen. Vielleicht baue ich das irgendwann mal in den Project Magician ein.
Vielen Dank dafür.

Dass $(MSBuildProjectName) von der IDE, insbesonder dem Debugger, nicht aufgelöst werden kann, da es von MSBuild intern gesetzt wird, kann man Delphi kaum anlasten.
Wenn die MSBuild-Variablen generell nicht unterstützt werden würde, wäre das ja noch zu verstehen. Aber nicht, wenn an einer stelle die Unterstützung da ist und an der anderen stelle dann wieder nicht.
Delphi programming is awesome.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz