maven profil aktivierung durch property gesetzt in anderem profile - geht das?

dermoritz

Bekanntes Mitglied
mein ganz konkreter use-case sieht so aus: ich habe ein Profil "ci" - das läuft immer auf Jenkins mit entsprechender Umgebungskonfiguration.

In "ci" wird auch das failsafe-plugin im Integrationstestmodul aktiv. Integrationstests sollen nicht immer aktiv sein denn sonst gibts je nach Profil Fehler beim Schritt verify (bzw. install).

Nun würde ich die Integrationstests aber gerne bei Bedarf (um lokal laufen zu lassen - vor dem commit) anschalten. Also sollen sie bei "Bedarf" und beim Profil "ci" an sein.

Mein fehlgesclagener Lösungsversuch sieht so aus: Aktivierung des Failsafe-Plugins bei Profil "IntegrationTest" wobei dieses Profil durch "-DactivateIt=true" aktiviert wird. Nun wahr der Plan "-DactivateIt=true" im ci Profil durch das setzen der Property in der pom unnötig zu machen also:

Code:
<profiles>
		<profile>
			<id>ci</id>
			<properties>
				<activateIt>true</activateIt>
...
			</properties>
...

Das funktioniert aber leider nicht: ci ist dann zwar aktiv aber nie "IntegrationTest" - das ist nur aktiv wenn ich die Property mit -D setze. Ist das normal? Was kann ich tun?

Danke im Voraus
 
Du kannst auch die Existenz einer Datei für die Profilaktivierung verwenden.
Definiere die activation von IntegrationTest doch als 'activateIt oder beliebiges/file/auf/buildserver'
 
Danke heißt das, dass es wirklich nicht so geht wie ich es versucht habe - also per Property und gleichzeitiges setzen der Property in einem anderen Profil. (Aktivierung eines Profils falls ein anderes aktiv ist)

Danke für den Vorschlag. Im Moment hab ich jedoch in Jenkins einfach -DactivateIt hinzugefügt, ist nicht so supertoll aber funktioniert.
 
Nein, ich denke nicht das es geht, weil vermutlich erst ausgerechnet wird welche Profile überhaupt aktiv sind, bevor etwas mit den Profilen gemacht wird.
 

Neue Themen


Zurück
Oben