Re: Modifying $project properties with maven-scripting-plugin?

Mirko Friedenhagen <[email protected]> Thu, 8 Jan 2026 15:52:35 +0100
Newsgroups gmane.comp.jakarta.turbine.maven.user
Message-ID <[email protected]>
AFAIK profiles _may not_ be activated via project properties, only via system-properties/environment variables.
Thinking loud: maybe set this in .mvn/maven.config?

Mit freundlichen Grüßen
Mirko Friedenhagen
— 

> Am 07.01.2026 um 18:11 schrieb Tamás Cservenák <[email protected]>:
> 
> Howdy,
> 
> Would not doing this be simpler from a profile? Which is activated
> based on the Java version?
> 
> T
> 
> On Wed, Jan 7, 2026 at 5:36 PM Mirko Friedenhagen <[email protected]> wrote:
>> 
>> Hi,
>> 
>> is it somehow possible to add or modify the project resp. its properties during e.g. validate or initialize with this plugin?
>> I defined the following and want
>> 
>> <properties>
>>  <docker-maven-plugin.from>docker.io/library/eclipse-temurin:21.0.9_10-jre-alpine-3.23</docker-maven-plugin.from>
>>  <java.version>21<java.version>
>> </properties>
>> 
>> <plugins>
>> <plugin>
>>        <artifactId>maven-scripting-plugin</artifactId>
>>        <version>3.1.0</version>
>>        <executions>
>>                <execution>
>>                        <id>foo</id>
>>                        <phase>initialize</phase>
>>                        <goals><goal>eval</goal></goals>
>>                        <configuration>
>>                                <engineName>java</engineName>
>>                                <script><![CDATA[
>>                                        var props = $project.getProperties();
>>                                        System.err.println("XXXXX " + props.getProperty("docker-maven-plugin.from"));
>>                                        var version = props.getProperty("java.version");
>>                                        switch (version) {
>>                                                case "21" -> props.setProperty("docker-maven-plugin.from", "docker.io/library/eclipse-temurin:21.0.9_10-jre-alpine-3.23");
>>                                                case "25" -> props.setProperty("docker-maven-plugin.from", "docker.io/library/eclipse-temurin:25.0.1_8-jre-alpine-3.23");
>>                                                default -> throw new IllegalArgumentException("Not supported“);
>>                                        }
>>                                        System.err.println("YYYYY " + props.getProperty("docker-maven-plugin.from"));
>>                                ]]>
>>                                </script>
>>                        </configuration>
>>                </execution>
>>        </executions>
>> </plugin>
>> <plugins>
>> 
>> The println statement are executed and show the „correct“ result, however when I lateron reference reference property docker-maven-plugin.from in a plugin it still has the value of the definition in the standard properties section.
>> 
>> 
>> Mit freundlichen Grüßen
>> Mirko Friedenhagen
>> —
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>