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' )