summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/note/links/links.txt4
-rw-r--r--doc/note/maven-pom/howto-ban-unwanted-sh__.txt41
-rw-r--r--src/main/patch/houston/default.patch104
3 files changed, 149 insertions, 0 deletions
diff --git a/doc/note/links/links.txt b/doc/note/links/links.txt
index f565a26..b0c97e5 100644
--- a/doc/note/links/links.txt
+++ b/doc/note/links/links.txt
@@ -243,6 +243,7 @@ Links (Aka argument amplifiers)
- [Houston Optimize EnqueuePatrol](https://jira.post.ch/browse/SDCISA-2876)
- [Update beim Fahrzeughersteller dauert zu lange](https://jira.post.ch/browse/SDCISA-9059)
- [vortex too slow](https://jira.post.ch/browse/SDCISA-9990)
+- [2023-10-27 OOM nun auch auf Eagle](https://wikit.post.ch/x/c2U1Tw)
## Performance is not an issue ...
- [Houston OOM 2023-06-27](https://wikit.post.ch/x/_Bv6Rw)
@@ -537,3 +538,6 @@ Links (Aka argument amplifiers)
## Qemu is Crap
- [Qemu for Windows Host Quirks](https://wonghoi.humgar.com/blog/2021/05/03/qemu-for-windows-host-quirks/)
+## Git paisa complain about rebase stuff
+- [Complain about force-pushes](https://gitit.post.ch/projects/ISA/repos/lazlar/pull-requests/3/overview?commentId=311142)
+
diff --git a/doc/note/maven-pom/howto-ban-unwanted-sh__.txt b/doc/note/maven-pom/howto-ban-unwanted-sh__.txt
new file mode 100644
index 0000000..1edad9b
--- /dev/null
+++ b/doc/note/maven-pom/howto-ban-unwanted-sh__.txt
@@ -0,0 +1,41 @@
+
+
+ <project>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-slf4j-impl</artifactId>
+ <version>[0.0.0,)</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <!--<version>1.4.1</version>-->
+ <version>3.4.1</version>
+ <executions>
+ <execution>
+ <goals><goal>enforce</goal></goals>
+ <configuration>
+ <rules>
+ <bannedDependencies>
+ <excludes>
+ <exclude>org.apache.logging.log4j:log4j-slf4j-impl</exclude>
+ </excludes>
+ </bannedDependencies>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <project>
+
+
+## Sources
+
+- [How to globally exclude mvn dependency](https://stackoverflow.com/a/39979760/4415884)
+- [How to yell about bannded dependencies](https://stackoverflow.com/a/46104531/4415884)
+
diff --git a/src/main/patch/houston/default.patch b/src/main/patch/houston/default.patch
index d70b12b..4fcfa8c 100644
--- a/src/main/patch/houston/default.patch
+++ b/src/main/patch/houston/default.patch
@@ -72,3 +72,107 @@ index 432efb01..d1729fe9 100644
RedisquesConfiguration redisquesConfig =
RedisquesConfiguration.with()
+diff --git a/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java b/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java
+new file mode 100644
+index 00000000..aa3aa2e0
+--- /dev/null
++++ b/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java
+@@ -0,0 +1,98 @@
++package org.apache.logging.slf4j;
++
++import org.apache.logging.log4j.spi.ExtendedLogger;
++import org.slf4j.Marker;
++import org.slf4j.event.Level;
++import org.slf4j.spi.LocationAwareLogger;
++import org.slf4j.spi.LoggingEventBuilder;
++
++import java.io.Serializable;
++
++
++/** <p>FU** this fu***** damn sh** code that still tries to use log4j, no matter
++ * how strong we tell it NOT to use it!</p>
++ * <p>This class only exists to prevent services from starting if IDEA still did miss
++ * the dependency changes in pom and still tries to use the wrong logger impl.</p> */
++public class Log4jLogger implements LocationAwareLogger, Serializable {
++
++ private final org.slf4j.Logger log;
++
++ Log4jLogger(final Log4jMarkerFactory markerFactory, final ExtendedLogger logger, final String name) {
++ this.log = new org.slf4j.simple.SimpleLoggerFactory().getLogger(name);
++ }
++
++ @Override public void log(Marker marker, String s, int i, String s1, Object[] objects, Throwable throwable) {
++ throw new UnsupportedOperationException(/*TODO*/"Not impl yet");
++ }
++
++ @Override public String getName() { return log.getName(); }
++ @Override public LoggingEventBuilder makeLoggingEventBuilder(Level level) { return log.makeLoggingEventBuilder(level); }
++ @Override public LoggingEventBuilder atLevel(Level level) { return log.atLevel(level); }
++ @Override public boolean isEnabledForLevel(Level level) { return log.isEnabledForLevel(level); }
++ @Override public boolean isTraceEnabled() { return log.isTraceEnabled(); }
++ @Override public void trace(String s) { log.trace(s); }
++ @Override public void trace(String s, Object o) { log.trace(s, o); }
++ @Override public void trace(String s, Object o, Object o1) { log.trace(s, o, o1); }
++ @Override public void trace(String s, Object... objects) { log.trace(s, objects); }
++ @Override public void trace(String s, Throwable throwable) { log.trace(s, throwable); }
++ @Override public boolean isTraceEnabled(Marker marker) { return log.isTraceEnabled(marker); }
++ @Override public LoggingEventBuilder atTrace() { return log.atTrace(); }
++ @Override public void trace(Marker marker, String s) { log.trace(marker, s); }
++ @Override public void trace(Marker marker, String s, Object o) { log.trace(marker, s, o); }
++ @Override public void trace(Marker marker, String s, Object o, Object o1) { log.trace(marker, s, o, o1); }
++ @Override public void trace(Marker marker, String s, Object... objects) { log.trace(marker, s, objects); }
++ @Override public void trace(Marker marker, String s, Throwable throwable) { log.trace(marker, s, throwable); }
++ @Override public boolean isDebugEnabled() { return log.isDebugEnabled(); }
++ @Override public void debug(String s) { log.debug(s); }
++ @Override public void debug(String s, Object o) { log.debug(s, o); }
++ @Override public void debug(String s, Object o, Object o1) { log.debug(s, o, o1); }
++ @Override public void debug(String s, Object... objects) { log.debug(s, objects); }
++ @Override public void debug(String s, Throwable throwable) { log.debug(s, throwable); }
++ @Override public boolean isDebugEnabled(Marker marker) { return log.isDebugEnabled(marker); }
++ @Override public void debug(Marker marker, String s) { log.debug(marker, s); }
++ @Override public void debug(Marker marker, String s, Object o) { log.debug(marker, s, o); }
++ @Override public void debug(Marker marker, String s, Object o, Object o1) { log.debug(marker, s, o, o1); }
++ @Override public void debug(Marker marker, String s, Object... objects) { log.debug(marker, s, objects); }
++ @Override public void debug(Marker marker, String s, Throwable throwable) { log.debug(marker, s, throwable); }
++ @Override public LoggingEventBuilder atDebug() { return log.atDebug(); }
++ @Override public boolean isInfoEnabled() { return log.isInfoEnabled(); }
++ @Override public void info(String s) { log.info(s); }
++ @Override public void info(String s, Object o) { log.info(s, o); }
++ @Override public void info(String s, Object o, Object o1) { log.info(s, o, o1); }
++ @Override public void info(String s, Object... objects) { log.info(s, objects); }
++ @Override public void info(String s, Throwable throwable) { log.info(s, throwable); }
++ @Override public boolean isInfoEnabled(Marker marker) { return log.isInfoEnabled(marker); }
++ @Override public void info(Marker marker, String s) { log.info(marker, s); }
++ @Override public void info(Marker marker, String s, Object o) { log.info(marker, s, o); }
++ @Override public void info(Marker marker, String s, Object o, Object o1) { log.info(marker, s, o, o1); }
++ @Override public void info(Marker marker, String s, Object... objects) { log.info(marker, s, objects); }
++ @Override public void info(Marker marker, String s, Throwable throwable) { log.info(marker, s, throwable); }
++ @Override public LoggingEventBuilder atInfo() { return log.atInfo(); }
++ @Override public boolean isWarnEnabled() { return log.isWarnEnabled(); }
++ @Override public void warn(String s) { log.warn(s); }
++ @Override public void warn(String s, Object o) { log.warn(s, o); }
++ @Override public void warn(String s, Object... objects) { log.warn(s, objects); }
++ @Override public void warn(String s, Object o, Object o1) { log.warn(s, o, o1); }
++ @Override public void warn(String s, Throwable throwable) { log.warn(s, throwable); }
++ @Override public boolean isWarnEnabled(Marker marker) { return log.isWarnEnabled(marker); }
++ @Override public void warn(Marker marker, String s) { log.warn(marker, s); }
++ @Override public void warn(Marker marker, String s, Object o) { log.warn(marker, s, o); }
++ @Override public void warn(Marker marker, String s, Object o, Object o1) { log.warn(marker, s, o, o1); }
++ @Override public void warn(Marker marker, String s, Object... objects) { log.warn(marker, s, objects); }
++ @Override public void warn(Marker marker, String s, Throwable throwable) { log.warn(marker, s, throwable); }
++ @Override public LoggingEventBuilder atWarn() { return log.atWarn(); }
++ @Override public boolean isErrorEnabled() { return log.isErrorEnabled(); }
++ @Override public void error(String s) { log.error(s); }
++ @Override public void error(String s, Object o) { log.error(s, o); }
++ @Override public void error(String s, Object o, Object o1) { log.error(s, o, o1); }
++ @Override public void error(String s, Object... objects) { log.error(s, objects); }
++ @Override public void error(String s, Throwable throwable) { log.error(s, throwable); }
++ @Override public boolean isErrorEnabled(Marker marker) { return log.isErrorEnabled(marker); }
++ @Override public void error(Marker marker, String s) { log.error(marker, s); }
++ @Override public void error(Marker marker, String s, Object o) { log.error(marker, s, o); }
++ @Override public void error(Marker marker, String s, Object o, Object o1) { log.error(marker, s, o, o1); }
++ @Override public void error(Marker marker, String s, Object... objects) { log.error(marker, s, objects); }
++ @Override public void error(Marker marker, String s, Throwable throwable) { log.error(marker, s, throwable); }
++ @Override public LoggingEventBuilder atError() { return log.atError(); }
++
++}