tomaswolf commented on issue #536:
URL: https://github.com/apache/mina-sshd/issues/536#issuecomment-2249775970

   You can use JDK 21 in CI, but I would not require it as minimum for building.
   
   Still looks more complicated that needed. I'm not at my development machine, 
so I cannot verify myself that this would work, but it seems to me the 
following patch would be a minimal change to build with Java 11 and test on JDK 
8, 11, 17:
   ```
   diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
   index 0eb87ee..7ab3828 100644
   --- a/.github/workflows/build.yml
   +++ b/.github/workflows/build.yml
   @@ -29,15 +29,14 @@
        strategy:
          matrix:
            os: [ ubuntu-latest, windows-latest ]
   -        java: [ '8' ]
        steps:
          - uses: actions/checkout@v4
    
   -      - name: Set up JDK ${{ matrix.java }}
   +      - name: Set up JDK 11
            uses: actions/setup-java@v4
            with:
              distribution: temurin
   -          java-version: ${{ matrix.java }}
   +          java-version: '11'
    
          - uses: actions/cache@v4
            with:
   @@ -63,7 +62,10 @@
            uses: actions/setup-java@v4
            with:
              distribution: temurin
   -          java-version: ${{ matrix.java }}
   +          # Unsure whether this works if matrix.java == 11. If not, need 
two different setups with a conditional
   +          java-version: |
   +            ${{ matrix.java }}
   +            '11'
    
          - uses: actions/cache@v4
            with:
   @@ -74,7 +76,7 @@
    
          - name: Build and test with maven
            # Skip all static checks, they were already done in the compile jobs
   -        run: mvn -B --errors --activate-profiles ci --no-transfer-progress 
package
   +        run: mvn -B --errors --activate-profiles ci 
-Dtest.jdk.vendor=temurin -Dtest.jdk.version=${{ matrix.java }} 
--no-transfer-progress package
    
          - name: Archive test results and logs
            # if: success() || failure() to also get the test results on 
successful runs.
   diff --git a/.github/workflows/master-build.yml 
b/.github/workflows/master-build.yml
   index 7aa899e..1d5a991 100644
   --- a/.github/workflows/master-build.yml
   +++ b/.github/workflows/master-build.yml
   @@ -47,7 +47,7 @@
            uses: actions/setup-java@v4
            with:
              distribution: temurin
   -          java-version: '8'
   +          java-version: '11'
              # Create a ~/.m2/settings.xml referencing these environment 
variable names
              server-id: 'apache.snapshots.https'
              server-username: NEXUS_USERNAME
   diff --git a/pom.xml b/pom.xml
   index fcbc28d..60ea820 100644
   --- a/pom.xml
   +++ b/pom.xml
   @@ -138,9 +138,6 @@
        <profiles>
            <profile>
                <id>release</id>
   -            <properties>
   -                <required.java.version>[1.8,1.9)</required.java.version>
   -            </properties>
            </profile>
    
            <profile>
   @@ -149,6 +146,20 @@
                    <sshd.tests.timeout.factor>4.0</sshd.tests.timeout.factor>
                    <sshd.tests.rerun.count>4</sshd.tests.rerun.count>
                </properties>
   +            <build>
   +                <plugins>
   +                    <plugin>
   +                        <groupId>org.apache.maven.plugins</groupId>
   +                        <artifactId>maven-surefire-plugin</artifactId>
   +                        <configuration>
   +                            <jdkToolchain>
   +                               <version>${test.jdk.version}</version>
   +                               <vendor>${test.jdk.vendor}</vendor>
   +                            </jdkToolchain>
   +                        </configuration>
   +                    </plugin>
   +                </plugins>
   +            </build>
            </profile>
    
            <profile>
   ```
   This should use toolchains only in CI, so building locally doesn't require 
people to define toolchains manually. Adapting to build with Java 21 and 
running tests on 8,11,17,21 would be simple.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to