This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-compiler-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new 3b46223  Remove the integration test for MCOMPILER-346 (#995)
3b46223 is described below

commit 3b46223c844d0dda8928cc2d989b7493f756d413
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Thu Nov 20 16:10:41 2025 +0100

    Remove the integration test for MCOMPILER-346 (#995)
    
    The test was for an issue resolved in Java 15 (Maven now requires Java 17)
    and the fix was in Plexus Compiler, which is not used by this plugin.
---
 src/it/CHANGES_v3_to_v4.md                         |   1 +
 src/it/MCOMPILER-346/invoker.properties            |  19 --
 src/it/MCOMPILER-346/pom.xml                       |  59 ------
 .../acceptance/server/PooledJenkinsController.java | 209 ---------------------
 src/it/MCOMPILER-346/verify.groovy                 |  34 ----
 5 files changed, 1 insertion(+), 321 deletions(-)

diff --git a/src/it/CHANGES_v3_to_v4.md b/src/it/CHANGES_v3_to_v4.md
index ccb2295..1687e41 100644
--- a/src/it/CHANGES_v3_to_v4.md
+++ b/src/it/CHANGES_v3_to_v4.md
@@ -51,6 +51,7 @@ To reproduce the old behavior, users can just disable the 
incremental compilatio
 The tests in the following directories were already disabled and have been 
removed:
 
 * `MCOMPILER-197` because it ran only on Java 8 while the build now requires 
Java 17.
+* `MCOMPILER-346` because it tests an issue fixed in Java 15 while the build 
now requires Java 17.
 * `groovy-project-with-new-plexus-compiler` because it ran only on Java 8 and 
the plexus compiler has been removed.
 
 The tests in the following directores are not supported anymore and have been 
removed:
diff --git a/src/it/MCOMPILER-346/invoker.properties 
b/src/it/MCOMPILER-346/invoker.properties
deleted file mode 100644
index 965cfab..0000000
--- a/src/it/MCOMPILER-346/invoker.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-invoker.goals = clean compile
-invoker.buildResult = failure
diff --git a/src/it/MCOMPILER-346/pom.xml b/src/it/MCOMPILER-346/pom.xml
deleted file mode 100644
index 2dccb81..0000000
--- a/src/it/MCOMPILER-346/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one
-  ~ or more contributor license agreements.  See the NOTICE file
-  ~ distributed with this work for additional information
-  ~ regarding copyright ownership.  The ASF licenses this file
-  ~ to you under the Apache License, Version 2.0 (the
-  ~ "License"); you may not use this file except in compliance
-  ~ with the License.  You may obtain a copy of the License at
-  ~
-  ~   http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing,
-  ~ software distributed under the License is distributed on an
-  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  ~ KIND, either express or implied.  See the License for the
-  ~ specific language governing permissions and limitations
-  ~ under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.plugins.compiler.it</groupId>
-  <artifactId>MCOMPILER-346-mre</artifactId>
-  <version>1.0</version>
-  <packaging>jar</packaging>
-  <name>MCOMPILER-346 Minimal Reproducible Example (MRE)</name>
-  <url>https://github.com/basil/MCOMPILER-346-mre</url>
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  <dependencies>
-    <dependency>
-      <groupId>org.eclipse.sisu</groupId>
-      <artifactId>org.eclipse.sisu.plexus</artifactId>
-      <version>0.2.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jenkins-ci.main</groupId>
-      <artifactId>remoting</artifactId>
-      <version>3.2</version>
-    </dependency>
-  </dependencies>
-  <repositories>
-    <repository>
-      <id>repo.jenkins-ci.org</id>
-      <url>https://repo.jenkins-ci.org/public/</url>
-    </repository>
-  </repositories>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>@project.version@</version>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git 
a/src/it/MCOMPILER-346/src/main/java/org/jenkinsci/test/acceptance/server/PooledJenkinsController.java
 
b/src/it/MCOMPILER-346/src/main/java/org/jenkinsci/test/acceptance/server/PooledJenkinsController.java
deleted file mode 100644
index 06706f9..0000000
--- 
a/src/it/MCOMPILER-346/src/main/java/org/jenkinsci/test/acceptance/server/PooledJenkinsController.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.jenkinsci.test.acceptance.server;
-
-import javax.inject.Inject;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.Executors;
-
-import com.cloudbees.sdk.extensibility.Extension;
-import com.google.inject.Injector;
-import hudson.remoting.Callable;
-import hudson.remoting.Channel;
-import hudson.remoting.Channel.Mode;
-import hudson.remoting.ChannelBuilder;
-import jnr.unixsocket.UnixSocketAddress;
-import jnr.unixsocket.UnixSocketChannel;
-import org.jenkinsci.remoting.RoleChecker;
-import org.jenkinsci.test.acceptance.controller.IJenkinsController;
-import org.jenkinsci.test.acceptance.controller.JenkinsController;
-import 
org.jenkinsci.test.acceptance.controller.LocalController.LocalFactoryImpl;
-import org.jenkinsci.test.acceptance.log.LogListenable;
-import org.jenkinsci.test.acceptance.log.LogListener;
-import org.jenkinsci.test.acceptance.log.LogSplitter;
-
-import static java.lang.System.*;
-
-/**
- * {@link JenkinsController} that talks to {@link 
JenkinsControllerPoolProcess} over Unix domain socket.
- *
- * @author Kohsuke Kawaguchi
- */
-public class PooledJenkinsController extends JenkinsController implements 
LogListenable {
-    private URL url;
-    private final File socket;
-    private UnixSocketChannel conn;
-    private final LogSplitter splitter = new LogSplitter();
-    private Channel channel;
-    private IJenkinsController controller;
-    private final List<byte[]> toUnpack = new LinkedList<>();
-
-    public PooledJenkinsController(Injector i, File socket) {
-        super(i);
-        this.socket = socket;
-    }
-
-    @Override
-    public void addLogListener(LogListener l) {
-        splitter.addLogListener(l);
-    }
-
-    @Override
-    public void removeLogListener(LogListener l) {
-        splitter.removeLogListener(l);
-    }
-
-    private boolean connect() throws IOException {
-        if (conn != null) return false;
-
-        System.out.println("Requesting jut instance using socket " + 
socket.getAbsolutePath());
-        UnixSocketAddress address = new UnixSocketAddress(socket);
-        conn = UnixSocketChannel.open(address);
-
-        channel = new ChannelBuilder("JenkinsPool", 
Executors.newCachedThreadPool())
-                .withMode(Mode.BINARY)
-                .build(ChannelStream.in(conn), ChannelStream.out(conn));
-
-        try {
-            controller = (IJenkinsController) 
channel.waitForRemoteProperty("controller");
-            controller.start();
-            url = controller.getUrl();
-
-            if (!isQuite) {
-                splitter.addLogListener(getLogPrinter());
-            }
-
-            final LogListener l = channel.export(LogListener.class, splitter);
-            channel.call(new InstallLogger(controller, l));
-
-            for (byte[] content : toUnpack) {
-                controller.populateJenkinsHome(content, false);
-            }
-            toUnpack.clear();
-        } catch (InterruptedException e) {
-            throw new IOException(e);
-        }
-
-        return true;
-    }
-
-    @Override
-    public void startNow() throws IOException {
-        connect();
-    }
-
-    @Override
-    public void stopNow() throws IOException {
-        controller.stop();
-    }
-
-    @Override
-    public void populateJenkinsHome(byte[] template, boolean clean) throws 
IOException {
-        if (controller != null) {
-            controller.populateJenkinsHome(template, clean);
-        } else {
-            if (clean) {
-                throw new UnsupportedOperationException("clean mode 
unsupported for now");
-            }
-            toUnpack.add(template);
-        }
-    }
-
-    @Override
-    public URL getUrl() {
-        if (url == null) throw new IllegalStateException("This controller has 
not been started");
-        return url;
-    }
-
-    @Override
-    public void tearDown() throws IOException {
-        channel.close();
-        try {
-            channel.join(3000);
-        } catch (InterruptedException e) {
-            throw new IOException(e);
-        } finally {
-            if (conn != null) conn.close();
-            conn = null;
-        }
-    }
-
-    @Override
-    public void diagnose(Throwable cause) {
-        // TODO: Report jenkins log
-        cause.printStackTrace(out);
-        if (getenv("INTERACTIVE") != null && 
getenv("INTERACTIVE").equals("true")) {
-            out.println("Commencing interactive debugging. Browser session was 
kept open.");
-            out.println("Press return to proceed.");
-            try {
-                in.read();
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
-        }
-    }
-
-    @Extension
-    public static class FactoryImpl extends LocalFactoryImpl {
-        @Inject
-        Injector i;
-
-        @Override
-        public String getId() {
-            return "pool";
-        }
-
-        @Override
-        public JenkinsController create() {
-            return i.getInstance(PooledJenkinsController.class);
-        }
-    }
-
-    /**
-     * Runs on the pool server to install logger.
-     */
-    private static class InstallLogger implements Callable<Void, IOException> {
-        private final IJenkinsController controller;
-        private final LogListener l;
-
-        private InstallLogger(IJenkinsController controller, LogListener l) {
-            this.controller = controller;
-            this.l = l;
-        }
-
-        @Override
-        public Void call() throws IOException {
-            if (controller instanceof LogListenable) {
-                LogListenable ll = (LogListenable) controller;
-                ll.addLogListener(l);
-            }
-            return null;
-        }
-
-        @Override
-        public void checkRoles(RoleChecker checker) throws SecurityException {}
-
-        private static final long serialVersionUID = 1L;
-    }
-}
diff --git a/src/it/MCOMPILER-346/verify.groovy 
b/src/it/MCOMPILER-346/verify.groovy
deleted file mode 100644
index 9c4e0f1..0000000
--- a/src/it/MCOMPILER-346/verify.groovy
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-def logFile = new File( basedir, 'build.log' )
-assert logFile.exists()
-content = logFile.text
-
-/*
- * The messages expected by this test were:
- *
- *   - package org.jenkinsci.test.acceptance.controller does not exist
- *   - package org.jenkinsci.test.acceptance.log does not exist
- *
- * But we cannot test the full messages as shown above because they may be 
localized.
- * Test only the package name on the assumption that they will be present in 
all locales.
- */
-assert content.contains( 'org.jenkinsci.test.acceptance.controller' )
-assert content.contains( 'org.jenkinsci.test.acceptance.log' )

Reply via email to